Tomasz Drwięga
39a776cd00
Streamline frame_system weight parametrization ( #6629 )
...
* Basic weights builder.
* Fixing WiP
* Make the tests work.
* Fix weights in node/runtime.
* WiP.
* Update pallets with new weights parameters.
* Validate returns a Result now.
* Count mandatory weight separately.
* DRY
* BREAKING: Updating state root, because of the left-over weight-tracking stuff
* Update tests affected by Mandatory tracking.
* Fixing tests.
* Fix defaults for simple_max
* Update frame/system/src/weights.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Rework the API a bit.
* Fix compilation & tests.
* Apply suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Add extra docs & rename few things.
* Fix whitespace in ASCII art.
* Update frame/system/src/limits.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Fix max_extrinsic calculations.
* Fix conflicts.
* Fix compilation.
* Fix new code.
* re-remove generic asset
* Fix usage.
* Update state root.
* Update proxy.
* Fix tests.
* Move weights validity to integrity_test
* Remove redundant BlockWeights.
* Add all/non_mandatory comment
* Add test.
* Remove fn block_weights
* Make the macro prettier.
* Fix some docs.
* Make max_total behave more predictabily.
* Add BlockWeights to metadata.
* fix balances test
* Fix utility test.
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org >
Co-authored-by: thiolliere <gui.thiolliere@gmail.com >
2020-12-08 13:18:34 +01:00
Guillaume Thiolliere
1cbfc9257f
Rename pallet trait Trait to Config ( #7599 )
...
* rename Trait to Config
* add test asserting using Trait is still valid.
* fix ui tests
2020-11-30 14:34:54 +00:00
Shawn Tabrizi
4637100ac7
More Extensible Multiaddress Format ( #7380 )
...
* More extensible multiaddress format
* update name
* Don't depend on indices to define multiaddress type
* Use MultiAddress in Node Template too!
* reduce traits, fix build
* support multiple `StaticLookup`
* bump tx version
* feedback
2020-11-19 11:40:12 +00:00
Alexander Popiak
2ae6ab0e7e
Update MILLISECS_PER_BLOCK comments ( #7483 )
...
* add doc comment to node template MILLISECS_PER_BLOCK
* add broken link comment
* update Babe block time link
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2020-11-03 14:01:18 +01:00
Albrecht
b7205d4ae0
decouple transaction payment and currency ( #6912 )
...
* wip: setup types
* fix types
* make tx payment pallet independent from balances
* fix dependent tests
* comments
* restructure a bit and include more info
* clean up ugly phantom
* reduce complexity
* minor doc improvements
* use shorthand
* doc
* fix line lenght and style
* readd BalanceOf
* some clarifications and readability improvements
* move balance type to OnChargeTransaction
* remove noise
* fix style
* Apply suggestions from code review
improved documentation
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Improve naming and documentation
Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Apply suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* always call withdraw_fee
* move NegativeImbalanceOf to payment module
* fix unused import
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2020-10-30 12:27:04 +00:00
Shawn Tabrizi
e4cfb2556d
New Weight Template + Organization ( #7391 )
...
* add_handlebar_template_to_benchmark
- add benchmark-cli arg to take in a handlebar-template file
* update to always use template
* rewrite writer for handlebars
* polish
* pass cmd data
* update docs
* new weight layout
* separate templates
* support custom filename output
* Update command.rs
* Create frame-weight-template.hbs
* use a vector to maintain benchmark order
* bring back ()
* fix tests
* fix build
* Custom string serializer, remove feature flag
* temp
* rename
* nit
* update docs
* docs on public objects
* small fix
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* remove long line
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for system
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for staking
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_identity --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/identity/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for identity and staking
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_collective --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/collective/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for collective
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for democracy
* clean up zeros
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for elections phragmen
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_im_online --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/im-online/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for im online
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_indices --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/indices/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for indices
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_multisig --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/multisig/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for multisig
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_proxy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/proxy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for proxy
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_scheduler --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/scheduler/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for scheduler
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_session --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/session/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for session
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_timestamp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/timestamp/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for timestamp
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_treasury --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/treasury/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for treasury
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for utility
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_vesting --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/vesting/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for vesting
* temp update
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
Co-authored-by: Ezadkiel Marbella <zadkiel.m@gmail.com >
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
2020-10-27 20:26:12 +00:00
Bastian Köcher
86594727d9
Rename ModuleToIndex to PalletRuntimeSetup ( #7148 )
...
* Rename `ModuleToIndex` to `PalletRuntimeSetup`
Besides the renaming it also adds support getting the name of a pallet
as configured in the runtime.
* Rename it to `PalletInfo`
* Remove accidentally added files
2020-09-22 13:39:56 +00:00
Shawn Tabrizi
42a4c2eef0
Add WeightInfo to Babe and Grandpa Pallet ( #7155 )
...
* Add `WeightInfo` to Babe Pallet
* Also grandpa
* Update frame/grandpa/src/default_weights.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2020-09-21 13:31:44 +00:00
Shawn Tabrizi
ab97e94972
Add benchmarking pipeline to node-template ( #7122 )
2020-09-17 10:09:59 +02:00
Shawn Tabrizi
9aa8698cfc
WeightInfo for Vesting Pallet ( #7103 )
...
* WeightInfo for Vesting Pallet
* clean up weight docs
* Update lib.rs
* try to pipe max locks
* Update for new type
* add warning when locks > MaxLocks
* Update lib.rs
* fix compile
* remove aliasing, fix trait def
* Update
2020-09-16 19:48:10 +00:00
Joshy Orndorff
e4280858dc
De-alias pallets in node template runtime ( #6836 )
...
* dealias pallets
* Restore accidentally deleted code blocks
2020-08-06 21:23:31 +02:00
Joshy Orndorff
07c56a9be9
De-alias frame_system in node template runtime ( #6829 )
...
* de-alias frame_system in node template
* Fix line length
* Fix chainspec
2020-08-06 16:18:35 +00:00
Hamza Tokuchi
9e438c2fc1
Add RPC Builder to Substrate Node Template ( #6808 )
...
* Pulled RPC from node and populated the node-template's RPC builder with one example implementation
* surpress build errror
* dead_code
* Fixed module usage, removed copyright, removed rpc builder for light client + some comments
* added a comment for rpc extension
* Update bin/node-template/node/src/rpc.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update rpc.rs
* fix spacing
* more space to tabs
* more space to tabs
* Documenation nitpick
* Documentation nitpick
* Documentation nitpick
* Documentation nitpick
* Documentation nitpick
* pre-format
* Updated transaction payment API implemented for node template
* fix space and commented code
* fix long line
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Dan Forbes <dan@danforbes.dev >
2020-08-06 10:31:03 +00:00
Dan Forbes
68b2a09d21
Augmented node template docs ( #6721 )
2020-07-24 06:30:48 -07:00
André Silva
ae38a806ed
grandpa: report equivocations with unsigned extrinsics ( #6656 )
...
* grandpa: use unsigned extrinsics for equivocation reporting
* grandpa: allow signed reports as well
* grandpa: change runtime api for submitting unsigned extrinsics
* grandpa: fix tests
* grandpa: add test for unsigned validation
* grandpa: add benchmark for equivocation proof checking
* offences: fix grandpa benchmark
* grandpa: add proper weight for equivocation reporting extrinsic
* grandpa: fix weight unit
2020-07-17 12:32:20 +02:00
Shawn Tabrizi
2302898b8a
Add WeightInfo to all pallets with benchmarks. ( #6575 )
...
* Start adding weight info
* More weightinfo
* finish weight info
* more fixes
* inital update of node runtime
* fix the rest of the compilation
* update balances
* add docs
* fix balances tests
* Fix more tests
* Fix compile
* Fix pallet-evm tests
2020-07-08 18:22:01 +02:00
Bastian Köcher
ad2e832289
Don't require module name in inherents ( #6576 )
...
* Start
* Cleanup `construct_runtime!`
* Add tests
* Fix after merge
* Update the docs
2020-07-06 10:29:17 +00:00
Guillaume Thiolliere
c2ad27271b
Introduce in-origin filtering ( #6318 )
...
* impl filter in origin
* remove IsCallable usage. Breaking: utility::batch(root, calls) no longer bypass BasicCallFilter
* rename BasicCallFilter -> BaseCallFilter
* refactor code
* Apply suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* remove forgotten temporar comment
* better add suggestion in another PR
* refactor: use Clone instead of mem::replace
* fix tests
* fix tests
* fix tests
* fix benchmarks
* Make root bypass filter in utility::batch
* fix unused imports
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2020-06-15 17:05:41 +02:00
Kian Paimani
8279ba96df
Make Get<T> const friendly + Clean the runtime files a bit. ( #6132 )
...
* Make Get const friendly
* Better doc
* Grumble
* Better doc
* Clean runtime files more
2020-05-27 14:40:07 +02:00
Alexander Theißen
9dd21b1eed
Allow fee calculation to happen off-chain ( #6076 )
...
* Emit a PaymentParameters event once per block
This contains per-block paramaters need to calculate
fees off-chain.
* Add WeightToFee trait
* Add documentation to polynomial types
* Ignore pseudo code snippet for doc tests
* Use `Mul` implementation of Perbill
* Add tests for WeightToFeePolynomial
* Revert "Emit a PaymentParameters event once per block"
This reverts commit 6c4763baff3d8179676a3c1660fe7063fd56a8ca.
Co-authored-by: Gavin Wood <gavin@parity.io >
2020-05-21 12:16:04 +02:00
Tomasz Drwięga
f74a7171be
Maximum extrinsic weight limit ( #6067 )
...
* Only check single extrinsics weight limit in validate_transaction.
* Add missing parameter to all pallets.
* Add tests, fix default configuration.
* Bump spec version.
* Use AvailableBlockRation to calculate MaxExtrinsicWeight
2020-05-20 15:05:16 +02:00
Demi Obenour
ddea306044
Add ‘transaction_version’ to the signed transaction ( #5979 )
...
* Add ‘transaction_version’ to the signed transaction
This allows hardware wallets to know which transactions they can safely
sign. To reduce transaction size, I reduced it to a ‘u8’ from a ‘u32’.
Fixes #5951 .
* Restore transaction_version to a u32
* Fix comments
`transaction_version` is not part of a tx, but is still signed.
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Fix the test suite
I had forgotten to change the production of transactions in the test
code.
* Fix benchmarks
* Improve docs for `CheckTxVersion` in `frame_system`
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* Remove spurious cast
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2020-05-15 00:01:56 +02:00
joe petrowski
b718c45dbd
Change BlockHashCount Parameter in Node/Node Template ( #5990 )
...
* change BlockHashCount param
* fix test and lock
2020-05-13 10:46:39 +02:00
André Silva
fbd2ac8f3b
grandpa: report equivocations ( #3868 )
...
* session: runtime api for generating session membership proofs
* grandpa: add runtime api for creating equivocation report txs
* grandpa: submit signed equivocation report transactions
* grandpa: use proper equivocation report type
* grandpa: report equivocations
* grandpa: validate equivocation proof
* grandpa: update to finality-grandpa 0.9.1
* grandpa: fix encoding of session membership proof
* grandpa: initialize set id session mapping for genesis session
* grandpa: fix bug in set_id session validation
* fix compilation
* cleanup from merge conflicts
* cleanup crate tomls
* grandpa: refactor equivocation handling to separate trait
* node-template: fix compilation
* fix test compilation
* bump finality-grandpa to v0.10.2
* rpc: fix runtime version test
* CHERRY-PICK #4200 : Add documentation to SubmitSignedTransaction and actually make it work
Squashed commit of the following:
commit 4f2cb0b1c588a06f2f3b478bb4b28b5cb29d54b9
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Tue Dec 3 16:29:33 2019 +0100
Split the method to avoid confusing type error message.
commit c5bf24eeaaf902add89ed1b046b22c4a4aaeb2cd
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Tue Dec 3 16:19:55 2019 +0100
Make accounts optional, fix logic.
commit 97db1ef556e023cf6847e5ffdb036c0e3ea6fb0a
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Tue Dec 3 10:06:20 2019 +0100
Remove warning.
commit 535f5c116d1a2e826eaf90c3f7e6798e443d61d8
Merge: 516257217 0f1a5f651
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Tue Dec 3 07:08:05 2019 +0100
Merge branch 'master' into td-signed-transactions
commit 516257217bac89fcebd083712f4ea68b7b23b55a
Merge: ac98248c6 2e68c80c2
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Mon Dec 2 13:57:25 2019 +0100
Merge branch 'master' into td-signed-transactions
commit ac98248c6c56cff381130645a82a13d29933cf83
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Mon Nov 25 17:34:52 2019 +0100
Forgotten import.
commit 67a3c19031506c28e31c6bc4a90fff62d467dd58
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Mon Nov 25 17:32:10 2019 +0100
Fix naming and bounds.
commit 93e768ea9df97a4629fca1f9bc4b108fdb33f876
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Mon Nov 25 17:01:05 2019 +0100
Add documentation to signed transactions and actually make them work.
* grandpa: skip block initialization on report submission method
* primitives: allow transaction pool access by default for offchain calls
* grandpa: unused parameters
* grandpa: remove unused method
* grandpa: enable equivocation reporting
* grandpa: add workaround for parameter encoding
* grandpa: fix localized_payload calls in tests
* fix submit_report_equivocation_extrinsic in runtimes
* node: fix submit transaction test compilation
* node: bump spec_version
* rpc: fix api version test
* grandpa: allow custom equivocation offence type
* grandpa: add test for authorities::next_change_height
* grandpa: cleanup report_equivocation function
* node: move reporting app crypto to node-primitives
* grandpa: move equivocation traits to own module
* grandpa: rename app-crypto crate import
* grandpa: export equivocation types
* node: bump spec_version
* grandpa: rename EquivocationReport to EquivocationProof
* grandpa: add missing docs to primitives
* grandpa: add missing docs to equivocation
* node: fix compilation
* grandpa: add missing docs to pallet
* node: bump spec_version
* fix whitespace
* grandpa: return error on offence reporting
* grandpa: expose session and validator count in proofs through traits
* grandpa: use strong key in module KeyOwnerProofSystem
* grandpa: move key ownership proof to grandpa runtime api
* grandpa: remove unnecessary cloning when checking equivocation proof
* grandpa: make report_equivocation a method in Environment
* support: implement KeyOwnerProofSystem for ()
* grandpa: move KeyOwnerProofSystem to module trait
* test-utils: fix runtime compilation
* grandpa: fix test compilation
* grandpa: fix test compilation after merge
* grandpa: simplify transaction submission types
* grandpa: validate equivocation report in signed extension
* client: fix test
* node: use ValidateEquivocationReport signed extension
* grandpa: expose key ownership proof under opaque type
* grandpa: better docs on key ownership proofs
* grandpa: add note about signed extension
* grandpa: add ValidateEquivocationReport::new
* grandpa: remove skip_initialize_block from runtime api
* grandpa: use new offchain transaction submission API
* grandpa: take set_id in generate_key_ownership_proof
* grandpa: update to finality-grandpa v0.12.2
* grandpa: cleanup usages of AuthoritySet::current
* grandpa: fix test
* grandpa: add mocking utilities for equivocation reporting
* grandpa: add test for equivocation reporting
* grandpa: move SetIdSession initialization
* grandpa: add more tests
* node: enable historical session manager
* node: bump spec_version
* node: use strong key types in KeyOwnerProofSystem definitions
* grandpa: export GrandpaEquivocationOffence type
2020-05-06 17:25:51 +01:00
Shawn Tabrizi
8df33e50af
Refactor weight constants, Update to remove redundant overhead ( #5884 )
...
* Move weight values to `frame_support`
* more accurate comment
* update balances
* vesting
* update util
* Add weight to time constants
* use weight constants in weights
* update tests
2020-05-04 19:52:53 +02:00
Shawn Tabrizi
f37927d37d
node-bench no-op block import (#5869 )
...
* start to try and implement noop
* txs as input
* better comment
* Add transfer reaping
* rename to avoid filter matching
* Update base weights based on results
* fix priority
* fix logic on reaping transfer
* Update bin/node/bench/src/import.rs
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
* Update bin/node/bench/src/main.rs
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
* add back size type (in-progress)
* bring back size type with custom
* update comment
* nit
* block type then size
* Use `transfer_keep_alive`
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
2020-05-03 15:33:11 +02:00
Shawn Tabrizi
b913dfebb7
New weights using i7 machine ( #5848 )
...
* i7 weights
* fix full block test
* fix merge
* fix priority
2020-05-01 14:14:43 +02:00
Shawn Tabrizi
8a33c297b4
Introduce BlockExecutionWeight and ExtrinsicBaseWeight ( #5722 )
...
* Introduce `BlockExectionWeight` and `ExtrinsicBaseWeight`
* Add new traits everywhere
* Missed one update
* fix tests
* Update `check_weight` logic
* introduce `max_extrinsic_weight` function
* fix + add tests
* format nits
* remove println
* make test a bit more clear
* Remove minimum weight
* newlines left over from find/replace
* Fix test, improve clarity
* Fix executor tests
* Extrinsic base weight same as old `MINIMUM_WEIGHT`
* fix example test
* Expose constants
* Add test for full block with operational and normal
* Initiate test environment with `BlockExecutionWeight` weight
* format nit
* Update frame/system/src/lib.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Replace `TransactionBaseFee` with `ExtrinsicBaseWeight` (#5761 )
* Replace `TransactionBaseFee` with `ExtrinsicBaseFee`
* Fix stuff
* Fix and make tests better
* Forgot to update this test
* Fix priority number in test
* Remove minimum weight from merge
* Fix weight in contracts
* remove `TransactionBaseFee` from contract tests
* Let `register_extra_weight_unchecked` go past `MaximumBlockWeight`
* address feedback
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2020-04-25 05:59:54 +00:00
Nikolay Volf
ff9c88d21c
Assign DB weights for node runtime ( #5703 )
2020-04-23 11:51:52 +02:00
Gavin Wood
fd2cb9ca83
Transaction versioning in the RuntimeVersion ( #5582 )
...
* Add transaction_version
* Semantic versioning for runtimes
* Move new field to bottom
* Versioning
* Runtime versioning stuff.
* Fix test
* Adds tests and fixes bugs
* Bump runtime
Co-authored-by: Bastian Köcher <git@kchr.de >
2020-04-17 12:10:31 +02:00
Shawn Tabrizi
980b635c8d
Weights to u64 + Balances Weights ( #5446 )
...
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2020-04-16 10:43:18 +02:00
Tomasz Drwięga
04ccb179e9
Pass transaction source to validate_transaction ( #5366 )
...
* WiP
* Support source in the runtime API.
* Finish implementation in txpool.
* Fix warning.
* Fix tests.
* Apply suggestions from code review
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-Authored-By: Nikolay Volf <nikvolf@gmail.com >
* Extra changes.
* Fix test and benches.
* fix test
* Fix test & benches again.
* Fix tests.
* Update bumpalo
* Fix doc test.
* Fix doctest.
* Fix doctest.
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
2020-03-25 14:09:23 +01:00
Gavin Wood
7947cbf915
Remove migration code. ( #5291 )
...
* Remove migration code.
* Fix cargo
* Bump spec version
2020-03-19 23:01:13 +01:00
Gavin Wood
af9083f53b
Refactor away from opaque hashes ( #5226 )
...
* System.BlockHash
* Fix hash
* Introduce K/V iteration in all _concat maps
Also move across:
- System.Account (blake2_128_concat)
- Balances.Locks (twox_64_concat)
- ElectionsPhragmen.VotesOf (twox_64_concat)
- ElectionsPhragmen.StakeOf (twox_64_concat)
- Identity.IdentityOf (twox_64_concat)
- Identity.SubsOf (twox_64_concat)
- Society.Payouts (twox_64_concat)
- Session.NextKeys (twox_64_concat)
- Identity.SuperOf (blake2_128_concat)
- Session.KeyOwner (blake2_128_concat)
- Society.SuspendedCandidates (twox_64_concat)
- Society.SuspendedMembers (twox_64_concat)
- Society.Vouching (twox_64_concat)
- Society.Strikes (twox_64_concat)
- System.EventTopics
- Balances.Account
* Build fixes
* Ensure migration happens in correct order
* Staking.*
* Vesting.* Offences.*
* Democracy.*
* Babe.* Collective.*
* Grandpa.*
* Assets.* Benchmark.* Contracts.* Elections.* Asset.* Nicks.*
Also introduce real account list
* ImOnline.*
* Treasury.*
* Recovery.*
* Final bits.
* Docs
* Fix one test
* Fix test
* All passing except the UI tests
* Remove linked_map part 1
* Remove linked_map
* Some iterator utils for double maps.
* Remove old migrations
* Introduce tombstone for LinkedMap type
* Migration for genesis hash
* Fix build
* Fix hash
* Rename Map is_linked -> unused, keeping backwards compat (#5256 )
* Update frame/balances/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/elections/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Remove old migration code.
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update bin/node/runtime/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fix hash
* fix session migration
* Fix watning
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
2020-03-16 23:19:53 +01:00
Joshy Orndorff
91c1e1a85e
Increase node template max block weight ( #5171 )
2020-03-06 18:32:00 +01:00
Bastian Köcher
c244b1d036
Revert "Build block without checking signatures ( #4916 )" ( #5159 )
...
* Revert "Build block without checking signatures (#4916 )"
This reverts commit e50f610907 .
* Some further clean ups
2020-03-06 15:27:59 +01:00
Shawn Tabrizi
e2d50d558b
Remove indices from node-template ( #5025 )
...
* Remove indices from node-template
* Use identity lookup instead
* Bump impl
* clean cargo.toml
2020-02-25 15:51:46 +01:00
Gavin Wood
afa5861f3b
Lazy reaping ( #4895 )
...
* Squash and rebase from gav-lazy-reaping
* Bump version
* Bump runtime again
* Docs.
* Remove old functions
* Update frame/balances/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/contracts/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Warnings
* Bump runtime version
* Update frame/democracy/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/system/src/lib.rs
* Clean up OnReapAccount
* Use frame_support debug
* Bump spec
* Renames and fix
* Fix
* Fix rename
* Fix
* Increase time for test
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Benjamin Kampmann <ben.kampmann@googlemail.com >
2020-02-24 18:04:42 +01:00
Nikolay Volf
e50f610907
Build block without checking signatures ( #4916 )
...
* in executive
* in other places
* to UnsafeResult
* move doc comment
* apply suggestions
* allow validity mocking for TestXt
* add test
* augment checkable instead of another trait
* fix im online test
* blockbuilder dihotomy
* review suggestions
* update test
* Update client/block-builder/src/lib.rs
* updae spec_version
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-02-18 23:34:31 +01:00
Shawn Tabrizi
ab47ee226a
Add passthrough weight to Sudo ( #4946 )
...
* Add passthrough weight to Sudo
* Bump spec version
* Passthrough `pays_fee`
* Sudo always pays fee
* Use `FunctionOf`
* Add support for closure in dispatch classification
* Update docs
2020-02-17 17:30:49 +01:00
Shawn Tabrizi
c7a14db792
Fix various spelling errors ( #4940 )
...
* meaningfull -> meaningful
* initialise -> initialize
* tokans -> tokens
* incentivise -> incentivize
* lenght -> length
* incentivisation -> incentivization
* doesnt't -> doesn't
* overwriten -> overwritten
* lifecycle -> life cycle
* lifecycle -> life cycle
* usefull -> useful
* noone -> no one
* spaming -> spamming
* defered -> deferred
* hieght -> height
* sumation -> summation
* ingore -> ignore
* registed -> registered
* Auxialary -> Auxiliary
* loggin -> logging
* independance -> independence
* trailling -> trailing
* responsability -> responsibility
* trunkated -> truncated
* Weither -> Whether
* informations -> information
* Runtume -> Runtime
* choosen -> chosen
* delcataion -> declaration
* Unchekced -> Unchecked
* defintion -> definition
* scrach -> scratch
* imput -> input
* transfered -> transferred
* endownment -> endowment
* Determinator -> Determiner
* relevent -> relevant
* emited -> emitted
* acocunt -> account
* proprotional -> proportional
* instantiaion -> instantiation
* commited -> committed
* tombstonedead -> tombstone
* uwnrap -> unwrap
* acount -> account
* specialised -> specialized
* existant -> existent
* requried -> required
* Anull -> Annul
* AUTHORITES -> AUTHORITIES
* underyling -> underlying
* recognisable -> recognizable
* Capitalise -> Capitalize
* reportfor -> report for
* hearbeat -> heartbeat
* onlineness -> being online
* creater -> creator
* Bytearray -> Byte array
* Despoit -> Deposit
* substratced -> subtracted
* Curent -> Current
* imbalanes -> imbalances
* countfown -> countdown
* inexisting -> inexistent
* additionaly -> additionally
* substracted -> subtracted
* auxilary -> auxiliary
* parital -> partial
* in't -> isn't
* compatability -> compatibility
* infomation -> information
* etected -> detected
* extrinsiscs -> extrinsics
* reprensentation -> representation
* coonfiguration -> configuration
* primtives -> primitives
* miscelanious -> miscellaneous
* VERISON -> VERSION
* endcoded -> encoded
* Genrates -> Generates
* miliseconds -> milliseconds
* occured -> occurred
* trully -> truely
* truely -> truly
* conjuction -> conjunction
* encouters -> encounters
* customised -> customized
* deterministicly -> deterministically
* finalisation -> finalization
* pluggable -> plugable
* wakeup -> wake-up
* interemdiate -> intermediate
* intepreting -> interpreting
* finalzied -> finalized
* throgh -> through
* extinsic -> extrinsic
* convient -> convenient
* allocater -> allocator
* propagateable -> propagatable
* succesfuly -> successfully
* finalising -> finalizing
* publically -> publicly
* phrasee -> phrase
* substration -> substractions
* substractions -> subtractions
* neccessarily -> necessarily
* Inlucde -> Include
* unefficient -> inefficient
* thay -> they
* funtion -> function
* datastructures -> data structures
* infromation -> information
* propagatable -> propagable
* ecountered -> encountered
* recognise -> recognize
* intergration -> integration
* lastet -> latest
* datatypes -> data types
* datatype -> data type
* Strongarming -> Strong Arming
* avaible -> available
* Commiting -> Committing
* Retreiving -> Retrieving
* shoud -> should
* canonicaliziation -> canonicalization
* comitted -> committed
* clonable -> cloneable
* Uknown -> Unknown
* reponse -> response
* arbitary -> arbitrary
* Capapbilities -> Capabilities
* responsbile -> responsible
* initialisation -> initialization
* cames -> came
* intemediate -> intermediate
* reqeust -> request
* intance -> instance
* explcitly -> explicitly
* neighor -> neighbor
* reolving -> resolving
* untill -> until
* Validte -> Validate
* deserailize -> deserialize
* literaly -> literally
* preceeding -> preceding
* abpve -> above
* chcecked -> checked
* numbet -> number
* Unknow -> Unknown
* halfs -> halves
* gossup -> gossip
* givent -> given
* immediatelly -> immediately
* slicable -> sliceable
* conensus -> consensus
* Mimicks -> Mimics
* acccept -> accept
* serialise -> serialize
* exstrinsics -> extrinsics
* panicks -> panics
* maintaince -> maintenance
* repeatidely -> repeatedly
* anecstor -> ancestor
* becasue -> because
* processer -> processor
* Prunning -> Pruning
* insterested -> interested
* unuseful -> not useful
* yeided -> yielded
* descendfing -> descending
* corresponts -> corresponds
* survivew -> survive
* keps -> keeps
* ligh -> light
* prerequisities -> prerequisites
* positiion -> position
* depedency -> dependency
* extrinisic -> extrinsic
* atomicaly -> atomically
* staticly -> statically
* resul -> result
* timestamb -> timestamp
* Utilites -> Utilities
* ammount -> amount
* pocess -> process
* exteral -> external
* Update client/finality-grandpa/src/tests.rs
* Update primitives/io/src/lib.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update primitives/blockchain/src/lib.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/support/src/weights.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update bin/node/cli/tests/common.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/api/src/execution_extensions.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/cli/src/params.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/executor/common/src/sandbox.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/api/src/execution_extensions.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/finality-grandpa/src/communication/mod.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/state-db/src/pruning.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/contracts/src/tests.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/api/src/execution_extensions.rs
* bump impl
* timestamb -> timestamp
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
2020-02-17 15:07:24 +01:00
Bastian Köcher
625e963aa2
Remove default expansion from construct_runtime! ( #4937 )
...
This removes the following syntactic sugar from `construct_runtime!`:
- Expansion of `default` to the default set of module parts
- Expansion of `System: system` to the default set of module parts
The macro now requires the user to provide all the module parts of a pallet.
2020-02-15 14:40:29 +01:00
Gavin Wood
5b7512e2e4
Composite accounts ( #4820 )
...
* Basic account composition.
* Add try_mutate_exists
* De-duplicate
* Refactor away the UpdateBalanceOutcome
* Expunge final UpdateBalanceOutcome refs
* Refactor transfer
* Refactor reservable currency stuff.
* Test with the alternative setup.
* Fixes
* Test with both setups.
* Fixes
* Fix
* Fix macros
* Make indices opt-in
* Remove CreationFee, and make indices opt-in.
* Fix construct_runtime
* Fix last few bits
* Fix tests
* Update trait impls
* Don't hardcode the system event
* Make tests build and fix some stuff.
* Pointlessly bump runtime version
* Fix benchmark
* Another fix
* Whitespace
* Make indices module economically safe
* Migrations for indices.
* Fix
* Whilespace
* Trim defunct migrations
* Remove unused storage item
* More contains_key fixes
* Docs.
* Bump runtime
* Remove unneeded code
* Fix test
* Fix test
* Update frame/balances/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fix ED logic
* Repatriate reserved logic
* Typo
* Fix typo
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Last few fixes
* Another fix
* Build fix
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2020-02-14 00:47:51 +00:00
Kian Paimani
c871eaacbc
Per-things trait. ( #4904 )
...
* Give perthigns the trait it always deserved.
* Make staking and phragmen work with the new generic per_thing
* Make everything work together 🔨
* a bit of cleanup
* Clean usage
* Bump.
* Fix name
* fix grumbles
* hopefully fix the ui test
* Some grumbles
* revamp traits again
* Better naming again.
2020-02-13 13:09:33 +01:00
Jimmy Chu
acb66f0699
Node template folders restructuring ( #4811 )
...
* Restructure node-template so it is clear that node, runtime, and pallets are separated
* Separating to mock and tests
* restructuring runtime to top-level
* updated release script
* updated Cargo.lock
2020-02-06 20:13:44 +08:00
Gavin Wood
d52d8692f9
Refactor the balances module ( #4649 )
...
* Initially scoping out of the problem
* Remove need for exiry in balance locks.
* Remove expiry from locks.
* Remove supefluous balance test
* Amalgamate pieces of balance module
* Split out vesting
* Fix tests
* Fixes for vesting.
* Docs.
* Weight docs.
* Refactor things in terms of set_balances.
* Switch out ED to be free + reserved.
* Remove on_free_balance_zero and some docs.
* Build fixes
* Update frame/vesting/src/lib.rs
Co-Authored-By: Xiliang Chen <xlchen1291@gmail.com >
* Update frame/vesting/src/lib.rs
Co-Authored-By: Xiliang Chen <xlchen1291@gmail.com >
* Migration
* Remove superfluous code.
* Test fixes
* Fix some tests
* Fix repatriate reserve
* Fixes
* Add test for migration
* Final cleanups
* Fix
* Indentation.
* Undo unneeded referencing
* Bump runtime version
* Fixes
Co-authored-by: Xiliang Chen <xlchen1291@gmail.com >
2020-02-01 13:20:16 +00:00
Bastian Köcher
fc99887de0
Introduces author_hasKey and author_hasSessionKeys rpc endpoints ( #4720 )
...
* Introduces `author_hasKey` and `author_hasSessionKeys` rpc endpoints
Both endpoints can be used to check if a key is present in the keystore.
- `hasKey` works on with an individual public key and key type. It
checks if a private key for the given combination exists in the
keystore.
- `hasSessionKeys` works with the full encoded session key blob stored
on-chain in `nextKeys`. This requires that the given blob can be decoded
by the runtime. It will return `true`, iff all public keys of the
session key exist in the storage.
Fixes: https://github.com/paritytech/substrate/issues/4696
* Update client/rpc-api/src/author/error.rs
Co-Authored-By: Nikolay Volf <nikvolf@gmail.com >
* Indentation
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
2020-01-24 15:20:45 +01:00
Tomasz Drwięga
74d6e660c6
Add documentation to SubmitSignedTransaction and actually make it work ( #4200 )
...
* Add documentation to signed transactions and actually make them work.
* Fix naming and bounds.
* Forgotten import.
* Remove warning.
* Make accounts optional, fix logic.
* Split the method to avoid confusing type error message.
* Move executor tests to integration.
* Add submit transactions tests.
* Make `submit_transaction` tests compile
* Remove a file that was accidently committed
* Add can_sign helper function.
* Fix compilation.
* Add a key to keystore.
* Fix the tests.
* Remove env_logger.
* Fix sending multiple transactions.
* Remove commented code.
* Bring back criterion.
* Remove stray debug log.
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Make sure to initialize block correctly.
* Initialize block for offchain workers.
* Add test for transaction validity.
* Fix tests.
* Review suggestions.
* Remove redundant comment.
* Make sure to use correct block number of authoring.
* Change the runtime API.
* Support both versions.
* Bump spec version, fix RPC test.
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
Co-authored-by: Gavin Wood <github@gavwood.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-01-10 01:46:55 +01:00
Shawn Tabrizi
a1e0076aa8
Introduce OnReapAccount ( #4585 )
...
* Initial run and gun at `OnReapAccount`
* Fix some imports
* More fixes
* Whitespace
* More wack-a-mole
* Gotta catch em all
* Update lib.rs
* Small doc update
* Whitespace
2020-01-10 01:46:23 +01:00
Bastian Köcher
4a9697db94
Check for invalid modules when registering a pallet in construct_runtime ( #4520 )
2020-01-02 20:10:20 +01:00