ink! 3.0.0 RC 3
Pre-release
Pre-release
Version 3.0-rc3 (2021-03-02)
This is the 3rd release candidate for ink! 3.0.
The list below shows the additions, changes and fixes that are visible to users of ink!.
Compatibility
ink! 3.0-rc3 is compatible with
- The
cargo-contractCLI tool version0.9.1or newer.- Install newest version using
cargo install --force cargo-contract.
- Install newest version using
- Substrate version
3.0including thecontracts-palletversion3.0.
Added
- Implemented chain extensions feature for ink!.
- ink!'s official documentation portal: https://paritytech.github.io/ink-docs/
- It is now possible to pass a
saltargument to contract instantiations. - Implemented fuzz testing for the ink! codebase.
Changed
- Migrate
ink_storage::SmallVecandink_storage::lazy::SmallLazyArrayto usemin_const_generics.- The
min_const_genericsfeature is going to be stabilized in Rust 1.51. For now it was put behind
theink-unstablecrate feature of theink_storagecrate.
- The
- Improve error reporting for conflicting ink! attributes.
- Improve error reporting for invalid constructor or message selector. (#561)
- Remove
iter_mutforink_storage::BinaryHeapdata structure. - Add documented demonstration how to properly mock
transferred_balancecalls: #555 - Add contract example which uses
ext_transferandext_terminate: #554 - Improve documentation of
transferandminimum_balanceAPIs: #540
Fixed
- The Delegator example contract now compiles properly using the
build-all.shbash script. - Update crate dependencies:
scale-info 0.6parity-scale-codec 2.0rand 0.8itertools 0.10
- Remove unused
tiny-keccakdependency fromink_primitives. - Changed the default
BlockNumbertype tou32. This is a fix since it now properly mirrors Substrate's defaultBlockNumbertype. - Ensure topics are unique: #594
- Several fixes for
ink_storagedata structures, including: