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
Guillaume Thiolliere
7ed4a7f022
fix ( #10342 )
2021-11-23 10:06:33 +00:00
Guillaume Thiolliere
fcfb766366
Fix some doc link ( #10329 )
...
* fix some doc link
* fmt
2021-11-22 10:48:53 +00:00
dependabot[bot]
d0b851abe9
Bump libsecp256k1 from 0.6.0 to 0.7.0 ( #10214 )
...
* Bump libsecp256k1 from 0.6.0 to 0.7.0
Bumps [libsecp256k1](https://github.com/paritytech/libsecp256k1 ) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/paritytech/libsecp256k1/releases )
- [Changelog](https://github.com/paritytech/libsecp256k1/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/libsecp256k1/commits )
---
updated-dependencies:
- dependency-name: libsecp256k1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Fix pallet_contracts for new libsecp256k1 version
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2021-11-19 12:36:09 +01:00
David Salami
120894fdb7
Add field names to pallet Event variants ( #9993 )
...
* convert pallet-assets events to struct types
* updated events of a couple pallets
* updated pallet event field names
* update pallet event field names
* updated events in test files
* cargo fmt
* minorfixes
* fix assertion error
* minor fix
* formatting fix
* fmt
2021-11-16 01:56:00 +00:00
Ayevbeosa Iyamu
8a5bb77e03
Add field names to pallet Event variants ( #10184 )
...
* Changed named fields to struct variants
* Fixed errors.
* Made adjustments as per `cargo +nightly fmt`.
* Update frame/uniques/src/lib.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Removed redundant comments for structs.
* Moved frame-support to dev dependencies
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2021-11-15 19:16:03 +00:00
Koute
a7e3d819f8
Refactor sp-sandbox; make sure both sandbox executors are always tested ( #10173 )
...
* sp-sandbox: convert executors into normal `mod`s instead of using `include!`
* sp-sandbox: run `cargo fmt` on `host_executor.rs`
* sp-sandbox: abstract away the executors behind traits
* sp_sandbox: always compile both executors when possible
* sc-executor: make sure all sandbox tests run on both sandbox executors
* sc-executor: fix brainfart: actually call into the sandbox through the trait
* sc-runtime-test: fix cargo fmt
* sc-runtime-test: deduplicate executor-specific sandbox test entrypoints
* sc-executor: test each sandbox executor in a separate test
* cargo fmt (Github's conflict resolving thingy broke indentation)
2021-11-08 12:52:11 +00:00
Kian Paimani
937b6f246e
put TryInto and TryFrom in sp_std::prelude ( #10183 )
...
* Switch to Rust 2021
* Update trybuild to fix errors
* half baked
* fix
* remove unused import
* remove more warnings
Co-authored-by: Bastian Köcher <info@kchr.de >
2021-11-08 00:24:53 +01:00
Xiliang Chen
58a3ab2813
implement dispatch_as ( #9934 )
...
* implement dispatch_as
* fix
* fix
* weight for dispatch_as
* cargo run --quiet --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
* fix
* Update frame/utility/src/benchmarking.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fix issues
Co-authored-by: Parity Bot <admin@parity.io >
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-11-04 15:34:29 +01:00
Guillaume Thiolliere
20c9afcdc1
Better error for when origin filter prevent the call to be dispatched ( #10134 )
...
* better error
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* remove unused
* fix error
* fmt
* fix tests
* fmt
* Update frame/contracts/src/exec.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fix typo
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2021-11-02 14:20:00 +00:00
Alexander Theißen
0fd676594a
contracts: Fix account counter isn't persisted ( #10112 )
...
* Add test to check account counter persistence
* Fix bug that account counter wasn't properly persited
* 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-10-30 09:13:18 +00:00
Alexander Popiak
32900294ba
Add Deposit and Withdraw Events to Balances Pallet ( #9425 )
...
* add Deposit and Withdraw events to balances
+ add deposit_event() calls where appropriate to signal fund movement
+ adjust and extend tests
* line length
* move events to the end to avoid changing indices
* bump spec_version
* cargo fmt
* adjust block import bench to new event count
* fix node executor tests
* adjust import bench comment
* fix typo and formatting
* adjust event number
* fix copy pasta
* fix contracts pallets tests
* cargo fmt
* WIP fix events in tests
* fix offences tests
* fix tests
* cargo +nightly fmt
* fix contracts pallets tests
* cargo +nightly fmt
* fix offences tests
* formatting and compile fixes
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-10-11 14:23:10 +00:00
Squirrel
f4bffe6d0b
Less deps: Stop using old version of libsecp256k1 ( #9947 )
...
(Moving further to 0.7 would require upgrading rand first)
2021-10-07 07:15:33 +01:00
ucover
f8ce186496
Test each benchmark case in own #[test] ( #9860 )
...
* Generate one #[test] fn per bench case.
* Update benchmark macro syntax in frame pallets.
* Explain new benchmark macro syntax in example pallet.
* support with and without a semicolon
* update pallets to use individual tests
* migrate staking too
* migrate more pallets
* fix up democracy and use individual tests
* Fix comment
* Put println message in panic
* Remove `another_set_dummy` from doc
`another_set_dummy` is not present in the benchmarking.rs (anymore).
* Update doc for benchmarks macro
* Update doc for impl_benchmark_test_suite macro
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-10-01 08:17:26 +00:00
Andrew Jones
e0742bcd6d
contracts: Add event field names ( #9896 )
...
* Add struct variant fields to contract Event
* Update comments and usages
* Fmt
2021-09-30 08:12:25 +00:00
Bastian Köcher
62187b5916
Prepare UI tests for rust 1.55 ( #9637 )
...
* Prepare UI tests for rust 1.54
* Delete wrong_page.stderr
* CI: run with a staging CI image
* Revert "CI: run with a staging CI image"
This reverts commit 66f5b00d14b50fd9d8fbf773f7e884f380697591.
* CI: debug, again
* LOG_TARGET is only used in std
* Remove unnecessary unsafe
* Fixes
* Use correct rustc locally
* FMT
* Compile with benchmarking
* Review feedback
* Some ui tests
* I know...
* Fix wasm tests
Co-authored-by: Denis P <denis.pisarev@parity.io >
Co-authored-by: thiolliere <gui.thiolliere@gmail.com >
2021-09-24 10:42:08 +00:00
Alexander Theißen
1879a2d04f
De-duplicate the dispatchable and the bare_* functions ( #9838 )
2021-09-24 10:17:51 +00:00
Andrew Jones
49b6dfd2e5
Enrich metadata with type information ( #8615 )
...
* Cargo.lock after merge
* Restore scale-info feature
* Fully qualify TypeInfo derive
* Skip PendingSwap T
* Add missing skip_type_params attr
* metadata docs features
* Reduce pallet event attribute to struct
* Cargo.lock
* Update frame/balances/src/tests_composite.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Line widths check
* Cargo.lock
* Add scale-info/std
* Update frame/system/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Use `skip_type_params` to remove `TypeInfo` requirements on checks
* Revert "Remove unused Call metadata stuff"
This reverts commit 41311f85
* Skip BalanceSwapAction type parameter
* Remove unused event metadata macro
* Update frame-metadata
* Update primitives/npos-elections/compact/src/codec.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Manual TypeInfo for Header
* Remove TypeInfo requirement for consts in BoundedVec etc.
* Another TypeInfo bound removed
* review: fix indentation
* TypeInfo impls for Identity types
* Add some todos to add custom TypeInfo impls
* Update frame/support/procedural/src/pallet/expand/pallet_struct.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Add some todos to add custom TypeInfo impls
* Add a test for manual Data TypeInfo impl
* Add custom TypeInfo impl for Vote
* Era custom TypeInfo crimes
* Revert finality-grandpa version to 0.14.z
* review: renamed module to pallet_constants_metadata
* New line at end of file
* Add missing scale-info/std
* Update frame/support/src/storage/types/mod.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Remove StorageEntryType::Map unused flag
* Add missing scale-info dependency after merge
* SignedExtension::AdditionalSigned metadata
* Update frame-metadata, use abbreviated docs and args fields
* Update frame/example/Cargo.toml
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Add scale_info/std and remove unused scale-info dependency
* Remove scale-info dependency
* Remove treasury pallet::metadata
* Remove redundant Event test
* Add back scale-info as dev dependency
* fix error metadata when no error defined in decl_module
* Add Module3 to tests
* Fix metadata test
* Add docs feature to frame-support test
* WIP fixing pallet metadata test
* Remove redundant FunctionMetadata, FunctionArgumentMetadata as per https://github.com/paritytech/frame-metadata/pull/20
* Use main branch of frame-metadata
* Use patch of scale-info for latest changes
* Use latest patched scale-info
* Manual TypeInfo for DigestItem
* Manual TypeInfo for DigestItem
* Update scale-info
* Skip __Ignore variants for Error, depends on https://github.com/paritytech/scale-info/pull/117
* Named fields for FRAME v2 pallet Call variants
* Named fields for FRAME v1 pallet Call variants
* Add missing scale-info dependency
* WIP expand benchmark call variant
* fix benchmark with new function
create a new function for each variant of a pallet call.
This function is called by benchmarking macro in order not to break call
creation with unnamed argument
* fix tests
* more fix
* Fix staking tests
* Fix offchain workers calls
* Cherry pick rustfmt.toml from master
* cargo +nightly-2021-06-22 fmt --all
* Update to new call variant structs
* More call variant struct updates
* Remove unused import
* More call variant structs
* More call variant structs
* Even more call variant structs
* Mooar variant structs
* Evermore variant structs
* Call variant structs ad infinitum
* Fmt
* More call variants
* Last call variant
* Call variants all done?
* Fix SS58Prefix type
* Potential workaround for BitFlags<IdentityFields> TypeInfo
* Enable docs capturing for Call, Event, and Error types
* Fix IdentityFields TypeInfo
* Remove metadata-docs feature
* Add capture_docs = true for legacy Call, Event and Error types
* Fmt
* Fix metadata test type
* Update benchmarks with call struct variants
* Fmt
* More test fixes
* Fmt
* Fix benches
* Use latest capture_docs attr
* Latest scale_info
* Fmt
* review: change &Vec to &[]
* Remove pallet metadata attr
* review: remove commented out test code
* review: skip_type_params trailing comma suggestion
* Update to scale-info 0.10.0
* Update construct_runtime ui tests, different because of metadata TypeInfo impls
* Add some TypeInfo derives for UI tests
* Update storage ensure span ui stderrs
* Update call argument bound ui tests
Possibly changed because change from tuple to struct variants?
* Add scale-info dev dependency
* Update to latest finality-grandpa release
* review: missing newline
* review: missing scale-info/std
* review: remove duplicate scale-info/std
* review: remove fully qualified TypeInfo
* review: add missing scale-info/std
* review: remove unnecessary imports.
* Fmt
* Use crates.io RC version of frame-metadata
* Remove scale-info/std because it is a dev dependency
* Add missing scale_info dev-dependency for test
* Delete empty metadata folder
* Fix sp_std import
* review: improve manual UncheckedExtrinsic TypeInfo impl
* review: use full scale-info for dev-dependency
* Remove DefaultByteGetter impl
* review: derive TypeInfo for generic header
* Fmt
* Update primitives/runtime/src/generic/unchecked_extrinsic.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Update primitives/runtime/src/generic/unchecked_extrinsic.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Update bin/node/executor/Cargo.toml
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/identity/src/types.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/support/src/dispatch.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Remove redundant derive
* Simplify scale-info dependency
* Strip underscore prefix from call variant struct names
* Another underscore field
* More underscore fields
* Another underscore field
* Update to frame-metadata 14.0.0-rc.2 with combined StorageEntryType::Map
* Fmt
* Revert weights formatting
* Fix up some tests
* Fix up some tests for StorageEntryTypeMetadata
* scale-info dev dependency
* Fix test error
* Add missing TypeInfo derives
* Add back missing scale-info dependency
* Add back missing scale-info dependency
* Fix npos compact impls
* Cargo.lock
* Fmt
* Fix errors
* Fmt
* Fix renamed raw_solution field
* Fix error
* Fmt
* Fix some benchmarks
* Fmt
* Stray R
* Fix
* Add missing TypeInfos
* ui test fix
* Fix line widths
* Revert "ui test fix"
This reverts commit 2d15ec058a216e3f92d713f1174603a2bb1eac65.
* Upgrade to scale-info 0.11.0
* Revert "Upgrade to scale-info 0.11.0"
This reverts commit 047bb179085a0059c36cd20ab405f55cf0867e28.
* Add Runtime type
* Update to scale-info 0.12
* Update to scale-info 1.0
* Update frame-metadata to version 14.0.0
* Patch finality-grandpa until release available
* Fix metadata tests
* Fix metadata tests
* Fmt
* Remove patched finality-grandpa
* Fix tests, use scale_info imports
* Fix pallet tests
* Add BlockNumber TypeInfo bound
* ui test fix
* Cargo.lock
* Remove pallet metadata
* Cargo.lock
* Add missing scale-info dependency
* Remove pallet event metadata
* Fix error
* Fix collective errors
* Semicolol
* Fmt
* Remove another metadata attribute
* Add new variant to custom digest TypeInfo
* Fmt
* Cargo.lock from master
* Remove comma lol
* Fix example call error
* Fix example call error properly
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-09-15 11:40:41 +00:00
Shawn Tabrizi
250f9fc1ae
Dont Convert Benchmark Error Too Early ( #9743 )
...
* dont convert benchmark error
* fix warning
* fix more warnings
* more fixes
* more fixes
* add missing feature deps
* Update frame/election-provider-multi-phase/src/benchmarking.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Update frame/election-provider-multi-phase/src/benchmarking.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* use from
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2021-09-10 12:06:24 +00:00
GreenBaneling | Supercolony
a36e881783
Implemented seal_ecdsa_recovery function in the contract pallet ( #9686 )
...
* Implemented `seal_ecdsa_recovery` function in the contract pallet.
Added benchmark and unit test.
* Run `cargo fmt`
* Skip fmt for slices
* Changes according comments in pull request.
* Fix build without `unstable-interface` feature
* Applied suggestion from the review
* 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 >
* Changed RecoveryFailed to EcdsaRecoverFailed
* Manually updated weights.rs
* Apply suggestions from code review
Co-authored-by: Michael Müller <mich@elmueller.net >
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Michael Müller <mich@elmueller.net >
2021-09-10 11:30:56 +00:00
Alexander Theißen
a443944167
Improve instruction benchmarks ( #9712 )
...
* seal_input can be called multiple times
* Increase size of instruction benchmarks
* Remove randomness from instr_br* 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-09-09 09:12:08 +00:00