-
Notifications
You must be signed in to change notification settings - Fork 2.6k
contracts: Add new seal_call
that offers new features
#8909
Conversation
Nice PR! |
In order to better support actor-based programming it might make sense to introduce yet another call flag |
It is cheaper. You pay more weight by making a cloning call. If you know you don't need the input any longer you dan decide to forward even if it is no tail call. Yes
I think this is a topic on its own. We currently don't have any capabilities for asynchronous execution. It should be discussed in its own issue. |
Co-authored-by: Michael Müller <[email protected]>
/// | ||
/// This makes the current contract completely transparent to its caller by replacing | ||
/// this contracts potential output by the callee ones. Any code after `seal_call` | ||
/// can be safely considered unreachable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any code after
seal_call
can be safely considered unreachable.
For ink!, we should output a warning/error if there is contract code after an ink! function which does the forward. This would be a good follow-up for use-ink/cargo-contract#281.
What's the condition under which the function will become stable? |
Adoption by ink! that has shown that the new API is usable for its intended purposes. |
Co-authored-by: Michael Müller <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Looking forward to the ink! side :-).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
self.read_sandbox_memory_as(callee_ptr, callee_len)?; | ||
let value: BalanceOf<<E as Ext>::T> = self.read_sandbox_memory_as(value_ptr, value_len)?; | ||
let input_data = if flags.contains(CallFlags::CLONE_INPUT) { | ||
self.input_data.as_ref().ok_or_else(|| Error::<E::T>::InputForwarded)?.clone() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see where the cost of cloning compare to taking is charged, but I guess it is small enough to be negligible ? or is it because unstable ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not implemented, yet. I reserve the right to not completely flesh out weight handling for __unstable_
interfaces.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
makes sense, then all good, maybe a comment would prevent forgetting, but I'm fine
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
bot merge |
Trying merge. |
* Remove: (#8748) * `NetworkStatusSinks` * `sc_service::SpawnTasksParams::network_status_sinks` Also: * `sc_service::build_network()` does not return `network_status_sinks` * CI: fix simnet trigger (#8927) * CI: chore * CI: pin simnet version * More sc-service config reexports (#8887) * Reexport ExecutionStrategies and ExecutionStrategy * Reexport more of the network * Reexport the ExecutionStrategy as it's used within ExecutionStrategies * Fix check runtime CI (#8930) * Fix check_runtime.sh script * contracts: Remove confusing "Related Modules" doc * Bump parity-wasm and pwasm-utils to the newest versions everywhere (#8928) * BROKEN: convert SignedSubmissions to BoundedBTreeSet Eventually, once it works, this change should improve overall performance. However, in the meantime, the trait bounds aren't playing nicely, and this is turning into too much of a pain to handle right now as part of /#7910. We can take care of it later. * Simple `MaxBoundedLen` Implementations (#8793) * implement max_values + storages info * some formatting + doc * sudo sanity check * timestamp * assets (not working) * fix assets * impl for proxy * update balances * rename StoragesInfo -> PalletStorageInfo * merge both StorageInfoTrait and PalletStorageInfo I think it is more future proof. In the future some storage could make use of multiple prefix. Like one to store how much value has been inserted, etc... * Update frame/support/procedural/src/storage/parse.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Update frame/support/procedural/src/storage/storage_struct.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Fix max_size using hasher information hasher now expose `max_len` which allows to computes their maximum len. For hasher without concatenation, it is the size of the hash part, for hasher with concatenation, it is the size of the hash part + max encoded len of the key. * fix tests * fix ui tests * Move `MaxBoundedLen` into its own crate (#8814) * move MaxEncodedLen into its own crate * remove MaxEncodedLen impl from frame-support * add to assets and balances * try more fixes * fix compile Co-authored-by: Shawn Tabrizi <[email protected]> * nits * fix compile * line width * fix max-values-macro merge * Add some derive, needed for test and other purpose * use weak bounded vec in some cases * Update lib.rs * move max-encoded-len crate * fix * remove app crypto for now * width * Revert "remove app crypto for now" This reverts commit 73623e9. * unused variable * more unused variables * more fixes * Add #[max_encoded_len_crate(...)] helper attribute The purpose of this attribute is to reduce the surface area of max_encoded_len changes. Crates deriving `MaxEncodedLen` do not need to add it to `Cargo.toml`; they can instead just do ```rust \#[derive(Encode, MaxEncodedLen)] \#[max_encoded_len_crate(frame_support::max_encoded_len)] struct Example; ``` * fix a ui test * use #[max_encoded_len_crate(...)] helper in app_crypto * remove max_encoded_len import where not necessary * update lockfile * fix ui test * ui * newline * fix merge * try fix ui again * Update max-encoded-len/derive/src/lib.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * extract generate_crate_access_2018 * Update lib.rs * compiler isnt smart enough Co-authored-by: thiolliere <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * remove duplicate Issued/Burned events (#8935) * weather -> whether (#8938) * make remote ext use batch ws-client (#8916) * make remote ext use batch ws-client * Add debug log for key length * better assertions * new sanity_checl * try and make it work with batch * update test * remove exctra uri * add missing at * remove unused rpc stuff * improve Co-authored-by: emostov <[email protected]> * Make `Schedule` fields public to allow for customization (#8924) * Make `Schedule` fields public for customization * Fix doc typo Co-authored-by: Andrew Jones <[email protected]> Co-authored-by: Andrew Jones <[email protected]> * Session key should be settable at genesis even for non-endowed accounts (#8942) * Session key should be settable at genesis even for non-endowed accounts * Docs * Migrate pallet-scored-pool to pallet attribute macro (#8825) * Migrate pallet-scored-pool to pallet attribute macro. * Remove dummy event. * Apply review suggestions. * Bump retain_mut from 0.1.2 to 0.1.3 (#8951) Bumps [retain_mut](https://github.com/upsuper/retain_mut) from 0.1.2 to 0.1.3. - [Release notes](https://github.com/upsuper/retain_mut/releases) - [Commits](upsuper/retain_mut@v0.1.2...v0.1.3) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Use correct CreateInherentDataProviders impl for manual seal (#8852) * use correct CreateInherentDataProviders impl for manual seal * add babe inherent provider * move client into factory fn * Refactor code a little bit (#8932) * Optimize `next_storage_key` (#8956) * Optimize `next_storage_key` - Do not rely on recursion - Use an iterator over the overlay to not always call the same method * Fix bug * Add deserialize for TransactionValidityError in std. (#8961) * Add deserialize for TransactionValidityError in std. * Fix derives * Bump getrandom from 0.2.2 to 0.2.3 (#8952) Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.2 to 0.2.3. - [Release notes](https://github.com/rust-random/getrandom/releases) - [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md) - [Commits](rust-random/getrandom@v0.2.2...v0.2.3) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Allow usage of path in construct_runtime! (#8801) * Allow usage of path in construct_runtime! * Fix whitespace * Fix whitespace * Make expand_runtime_metadata accept slice instead of Iterator * Include Call and Event in construct_runtime for testing * Migrate impl_outer_event to proc macro * Fix integrity_test_works * Update UI test expectations * Factor in module path while generating enum variant or fn names * Use ParseStream::lookahead for more helpful error messages * Remove generating outer_event_metadata * Ensure pallets with different paths but same last path segment can coexist * Remove unnecessary generated function * Migrate decl_outer_config to proc macro * Add default_filter test for expand_outer_origin * Allow crate, self and super keywords to appear in pallet path * Add UI test for specifying empty pallet paths in construct_runtime * Reduce cargo doc warnings (#8947) Co-authored-by: Bastian Köcher <[email protected]> * Update wasmtime to 0.27 (#8913) * Update wasmtime to 0.27 A couple of notes: - Now we are fair about unsafeness of runtime creation via an compiled artifact. This change was prompted by the change in wasmtime which made `deserialize` rightfully unsafe. Now `CodeSupplyMode` was hidden and the `create_runtime` now takes the blob again and there is now a new fn for creating a runtime with a compiled artifact. - This is a big change for wasmtime. They switched to the modern backend for code generation. While this can bring performance improvements, it can also introduce some problems. In fact, 0.27 fixed a serious issue that could lead to sandbox escape. Hence we need a proper burn in. This would require a change to PVF validation host as well. * Filter regalloc logging * Spellling corrections (no code changes) (#8971) * Spelling corrections * As this might break let's do as a separate PR * Dependabot use correct label (#8973) * Inject hashed prefix for remote-ext (#8960) * Inject for remote-ext * Update utils/frame/remote-externalities/src/lib.rs Co-authored-by: Zeke Mostov <[email protected]> * Update utils/frame/remote-externalities/src/lib.rs Co-authored-by: Zeke Mostov <[email protected]> * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Zeke Mostov <[email protected]> * Use `SpawnTaskHandle`s for spawning tasks in the tx pool (#8958) * Remove futures-diagnose * Use `SpawnTaskHandle`s for spawning tasks in the tx pool * Box the spawner * Fix tests * Use the testing task executor * Do not spend time on verifying the signatures before calling Runtime (#8980) * Revert "Use `SpawnTaskHandle`s for spawning tasks in the tx pool (#8958)" (#8983) This reverts commit bfef07c. * Uniques: An economically-secure basic-featured NFT pallet (#8813) * Uniques: An economically-secure basic-featured NFT pallet * force_transfer * freeze/thaw * team management * approvals * Fixes * force_asset_status * class_metadata * instance metadata * Fixes * use nmap * Fixes * class metadata has information field * Intiial mock/tests and a fix * Remove impl_non_fungibles * Docs * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Reserve, don't transfer. * Fixes * Tests * Tests * refresh_deposit * Tests and proper handling of metdata destruction * test burn * Tests * Update impl_fungibles.rs * Initial benchmarking * benchmark * Fixes * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs * Attributes * Attribute metadata * Fixes * Update frame/uniques/README.md * Docs * Docs * Docs * Simple metadata * Use BoundedVec * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Fixes * Update frame/uniques/README.md Co-authored-by: Alexander Popiak <[email protected]> * Update frame/uniques/README.md Co-authored-by: Alexander Popiak <[email protected]> * Update frame/uniques/README.md Co-authored-by: Alexander Popiak <[email protected]> * Docs * Bump Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Parity Bot <[email protected]> Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> * Update WeakBoundedVec's remove and swap_remove (#8985) Co-authored-by: Boiethios <[email protected]> * Convert another instance of Into impl to From in the macros (#8986) * Convert another instance of Into impl to From in the macros * Convert another location * also fix bounded vec (#8987) * fix most compiler errors Mostly the work so far has been in tracking down where precisely to insert appropriate trait bounds, and updating `fn insert_submission`. However, there's still a compiler error remaining: ``` error[E0275]: overflow evaluating the requirement `Compact<_>: Decode` | = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`pallet_election_provider_multi_phase`) = note: required because of the requirements on the impl of `Decode` for `Compact<_>` = note: 126 redundant requirements hidden = note: required because of the requirements on the impl of `Decode` for `Compact<_>` ``` Next up: figure out how we ended up with that recursive bound, and fix it. * extract type SignedSubmissionsOf<T> Weirdly, we still encounter the recursive trait definition error here, despite removing the trait bounds. Something weird is happening. * impl Decode bounds on BoundedBTreeMap/Set on T, not predecessor Otherwise, Rust gets confused and decides that the trait bound is infinitely recursive. For that matter, it _still_ gets confused somehow and decides that the trait bound is infinitely recursive, but at least this should somewhat simplify the matter. * fix recursive trait bound problem * minor fixes * more little fixes * correct semantics for try_insert * more fixes * derive Ord for SolutionType * tests compile * fix most tests, rm unnecessary one * Transactionpool: Make `ready_at` return earlier (#8995) `ready_at` returns when we have processed the requested block. However, on startup we already have processed the best block and there are no transactions in the pool on startup anyway. So, we can set `updated_at` to the best block on startup. Besides that `ready_at` now returns early when there are no ready nor any future transactions in the pool. * Discard notifications if we have failed to parse handshake (#8806) * Migrate pallet-democracy to pallet attribute macro (#8824) * Migrate pallet-democracy to pallet attribute macro. * Metadata fix. * Trigger CI. * Add ecdsa::Pair::verify_prehashed() (#8996) * Add ecdsa::Pair::verify_prehashed() * turn verify_prehashed() into an associated function * add Signature::recover_prehashed() * Non-fungible token traits (#8993) * Non-fungible token traits * Docs * Fixes * Implement non-fungible trait for Uniques * Update frame/uniques/src/impl_nonfungibles.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/impl_nonfungibles.rs Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> * Removes unused import (#9007) * Add Call Filter That Prevents Nested `batch_all` (#9009) * add filter preventing nested `batch_all` * more tests * fix test * 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: Parity Bot <[email protected]> * 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: #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 * ... * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> * 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 <[email protected]> Co-authored-by: Kian Paimani <[email protected]> Co-authored-by: cheme <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> * more useful error message (#9014) * Named reserve (#7778) * add NamedReservableCurrency * move currency related trait and types into a new file * implement NamedReservableCurrency * remove empty reserves * Update frame/support/src/traits.rs Co-authored-by: Shawn Tabrizi <[email protected]> * fix build * bump year * add MaxReserves * repatriate_reserved_named should put reserved fund into named reserved * add tests * add some docs * fix warning * Update lib.rs * fix test * fix test * fix * fix * triggier CI * Move NamedReservableCurrency. * Use strongly bounded vec for reserves. * Fix test. * remove duplicated file * trigger CI * Make `ReserveIdentifier` assosicated type * add helpers * make ReserveIdentifier assosicated type * fix * update * trigger CI * Apply suggestions from code review Co-authored-by: Shawn Tabrizi <[email protected]> * trigger CI * Apply suggestions from code review Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Gavin Wood <[email protected]> Co-authored-by: Shaun Wang <[email protected]> * update ss58 type to u16 (#8955) * Fixed build (#9021) * Bump parity-db (#9024) * 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 * arithmetic: fix PerThing pow (#9030) * arithmetic: add failing test for pow * arithmetic: fix PerThing::pow * Revert back to previous optimisations Co-authored-by: Gav Wood <[email protected]> * 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. * Don't inlucde nominaotrs that back no one in the snapshot. (#9017) * fix all_in_one test which had a logic error * use sp_std, not std * Periodically call `Peerset::alloc_slots` on all sets (#9025) * Periodically call alloc_slots on all slots * Add test * contracts: Add new `seal_call` that offers new features (#8909) * Add new `seal_call` that offers new features * Fix doc typo Co-authored-by: Michael Müller <[email protected]> * Fix doc typos Co-authored-by: Michael Müller <[email protected]> * Fix comment on assert * Update CHANGELOG.md Co-authored-by: Michael Müller <[email protected]> * fix unreserve_all_named (#9042) * Delete legacy runtime metadata macros (#9043) * `rpc-http-threads` cli arg (#8890) * Add optional `rpc-http-threads` cli arg * Update `http::ServerBuilder`threads * allow inserting equal items into bounded map/set * refactor: only load one solution at a time This increases the database read load, because we read one solution at a time. On the other hand, it substantially decreases the overall memory load, because we _only_ read one solution at a time instead of reading all of them. * Emit `Bonded` event when rebonding (#9040) * Emit `Bonded` event when rebonding * fix borrow checker * 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 Co-authored-by: Parity Bot <[email protected]> * fix tests * Revert "Merge remote-tracking branch 'origin/master' into prgn-election-provider-multi-phase-bounded-btree-set-signed-submissions" This reverts commit de92b1e, reversing changes made to dae31f2. * only derive debug when std * write after check * SignedSubmissions doesn't ever modify storage until .put() This makes a true check-before-write pattern possible. * REVERT ME: demo that Drop impl doesn't work * Revert "REVERT ME: demo that Drop impl doesn't work" This reverts commit 3317a4b. * doc note about decode_len * rename get_submission, take_submission for clarity * add test which fails for current incorrect behavior * inline fn insert_submission This fixes a tricky check-before-write error, ensuring that we really only ever modify anything if we have in fact succeeded. Co-authored-by: Roman Proskuryakov <[email protected]> Co-authored-by: Denis Pisarev <[email protected]> Co-authored-by: MOZGIII <[email protected]> Co-authored-by: Alexander Theißen <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: thiolliere <[email protected]> Co-authored-by: joe petrowski <[email protected]> Co-authored-by: Sebastian Müller <[email protected]> Co-authored-by: Kian Paimani <[email protected]> Co-authored-by: emostov <[email protected]> Co-authored-by: Andrew Jones <[email protected]> Co-authored-by: Gavin Wood <[email protected]> Co-authored-by: Shaun Wang <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Seun Lanlege <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Keith Yeung <[email protected]> Co-authored-by: Squirrel <[email protected]> Co-authored-by: Sergei Shulepov <[email protected]> Co-authored-by: Ashley <[email protected]> Co-authored-by: Parity Bot <[email protected]> Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Boiethios <[email protected]> Co-authored-by: Boiethios <[email protected]> Co-authored-by: Pierre Krieger <[email protected]> Co-authored-by: Andreas Doerr <[email protected]> Co-authored-by: Dmitry Kashitsyn <[email protected]> Co-authored-by: Arkadiy Paronyan <[email protected]> Co-authored-by: cheme <[email protected]> Co-authored-by: Andronik Ordian <[email protected]> Co-authored-by: Xiliang Chen <[email protected]> Co-authored-by: Gavin Wood <[email protected]> Co-authored-by: Jakub Pánik <[email protected]> Co-authored-by: André Silva <[email protected]> Co-authored-by: Michael Müller <[email protected]> Co-authored-by: tgmichel <[email protected]>
* Base features and traits. * pallet and unsigned phase * add signed phase. * remove comments * Undo bad formattings. * some formatting cleanup. * Small self-cleanup. * Add todo * Make it all build * self-review * Some doc tests. * Some changes from other PR * Fix session test * Update bin/node/runtime/src/lib.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Fix name. * 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 * typos and verbiage * no glob imports in signed.rs * meaningful generic type parameters for SignedSubmission * dedup feasibility check weight calculation * simplify/optimize fn insert_submission * tests: remove glob, cause to build without error * use sp_std::vec::Vec * maintain invariant within fn insert_submission * fix accidentally ordering the list backward * intentionally order the list in reverse * get rid of unused import * ensure signed submissions are cleared in early elect * finalize the signed phase when appropriate - ensure we don't leave storage lying around, even if elect called prematurely - test that proposition - disable the unsigned phase if a viable solution from the signed phase exists - ensure signed phase finalization weight is accounted for * resolve dispatch error todo * update assumptions in submit benchmark * 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 * line length * make a few more things pub * restore missing import * update ui test output * update tests from master branch * 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 * remove duplicate definitions * remove signed reward factor due to its attack potential * Update frame/election-provider-multi-phase/src/signed.rs Co-authored-by: Kian Paimani <[email protected]> * remove SignedRewardMax; no longer necessary * compute the encoded size without actually encoding * remove unused PostInfo * pub use some stuff Co-authored-by: Kian Paimani <[email protected]> * ensure `pub use` things are in fact `pub` * add event information: was another solution ejected to make room * unconditionally run the unsigned phase even if signed was successful * remove dead test code * meaningful witness data name * use errors instead of defensive `unwrap_or_default` * get rid of a log message redundant with an event * saturating math Co-authored-by: Shawn Tabrizi <[email protected]> * import Saturating * mv `fn submit` to end of call * add log line * Use a better data structure for SignedSubmissions instead of Vec (#8933) * Remove: (#8748) * `NetworkStatusSinks` * `sc_service::SpawnTasksParams::network_status_sinks` Also: * `sc_service::build_network()` does not return `network_status_sinks` * CI: fix simnet trigger (#8927) * CI: chore * CI: pin simnet version * More sc-service config reexports (#8887) * Reexport ExecutionStrategies and ExecutionStrategy * Reexport more of the network * Reexport the ExecutionStrategy as it's used within ExecutionStrategies * Fix check runtime CI (#8930) * Fix check_runtime.sh script * contracts: Remove confusing "Related Modules" doc * Bump parity-wasm and pwasm-utils to the newest versions everywhere (#8928) * BROKEN: convert SignedSubmissions to BoundedBTreeSet Eventually, once it works, this change should improve overall performance. However, in the meantime, the trait bounds aren't playing nicely, and this is turning into too much of a pain to handle right now as part of /#7910. We can take care of it later. * Simple `MaxBoundedLen` Implementations (#8793) * implement max_values + storages info * some formatting + doc * sudo sanity check * timestamp * assets (not working) * fix assets * impl for proxy * update balances * rename StoragesInfo -> PalletStorageInfo * merge both StorageInfoTrait and PalletStorageInfo I think it is more future proof. In the future some storage could make use of multiple prefix. Like one to store how much value has been inserted, etc... * Update frame/support/procedural/src/storage/parse.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Update frame/support/procedural/src/storage/storage_struct.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Fix max_size using hasher information hasher now expose `max_len` which allows to computes their maximum len. For hasher without concatenation, it is the size of the hash part, for hasher with concatenation, it is the size of the hash part + max encoded len of the key. * fix tests * fix ui tests * Move `MaxBoundedLen` into its own crate (#8814) * move MaxEncodedLen into its own crate * remove MaxEncodedLen impl from frame-support * add to assets and balances * try more fixes * fix compile Co-authored-by: Shawn Tabrizi <[email protected]> * nits * fix compile * line width * fix max-values-macro merge * Add some derive, needed for test and other purpose * use weak bounded vec in some cases * Update lib.rs * move max-encoded-len crate * fix * remove app crypto for now * width * Revert "remove app crypto for now" This reverts commit 73623e9. * unused variable * more unused variables * more fixes * Add #[max_encoded_len_crate(...)] helper attribute The purpose of this attribute is to reduce the surface area of max_encoded_len changes. Crates deriving `MaxEncodedLen` do not need to add it to `Cargo.toml`; they can instead just do ```rust \#[derive(Encode, MaxEncodedLen)] \#[max_encoded_len_crate(frame_support::max_encoded_len)] struct Example; ``` * fix a ui test * use #[max_encoded_len_crate(...)] helper in app_crypto * remove max_encoded_len import where not necessary * update lockfile * fix ui test * ui * newline * fix merge * try fix ui again * Update max-encoded-len/derive/src/lib.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * extract generate_crate_access_2018 * Update lib.rs * compiler isnt smart enough Co-authored-by: thiolliere <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * remove duplicate Issued/Burned events (#8935) * weather -> whether (#8938) * make remote ext use batch ws-client (#8916) * make remote ext use batch ws-client * Add debug log for key length * better assertions * new sanity_checl * try and make it work with batch * update test * remove exctra uri * add missing at * remove unused rpc stuff * improve Co-authored-by: emostov <[email protected]> * Make `Schedule` fields public to allow for customization (#8924) * Make `Schedule` fields public for customization * Fix doc typo Co-authored-by: Andrew Jones <[email protected]> Co-authored-by: Andrew Jones <[email protected]> * Session key should be settable at genesis even for non-endowed accounts (#8942) * Session key should be settable at genesis even for non-endowed accounts * Docs * Migrate pallet-scored-pool to pallet attribute macro (#8825) * Migrate pallet-scored-pool to pallet attribute macro. * Remove dummy event. * Apply review suggestions. * Bump retain_mut from 0.1.2 to 0.1.3 (#8951) Bumps [retain_mut](https://github.com/upsuper/retain_mut) from 0.1.2 to 0.1.3. - [Release notes](https://github.com/upsuper/retain_mut/releases) - [Commits](upsuper/retain_mut@v0.1.2...v0.1.3) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Use correct CreateInherentDataProviders impl for manual seal (#8852) * use correct CreateInherentDataProviders impl for manual seal * add babe inherent provider * move client into factory fn * Refactor code a little bit (#8932) * Optimize `next_storage_key` (#8956) * Optimize `next_storage_key` - Do not rely on recursion - Use an iterator over the overlay to not always call the same method * Fix bug * Add deserialize for TransactionValidityError in std. (#8961) * Add deserialize for TransactionValidityError in std. * Fix derives * Bump getrandom from 0.2.2 to 0.2.3 (#8952) Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.2 to 0.2.3. - [Release notes](https://github.com/rust-random/getrandom/releases) - [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md) - [Commits](rust-random/getrandom@v0.2.2...v0.2.3) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Allow usage of path in construct_runtime! (#8801) * Allow usage of path in construct_runtime! * Fix whitespace * Fix whitespace * Make expand_runtime_metadata accept slice instead of Iterator * Include Call and Event in construct_runtime for testing * Migrate impl_outer_event to proc macro * Fix integrity_test_works * Update UI test expectations * Factor in module path while generating enum variant or fn names * Use ParseStream::lookahead for more helpful error messages * Remove generating outer_event_metadata * Ensure pallets with different paths but same last path segment can coexist * Remove unnecessary generated function * Migrate decl_outer_config to proc macro * Add default_filter test for expand_outer_origin * Allow crate, self and super keywords to appear in pallet path * Add UI test for specifying empty pallet paths in construct_runtime * Reduce cargo doc warnings (#8947) Co-authored-by: Bastian Köcher <[email protected]> * Update wasmtime to 0.27 (#8913) * Update wasmtime to 0.27 A couple of notes: - Now we are fair about unsafeness of runtime creation via an compiled artifact. This change was prompted by the change in wasmtime which made `deserialize` rightfully unsafe. Now `CodeSupplyMode` was hidden and the `create_runtime` now takes the blob again and there is now a new fn for creating a runtime with a compiled artifact. - This is a big change for wasmtime. They switched to the modern backend for code generation. While this can bring performance improvements, it can also introduce some problems. In fact, 0.27 fixed a serious issue that could lead to sandbox escape. Hence we need a proper burn in. This would require a change to PVF validation host as well. * Filter regalloc logging * Spellling corrections (no code changes) (#8971) * Spelling corrections * As this might break let's do as a separate PR * Dependabot use correct label (#8973) * Inject hashed prefix for remote-ext (#8960) * Inject for remote-ext * Update utils/frame/remote-externalities/src/lib.rs Co-authored-by: Zeke Mostov <[email protected]> * Update utils/frame/remote-externalities/src/lib.rs Co-authored-by: Zeke Mostov <[email protected]> * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Zeke Mostov <[email protected]> * Use `SpawnTaskHandle`s for spawning tasks in the tx pool (#8958) * Remove futures-diagnose * Use `SpawnTaskHandle`s for spawning tasks in the tx pool * Box the spawner * Fix tests * Use the testing task executor * Do not spend time on verifying the signatures before calling Runtime (#8980) * Revert "Use `SpawnTaskHandle`s for spawning tasks in the tx pool (#8958)" (#8983) This reverts commit bfef07c. * Uniques: An economically-secure basic-featured NFT pallet (#8813) * Uniques: An economically-secure basic-featured NFT pallet * force_transfer * freeze/thaw * team management * approvals * Fixes * force_asset_status * class_metadata * instance metadata * Fixes * use nmap * Fixes * class metadata has information field * Intiial mock/tests and a fix * Remove impl_non_fungibles * Docs * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Reserve, don't transfer. * Fixes * Tests * Tests * refresh_deposit * Tests and proper handling of metdata destruction * test burn * Tests * Update impl_fungibles.rs * Initial benchmarking * benchmark * Fixes * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs * Attributes * Attribute metadata * Fixes * Update frame/uniques/README.md * Docs * Docs * Docs * Simple metadata * Use BoundedVec * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Fixes * Update frame/uniques/README.md Co-authored-by: Alexander Popiak <[email protected]> * Update frame/uniques/README.md Co-authored-by: Alexander Popiak <[email protected]> * Update frame/uniques/README.md Co-authored-by: Alexander Popiak <[email protected]> * Docs * Bump Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Parity Bot <[email protected]> Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> * Update WeakBoundedVec's remove and swap_remove (#8985) Co-authored-by: Boiethios <[email protected]> * Convert another instance of Into impl to From in the macros (#8986) * Convert another instance of Into impl to From in the macros * Convert another location * also fix bounded vec (#8987) * fix most compiler errors Mostly the work so far has been in tracking down where precisely to insert appropriate trait bounds, and updating `fn insert_submission`. However, there's still a compiler error remaining: ``` error[E0275]: overflow evaluating the requirement `Compact<_>: Decode` | = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`pallet_election_provider_multi_phase`) = note: required because of the requirements on the impl of `Decode` for `Compact<_>` = note: 126 redundant requirements hidden = note: required because of the requirements on the impl of `Decode` for `Compact<_>` ``` Next up: figure out how we ended up with that recursive bound, and fix it. * extract type SignedSubmissionsOf<T> Weirdly, we still encounter the recursive trait definition error here, despite removing the trait bounds. Something weird is happening. * impl Decode bounds on BoundedBTreeMap/Set on T, not predecessor Otherwise, Rust gets confused and decides that the trait bound is infinitely recursive. For that matter, it _still_ gets confused somehow and decides that the trait bound is infinitely recursive, but at least this should somewhat simplify the matter. * fix recursive trait bound problem * minor fixes * more little fixes * correct semantics for try_insert * more fixes * derive Ord for SolutionType * tests compile * fix most tests, rm unnecessary one * Transactionpool: Make `ready_at` return earlier (#8995) `ready_at` returns when we have processed the requested block. However, on startup we already have processed the best block and there are no transactions in the pool on startup anyway. So, we can set `updated_at` to the best block on startup. Besides that `ready_at` now returns early when there are no ready nor any future transactions in the pool. * Discard notifications if we have failed to parse handshake (#8806) * Migrate pallet-democracy to pallet attribute macro (#8824) * Migrate pallet-democracy to pallet attribute macro. * Metadata fix. * Trigger CI. * Add ecdsa::Pair::verify_prehashed() (#8996) * Add ecdsa::Pair::verify_prehashed() * turn verify_prehashed() into an associated function * add Signature::recover_prehashed() * Non-fungible token traits (#8993) * Non-fungible token traits * Docs * Fixes * Implement non-fungible trait for Uniques * Update frame/uniques/src/impl_nonfungibles.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/impl_nonfungibles.rs Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> * Removes unused import (#9007) * Add Call Filter That Prevents Nested `batch_all` (#9009) * add filter preventing nested `batch_all` * more tests * fix test * 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: Parity Bot <[email protected]> * 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: #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 * ... * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> * 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 <[email protected]> Co-authored-by: Kian Paimani <[email protected]> Co-authored-by: cheme <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> * more useful error message (#9014) * Named reserve (#7778) * add NamedReservableCurrency * move currency related trait and types into a new file * implement NamedReservableCurrency * remove empty reserves * Update frame/support/src/traits.rs Co-authored-by: Shawn Tabrizi <[email protected]> * fix build * bump year * add MaxReserves * repatriate_reserved_named should put reserved fund into named reserved * add tests * add some docs * fix warning * Update lib.rs * fix test * fix test * fix * fix * triggier CI * Move NamedReservableCurrency. * Use strongly bounded vec for reserves. * Fix test. * remove duplicated file * trigger CI * Make `ReserveIdentifier` assosicated type * add helpers * make ReserveIdentifier assosicated type * fix * update * trigger CI * Apply suggestions from code review Co-authored-by: Shawn Tabrizi <[email protected]> * trigger CI * Apply suggestions from code review Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Gavin Wood <[email protected]> Co-authored-by: Shaun Wang <[email protected]> * update ss58 type to u16 (#8955) * Fixed build (#9021) * Bump parity-db (#9024) * 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 * arithmetic: fix PerThing pow (#9030) * arithmetic: add failing test for pow * arithmetic: fix PerThing::pow * Revert back to previous optimisations Co-authored-by: Gav Wood <[email protected]> * 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. * Don't inlucde nominaotrs that back no one in the snapshot. (#9017) * fix all_in_one test which had a logic error * use sp_std, not std * Periodically call `Peerset::alloc_slots` on all sets (#9025) * Periodically call alloc_slots on all slots * Add test * contracts: Add new `seal_call` that offers new features (#8909) * Add new `seal_call` that offers new features * Fix doc typo Co-authored-by: Michael Müller <[email protected]> * Fix doc typos Co-authored-by: Michael Müller <[email protected]> * Fix comment on assert * Update CHANGELOG.md Co-authored-by: Michael Müller <[email protected]> * fix unreserve_all_named (#9042) * Delete legacy runtime metadata macros (#9043) * `rpc-http-threads` cli arg (#8890) * Add optional `rpc-http-threads` cli arg * Update `http::ServerBuilder`threads * allow inserting equal items into bounded map/set * refactor: only load one solution at a time This increases the database read load, because we read one solution at a time. On the other hand, it substantially decreases the overall memory load, because we _only_ read one solution at a time instead of reading all of them. * Emit `Bonded` event when rebonding (#9040) * Emit `Bonded` event when rebonding * fix borrow checker * 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 Co-authored-by: Parity Bot <[email protected]> * fix tests * Revert "Merge remote-tracking branch 'origin/master' into prgn-election-provider-multi-phase-bounded-btree-set-signed-submissions" This reverts commit de92b1e, reversing changes made to dae31f2. * only derive debug when std * write after check * SignedSubmissions doesn't ever modify storage until .put() This makes a true check-before-write pattern possible. * REVERT ME: demo that Drop impl doesn't work * Revert "REVERT ME: demo that Drop impl doesn't work" This reverts commit 3317a4b. * doc note about decode_len * rename get_submission, take_submission for clarity * add test which fails for current incorrect behavior * inline fn insert_submission This fixes a tricky check-before-write error, ensuring that we really only ever modify anything if we have in fact succeeded. Co-authored-by: Roman Proskuryakov <[email protected]> Co-authored-by: Denis Pisarev <[email protected]> Co-authored-by: MOZGIII <[email protected]> Co-authored-by: Alexander Theißen <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: thiolliere <[email protected]> Co-authored-by: joe petrowski <[email protected]> Co-authored-by: Sebastian Müller <[email protected]> Co-authored-by: Kian Paimani <[email protected]> Co-authored-by: emostov <[email protected]> Co-authored-by: Andrew Jones <[email protected]> Co-authored-by: Gavin Wood <[email protected]> Co-authored-by: Shaun Wang <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Seun Lanlege <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Keith Yeung <[email protected]> Co-authored-by: Squirrel <[email protected]> Co-authored-by: Sergei Shulepov <[email protected]> Co-authored-by: Ashley <[email protected]> Co-authored-by: Parity Bot <[email protected]> Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Boiethios <[email protected]> Co-authored-by: Boiethios <[email protected]> Co-authored-by: Pierre Krieger <[email protected]> Co-authored-by: Andreas Doerr <[email protected]> Co-authored-by: Dmitry Kashitsyn <[email protected]> Co-authored-by: Arkadiy Paronyan <[email protected]> Co-authored-by: cheme <[email protected]> Co-authored-by: Andronik Ordian <[email protected]> Co-authored-by: Xiliang Chen <[email protected]> Co-authored-by: Gavin Wood <[email protected]> Co-authored-by: Jakub Pánik <[email protected]> Co-authored-by: André Silva <[email protected]> Co-authored-by: Michael Müller <[email protected]> Co-authored-by: tgmichel <[email protected]> * 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 * remove duplicate weight definitions injected by benchmark bot * check deletion overlay before getting * clarify non-conflict between delete, insert overlays * drain can be used wrong so is private * update take_submission docs * more drain improvements * more take_submission docs * debug assertion helps prove expectation is valid * doc on changing SignedMaxSubmissions * take_submission inner doc on system properties * Apply suggestions from code review Co-authored-by: Zeke Mostov <[email protected]> Co-authored-by: Kian Paimani <[email protected]> * get SolutionOrSnapshotSize out of the loop Co-authored-by: Zeke Mostov <[email protected]> * doc which items comprise `SignedSubmissions` * add doc about index as unique identifier * Add debug assertions to prove drain worked properly Co-authored-by: Kian Paimani <[email protected]> * replace take_submission with swap_out_submission * use a match to demonstrate all cases from signed_submissions.insert * refactor signed_submissions.insert return type * prettify test assertion Co-authored-by: Kian Paimani <[email protected]> * improve docs Co-authored-by: Guillaume Thiolliere <[email protected]> * add tests that finalize_signed_phase is idempotent * add some debug assertions to guard against misuse of storage * log internal logic errors instead of panicing * don't store the reward with each signed submission The signed reward base can be treated as a constant. It can in principle change, but even if it's updated in the middle of an election, it's appropriate to use the current value for the winner. * emit Rewarded, Slashed events as appropriate Makes it easier to see who won/lost with signed submissions. * update docs * use a custom enum to be explicit about the outcome of insertion * remove outdated docs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Parity Benchmarking Bot <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Roman Proskuryakov <[email protected]> Co-authored-by: Denis Pisarev <[email protected]> Co-authored-by: MOZGIII <[email protected]> Co-authored-by: Alexander Theißen <[email protected]> Co-authored-by: thiolliere <[email protected]> Co-authored-by: joe petrowski <[email protected]> Co-authored-by: Sebastian Müller <[email protected]> Co-authored-by: emostov <[email protected]> Co-authored-by: Andrew Jones <[email protected]> Co-authored-by: Gavin Wood <[email protected]> Co-authored-by: Shaun Wang <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Seun Lanlege <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Keith Yeung <[email protected]> Co-authored-by: Squirrel <[email protected]> Co-authored-by: Sergei Shulepov <[email protected]> Co-authored-by: Ashley <[email protected]> Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Boiethios <[email protected]> Co-authored-by: Boiethios <[email protected]> Co-authored-by: Pierre Krieger <[email protected]> Co-authored-by: Andreas Doerr <[email protected]> Co-authored-by: Dmitry Kashitsyn <[email protected]> Co-authored-by: Arkadiy Paronyan <[email protected]> Co-authored-by: cheme <[email protected]> Co-authored-by: Andronik Ordian <[email protected]> Co-authored-by: Xiliang Chen <[email protected]> Co-authored-by: Gavin Wood <[email protected]> Co-authored-by: Jakub Pánik <[email protected]> Co-authored-by: André Silva <[email protected]> Co-authored-by: Michael Müller <[email protected]> Co-authored-by: tgmichel <[email protected]>
commit 9c572625f6557dfdb19f47474369a0327d51dfbc Author: Shawn Tabrizi <[email protected]> Date: Fri Jun 18 09:24:50 2021 +0100 fix build commit 87e38e45d5c0dba66f0a4e95f4606b5179b4333f Author: Kian Paimani <[email protected]> Date: Thu Jun 17 16:37:43 2021 +0200 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 <[email protected]> * Apply suggestions from code review Co-authored-by: David <[email protected]> * 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 <[email protected]> Co-authored-by: Zeke Mostov <[email protected]> Co-authored-by: David <[email protected]> commit 811cbb821c08f34167ecca7cc54921fb18a771b4 Author: Shawn Tabrizi <[email protected]> Date: Wed Jun 16 15:19:10 2021 +0100 Make backwards compatible with CountedMap (#9126) commit 8fb89f411469adba41f846fc268f68726d45788c Author: Shawn Tabrizi <[email protected]> Date: Wed Jun 16 05:57:14 2021 +0100 Merge 8920 commit 159a5aade9a6104fa70779a38a326b2cddc69da3 Author: Kian Paimani <[email protected]> Date: Thu Jun 17 18:01:27 2021 +0200 double the allocator limit (#9102) * double the allocator limit * 32 MiB should be enough for everybody. * Update doc Co-authored-by: Sergei Shulepov <[email protected]> commit 3bb42b9aaba65e956aea7aaef2c2fb3468fa3aaf Author: Bastian Köcher <[email protected]> Date: Thu Jun 17 09:27:53 2021 +0200 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. commit c666a251691300c1651075a3b59ba1cf59c5a664 Author: Guillaume Thiolliere <[email protected]> Date: Mon Jun 14 16:02:45 2021 +0200 staking/election: prolonged era and emergency mode for governance submission. (#8912) * Implementation but weird initial era in tests * Emergency mode for elections. (#8918) * do some testing, some logging. * some testing apparatus * genesis election provider (#8970) * genesis election provider * fix historical stuff * Fix test * remove dbg * Apply suggestions from code review Co-authored-by: Zeke Mostov <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * capitalize comment and name without conflict * fix log * Update frame/election-provider-multi-phase/src/lib.rs * Update frame/election-provider-multi-phase/src/lib.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * apply suggestion on tests * remove testing modifications * Apply suggestions from code review Co-authored-by: Kian Paimani <[email protected]> Co-authored-by: Dmitry Kashitsyn <[email protected]> * apply suggestion * fix master merge Co-authored-by: kianenigma <[email protected]> Co-authored-by: Kian Paimani <[email protected]> Co-authored-by: Zeke Mostov <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Dmitry Kashitsyn <[email protected]> commit ea960d6c5350f381f4748b628079691794055610 Author: h4x3rotab <[email protected]> Date: Mon Jun 14 19:22:39 2021 +0800 Improve construct_runtime doc (#9096) - Mention when the pallet definition parts are needed - Rename "module" to "pallet" commit a4b0fd8fa5939879e5a3f9a1a009323ccb4d4a30 Author: Qinxuan Chen <[email protected]> Date: Mon Jun 14 19:00:32 2021 +0800 Migrate pallet-randomness-collective-flip to pallet attribute macro (#9061) * migrate pallet-randomness-collective-flip to pallet attribute macro Signed-off-by: koushiro <[email protected]> * fix some nits Signed-off-by: koushiro <[email protected]> * remove some spacing things Signed-off-by: koushiro <[email protected]> * remove space Signed-off-by: koushiro <[email protected]> * use tabs Signed-off-by: koushiro <[email protected]> commit a7b641fc25d8d157b2dddccb7f459c4f166596e2 Author: Keith Yeung <[email protected]> Date: Mon Jun 14 03:07:09 2021 -0700 Allow renaming storage item prefixes (#9016) * Implement parsing for #[pallet::storage_name] on storage items * Rename storage prefix when a #[pallet::storage_name] is supplied * Fix test_storage_info * Rename storage_name to storage_prefix * Check for duplicates when renaming storage prefixes * Allow only string literals for storage_prefix renames * Use proper spans for attribute errors * Check for valid identifiers when parsing storage prefix renames commit f4cccc08110bd1c516f2dcc6fe86682cb6118184 Author: Peter Goodspeed-Niklaus <[email protected]> Date: Mon Jun 14 09:16:14 2021 +0200 fix ordering of staking weight arguments (#9063) Closes #9054. commit 6b3c76a23ed18c5d4f2149edebd85063a85a8218 Author: Bastian Köcher <[email protected]> Date: Sun Jun 13 12:41:13 2021 +0100 pallet-authorship: Fixing some nitpicks (#9095) As reviewing the pallet yesterday, I have found some nitpicks that I fixed. commit 125c4b365f21e60e3d284e3c73cbf0585bfc7342 Author: chenwei <[email protected]> Date: Sun Jun 13 18:27:54 2021 +0800 Make find_proxy public. (#9094) export `pallet_proxy::find_prox` and `ProxyDefinition`. commit 11d5eff647a54a70e87f805b3dabca458faca283 Author: Lldenaurois <[email protected]> Date: Sun Jun 13 06:24:05 2021 -0400 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 commit c8d5796ae2b0ee5c71e2ee585fc05b3fa94ac84f Author: Xiliang Chen <[email protected]> Date: Sun Jun 13 18:26:42 2021 +1200 remove Default from AssetId trait bound (#9062) * update AssetId trait * try again commit 3a41701a675b81a264cccf6b2771bfff74f6674a Author: Andrew Jones <[email protected]> Date: Sun Jun 13 01:36:36 2021 +0100 Allow additional trait bounds for `#[pallet::constant]` (#9050) * Allow additional trait bounds for constants * Add ui test for constants with additional trait bounds * Update trait constant ui test * Import syn::Error * Use reference instead of cloning * Add extra invalid bound ui test * Out or order valid bounds * Fix ui test * Fix ui test * Apply review suggestion about error message commit ab84c8cfe8511ef9f8e5ffb8a497383f4b008daa Author: Alan Sapede <[email protected]> Date: Sat Jun 12 20:31:53 2021 -0400 Adds moonbeam, moonriver to ss58 registry (#9028) * Adds moonream, moonriver to ss58 registry * Fixes names commit 9e42949aeb8779a36a4c1f8cff037570815f9aff Author: Guillaume Thiolliere <[email protected]> Date: Sat Jun 12 18:15:21 2021 +0200 Enforce pub calls in pallets (#9085) * make all extrinsics public so they are available from outside * Impl * fix * more fix * more pub * few more * merge fix * fix ui test * fix ui test Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> commit 1f16a6a41b973bbdd800ce07ac68c6055400a321 Author: André Silva <[email protected]> Date: Sat Jun 12 16:58:36 2021 +0100 im-online: send heartbeats at a random period (#8819) * im-online: send heartbeats at a random period * support: use permill to represent session progress * im-online: increase probability of heartbeating with session progress * babe, session: fix tests * babe: fix test commit 350ba1293319713f0587d7260863108c7e6e200e Author: Shawn Tabrizi <[email protected]> Date: Sat Jun 12 15:59:56 2021 +0100 Fixes in Assets Pallet (#9059) * upper bound witness with refund * simple test * track approvals * dont allow approvals when asset is frozen * destroy returns approval deposit * update `NonTransfer` proxies * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_assets --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/assets/src/weights.rs --template=./.maintain/frame-weight-template.hbs Co-authored-by: Parity Bot <[email protected]> commit 2c210396dbf67968a5f631912fa4addefdc8d11a Author: Alexander Popiak <[email protected]> Date: Sat Jun 12 12:43:08 2021 +0200 make all extrinsics public so they are available from outside (#9078) Co-authored-by: thiolliere <[email protected]> commit 6d82c02611c51a5c54d60e02c3c104b10aa3ae71 Author: Andronik Ordian <[email protected]> Date: Sat Jun 12 02:47:22 2021 +0200 disable unused schnorrkel feature (#9084) commit 3325b100195539427e6b828f7ea4a36341df2c8e Author: Bastian Köcher <[email protected]> Date: Sat Jun 12 01:38:17 2021 +0100 pallet-offences: Switch to partition_point (#9049) This changes the code to use `partition_point` instead of `binary_search_by_key`, because this was very likely the problematic pallet 2 weeks ago on polkadot. commit 561dbcff78fcbeb3848cbeb35c8f0397335d7df4 Author: Shaun Wang <[email protected]> Date: Sat Jun 12 12:22:40 2021 +1200 Migrate pallet-staking to pallet attribute macro (#9083) * Migrate staking pallet to pallet attribute macro. * HistoryDepth default value. * Make all calls public. * Update frame/staking/src/lib.rs * remove externalities again * Update lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> commit b9f7b588c8ba35ede3bfcce955ddc4712377245e Author: Bastian Köcher <[email protected]> Date: Fri Jun 11 18:24:30 2021 +0100 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 commit 41ab01a8cb2a43f7d743778c066ad91453e0c883 Author: Shawn Tabrizi <[email protected]> Date: Fri Jun 11 16:45:13 2021 +0100 Implement `transfer_all` in Balances Pallet (#9018) * transfer_all * benchmark * 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 * update * add note * typo Co-authored-by: Parity Bot <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> commit 155ac5bcadc3143c60ffded6a3af47bce3fb12e8 Author: Bastian Köcher <[email protected]> Date: Fri Jun 11 16:12:57 2021 +0100 Try fix ui tests (#9082) * Try fix ui tests * More commit 218bd4ffb20565e29a8fcca2f8f3ed005fc7d6cc Author: Pierre Krieger <[email protected]> Date: Fri Jun 11 14:36:37 2021 +0200 Don't connect to reserved nodes if they're banned (#9020) commit 8f99b4bb177b8cf57b624a10481b6a1e2ea72809 Author: André Silva <[email protected]> Date: Fri Jun 11 12:18:41 2021 +0100 grandpa: ignore justifications from other consensus engines (#9075) commit 2c84b31c86a62353ad3dbf04fae971b18470c9f5 Author: Folyd <[email protected]> Date: Fri Jun 11 01:31:49 2021 +0800 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 commit eb9033b826b9e8115c20707fe66af0ceb177e99c Author: Zeke Mostov <[email protected]> Date: Wed Jun 9 15:05:28 2021 -0700 [try-runtime-cli] Offchain worker support (#8966) * make remote-ext work with ws and safe RPCs * Update docs. * Update utils/frame/remote-externalities/Cargo.toml Co-authored-by: Niklas Adolfsson <[email protected]> * Fix test * Update lock file * Update utils/frame/remote-externalities/src/lib.rs Co-authored-by: Bastian Köcher <[email protected]> * Fix build again. * checkpoint, merging the paged rpc now * revert lifetime stuff * WIP: remote client init not working * Small cleanups * use jsonrpsee alpha.7 * WIP * Executiing without errors * Reorg & cleanup * Trivial cleaning * Add txpool & keystore extension * Small cleaning * More :cleaning * Flags: page-size, override-code * WIP * Apply suggestions from code review Co-authored-by: Kian Paimani <[email protected]> * Remove heap_pages * Dry code extraction from state * Formatting * More formatting * Add issue todo * Use jsonrpsee 0.2.0 * Try trigger gitlab * Fix "block_import_works" test * fix native_big_block_import_fails_on_fallback test * fix commit should work * Rewrite UI tests * Revert "Rewrite UI tests" This reverts commit ada7f670f701c21fb399946a3f6918453f537bcb. * try again with UI * Use const for legacy heap pages val * Move parse module to its own file * Move rpc_api module to its own file * Apply suggestions from code review Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * trait names: Block, not B * Corect HEAP_PAGES_TEST_LEGACY export * Update utils/frame/remote-externalities/src/rpc_api.rs Co-authored-by: Kian Paimani <[email protected]> * Revert test_ext heap_page insert; adjust storage root instead * Doc comments for try_runtime::cli::Command * TryRuntime stub * trailing comma * Remove unused dev dep in frame-executive * Improve parse::hash variable name & error index * Use Result for rpc_api fns * Richer err messagges * Remove HEAP_PAGE_TEST_LEGACY * Update bin/node/executor/tests/basic.rs Co-authored-by: kianenigma <[email protected]> Co-authored-by: Kian Paimani <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> commit 3e5b4a2444c22561f5d4a995dec28d7ddc01865f Author: Joshy Orndorff <[email protected]> Date: Wed Jun 9 10:36:41 2021 -0400 remove explicit unit return type (#9053) commit 4d64381801d6df6567d261f319b2c5981a692f72 Author: radupopa2010 <[email protected]> Date: Wed Jun 9 15:51:27 2021 +0200 READY Update simnet tests to v5 (#8946) * Update simnet tests to v4 * enable simnet tests for PRs * add stage to job "test-linux-stable-int" * v2.0.0simnet * alow build-for-simnet option * Fix passing of IMAGE_TAG to downstream * forgot to build-for-simnet * build-for-simnet * build-for-simnet * build-for-simnet * build-for-simnet * build-for-simnet * take a shortcut build-for-simnet * build-for-simnet * update triggering script to polkadot version * "revert me" * "revert me" build-for-simnet * add simnet version as arg to script * revert me build-for-simnet * build-for-simnet * remove triggering simnet for PRs for now * Add suggestions from Vladimir * Add suggestions from Vladimir commit a2f48bf96eecbb5cd1f45bd5319ba814595eaaef Author: Squirrel <[email protected]> Date: Wed Jun 9 10:56:31 2021 +0100 Stop sending network_state to telemetry (#9026) (We send network information to prometheus) commit d6ac9f551b71d9c7b69afcebfc68ace310ef74ee Author: Keith Yeung <[email protected]> Date: Wed Jun 9 02:31:29 2021 -0700 Use pallet names to name enum variants (#8990) * Remove unused event_metadata variable * Eliminate mod_name and use pallet names to name enum variants * Rename field name `pallet` to `path` * Use only the pallet name to generate variant names * Use new naming scheme for Event enum in sudo pallet tests * Use new naming scheme for Event enum in offences pallet tests * Use new naming scheme for Event enum in contracts pallet tests * Use new naming scheme for Event enum in collective pallet tests * Use new naming scheme for Event enum in bounties pallet tests * Use new naming scheme for Event enum in balances pallet tests * Use new naming scheme for Event enum in assets pallet tests * Use new naming scheme for Event enum in frame support tests * Use new naming scheme for Event enum in tips pallet tests * Use new naming scheme for Event enum in transaction payment pallet tests * Use new naming scheme for GenesisConfig fields in example pallet tests * Use new naming scheme for GenesisConfig fields in elections pallet tests * Use new naming scheme for Event enum in election provider multi-phase pallet tests * Use new naming scheme for Event enum in elections phragmen pallet tests * Use new naming scheme for GenesisConfig fields in chain spec * Use new naming scheme for Event enum in staking pallet mock * Use new naming scheme for GenesisConfig fields in node-template chain spec * Use new naming scheme for GenesisConfig fields in node-testing chain spec * Use new naming scheme for Event enum in node executor tests * Use new naming scheme for GenesisConfig fields in transaction storage pallet mock * Refactor match conditions commit 6749c701900747accaa35eaf2101586f09baef9e Author: Guillaume Thiolliere <[email protected]> Date: Tue Jun 8 22:54:06 2021 +0200 put the validate_unsigned implementation inside the pallet definition (#9044) Co-authored-by: Shawn Tabrizi <[email protected]> commit f775d0de6bddeba53ab35bc662fb076291e5260e Author: David <[email protected]> Date: Tue Jun 8 20:10:16 2021 +0200 Misc telemetry polish (#8484) * Remove TelemetryWorker::with_transport Make logging more useful * Re-instate TelemetryWorker::with_transport * Fix typo, don't spam commit b493dd3fa5d7f07c369562004870046a53a3f3c8 Author: Zeke Mostov <[email protected]> Date: Tue Jun 8 10:26:08 2021 -0700 Small doc updates to `election-provider-multi-phase` (#9041) * Small doc updates to election-provider-multi-phase * small change * Improve challenge phase docs * An honest commit 5f5fbea7a787d8b5db6133530e1dbb0606c08cf1 Author: Niklas Adolfsson <[email protected]> Date: Tue Jun 8 18:17:25 2021 +0200 deps(jsonrpsee): update to 0.2.0 to avoid alpha (#9036) The motivation is a couple of bug fixes and not to pin to certain alpha versions. commit 07a1af348f76e08be36341f8a1b6039765b665bc Author: Shawn Tabrizi <[email protected]> Date: Tue Jun 8 10:02:57 2021 -0400 Emit `Bonded` event when rebonding (#9040) * Emit `Bonded` event when rebonding * fix borrow checker * 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 Co-authored-by: Parity Bot <[email protected]> commit 0a2472d8364bc103a0a13c8e2dcb7f6ed3e44342 Author: tgmichel <[email protected]> Date: Tue Jun 8 13:18:57 2021 +0200 `rpc-http-threads` cli arg (#8890) * Add optional `rpc-http-threads` cli arg * Update `http::ServerBuilder`threads commit 0af6df59aab21d5a23907faf236be1ff235b7581 Author: Andrew Jones <[email protected]> Date: Tue Jun 8 12:16:56 2021 +0100 Delete legacy runtime metadata macros (#9043) commit d0891796ed48acfad7445b884c8d035dc4a2487a Author: Xiliang Chen <[email protected]> Date: Tue Jun 8 20:59:19 2021 +1200 fix unreserve_all_named (#9042) commit fa26ce6b4b59710cb402d76b9c4577c93d2f65d0 Author: Alexander Theißen <[email protected]> Date: Mon Jun 7 19:40:23 2021 +0200 contracts: Add new `seal_call` that offers new features (#8909) * Add new `seal_call` that offers new features * Fix doc typo Co-authored-by: Michael Müller <[email protected]> * Fix doc typos Co-authored-by: Michael Müller <[email protected]> * Fix comment on assert * Update CHANGELOG.md Co-authored-by: Michael Müller <[email protected]> commit 5d89967d7cc12d620bda9c9c042dbf7fcc4beb89 Author: Pierre Krieger <[email protected]> Date: Mon Jun 7 15:00:03 2021 +0200 Periodically call `Peerset::alloc_slots` on all sets (#9025) * Periodically call alloc_slots on all slots * Add test commit 1fa8cf7cf9dbfe1b093b3e7e116dc3435c7f3f7b Author: Kian Paimani <[email protected]> Date: Mon Jun 7 11:26:31 2021 +0200 Don't inlucde nominaotrs that back no one in the snapshot. (#9017) commit 1085a9021134f39d527c1bc828e7904959b3cc1a Author: cheme <[email protected]> Date: Mon Jun 7 11:06:38 2021 +0200 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. commit 24a92c32680258275926021ae4da7db126ddf1d8 Author: André Silva <[email protected]> Date: Sun Jun 6 09:07:29 2021 +0100 arithmetic: fix PerThing pow (#9030) * arithmetic: add failing test for pow * arithmetic: fix PerThing::pow * Revert back to previous optimisations Co-authored-by: Gav Wood <[email protected]> commit 37bb3ae7eb559afaf9c7dbf7fd99e08b282c8127 Author: André Silva <[email protected]> Date: Fri Jun 4 22:31:06 2021 +0100 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 commit 2cff60c3be7b84d940b219399b1d2c8aa2e4b31d Author: Andreas Doerr <[email protected]> Date: Fri Jun 4 16:46:16 2021 +0200 Bump parity-db (#9024) commit d27dea95712696fcc5dd1fcc93f22926e0b9e57f Author: Arkadiy Paronyan <[email protected]> Date: Fri Jun 4 13:27:05 2021 +0200 Fixed build (#9021) commit e98aca335f066d84d7a5cbabf280392f39e1cc99 Author: Jakub Pánik <[email protected]> Date: Fri Jun 4 11:01:05 2021 +0200 update ss58 type to u16 (#8955) commit 0495ead464cc632237d0f9d1687b1ebbb579c7a7 Author: Xiliang Chen <[email protected]> Date: Fri Jun 4 19:32:46 2021 +1200 Named reserve (#7778) * add NamedReservableCurrency * move currency related trait and types into a new file * implement NamedReservableCurrency * remove empty reserves * Update frame/support/src/traits.rs Co-authored-by: Shawn Tabrizi <[email protected]> * fix build * bump year * add MaxReserves * repatriate_reserved_named should put reserved fund into named reserved * add tests * add some docs * fix warning * Update lib.rs * fix test * fix test * fix * fix * triggier CI * Move NamedReservableCurrency. * Use strongly bounded vec for reserves. * Fix test. * remove duplicated file * trigger CI * Make `ReserveIdentifier` assosicated type * add helpers * make ReserveIdentifier assosicated type * fix * update * trigger CI * Apply suggestions from code review Co-authored-by: Shawn Tabrizi <[email protected]> * trigger CI * Apply suggestions from code review Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Gavin Wood <[email protected]> Co-authored-by: Shaun Wang <[email protected]> commit 7d8a9b6d9862f208e34a7f715448b21250b653e2 Author: Andronik Ordian <[email protected]> Date: Fri Jun 4 09:05:21 2021 +0200 more useful error message (#9014) commit a57bc4445a4e0bfd5c79c111add9d0db1a265507 Author: Arkadiy Paronyan <[email protected]> Date: Fri Jun 4 08:50:59 2021 +0200 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> * 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 <[email protected]> Co-authored-by: Kian Paimani <[email protected]> Co-authored-by: cheme <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> commit ea5d3570673d125dfe0b7da33b345c3c13195380 Author: Bastian Köcher <[email protected]> Date: Thu Jun 3 16:04:29 2021 +0200 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 * ... commit d6e4db6c30667bf3524abced8428401ab141b07a Author: Shawn Tabrizi <[email protected]> Date: Thu Jun 3 09:05:02 2021 -0400 Add Call Filter That Prevents Nested `batch_all` (#9009) * add filter preventing nested `batch_all` * more tests * fix test * 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: Parity Bot <[email protected]> commit 2562dda0e0476e7522e89a7f4524a0dfced7e105 Author: Dmitry Kashitsyn <[email protected]> Date: Thu Jun 3 18:25:02 2021 +0700 Removes unused import (#9007) commit b14fdf5c8b205a5dd00e4c54a32d62f18555c0d8 Author: Gavin Wood <[email protected]> Date: Thu Jun 3 13:20:34 2021 +0200 Non-fungible token traits (#8993) * Non-fungible token traits * Docs * Fixes * Implement non-fungible trait for Uniques * Update frame/uniques/src/impl_nonfungibles.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/impl_nonfungibles.rs Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> commit 48aea1b2f4774c975e2e3f8bf044c9b3f4a1b0ce Author: Andreas Doerr <[email protected]> Date: Thu Jun 3 11:46:43 2021 +0200 Add ecdsa::Pair::verify_prehashed() (#8996) * Add ecdsa::Pair::verify_prehashed() * turn verify_prehashed() into an associated function * add Signature::recover_prehashed() commit 94679ebd37f4989f8f7803d4f9aa403b7ba9aead Author: Shaun Wang <[email protected]> Date: Thu Jun 3 20:30:21 2021 +1200 Migrate pallet-democracy to pallet attribute macro (#8824) * Migrate pallet-democracy to pallet attribute macro. * Metadata fix. * Trigger CI. commit 437c83817805c39f0f5f5101dfa26f13cc4a4758 Author: Pierre Krieger <[email protected]> Date: Wed Jun 2 20:41:21 2021 +0200 Discard notifications if we have failed to parse handshake (#8806) commit 538b15fa8dd61f77254abebd5a3336835f4aebe0 Author: Bastian Köcher <[email protected]> Date: Wed Jun 2 20:13:47 2021 +0200 Transactionpool: Make `ready_at` return earlier (#8995) `ready_at` returns when we have processed the requested block. However, on startup we already have processed the best block and there are no transactions in the pool on startup anyway. So, we can set `updated_at` to the best block on startup. Besides that `ready_at` now returns early when there are no ready nor any future transactions in the pool. commit 4652f9e00f0e3079b9ed40ff806829f17fd1ddcf Author: Shawn Tabrizi <[email protected]> Date: Wed Jun 2 00:30:53 2021 -0400 also fix bounded vec (#8987) commit 9f621a936eb5c692ad8efea22a9bb9ecf3bd93d3 Author: MOZGIII <[email protected]> Date: Tue Jun 1 23:48:31 2021 +0300 Convert another instance of Into impl to From in the macros (#8986) * Convert another instance of Into impl to From in the macros * Convert another location commit 45f16302d233a70b2e2a8f9b9316b9a2c0e60d04 Author: Boiethios <[email protected]> Date: Tue Jun 1 22:27:30 2021 +0200 Update WeakBoundedVec's remove and swap_remove (#8985) Co-authored-by: Boiethios <[email protected]> commit d8b3fce28513169d8ee1315dd9a4cd92d95753cc Author: Gavin Wood <[email protected]> Date: Tue Jun 1 17:03:13 2021 +0100 Uniques: An economically-secure basic-featured NFT pallet (#8813) * Uniques: An economically-secure basic-featured NFT pallet * force_transfer * freeze/thaw * team management * approvals * Fixes * force_asset_status * class_metadata * instance metadata * Fixes * use nmap * Fixes * class metadata has information field * Intiial mock/tests and a fix * Remove impl_non_fungibles * Docs * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Shawn Tabrizi <[email protected]> * Reserve, don't transfer. * Fixes * Tests * Tests * refresh_deposit * Tests and proper handling of metdata destruction * test burn * Tests * Update impl_fungibles.rs * Initial benchmarking * benchmark * Fixes * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs * Attributes * Attribute metadata * Fixes * Update frame/uniques/README.md * Docs * Docs * Docs * Simple metadata * Use BoundedVec * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Update frame/uniques/src/lib.rs Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> * Fixes * Update frame/uniques/README.md Co-authored-by: Alexander Popiak <[email protected]> * Update frame/uniques/README.md Co-authored-by: Alexander Popiak <[email protected]> * Update frame/uniques/README.md Co-authored-by: Alexander Popiak <[email protected]> * Docs * Bump Co-authored-by: Shawn Tabrizi <[email protected]> Co-authored-by: Parity Bot <[email protected]> Co-authored-by: Lohann Paterno Coutinho Ferreira <[email protected]> Co-authored-by: Alexander Popiak <[email protected]> commit fa23b18e28d9d22824e2edfb76042297aae83efe Author: Ashley <[email protected]> Date: Tue Jun 1 17:14:33 2021 +0200 Revert "Use `SpawnTaskHandle`s for spawning tasks in the tx pool (#8958)" (#8983) This reverts commit bfef07c0d22ead3ab3c4e0e90ddf9b0e3537566e. commit 24750eafb691517e3aec70fcd9554cd91d7e4974 Author: Sergei Shulepov <[email protected]> Date: Tue Jun 1 16:43:29 2021 +0200 Do not spend time on verifying the signatures before calling Runtime (#8980) commit bfef07c0d22ead3ab3c4e0e90ddf9b0e3537566e Author: Ashley <[email protected]> Date: Tue Jun 1 16:28:03 2021 +0200 Use `SpawnTaskHandle`s for spawning tasks in the tx pool (#8958) * Remove futures-diagnose * Use `SpawnTaskHandle`s for spawning tasks in the tx pool * Box the spawner * Fix tests * Use the testing task executor commit 408e803f91790b1a128a964985de26f2bdf11eea Author: Kian Paimani <[email protected]> Date: Tue Jun 1 14:49:06 2021 +0200 Inject hashed prefix for remote-ext (#8960) * Inject for remote-ext * Update utils/frame/remote-externalities/src/lib.rs Co-authored-by: Zeke Mostov <[email protected]> * Update utils/frame/remote-externalities/src/lib.rs Co-authored-by: Zeke Mostov <[email protected]> * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Zeke Mostov <[email protected]> commit 04aa0e96b951de3bf0d4282446f19a03e2c70dec Author: Bastian Köcher <[email protected]> Date: Tue Jun 1 13:57:35 2021 +0200 Dependabot use correct label (#8973) commit e1d93fb3f08d71ce01d32ab49fed56d6e87f40b7 Author: Squirrel <[email protected]> Date: Tue Jun 1 11:51:38 2021 +0100 Spellling corrections (no code changes) (#8971) * Spelling corrections * As this might break let's do as a separate PR commit 5ceb0b0b6fbd57b181f53c5791a372ccccc72cba Author: Sergei Shulepov <[email protected]> Date: Tue Jun 1 12:02:10 2021 +0200 Update wasmtime to 0.27 (#8913) * Update wasmtime to 0.27 A couple of notes: - Now we are fair about unsafeness of runtime creation via an compiled artifact. This change was prompted by the change in wasmtime which made `deserialize` rightfully unsafe. Now `CodeSupplyMode` was hidden and the `create_runtime` now takes the blob again and there is now a new fn for creating a runtime with a compiled artifact. - This is a big change for wasmtime. They switched to the modern backend for code generation. While this can bring performance improvements, it can also introduce some problems. In fact, 0.27 fixed a serious issue that could lead to sandbox escape. Hence we need a proper burn in. This would require a change to PVF validation host as well. * Filter regalloc logging commit f87609ad8d9d974962c49c0c9c0eeca8017b7133 Author: Squirrel <[email protected]> Date: Tue Jun 1 10:26:10 2021 +0100 Reduce cargo doc warnings (#8947) Co-authored-by: Bastian Köcher <[email protected]> commit da051b11ce46a00c1b5d53401ee69ad7ddae355f Author: Keith Yeung <[email protected]> Date: Tue Jun 1 02:23:41 2021 -0700 Allow usage of path in construct_runtime! (#8801) * Allow usage of path in construct_runtime! * Fix whitespace * Fix whitespace * Make expand_runtime_metadata accept slice instead of Iterator * Include Call and Event in construct_runtime for testing * Migrate impl_outer_event to proc macro * Fix integrity_test_works * Update UI test expectations * Factor in module path while generating enum variant or fn names * Use ParseStream::lookahead for more helpful error messages * Remove generating outer_event_metadata * Ensure pallets with different paths but same last path segment can coexist * Remove unnecessary generated function * Migrate decl_outer_config to proc macro * Add default_filter test for expand_outer_origin * Allow crate, self and super keywords to appear in pallet path * Add UI test for specifying empty pallet paths in construct_runtime commit 7ba4e4ced0c0ed4ce8ccba6b36f6d53d7de3db89 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon May 31 18:40:36 2021 +0000 Bump getrandom from 0.2.2 to 0.2.3 (#8952) Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.2 to 0.2.3. - [Release notes](https://github.com/rust-random/getrandom/releases) - [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/getrandom/compare/v0.2.2...v0.2.3) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 25388397aab20a24e2be55103dda95011aa04d7c Author: Kian Paimani <[email protected]> Date: Mon May 31 20:17:56 2021 +0200 Add deserialize for TransactionValidityError in std. (#8961) * Add deserialize for TransactionValidityError in std. * Fix derives commit 6d43761487c36b0b1d3fff0d538d134d0620ce04 Author: Bastian Köcher <[email protected]> Date: Mon May 31 20:17:15 2021 +0200 Optimize `next_storage_key` (#8956) * Optimize `next_storage_key` - Do not rely on recursion - Use an iterator over the overlay to not always call the same method * Fix bug commit fc29e14efd84d34ef4362b9671300611fb41b52b Author: Roman Proskuryakov <[email protected]> Date: Mon May 31 16:05:50 2021 +0000 Refactor code a little bit (#8932) commit 61aa8dc17d2bdde36f0c0e1078cde5b79408cb62 Author: Seun Lanlege <[email protected]> Date: Mon May 31 16:31:47 2021 +0100 Use correct CreateInherentDataProviders impl for manual seal (#8852) * use correct CreateInherentDataProviders impl for manual seal * add babe inherent provider * move client into factory fn commit 87e63fa7c70be29383cb95ff52d71874f1db908a Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon May 31 07:39:35 2021 +0000 Bump retain_mut from 0.1.2 to 0.1.3 (#8951) Bumps [retain_mut](https://github.com/upsuper/retain_mut) from 0.1.2 to 0.1.3. - [Release notes](https://github.com/upsuper/retain_mut/releases) - [Commits](https://github.com/upsuper/retain_mut/compare/v0.1.2...v0.1.3) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 88021e9db4d2e4f2bf88121f1eaace5b7cf640cf Author: Shaun Wang <[email protected]> Date: Mon May 31 17:57:20 2021 +1200 Migrate pallet-scored-pool to pallet attribute macro (#8825) * Migrate pallet-scored-pool to pallet attribute macro. * Remove dummy event. * Apply review suggestions. commit be1b8ef0eefd6e8fbc7abb3d33262d139277da13 Author: Gavin Wood <[email protected]> Date: Sat May 29 11:17:26 2021 +0100 Session key should be settable at genesis even for non-endowed accounts (#8942) * Session key should be settable at genesis even for non-endowed accounts * Docs commit 6aaa03130da8abbe7c0aa5cf4c3f10557713f9d6 Author: Alexander Theißen <[email protected]> Date: Sat May 29 11:58:26 2021 +0200 Make `Schedule` fields public to allow for customization (#8924) * Make `Schedule` fields public for customization * Fix doc typo Co-authored-by: Andrew Jones <[email protected]> Co-authored-by: Andrew Jones <[email protected]> commit ac277db0f5467187a5f54a27c01851a59e791961 Author: Kian Paimani <[email protected]> Date: Sat May 29 06:20:25 2021 +0200 make remote ext use batch ws-client (#8916) * make remote ext use batch ws-client * Add debug log for key length * better assertions * new sanity_checl * try and make it work with batch * update test * remove exctra uri * add missing at * remove unused rpc stuff * improve Co-authored-by: emostov <[email protected]> commit 4b99c7fef5b6baa9fc10cf3304d36fd453554154 Author: Sebastian Müller <[email protected]> Date: Fri May 28 23:32:00 2021 +0200 weather -> whether (#8938) commit 6a63f282a5c0fb608569137ed464a23583d2d7de Author: joe petrowski <[email protected]> Date: Fri May 28 21:22:49 2021 +0200 remove duplicate Issued/Burned events (#8935) commit 050e4ace716b24df43b5742e44773f5c11b16538 Author: Shawn Tabrizi <[email protected]> Date: Fri May 28 14:35:15 2021 -0400 Simple `MaxBoundedLen` Implementations (#8793) * implement max_values + storages info * some formatting + doc * sudo sanity check * timestamp * assets (not working) * fix assets * impl for proxy * update balances * rename StoragesInfo -> PalletStorageInfo * merge both StorageInfoTrait and PalletStorageInfo I think it is more future proof. In the future some storage could make use of multiple prefix. Like one to store how much value has been inserted, etc... * Update frame/support/procedural/src/storage/parse.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Update frame/support/procedural/src/storage/storage_struct.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Fix max_size using hasher information hasher now expose `max_len` which allows to computes their maximum len. For hasher without concatenation, it is the size of the hash part, for hasher with concatenation, it is the size of the hash part + max encoded len of the key. * fix tests * fix ui tests * Move `MaxBoundedLen` into its own crate (#8814) * move MaxEncodedLen into its own crate * remove MaxEncodedLen impl from frame-support * add to assets and balances * try more fixes * fix compile Co-authored-by: Shawn Tabrizi <[email protected]> * nits * fix compile * line width * fix max-values-macro merge * Add some derive, needed for test and other purpose * use weak bounded vec in some cases * Update lib.rs * move max-encoded-len crate * fix * remove app crypto for now * width * Revert "remove app crypto for now" This reverts commit 73623e9933d50648e0e7fe90b6171a8e45d7f5a2. * unused variable * more unused variables * more fixes * Add #[max_encoded_len_crate(...)] helper attribute The purpose of this attribute is to reduce the surface area of max_encoded_len changes. Crates deriving `MaxEncodedLen` do not need to add it to `Cargo.toml`; they can instead just do ```rust \#[derive(Encode, MaxEncodedLen)] \#[max_encoded_len_crate(frame_support::max_encoded_len)] struct Example; ``` * fix a ui test * use #[max_encoded_len_crate(...)] helper in app_crypto * remove max_encoded_len import where not necessary * update lockfile * fix ui test * ui * newline * fix merge * try fix ui again * Update max-encoded-len/derive/src/lib.rs Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * extract generate_crate_access_2018 * Update lib.rs * compiler isnt smart enough Co-authored-by: thiolliere <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> commit c2ec5bc8f12bb5a084b976f2dc1280796e9c1b23 Author: Alexander Theißen <[email protected]> Date: Fri May 28 13:06:16 2021 +0200 Bump parity-wasm and pwasm-utils to the newest versions everywhere (#8928) commit 426d57b0a0c2f407fade5ea204bd133e76956404 Author: Alexander Theißen <[email protected]> Date: Fri May 28 11:33:22 2021 +0200 Fix check runtime CI (#8930) * Fix check_runtime.sh script * contracts: Remove confusing "Related Modules" doc commit 925f170d1a1f588cf61d7a366c2d744dd16392a6 Author: MOZGIII <[email protected]> Date: Thu May 27 23:32:22 2021 +0300 More sc-service config reexports (#8887) * Reexport ExecutionStrategies and ExecutionStrategy * Reexport more of the network * Reexport the ExecutionStrategy as it's used within ExecutionStrategies commit 27cc30e88788f6b423d790e34ca39ad0d7fa4219 Author: Denis Pisarev <[email protected]> Date: Thu May 27 20:31:29 2021 +0200 CI: fix simnet trigger (#8927) * CI: chore * CI: pin simnet version commit 14fcad989c168e34c494ac752a7f40ff8f627dcc Author: Roman Proskuryakov <[email protected]> Date: Thu May 27 12:54:37 2021 +0000 Remove: (#8748) * `NetworkStatusSinks` * `sc_service::SpawnTasksParams::network_status_sinks` Also: * `sc_service::build_network()` does not return `network_status_sinks` commit 1cbf0e16832eca5e0733d65279872ce79ddfe9f2 Author: Shawn Tabrizi <[email protected]> Date: Thu May 27 01:52:05 2021 -0400 Fix Compiler Warnings (new rustc) (#8907) * unused mmr * more unused * dyn in executor * remove `doc(inline)` * fix dyn for sp-api-test * update benchmarks * Update primitives/core/benches/bench.rs * Update primitives/core/benches/bench.rs * update another bench * fix benchmark? Co-authored-by: adoerr <[email protected]> commit 25db73e7e44b1507c3dc8834e6219da20ba2fc50 Author: Keith Yeung <[email protected]> Date: Wed May 26 16:22:35 2021 -0700 Convert impl_key_prefix_for to proc macro (#8844) * Convert impl_key_prefix_for to proc macro * Reduce the number of let bindings * Remove parsing of inputs for impl_key_prefix_for_tuples * Replace unwrap with expect * Remove unnecessary array of idents * Use numeric identifiers * Simplify ident generation * Fix whitespacing * Add documentation for impl_key_prefix_for_tuple proc macro Co-authored-by: Guillaume Thiolliere <[email protected]> Co-authored-by: Guillaume Thiolliere <[email protected]> commit 69e2e0b536cea67f1c7a12c2b3709102ffa63d80 Author: Shumo Chu <[email protected]> Date: Wed May 26 13:58:41 2021 -0700 Manta Network ss58 address registration (#8706) * manta network ss58 address registration * minor commit af69a8f8890dc4e411baa00fdbc9f9d35736cdf6 Author: Jakub Pánik <[email protected]> Date: Wed May 26 19:47:56 2021 +0100 Add Basilisk ss58 (#8882) commit 15731fec6d9e835e4f67b0399894672f4c81798e Author: Jon Häggblad <[email protected]> Date: Wed May 26 18:26:15 2021 +0200 Migrate pallet-grandpa to attribute macros (#8724) * frame/grandpa: migrate Config * frame/grandpa: migrate decl_module * frame/grandpa: migrate decl_event * frame/grandpa: migrate decl_error * frame/grandpa: migrate decl_storage * frame/grandpa: make report_equivocation_unsigned pub(super) * frame/grandpa: remove unused imports * frame/grandpa: replace deprecated Module with Pallet * frame/grandpa: add RawEvent for compatibility * frame/grandpa: create migration to new storage prefix * frame/grandpa: bump version to 4.0.0 * frame/grandpa: address review comments * Try using version 3.1 instead * frame/grandpa: tweak log text to say cancelled commit 1f3a89090aecff1aa532c54e78d3fa4eec564b01 Author: Denis Pisarev <[email protected]> Date: Wed May 26 13:51:28 2021 +0200 Revert "Fix stderr in new Rust nightly (#8904)" (#8910) This reverts commit c46ffcc6882c58c8e9d76584712841cf94899e36. commit de95ba50d10683d8aaaad351b6ce0cd3339c9f6f Author: André Silva <[email protected]> Date: Wed May 26 12:33:11 2021 +0100 grandpa: enable light clients to participate in gossip (#8796) * network: allow gossiping to light clients * grandpa: gossip global messages to light clients * grandpa: don't send neighbor packets to light clients * grandpa: fix tests * grandpa: export run_grandpa_observer * node: run grandpa observer on light client * node: start network at end * Use wasm_timer in finality-grandpa Co-authored-by: Pierre Krieger <[email protected]> commit cb308ac8d289b3089560a61a2bb6b6093af26f53 Author: Kian Paimani <[email protected]> Date: Wed May 26 10:49:45 2021 +0200 add an absolute measure of election score on-chain as a parameter (#8903) * add an absolute measure of election score on-chain as a parameter * make it storage item * line width * some nits * Apply suggestions from code review Co-authored-by: Guillaume Thiolliere <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> * make a few more things pub Co-authored-by: Guillaume Thiolliere <[email protected]> Co-authored-by: Shawn Tabrizi <[email protected]> commit 2c713b5f6a42bda48f6b482c375c8e9df4595d03 Author: MOZGIII <[email protected]> Date: Wed May 26 10:16:53 2021 +0300 Convert Into to From to make clippy happy (#8900) commit 7fe74c4563a02a37b8546a378625e8fee1e8056b Author: Alexander Theißen <[email protected]> Date: Wed May 26 00:29:55 2021 +0200 contracts: Fix some minor bugs around instantiation (#8879) * Fix output of wrongly outputted error The "Tombstoned a contract that is below the subsistence threshold: {:?}" was triggered when too few balance was provided. It was a false alarm. * Fix return of wrong code_len * Split up `NotCallable` into more fine grained errors * Fix typos in docs Co-authored-by: Keith Yeung <[email protected]> * RentNotPayed -> RentNotPaid * Fix typo: payed -> paid It is OK to change the in-storage field name because: 1. The SCALE encoding is not based on names only on position. 2. The struct is not public (only to the crate). Co-authored-by: Keith Yeung <[email protected]> commit 1305ec84b7789f5eee120913ed94dd17a1e5a76f Author: Denis Pisarev <[email protected]> Date: Tue May 25 23:01:00 2021 +0200 Fix build job (#8905) * CI: fix node-template packaging * add explicit deps versions commit c46ffcc6882c58c8e9d76584712841cf94899e36 Author: Denis Pisarev <[email protected]> Date: Tue May 25 22:58:42 2021 +0200 Fix stderr in new Rust nightly (#8904) * CI: revert me * fix stderr * CI: revert me * typo * more stderr fixes * Revert "CI: revert me" This reverts commit 5f47effc4965fa5c0c2a6ed92e434a6adb6b1dce. * Revert "CI: revert me" This reverts commit 7f785660c797b703dd36272cbe313056dd7a1858. commit 9eac3bfaab3e931e52903534ad9a3ba14d689f66 Author: Frederik Schulz <[email protected]> Date: Tue May 25 21:50:12 2021 +0200 Removes unnecessary blank impl for Backend (#8897) * Removes unnecessary blank impl for Backend This commit removes a from my perspective unneccessary implementation for &T which implement Backend. The current implementation exists (again from my perspective) solely to satisfy a methods &mut self parameters (i.e. allows to satisfy this for an & reference via using &mut &Backend). As all implementors use a RefCell with borrow_mut() where actually calling the mentioned &mut self method and then forwad to the {} implementation of either TrieBackend or ProvingBackend, the current &mut self seems to be not needed. * Fixed tests client commit fb90219bffdead9278b6a7880bebf676e5a071af Author: Kian Paimani <[email protected]> Date: Tue May 25 20:00:50 2021 +0200 make remote-ext work with ws and safe RPCs (#8889) * make remote-ext work with ws and safe RPCs * Update docs. * Update utils/frame/remote-externalities/Cargo.toml Co-authored-by: Niklas Adolfsson <[email protected]> * Fix test * Update lock file * Update utils/frame/remote-externalities/src/lib.rs Co-authored-by: Bastian Köcher <[email protected]> * Fix build again. * revert lifetime stuff Co-authored-by: Niklas Adolfsson <[email protected]> Co-authored-by: Bastian Köcher <[email protected]>
) * Add new `seal_call` that offers new features * Fix doc typo Co-authored-by: Michael Müller <[email protected]> * Fix doc typos Co-authored-by: Michael Müller <[email protected]> * Fix comment on assert * Update CHANGELOG.md Co-authored-by: Michael Müller <[email protected]>
Fixes #8421
This PR adds an unstable version of
seal_call
which has a newflags
parameter that allows changing the behaviour of the call:substrate/frame/contracts/src/wasm/runtime.rs
Lines 322 to 361 in 47a2e1d
Additionally, this PR changes the behaviour of
seal_input
to no longer consume the input. It can be called multiple as long as the input wasn't forwarded by this newseal_call
.cc @Robbepop @cmichi