* contracts: Expose rent parameter to contracts * cargo run --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 typos * Improve comments * Add rent parameter weights * Allow deploying a new schedule with the same version * Add storage migration for new schedule * Only decode the schedule version in storage migration * Remove confusing docs * Replace original_code_len() by aggregate_code_len() Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
3.3 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
The semantic versioning guarantees cover the interface to the substrate runtime which includes this pallet as a dependency. This module will also add storage migrations whenever changes require it. Stability with regard to offchain tooling is explicitly excluded from this guarantee: For example adding a new field to an in-storage data structure will require changes to frontends to properly display it. However, those changes will still be regarded as a minor version bump.
The interface provided to smart contracts will adhere to semver with one exception: Even major version bumps will be backwards compatible with regard to already deployed contracts. In other words: Upgrading this pallet will not break pre-existing contracts.
[Unreleased]
Added
- Add
seal_rent_paramscontract callable function.
[v3.0.0] 2021-02-25
This version constitutes the first release that brings any stability guarantees (see above).
Added
-
Emit an event when a contract terminates (self-destructs). 1
-
Charge rent for code stored on the chain in addition to the already existing rent that is payed for data storage. 1
-
Allow the runtime to configure per storage item costs in addition to the already existing per byte costs. 1
-
Contracts are now deleted lazily so that the user who removes a contract does not need to pay for the deletion of the contract storage. 1
-
Allow runtime authors to define chain extensions in order to provide custom functionality to contracts. 1 2
-
Proper weights which are fully automated by benchmarking. 1 2 3
Changes
-
Collect the rent for one block during instantiation. 1
-
Instantiation takes a
saltargument to allow for easier instantion of the same code by the same sender. 1 -
Improve the information returned by the
contracts_callRPC. 1 -
Simplify the node configuration necessary to add this module. 1