PG Herveou
b6231c79ca
Contracts: Refactor API to use WeightMeter ( #2943 )
...
Update the Contracts API to use `WeightMeter`, as it simplifies the code
and makes it easier to reason about, rather than taking a mutable weight
or returning a tuple with the weight consumed
---------
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2024-04-09 10:22:54 +00:00
Liam Aharon
12ce4f7d04
Runtime Upgrade ref docs and Single Block Migration example pallet ( #1554 )
...
Closes https://github.com/paritytech/polkadot-sdk-docs/issues/55
- Changes 'current storage version' terminology to less ambiguous
'in-code storage version' (suggestion by @ggwpez)
- Adds a new example pallet `pallet-example-single-block-migrations`
- Adds a new reference doc to replace
https://docs.substrate.io/maintain/runtime-upgrades/ (temporarily living
in the pallet while we wait for developer hub PR to merge)
- Adds documentation for the `storage_alias` macro
- Improves `trait Hooks` docs
- Improves `trait GetStorageVersion` docs
- Update the suggested patterns for using `VersionedMigration`, so that
version unchecked migrations are never exported
- Prevents accidental usage of version unchecked migrations in runtimes
https://github.com/paritytech/substrate/pull/14421#discussion_r1255467895
- Unversioned migration code is kept inside `mod version_unchecked`,
versioned code is kept in `pub mod versioned`
- It is necessary to use modules to limit visibility because the inner
migration must be `pub`. See
https://github.com/rust-lang/rust/issues/30905 and
https://internals.rust-lang.org/t/lang-team-minutes-private-in-public-rules/4504/40
for more.
### todo
- [x] move to reference docs to proper place within sdk-docs (now that
https://github.com/paritytech/polkadot-sdk/pull/2102 is merged)
- [x] prdoc
---------
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Juan <juangirini@gmail.com >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: command-bot <>
Co-authored-by: gupnik <nikhilgupta.iitk@gmail.com >
2024-02-28 07:32:02 +00:00
Juan
878c562cd4
Restructure frame_support macro related exports ( #14745 )
...
* make reexports private
* make reexports private 2
* make reexports private for runtime-benchmarking
* make reexports private for try-runtime
* fix for try-runtime
* make reexports private for tests
* fmt
* make reexports private for tests
* make reexports private for experimental
* fix beefy
* fix ui test
* fix ui test
* fix benches
* ".git/.scripts/commands/fmt/fmt.sh"
* fix contracts use
* wip
* wip
* do not reexport sp_api::metadata_ir
* fix CI checks
* fix support tests
* ".git/.scripts/commands/fmt/fmt.sh"
* Update frame/support/src/lib.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* import codec directly
* fmt
* fix node-cli tests
---------
Co-authored-by: command-bot <>
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-08-23 12:30:12 +00:00
PG Herveou
d3ef2badcb
contracts: Refactor instantiate with code ( #14503 )
...
* wip
* fixes
* rm comment
* join fns
* clippy
* Fix limits
* reduce diff
* fix
* fix
* fix typo
* refactor store to use self
* refactor run to take self by value
* pass tests
* rm comment
* fixes
* fix typo
* rm
* fix fmt
* clippy
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts
* Update frame/contracts/src/lib.rs
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
* Update frame/contracts/src/wasm/mod.rs
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
* Update frame/contracts/src/wasm/mod.rs
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
* PR review, rm duplicate increment_refcount
* PR review
* Update frame/contracts/src/wasm/prepare.rs
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
* Add test for failing storage_deposit
* fix lint
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts
---------
Co-authored-by: command-bot <>
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
2023-07-07 13:46:16 +00:00
PG Herveou
6ac8537436
Update contract multi-block migration ( #14313 )
...
* move migrate sequence to config
* remove commented out code
* Update frame/contracts/src/lib.rs
Co-authored-by: PG Herveou <pgherveou@gmail.com >
* remove Migrations generic
* make runtime use noop migrations
* restrict is_upgrade_supported
* Update contract multi-block migration
Ensure that we do as many steps as possible given the weight limit passed to on_idle
* undo is_upgrade_supported change
* Update bin/node/runtime/src/lib.rs
Co-authored-by: PG Herveou <pgherveou@gmail.com >
* wip
* fix comment (#14316 )
* fix test
* fix
* Update frame/contracts/src/migration.rs
Co-authored-by: Juan <juangirini@gmail.com >
* fix test doc
* Apply suggestions from code review
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
* Fix compilation with feature runtime-benchmarks
* fix example
* fix cargo doc --document-private-items
* private links
* Remove dup comment
* add doc for MigrationInProgress
* PR review remove duplicate asserts
* simplify upper bound
* fix link
* typo
* typo
* no unwrap()
* correct log message
* missing
* fix typo
* PR comment
* Add example with single element tuple
* Improve migration message
* Update frame/contracts/src/benchmarking/mod.rs
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
* Update frame/contracts/src/migration.rs
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
* Update frame/contracts/src/migration.rs
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
* use saturating_accrue instead of +=
* add more doc
* Contracts: Better migration types (#14418 )
* Add explicit error, if try-runtime runs a noop migration
* use mut remaining_weight
---------
Co-authored-by: Juan Girini <juangirini@gmail.com >
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
2023-06-20 13:16:28 +00:00
PG Herveou
c7c5fc709c
contracts: Multi block migrations ( #14045 )
...
* Frame Add translate_next
This works similarly to to `translate` but only translate a single entry.
This function will be useful in the context of multi-block migration.
* Move to lazy migration
* Updates
* simplify MockMigration
* wip
* wip
* add bench
* add bench
* fmt
* fix bench
* add .
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Scalfold v10 / v11 fix tests
* PR comment
* tweak pub use
* wip
* wip
* wip
* misc merge master
* misc merge master
* wip
* rm tmp stuff
* wip
* wip
* wip
* wip
* wip
* fixes
* add state
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* fix
* fixed compilation
* clean up logs
* wip
* Revert "Frame Add translate_next"
This reverts commit 10318fc95c42b1f7f25efeb35e6d947ea02bed88.
* Fix v10 logic
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* wip
* fixes
* exercise del_queue
* bump sample size
* fmt
* wip
* blank line
* fix lint
* fix rustdoc job lint
* PR comment do not use dangerous into()
* Ad macros for updating mod visibility
* Add doc
* Add max_weight to integrity_test
* fix compilation
* Add no migration tests
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts
* fix clippy
* PR review
* Update frame/contracts/src/lib.rs
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
* Fix master merge
* fix merge 2
* fix tryruntime
* fix lint
---------
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: command-bot <>
Co-authored-by: Sasha Gryaznov <hi@agryaznov.com >
2023-05-31 14:19:31 +00:00