Kian Paimani
3850a43323
Make election benchmarks more *memory-aware* ( #9286 )
...
* Make benchmarks a bit better with mem
* Make election benchmarks more *memory-aware*
* Fix a few errors
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Manually fix the weights
* Update lock file
* remove dupe
* Fix tests
* cargo update pwasm
Co-authored-by: Parity Bot <admin@parity.io >
2021-07-09 19:55:31 +00:00
Seun Lanlege
2ae9d36758
sc-transcation-pool refactor ( #9228 )
...
* Use TransactionPool trait
* sc-transaction-pool-primitives
* sc-transaction-pool-api
* TP
* bye sc_transaction_graph
* fix line widths
* fix import errors
* fix import errors
* fix import errors 🤦🏾♂️
* fix import errors 🤦🏾♂️ 🤦🏾♂️ 🤦🏾♂️
* remove sp-keyring
2021-07-08 13:33:34 +00:00
Shawn Tabrizi
b42b8fc5fb
Include StorageInfo in Benchmarking Pipeline ( #9090 )
...
* extend storageinfo
* extend_storage_info
* use vec
* add storage info to pipeline
* get read and written keys
* undo storageinfo move
* refactor keytracker
* return read / write count
* playing with key matching
* add basic `StorageInfo` constructor
* add whitelisted to returned info
* fix some test stuff
* pipe comments into benchmark data
* add_storage_comments
* add comments to template
* track only storage prefix
* Update frame/benchmarking/src/lib.rs
* 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
* fix test
* 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 test logs
* add temp benchmark script
* Apply suggestions from code review
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* remove keytracker and use trackedstoragekey
* add comment for unknown keys
* 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
* remove duplicate comments with unknown keys
* 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
* 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
* refactor bench tracker, and fix results
* 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
* fix child tries in new tracker
* extra newline
* fix unused warning
* 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
* fix master merge
* storage info usage refactor
* remove now unused
* fix refactor
* use a vec for prefix
* fix tests
* also update writer to use vec
* disable read and written keys for now
* 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 frame/system/src/weights.rs
* fix test
* Delete weights.rs
* reset weights
Co-authored-by: Parity Bot <admin@parity.io >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-07-07 22:06:06 +00:00
Bastian Köcher
7bbf949296
Clean up sc-allocator ( #9295 )
2021-07-07 13:11:31 +02:00
Sergei Shulepov
f388b66ab5
PVF: NaN canonicalization & deteriministic stack ( #9069 )
...
* NaN canonicalization
* Introduce a simple stack depth metering
* Be explicit about the wasm features we enable
* Pull the latest latast fix for the pwasm-utils crate
* Disable `wasm_threads` as well.
* Factor out deterministic stack params
* Add more docs
* Remove redundant dep
* Refine comments
* Typo
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: Andronik Ordian <write@reusable.software >
2021-07-07 08:29:39 +00:00
cheme
d80e1bc978
Paged keys rpc for child storage. ( #9100 )
...
* childstate_getKeysPaged rpc
* Rename `v` to `iter`.
* Update client/api/src/backend.rs
Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com >
* Update client/api/src/backend.rs
Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com >
Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com >
2021-07-07 07:22:13 +00:00
Kian Paimani
9cd04f3559
Allow the allocator to track the heap changes. ( #9291 )
...
* Allow the allocator to track the heap changes.
* fix build
* review comments
* Update client/allocator/Cargo.toml
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/allocator/Cargo.toml
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-07-07 05:32:57 +00:00
Squirrel
4f5d3b334e
Docs only changes ( #9258 )
...
* Docs changes to improve clarity
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-07-06 18:05:10 +01:00
Bastian Köcher
f781dcaf2c
Add function for embedding the runtime version in a wasm blob ( #9277 )
...
* Add function for embedding the runtime version in a wasm blob
This function can be used to add the custom section to a wasm blob with
the runtime version in it.
* Review nitpick
2021-07-06 10:41:27 +00:00
Arkadiy Paronyan
e755577c3f
Remove debug assertion ( #9283 )
2021-07-06 09:51:20 +00:00
Andronik Ordian
b61dd3e8c5
bump a bunch of deps in parity-common ( #9263 )
...
* bump a bunch of deps in parity-common
* primitive-types 0.10.0
* update Cargo.lock
* downgrade a few more
* this is unlikely to help
* try something
* Checkmate, Atheists!
2021-07-05 18:37:19 +00:00
Squirrel
f93074d086
Less duplication in test code ( #9270 )
...
* Less duplication
* Const
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* less comments
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-07-05 12:59:39 +02:00
Bastian Köcher
d489bd70b5
Do not call initialize_block before any runtime api ( #8953 )
...
* Do not call `initialize_block` before any runtime api
Before this change we always called `initialize_block` before calling
into the runtime. There was already support with `skip_initialize` to skip
the initialization. Almost no runtime_api requires that
`initialize_block` is called before. Actually this only leads to higher
execution times most of the time, because all runtime modules are
initialized and this is especially expensive when the block contained a
runtime upgrade.
TLDR: Do not call `initialize_block` before calling a runtime api.
* Change `validate_transaction` interface
* Fix rpc test
* Fixes and comments
* Some docs
2021-07-01 15:50:42 +00:00
Liu-Cheng Xu
ff4b9c0d72
Enable colored help in CLI ( #9244 )
...
Since it's already there, why not give it a chance :P
2021-07-01 07:12:07 +00:00
Squirrel
d7804c0929
Move client only primitives to another dir ( #9220 )
...
* Move alloc primitive (not used in /pallets)
* Move to alternative location as not shared
* moved crates to different dir
* ren sp_chain_spec to sc_chain_spec_primatives
* merged sc-chain-spec and moved allocation up one.
* no no_std
* nudge
* Bump CI
2021-06-30 12:06:39 +02:00
Ashley
361d02f92d
Remove txpool as an export of sc_transaction_pool, exporting the used components instead. ( #9217 )
...
* Remove `txpool` as an export of `sc_transaction_pool`, exporting the used components instead.
* Fix tests
2021-06-29 08:23:39 +00:00
Squirrel
20347c2edb
Use MIN associated const ( #9199 )
2021-06-24 15:48:39 +01:00
Squirrel
ea1f21a904
Use MAX associated const ( #9196 )
...
* Use MAX associated const
2021-06-24 11:53:49 +01:00
Tomasz Drwięga
f20edfa262
Transaction Pool docs ( #9056 )
...
* Add transaction pool docs.
* Extra docs.
* Apply suggestions from code review
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
* Expand on some review comments.
* Update README.md
Fixed typos / spellings
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
Co-authored-by: Squirrel <gilescope@gmail.com >
2021-06-24 00:10:44 +02:00
Squirrel
07449840bd
Less slices ( #9176 )
...
* Less slices
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-06-23 13:33:48 +01:00
André Silva
e35261c605
grandpa: fix broken line breaks in logging ( #9179 )
2021-06-23 07:50:48 +00:00
Robert Klotzner
d35d69a475
Add dummy Debug instance to authority discovery service. ( #9156 )
...
* Add dummy Debug instance to AuthorityDiscoveryService.
* Update client/authority-discovery/src/service.rs
More idiomatic print
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
2021-06-22 13:24:33 +00:00
Arkadiy Paronyan
77a4b980ae
Fast sync ( #8884 )
...
* State sync
* Importing state fixes
* Bugfixes
* Sync with proof
* Status reporting
* Unsafe sync mode
* Sync test
* Cleanup
* Apply suggestions from code review
Co-authored-by: cheme <emericchevalier.pro@gmail.com >
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
* set_genesis_storage
* Extract keys from range proof
* Detect iter completion
* Download and import bodies with fast sync
* Replaced meta updates tuple with a struct
* Fixed reverting finalized state
* Reverted timeout
* Typo
* Doc
* Doc
* Fixed light client test
* Fixed error handling
* Tweaks
* More UpdateMeta changes
* Rename convert_transaction
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Code review suggestions
* Fixed count handling
Co-authored-by: cheme <emericchevalier.pro@gmail.com >
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-06-22 09:32:43 +00:00
André Silva
5899eedc8c
grandpa: don't use block_on in Environment::report_equivocation ( #9154 )
...
* grandpa: don't use block_on in Environment::report_equivocation
* grandpa: add issue number to todo
2021-06-21 16:02:08 +00:00
André Silva
a26ec52450
make SelectChain async ( #9128 )
...
* make SelectChain async
* make JustificationImport async
2021-06-20 11:01:09 +00:00
André Silva
650fc2f9c9
slots: slot lenience must take into account block proposal portion ( #9138 )
...
* aura, babe: proposal slot lenience must take into account proposal portion
* slots: add support for max_block_proposal_slot_portion
* fix compilation
* slots: add tests
* aura: fix comment
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* slots: log the actual proposing duration after lenience is applied
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-06-19 20:37:33 +00:00
André Silva
0417e4e37f
babe: add comments to block weight and expose block_weight function ( #9145 )
...
* babe: add comments to block weight and expose block_weight function
* babe: expose function for block weight key
2021-06-19 12:40:53 +00:00
André Silva
90d47870a9
grandpa: restrict grandpa gossip ( #9131 )
...
* grandpa: make gossip more conservative (and fair)
* grandpa: make round commit timer dependent on gossip_duration
* grandpa: add gossip tests
* grandpa: reduce variance in tests
2021-06-18 19:31:00 +00:00
Kian Paimani
4d6802c530
Make it possible to override maximum payload of RPC ( #9019 )
...
* Make it possible to override maximum payload of RPC
* Finish it.
* remove todo.
* Update client/cli/src/commands/run_cmd.rs
* Apply suggestions from code review
Co-authored-by: David <dvdplm@gmail.com >
* Apply suggestions from code review
Co-authored-by: David <dvdplm@gmail.com >
* Incorporate suggestions
* Thread rpc_max_payload from configuration to trace_block
* Try obey line gitlab/check_line_width.sh
* update state rpc tests
* Improve readbility
* Apply suggestions from code review
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Zeke Mostov <32168567+emostov@users.noreply.github.com >
Co-authored-by: David <dvdplm@gmail.com >
2021-06-17 14:37:43 +00:00
Bastian Köcher
1278b9a6d4
Aura: Skip initialize block & remove cache ( #9132 )
...
This instructs the Aura runtime api to skip initialize block, when
requesting the authorities. This is important, as we don't want to use
the new authorities that should be used from the next block on.
Besides that, it removes the caching stuff. The cache is not available
on full nodes anyway. In the future we should store the authorities
probably in the aux store.
2021-06-17 07:27:53 +00:00
André Silva
ae5cd339b5
grandpa: cleanup sync bounds ( #9127 )
...
* grandpa: cleanup sync bounds
* grandpa: cleanup imports
* remove cargo patch
2021-06-16 12:51:09 +00:00
cheme
693b39f43b
Frame remove_all with size limit. ( #9106 )
...
* remove prefixed content with limit.
* test match
* factor comment and factor ext limit removal.
* fix benchmark
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-06-15 13:23:58 +00:00
Sergei Shulepov
5f0257f3b3
Test restoring zeroed data ( #9011 )
...
* Test restoring zeroed data
* Change to u64
2021-06-15 10:58:09 +00:00
Sergei Shulepov
3df32a5411
Decommit instance memory after a runtime call on Linux ( #8998 )
...
* Decommit instance memory after a runtime call on Linux
* Update documentation for the test
* Remove unfinished comment
* Use saturating_sub.
Also update the doc comment.
* Precise RSS tracking in the test
Instead of tracking RSS for the whole process we just look at the particular mapping that is associated with the linear memory of the runtime instance
* Remove unused import
* Fix unused imports
* Fix the unused imports error for good
* Rollback an accidental change to benches
* Fix the test
* Remove now unneeded code
2021-06-14 21:07:06 +00:00
Lldenaurois
2d04fa8717
Add function to test whether function is exported in wasm blob ( #9093 )
...
* Add function to test whether function is exported in wasm blob
* Address Feedback
* Update based on feedback
2021-06-13 12:24:05 +02:00
Bastian Köcher
68833498c6
Transaction pool: Remove futures-diagnose and thread pool ( #9074 )
...
* Transaction pool: Remove futures-diagnose and thread pool
This pr removes `futures-diagnose` as this isn't used anymore. Besides
that the pr also removes the thread pool that was used to validate the
transactions in the background. Instead of this thread pool we now spawn
two separate long running tasks that we use to validate the
transactions. All tasks of the transaction pool are now also spawned as
essential tasks. This means, if any of these tasks is stopping, the node
will stop as well.
* Update client/transaction-pool/src/api.rs
2021-06-11 17:24:30 +00:00
Pierre Krieger
576a39a25b
Don't connect to reserved nodes if they're banned ( #9020 )
2021-06-11 12:36:37 +00:00
André Silva
b22766dab3
grandpa: ignore justifications from other consensus engines ( #9075 )
2021-06-11 11:18:41 +00:00
Folyd
907e52b28c
Migrate ProfilingLayer to tracing registry API ( #8943 )
...
* Migrate ProfilingLayer to tracing registry API
* Remove the `current_span` field from `BlockSubscriber`.
* Bump the `tracing-subscriber` version
* Fix Gitlab CI
2021-06-10 17:31:49 +00:00
Squirrel
00ae1fa679
Stop sending network_state to telemetry ( #9026 )
...
(We send network information to prometheus)
2021-06-09 10:56:31 +01:00
David
c7b9430b7f
Misc telemetry polish ( #8484 )
...
* Remove TelemetryWorker::with_transport
Make logging more useful
* Re-instate TelemetryWorker::with_transport
* Fix typo, don't spam
2021-06-08 18:10:16 +00:00
tgmichel
a4bfd40a1b
rpc-http-threads cli arg (#8890 )
...
* Add optional `rpc-http-threads` cli arg
* Update `http::ServerBuilder`threads
2021-06-08 11:18:57 +00:00
Pierre Krieger
5c14dd3f32
Periodically call Peerset::alloc_slots on all sets ( #9025 )
...
* Periodically call alloc_slots on all slots
* Add test
2021-06-07 13:00:03 +00:00
cheme
f01c396677
Compact proof utilities in sp_trie. ( #8574 )
...
* validation extension in sp_io
* need paths
* arc impl
* missing host function in executor
* io to pkdot
* decode function.
* encode primitive.
* trailing tab
* multiple patch
* fix child trie logic
* restore master versionning
* bench compact proof size
* trie-db 22.3 is needed
* line width
* split line
* fixes for bench (additional root may not be needed as original issue was
with empty proof).
* revert compact from block size calculation.
* New error type for compression.
* Adding test (incomplete (failing)).
Also lacking real proof checking (no good primitives in sp-trie crate).
* There is currently no proof recording utility in sp_trie, removing
test.
* small test of child root in proof without a child proof.
* remove empty test.
* remove non compact proof size
* Missing revert.
* proof method to encode decode.
2021-06-07 09:06:38 +00:00
André Silva
c44b552d8f
consensus: handle justification sync for blocks authored locally ( #8698 )
...
* consensus: add trait to control justification sync process
* network: implement JustificationSyncLink for NetworkService
* slots: handle justification sync in slot worker
* babe: fix slot worker instantiation
* aura: fix slot worker instantiation
* pow: handle justification sync in miner
* babe: fix tests
* aura: fix tests
* node: fix compilation
* node-template: fix compilation
* consensus: rename justification sync link parameter
* aura: fix test compilation
* consensus: slots: move JustificationSyncLink out of on_slot
2021-06-04 21:31:06 +00:00
Andreas Doerr
a477d4dadf
Bump parity-db ( #9024 )
2021-06-04 14:46:16 +00:00
Andronik Ordian
003738b1c5
more useful error message ( #9014 )
2021-06-04 07:05:21 +00:00
Arkadiy Paronyan
84811dae00
Storage chain: Runtime module ( #8624 )
...
* Transaction storage runtime module
* WIP: Tests
* Tests, benchmarks and docs
* Made check_proof mandatory
* Typo
* Renamed a crate
* Apply suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Added weight for on_finalize
* Fixed counter mutations
* Reorganized tests
* Fixed build
* Update for the new inherent API
* Reworked for the new inherents API
* Apply suggestions from code review
Co-authored-by: cheme <emericchevalier.pro@gmail.com >
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Store transactions in a Vec
* Added FeeDestination
* Get rid of constants
* Fixed node runtime build
* Fixed benches
* Update frame/transaction-storage/src/lib.rs
Co-authored-by: cheme <emericchevalier.pro@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: cheme <emericchevalier.pro@gmail.com >
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-06-04 06:50:59 +00:00
Bastian Köcher
258c1a86f6
Transaction pool: Ensure that we prune transactions properly ( #8963 )
...
* Transaction pool: Ensure that we prune transactions properly
There was a bug in the transaction pool that we didn't pruned
transactions properly because we called `prune_known`, instead of `prune`.
This bug was introduced by:
https://github.com/paritytech/substrate/pull/4629
This is required to have stale extrinsics being removed properly, so
that they don't fill up the tx pool.
* Fix compilation
* Fix benches
* ...
2021-06-03 16:04:29 +02:00
Pierre Krieger
152587bcb9
Discard notifications if we have failed to parse handshake ( #8806 )
2021-06-02 20:41:21 +02:00