* Statically register host WASM functions
* Fix `substrate-test-client` compilation
* Move `ExtendedHostFunctions` to `sp-wasm-interface`
* Fix `sp-runtime-interface` tests' compilation
* Fix `sc-executor-wasmtime` tests' compilation
* Use `runtime_interface` macro in `test-runner`
* Fix `sc-executor` tests' compilation
* Reformatting/`rustfmt`
* Add an extra comment regarding the `H` generic arg in `create_runtime`
* Even more `rustfmt`
* Depend on `wasmtime` without default features in `sp-wasm-interface`
* Bump version of `sp-wasm-interface` to 4.0.1
* Bump `sp-wasm-interface` in `Cargo.lock` too
* Bump all of the `sp-wasm-interface` requirements to 4.0.1
Maybe this will appease cargo-unleash?
* Revert "Bump all of the `sp-wasm-interface` requirements to 4.0.1"
This reverts commit 0f7ccf8e0f371542861121b145ab87af6541ac30.
* Make `cargo-unleash` happy (maybe)
* Use `cargo-unleash` to bump the crates' versions
* Align to review comments
* Introduce `SecretUri`
* `inspect-key`: Adds support for `expect-public`
`expect-public` can be used to check that a given secret uri corresponds to the given public key.
This is mainly useful when the secret uri is protected by a password and a new derived account
should be generated. With `--expect-public` the user can pass the public key/account-id of the
"base" secret uri aka the one without any derivation to ensure the correct password was inserted.
* Fixes
* 🤦
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Review feedback
* FMT
* Bump the versions
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Fixed logic of the storage migration to triple reference counting. The previous behaviour made it impossible for any chain not already upgraded to dual reference counting to upgrade the runtime.
* +Removed the on_runtime_upgrade() function from frame-system.
+Removed the specific migration .anciallaries from the frame-system pallet level.
+Introducted a new module that hosts self-contained ancillary functions and logic to perform the storage migration. The current logic attempts to infer the state of the storage based on whether or not a given migration can be conducted.
* Formatting.
* + Removed specific AccountData struct. AccountData must now be provided during the runtime implementation of the trait V2ToV3.
+ Removed apply function.
+ Made the individual translation function self-sufficient.
* + Removed unused decorators.
* pallet-bags-list: Add `put_in_front_of` extrinsic
This PR adds the extrinsic `put_in_front_of` which allows the user to specify a `lighter` and `heavier` account within the same bag. The extrinsic will move `heavier` directly in front of `lighter`. The parameter names refer to the fact that `lighter` must have a lower `VoteWeight` then `heavier`.
In the ideal use case, where a user wants to improve the position of their account within a bag, the user would iterate the bag, starting from the head, and find the first node who's `VoteWeight` is less than theirs. They would then supply the `id` of the node as the `lighter` argument and their own `id` as the `heavier` argument.
* Test & Benchmarks
* Respect line width
* Remove List::put_in_fron_of tests; Remove AlreadyHigher error
* The dispatch origin for this call must be ...
* Add some periods
* Add back test to list module: put_in_front_of_exits_early_if_bag_not_found
* add test tests::pallet::heavier_is_head_lighter_is_not_terminal
* Cater for edge case of heavier being head
* Add ExtBuilder::add_aux_data; try to make some tests use simpler data
* Update frame/bags-list/src/list/tests.rs
* make insert_at_unchecked infallible
* Make it permissioned - only callable by heavier
* Add test cases for insert_at_unchecked
* Move counter update to insert_at; fix comments
* Address some feedback
* Make voteweight constructed with parameter_types
* Always set vote weight for Ids in build
* Add skip_genesis_ids
* Do not pass weight fn to List put_in_front_of
* Remove remants of CounterForListNodes
* fmt
* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bags_list --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bags-list/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Delete messed up weights file
* Some place holder stuff so we can run bench in CI
* Fix
* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bags_list --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bags-list/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Update frame/bags-list/src/list/mod.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* fmt
* Log + debug assert when refetching an Id
Co-authored-by: Parity Bot <admin@parity.io>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* Frame no longer needs to be mutable (refactoring artifact)
* Remove Contract/Tombstone deposit
* Add StorageMeter
* cargo fmt
* Fix weight annotation
* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Simplify keep check for contract accounts
- Make sure that the "base deposit" for each contract >= ed
- Remove now obsolete checks when sneding away free balance
* Remove unused imports and functions
* Rename storage_limit to storage_deposit_limit
* cargo fmt
* Fix typo
Co-authored-by: Michael Müller <michi@parity.io>
* Finish up rename of storage_limit
* Fix rpc tests
* Make use of `StorageDepositLimitTooHigh`
* Add tests and fix bugs discovered by tests
* Add storage migration
* Don't use u128 in RPC
* Fix weight of migration
* Rename `endowment` to `value`
* Fix bug where contract couldn't get funded by a storage deposit
- Make sure that contract gets funded from deposits before value is transferred
- Don't reserve value at origin because otherwise funding isn't possible
- Just transfer free balance and reserve it after the transfer
- When refunding make sure that this refund can't dust the contract
- Can only happen after a runtime upgrade where costs where upped
- Add more tests
* Apply suggestions from code review
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* Remove unused `fn storage_meter`
* Fix copy pasta doc error
* Import `MaxEncodeLen` from codec
* Beautify RPC trait bounds
* Add re-instrument behaviour to dispatchable doc
* Make sure a account won't be destroyed a refund after a slash
* Apply suggestions from code review
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* Update `Storage::write` docs
* Improve doc
* Remove superflous conditional
* Typos
* Remove superflous clone (refactoring artifact)
* Apply suggestions from code review
Co-authored-by: Andrew Jones <ascjones@gmail.com>
Co-authored-by: Parity Bot <admin@parity.io>
Co-authored-by: Michael Müller <michi@parity.io>
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* fix order
* Update frame/support/procedural/src/construct_runtime/mod.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* format
* more accurate description
* format
* better explicit types
* fix tests
* address feedback
* add a type to ease non breaking implementation
* add comment about constraint
* fix test
* add test for generated types
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* use proper intra doc link
* use proper intra doc link
* get system path name from path module name function for the docs
* used format macro in formatting doc string for better output
* helper function to get intra doc string
* helper function to get intra doc string
* use helper function on expand_origin_pallet_conversions
* remove duplicates
* Update frame/support/procedural/src/construct_runtime/expand/origin.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* remove leading white space
Co-authored-by: Damilare <dakinlose@teamapt.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* Moving `pallet-asset-tx-payment` from cumulus
* move pallet-asset-tx-payment into transaction payment directory
* cargo +nightly fmt
* Adding `pallet-asset-tx-payment` to node runtime
I had to change the Balance type to u128.
Also harmonised that pallet's version
* Updating cargo.lock after merge
* forgot this
* Adding tx-payment signature
* Missed one more
* `transaction-payment` replaced in`SignedExtension`
by `asset-tx-payment` and not added
* Fixing benches
* add test to verify that we don't charge on post-dispatch if we didn't on pre-dispatch
* add (failing) test for asset tx payment of unsigned extrinsics
* fix test by removing debug_assert
* cargo +nightly fmt
* typo in `Cargo.lock`
* Object defined twice in lock file
* cargo update
* remove todo
* Apply formatting suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Refactoring `post_dispatch` of `asset-tx-payment`
to reuse `post_dispatch` of `transaction-payment` if the fee asset is
native
Removing unneeded imports.
* Removing redundant `TODO`
* Reverting an accidental bump of `impl-serde`
from `0.3.1` to `0.3.2`
* Revert unneeded changes to `cargo.lock`
* Update frame/transaction-payment/asset-tx-payment/src/payment.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Fixing cargo fmt
Reverting changes which broke cargo fmt
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Offence implementations can disable offenders independently from slashing
* Fix build on CI
* Run cargo fmt
* Fixes based on review comments
* Make parameter naming consistent
* Fix migration and some English
* Fix migration - again
* cargo fmt
* Cover 2 new cases with a test