Alexander Gryaznov
c0fb033206
Stabilize ecdsa_ functions ( #11486 )
2022-05-20 11:20:41 +00:00
Alexander Theißen
b3b7b4ddc7
contracts: Add set_code root dispatchable ( #11451 )
...
* Add `set_code` dispatchable
* cargo run --quiet --profile=production --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --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
Co-authored-by: Parity Bot <admin@parity.io >
2022-05-18 23:50:22 +00:00
Alexander Theißen
ef46d84aed
contracts: Get rid of #[pallet::without_storage_info] ( #11414 )
...
* Implement `MaxEncodeLen` for pallet-contracts storage
* Remove redundant debug println
* Move code len check to PrefabWasmModule::from_code
2022-05-18 07:40:53 +00:00
Bastian Köcher
74428fa8ac
generate_storage_alias: Rewrite as proc macro attribute ( #11387 )
...
* generate_storage_alias: Rewrite as proc macro attribute
This rewrites the `generate_storage_alias!` declarative macro as proc-macro attribute. While doing
this the name is changed to `storage_alias`. The prefix can now also be the name of a pallet. This
makes storage aliases work in migrations for all kind of chains and not just for the ones that use
predefined prefixes.
* Fix compilation and FMT
* Moare fixes
* 🤦
* ......
* Rework the syntax and support instancing
* FMT
* Prefix variants with `Storage`
* Make it compile
* Fix where clause on rust stable
2022-05-17 18:45:56 -04:00
Qinxuan Chen
8bce841d70
frame_support::pallet_prelude: reexport StorageVersion ( #11408 )
...
* frame_support::pallet_prelude: reexport StorageVersion
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* cargo fmt
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
2022-05-17 20:28:34 +02:00
Alexander Gryaznov
e45d53552d
stabilize seal_contains_storage (seal0) and seal_set_storage (seal1) ( #11378 )
2022-05-10 08:07:13 +00:00
Alexander Theißen
4b64c9085a
contracts: Prevent PoV attack vector with minimal viable solution ( #11372 )
...
* Add ContractAccessWeight
* Apply suggestions from code review
Co-authored-by: Michael Müller <michi@parity.io >
Co-authored-by: Michael Müller <michi@parity.io >
2022-05-09 09:25:14 +00:00
Alexander Gryaznov
9fd4df9ccf
[contracts] stabilize seal_code_hash, seal_set_code_hash and seal_own_code_hash ( #11337 )
...
* stabilize seal_code_hash, seal_set_code_hash, seal_own_code_hash
* fix missed place found by CI
* Fixed missed __unstable__
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2022-05-04 10:35:30 +03:00
Falco Hirschenberger
b581604aa7
Apply some clippy lints ( #11154 )
...
* Apply some clippy hints
* Revert clippy ci changes
* Update client/cli/src/commands/generate.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/inspect_key.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/db/src/bench.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/db/src/bench.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/service/src/client/block_rules.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/service/src/client/block_rules.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/network/src/transactions.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/network/src/protocol.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Revert due to missing `or_default` function.
* Fix compilation and simplify code
* Undo change that corrupts benchmark.
* fix clippy
* Update client/service/test/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/state-db/src/noncanonical.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/state-db/src/noncanonical.rs
remove leftovers!
* Update client/tracing/src/logging/directives.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/fork-tree/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* added needed ref
* Update frame/referenda/src/benchmarking.rs
* Simplify byte-vec creation
* let's just not overlap the ranges
* Correction
* cargo fmt
* Update utils/frame/benchmarking-cli/src/shared/stats.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/frame/benchmarking-cli/src/pallet/command.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/frame/benchmarking-cli/src/pallet/command.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Giles Cope <gilescope@gmail.com >
2022-04-30 21:28:27 +00:00
Bisola Olasehinde
aaf693f05a
Replace simple parameter_types ( #11254 )
...
* update bin/node-template/runtime/src/lib.rs
* update frame/contracts/src/tests.rs
* update frame/executive/src/lib.rs
* update frame/grandpa/src/mock.rs
* update frame/im-online/src/mock.rs
* update frame/offences/benchmarking/src/mock.rs
* update frame/recovery/src/mock.rs
* update frame/referenda/src/mock.rs
* update frame/session/benchmarking/src/mock.rs
* update frame/staking/src/mock.rs
* update frame/state-trie-migration/src/lib.rs
* update frame/support/test/compile_pass/src/lib.rs
* frame/treasury/src/tests.rs
* update frame/whitelist/src/mock.rs
* update frame/vesting/src/mock.rs
* update test-utils/runtime/src/lib.rs
* update bin/node-template/runtime/src/lib.rs
* Update frame/grandpa/src/mock.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* resolve failed checks 1518659 & 1518669
* resolve format check
* backtrack to resolve compile error
* check --all --tests ✅
* cargo +nightly fmt ✅
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2022-04-29 02:25:50 +00:00
Alexander Gryaznov
9676ce6f36
Add frame_support::crypto::ecdsa::Public.to_eth_address() (k256-based) and use it in pallets ( #11087 )
...
* `ecdsa::Public::to_eth_address` + test, beefy-mmr `convert()` to use it, contracts Ext interface
* `seal_ecdsa_to_eth_address` all but benchmark done
* `seal_ecdsa_to_eth_address` + wasm test
* `seal_ecdsa_to_eth_address` + benchmark
* fixed dependencies
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fixes from review #1
* ecdsa::Public(*pk).to_eth_address() moved to frame_support and contracts to use it
* beefy-mmr to use newly added frame_support function for convertion
* a doc fix
* import fix
* benchmark fix-1 (still fails)
* benchmark fixed
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fixes on Alex T feedback
* to_eth_address() put into extension trait for sp-core::ecdsa::Public
* Update frame/support/src/crypto/ecdsa.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update frame/contracts/src/wasm/mod.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fixes on issues pointed out in review
* benchmark errors fixed
* fmt fix
* EcdsaRecoverFailed err docs updated
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* make applied suggestions compile
* get rid of unwrap() in runtime
* Remove expect
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <info@kchr.de >
2022-04-16 15:51:40 +03:00
Qinxuan Chen
41c84b0b41
Remove useless imports ( #11136 )
...
Because `TryInto`/`TryFrom` are in prelude by default from edition 2021
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
2022-04-03 21:44:29 +02:00
Shawn Tabrizi
96ee61179a
Add Limit to Tranasctional Layers ( #10808 )
...
* introduce hard limit to transactional
* add single layer transactional
* remove single_transactional
* Update mod.rs
* add tests
* maybe fix contracts cc @athei
* fmt
* fix contract logic
* Update frame/contracts/src/exec.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update exec.rs
* add unchecked and custom errors
* Update lib.rs
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Replace storage access by atomics
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2022-04-02 17:12:54 +00:00
Alexander Gryaznov
e4caf7388a
contracts: add seal_code_hash and seal_own_code_hash to API ( #10933 )
...
* `seal_origin` + tests added
* `seal_origin` benchmark added
* `seal_code_hash` + tests added
* `seal_code_hash` benchmark added
* `seal_own_code_hash` + tests added
* `seal_own_code_hash` benchmark added
* fmt lil fix
* akward accident bug fix
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* benchmark fix
* `WasmModule::getter()` to take `module_name` arg
* test enhanced
* fixes based on review feedback
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Hash left as const to return a ref to it from mock
* HASH test val to local const in mock
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fixes to benchmarks according to review feedback
* cargo run --quiet --profile=production --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
* removed `seal_origin` from API
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Parity Bot <admin@parity.io >
2022-03-29 15:14:49 +00:00
Alexander Theißen
1317147589
Stabilize seal_delegate_call ( #11037 )
2022-03-15 15:26:59 +00:00
Alexander Theißen
bef9b79d7b
contracts: Add test to verify unique trie ids ( #10914 )
...
* Add test to verify unique trie ids
* Rename trie_seed to nonce
* Rename AccountCounter -> Nonce
* fmt
2022-03-10 11:28:00 +00:00
Alexander Gryaznov
ded1f7706d
[contracts] Stabilize "seal0" is_contract and caller_is_origin ( #10971 )
...
* stabilize `seal_is_contract`
* stabilize `seal_caller_is_origin`
2022-03-04 18:28:00 +03:00
Davide Galassi
a2b80edf12
Replace libsecp256k1 with k256 in FRAME related code ( #10883 )
...
* Replace libsecp256k1 with k256 in beefy-mmr
* Port of FRAME `contracts` benchmarking from `libsecp256k1` to `k256`
* Newtype to allow `Pcg32` rng usage with `k256` in contracts benchmarks
* Use `sp-io::crypto` to generate dummy keys in `contracts` bechmarks
* More compact code
* Cargo fmt
* Build `sp-keystore` only for dev profile
* Move public key generation back to the `map`
2022-02-23 10:17:47 +01:00
Alexander Theißen
eb5f07a2e5
contracts: Allow stack height metering to be disabled ( #10877 )
...
* Allow stack height metering to be disabled
* cargo run --quiet --profile=production --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
* cargo run --quiet --profile=production --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
Co-authored-by: Parity Bot <admin@parity.io >
2022-02-22 09:10:38 +00:00
Alexander Theißen
1a744befd4
Measure per byte and not kb for certain benchmarks ( #10863 )
2022-02-16 10:49:31 +00:00
Alexander Theißen
b82cfbac4d
contracts: Fix seal_call weights ( #10796 )
...
* Fix call weights
* Fix instantiate benchmark
* cargo run --quiet --profile=production --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
* Remove stale and superflous comments
* `decrement_refcount` should be infallible
* Don't hardcode increment_refcount, decrement_refcount
* Rename CopyIn/CopyOut
* Fix warning in tests
Co-authored-by: Parity Bot <admin@parity.io >
2022-02-15 08:56:22 +00:00
Yarik Bratashchuk
e70ffbf44d
Upgradable contracts using set_code function ( #10690 )
...
* poc logic
* set_code_hash impl, tests, benchmark
* Address @xgreenx's comments
* Move func defs closer to set_storage
* Check if code exists
- increment/decrement codehash refcount
* Document error for non-existing code hash
* Revert unrelated change
* Changes due to @athei's review
* Fix error handling
- comment errors: ReturnCodes
- update mock ext implementation
- return Error::CodeNotFound when no code for such hash
* Emit ContractCodeUpdated when setting new code_hash
* Address @athei's comments
* Move related defs to the bottom
* Minor comment update
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Improve docs
* Improve docs
* Update frame/contracts/src/wasm/runtime.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Refactor set_code_hash test
* Minor change to benchmark
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Minor change to benchmark
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Minor comment refactor
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Address @HCastano's comments
* Update seal_set_code_hash comment
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Move set_code_hash after delegate_call
* Move function to the bottom
* Moved and changed banchmark, added verify block
* Bring back previous benchmark
* Remove skip_meta for seal_set_code_hash
* Bring back skip_meta for seal_set_storage_per_new_kb
* Apply weights
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2022-02-11 07:46:51 +00:00
Shawn Tabrizi
f6f82d876b
Add Storage Info to Various Pallets ( #10810 )
...
* atomic swap
* bounties
* bounties fmt
* gilt
* indices
* nicks
* randomness-collective-flip
* recovery
* reuse maxapprovals
* Update tests.rs
* Update frame/randomness-collective-flip/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* use the correct bound
* complete recovery
* use `bounded_vec` macro
* Update tests.rs
* transaction payment
* uniques
* mmr
* example offchain worker
* beefy-mmr
* Update frame/recovery/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use BoundedVec instead of a type-parameterized BoundedString
* cargo fmt
* Update frame/atomic-swap/src/lib.rs
* use config const
* Update lib.rs
* update mel_bound
* fmt
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2022-02-08 14:10:35 +00:00
Yarik Bratashchuk
d14e1c641e
seal_delegate_call api function (support for library contracts) (#10617 )
...
* seal_call_code implementation
- tests
- benchmark
* Addressing @xgreenx's comments
* Fix test-linux-stable-int
* Rename seal_call_code to seal_delegate_call
* Pass value unchanged into lib contract
* Address @athei's comments
- whitespace .wat issues
- wrong/missing .wat comments
- redundant .wat calls/declarations
- change order of functions (seal_delegate_call right after seal_call)
in decls, tests, benchmark
- fix comments, move doc comments to enum variants
- remove unnecessary empty lines
- rename runtime cost DelegateCall to DelegateCallBase
- do not set CallFlags::ALLOW_REENTRY for delegate_call
* Do not pass CallFlags::ALLOWS_REENTRY for delegate_call
* Update comment for seal_delegate_call and CallFlags
* Addressing @athei's comments (minor)
* Allow reentry for a new frame after delegate_call (revert)
* Same seal_caller and seal_value_transferred for lib contract
- test
- refactor frame args due to review
- logic for seal_caller (please review)
* Put caller on frame for delegate_call, minor fixes
* Update comment for delegate_call
* Addressing @athei's comments
* Update weights generated by benchmark
* Improve comments
* Address @HCastano's comments
* Update weights, thanks @joao-paulo-parity
* Improve InvalidCallFlags error comment
2022-02-08 11:43:32 +00:00
Alexander Gryaznov
d5c8593566
contracts: is_contract(address) and caller_is_origin() are added to API ( #10789 )
...
* is_contract() and caller_is_origin() added to Ext API
* is_contract() exposed in wasm runtime.rs
* + test for is_contract()
* + seal_is_contract benchmark
* caller_is_origin() exposed to wasm/runtime.rs and covered by a test
* + seal_caller_is_origin benchmark
* Update frame/contracts/src/exec.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update frame/contracts/src/exec.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update frame/contracts/src/exec.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update frame/contracts/src/wasm/runtime.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update frame/contracts/src/wasm/runtime.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update frame/contracts/src/wasm/runtime.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update frame/contracts/src/exec.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* identation fix for benchmark macroses; test cosmetic improvement
* benchmark fix
* + is_contract() wasm test
* + caller_is_origin() wasm test
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* is_contract() to borrow param instead of taking ownership
* phrasing improved
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* fixed wasm tests according to @athei feedback
* dead code warnings suppressed by unstable-interface attributes
* cargo run --quiet --profile=production --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
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
Co-authored-by: Parity Bot <admin@parity.io >
2022-02-04 19:13:00 +00:00
Alexander Theißen
f3168c3fa0
Add production profile to substrate-wasm-builder ( #10747 )
...
* Add production profile to wasm builder
* Fix profile detection
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Replace panic! by println! + exit
* Default to `release` for wasm on debug builds
* Replaced unwrap by expect
* Update all weights
Rerun on the bm2 server.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* cargo run --quiet --profile=production --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
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Parity Bot <admin@parity.io >
2022-01-31 14:16:26 +00:00
Alexander Theißen
39704979fe
Bump wasm-instrument 0.1.0 -> 0.1.1 ( #10749 )
...
* Bump wasm-instrument 0.1.0 -> 0.1.1
* Fix benchmark
2022-01-31 10:05:30 +00:00
Piotr Mikołajczyk
ee557b769c
Fix lazy batch contract removal ( #10728 )
...
* Fix lazy batch contract removal
* Apply suggestions
* Qualify ChildInfo
* Negligible change to restart pipeline
* Revert "Negligible change to restart pipeline"
This reverts commit b38abb622a17de9f0d19b3eadcea611ead1a7251.
* cargo run --quiet --profile=production --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
Co-authored-by: Parity Bot <admin@parity.io >
2022-01-28 18:37:54 +00:00
Alexander Theißen
dc45201a64
Pre-Charge max size when contracts access storage ( #10691 )
...
* Fix seal_get_storage
* Fix seal_take_storage
* Add more benchmarks
* 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
* Fix seal_set_storage
* Fix seal_contains_storage and seal_clear_storage
* Fix benchmarks
* 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
* Get rid of mem::size_of in benchmarks
* Fix up code loading
* Apply suggestions from code review
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Fix test to call same function twice
* Replaced u32::MAX by SENTINEL const
* Fix seal_contains_storage benchmark
* cargo run --quiet --profile=production --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
Co-authored-by: Parity Bot <admin@parity.io >
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2022-01-24 20:14:31 +00:00
Oliver Tale-Yazdi
9daea28085
Optimized weights ( #10692 )
...
* Add optimization flags to 'release' profile
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Optimized weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add missing pallets
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add `production` profile
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* pallet-collective: fix tests
the weight of System.remark went to 0, the collective test uses a
remark call to trigger an out-of-gas condition so I replaced it
with a `remark_with_event` call.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2022-01-24 12:35:25 +00:00
Oliver Tale-Yazdi
362a6d9b28
Require MaxEncodedLen per default ( #10662 )
...
* Remove generate_storage_info
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add without_storage_info where needed
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update doc tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add more without_storage_info
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fix TryBuild
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fix TryBuild tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2022-01-20 11:16:04 +00:00
Kian Paimani
1344e43d2d
Remove all stale on_runtime_upgrade hooks in the runtime ( #10650 )
...
* Remove all stale on_runtime_upgrade hooks in the runtime
* add docs
* cleanup
* fix warn
* fix more warnings
* fix offence test
* overwrite the damn UItest
2022-01-19 20:58:47 +01:00
Alexander Theißen
2a122c44b1
Switch from pwasm-utils to wasm-instrument ( #10680 )
...
* Switch executor to wasm-instrument
* Switch pallet-contracts to wasm-instrument
2022-01-17 15:00:17 +00:00
Alexander Theißen
89194f0e70
contracts: Get rid of the dreaded Other error ( #10595 )
...
* Print more detailed error when instrumentation fails
* Apply suggestions from code review
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Check contents of debug buffer
* Fix test
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2022-01-17 09:45:28 +00:00
Xiliang Chen
d346028a9d
reset events before apply runtime upgrade ( #10620 )
...
* reset events before apply runtime upgrade
* fix tests
* add test
* update comment
* Update frame/system/src/lib.rs
* trigger CI
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2022-01-12 08:22:29 +00:00
Alexander Theißen
46e38e8288
Add additionally functionality to contracts storage interface ( #10497 )
...
* Add new versions for storage access host functions
* Improve docs
2022-01-08 12:19:23 +00:00
Alexander Theißen
4ca4df644e
contracts: Improve documentation of lazy deletion config ( #10582 )
...
* Improve documentation of lazy deletion config
* Apply suggestions from code review
Co-authored-by: Sacha Lansky <sacha@parity.io >
* Update frame/contracts/src/lib.rs
Co-authored-by: Andrew Jones <ascjones@gmail.com >
* Improve wording
Co-authored-by: Sacha Lansky <sacha@parity.io >
Co-authored-by: Andrew Jones <ascjones@gmail.com >
2022-01-06 11:03:18 +00:00
Squirrel
3dd32d5255
Make clippy _a little_ more annoying ( #10570 )
...
* Clippy: +complexity
* Update client/cli/src/arg_enums.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update bin/node/inspect/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update primitives/keystore/src/testing.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/elections/src/lib.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Update primitives/npos-elections/fuzzer/src/reduce.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Incorporating feedback
* No need for Ok
* Additional
* Needed slice
* Wigy's suggestions on less derefs
* fix count
* reverting changes brought in by option_map_unit_fn
* add --all-targets
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2022-01-05 14:35:30 +00:00
Bastian Köcher
f3662b4bba
Happy new year 2022 ( #10573 )
2022-01-03 09:22:14 +01:00
Kevin Wang
9c4d61df90
Customizable ink address ( #10521 )
2021-12-23 11:32:06 +00:00
dharjeezy
1b0be8ae06
Replace parameter_types with ConstU32 &c. ( #10402 )
...
* remove parameter types and use const type
* remove parameter types and use const type
* Delete {
* Delete count,
* refractor for beefy, benchmarking, child bounties, and collective pallets
* refractor for pallet contracts
* refractor for elections
* refractor for more pallets
* fix CI issues
* fix CI issues
* fix CI issues
* fix CI issues
* remove warning to fix CI issue
* remove warning to fix CI issue
refractor for pallet preimage
* remove warning to fix CI issue
refractor for pallet proxy
* remove warning to fix CI issue
refractor for pallet recovery
refractor for pallet randomness-collective-flip
* remove warning to fix CI issue
refractor for pallet scored-pool
refractor for pallet scheduler
refractor for pallet session
* remove warning to fix CI issue
refractor for pallet society, support, system, timestamp, tips
* remove warning to fix CI issue
refractor for pallet transaction_payment, transaction_storage, treasury, uniques, utility
* remove warning to fix CI issue
* cargo +nightly fmt
* CI fix
* more param refractor on beefy-mmr
* refractor for beefy
* Update frame/babe/src/mock.rs
* Update frame/babe/src/mock.rs
* Update frame/bounties/src/tests.rs
* Update frame/tips/src/tests.rs
* Delete mock.rs
* Update frame/examples/basic/src/tests.rs
* Apply suggestions from code review
* Update frame/im-online/src/mock.rs
* Update frame/im-online/src/mock.rs
* Update frame/offences/benchmarking/src/mock.rs
* Update frame/session/benchmarking/src/mock.rs
* Update frame/support/test/tests/pallet_compatibility.rs
* Update frame/support/test/tests/pallet_compatibility_instance.rs
* Update frame/treasury/src/tests.rs
* Update test-utils/runtime/src/lib.rs
* some cleanup
* fmt
* remove unused
Co-authored-by: Damilare <dakinlose@teamapt.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-12-16 03:06:11 +00:00
Alexander Theißen
1939567a79
Emit ContractReverted error when revert flag is set ( #10481 )
...
* Emit `ContractReverted` error when revert flag is set
* `is_success()` -> `did_revert()`
2021-12-15 07:35:05 +00:00
Gavin Wood
1e24e45ea1
Remove Default bound for AccountId ( #10403 )
...
* Remove Default for AccountId
* More removals of default
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* More work
* More work
* Remove old code
* More work
* pallet-asset-tx-payment
* tips
* sc-consensus-babe
* sc-finality-grandpa
* sc-consensus-babe-rpc
* sc-cli
* make npos crates accept non-default account (#10420 )
* minimal changes to make npos pallets all work
* make this pesky reduce.rs a bit cleaner
* more work
* more work
* Tests build
* Fix imonline tests
* Formatting
* Fixes
* Fixes
* Fix bench
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Formatting
* Fixes
* Formatting
* Fixes
* Formatting
* Fixes
* Formatting
* Fixes
* Formatting
* Update client/keystore/src/local.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/finality-grandpa/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/keystore/src/local.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/keystore/src/local.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/staking/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/staking/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update primitives/runtime/src/traits.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Formatting
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: kianenigma <kian@parity.io >
2021-12-13 15:03:59 +01:00
Alexander Theißen
91260e8b05
Make sure that weight for loading code into the sandbox is accounted for ( #10448 )
2021-12-10 15:26:17 +01:00
Gavin Wood
3dd8f83a3a
Insufficient asset quota and deposits ( #10382 )
...
* Allow asset accounts to exist by deposit
* Place limit on consumers (and therefore freebie asset accounts)
* Maximum number of assets
* Fixes
* Fixes
* Formatting
* Docs
* Formatting
* Destroyed assets are properly tidied
* Update frame/assets/src/types.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Docs
* Docs
* Formatting
* Docs
* Docs
* Fixes
* Fixes
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-12-09 13:22:54 +01:00
Alexander Theißen
667dec91bf
Run contract benchmarks ( #10452 )
...
* Trigger benchmarks
* 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
Co-authored-by: Parity Bot <admin@parity.io >
2021-12-09 09:28:59 +00:00
Alexander Theißen
35b82f917a
Clean up pallet-contracts documentation ( #10438 )
...
* Update CHANGELOG.md
* Remove COMPLEXITY.md
2021-12-07 16:48:28 +00:00
Alexander Theißen
6863476603
contracts: Add storage deposits ( #10082 )
...
* 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 >
2021-12-07 12:19:30 +00:00
Enoch Chejieh
d58aeb040a
Add pallet names to Events ( #10296 )
...
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: add pallet names to events
* chore: formatted pallet name changes in events
* chore: formatted pallet name changes in events
* chore: formatted pallet name changes in events
* chore: formatted pallet name changes in events
* chore: formatted pallet name changes in events
* chore: formatted pallet name changes in events
* chore: formatted pallet name changes in events
* chore: formatted pallet name changes in events
* chore: formatted pallet name changes in events
* fix: add fix to tests for event variants
* chore: modified comments for event variants
* chore: modified comments for event variants
* chore: modified comments for event variants
* chore: modified comments for event variants
* chore: modified system pallet event variants
* chore: modified system pallet event variants
* chore: modified system pallet event variants
* chore: modified system pallet event variants
* chore: modified system pallet event variants
* chore: modified system pallet event variants
* chore: modified system pallet event variants
* chore: modified system pallet event variants
* chore: modified system pallet event variants
* chore: updated transaction-storage pallet event variants
* chore: updated transaction-storage pallet event variants
* chore: formatted contracts pallet
* chore: update treasury event variants
2021-11-30 21:03:06 +01:00
Alexander Theißen
6a8c22aafd
Stabilize "seal1" seal_call ( #10366 )
2021-11-24 17:20:55 +00:00