Expand description
§Contracts MBM
Multi block migrations decommissioning pallet-contracts (ink!/Wasm smart contracts) from the
Astar, Shiden & Shibuya runtimes. Staged over two runtime upgrades:
- (shipped)
ReleaseContractsDeposits- settled every balance the pallet still held. It had to complete before the pallet index was dropped, otherwise those holds would have become undecodable and the funds frozen for good. Removed here, along with the pallet: without theRuntimeHoldReason::Contractsvariant there is nothing left for it to match on. PurgeContractsChildTriesthenRemovePalletStepped- purge the contract child tries and the leftover pallet prefixes, in that order.
Both are size aware: every value is measured before it is deleted and charged through
benchmarked, size dependent weights, so a run of large values (Contracts::PristineCode blobs,
up to 123 KiB each) cannot produce a PoV oversized block.
Re-exports§
pub use weights::WeightInfo;pub use pallet::*;
Modules§
- pallet
- The
palletmodule in each FRAME pallet hosts the most important items needed to construct this pallet. - weights
- Autogenerated weights for
contracts_mbm
Structs§
- Purge
Contracts Child Tries - Purges the child tries owned by the decommissioned
pallet-contracts, and hands back the consumer references it took on contract accounts. - Remove
Pallet Stepped - Multi block variant of
frame_support::migrations::RemovePallet.
Constants§
- CONTRACT_
INFO_ OF pallet-contractsstorage holding the info (starting with thetrie_id) of live contracts.- DELETION_
QUEUE pallet-contractsstorage holding thetrie_ids of contracts pending lazy deletion.- MAX_
KEYS_ PER_ STEP - Hard cap on the number of storage keys touched in a single step.
- TRIE_
ID_ LEN - Exact length of a
pallet-contractstrie_id.