Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2133 +/- ##
==========================================
- Coverage 53.75% 53.65% -0.10%
==========================================
Files 224 225 +1
Lines 7084 7095 +11
Branches 3129 3129
==========================================
- Hits 3808 3807 -1
- Misses 3276 3288 +12 ☔ View full report in Codecov by Sentry. |
🦑 📈 ink! Example Contracts ‒ Changes Report 📉 🦑These are the results when building the
Link to the run | Last update: Tue Mar 12 19:23:43 CET 2024 |
|
I think it would make sense to add to the release notes information about compatibility between |
Good idea. Will do |
|
We definitely need #2132 in here @pgherveou |
this also depends on the drink PR use-ink/drink#110. |
I think |
Where does |
|
My mistake, it should be >=4.0.0-rc.3, >=4.0.0 |
Co-authored-by: Michael Müller <[email protected]>
Note that there is a breaking API change in this commit The new syntax to specify a custom sandbox is now: ```diff - #[ink_e2e::test(backend(runtime_only(runtime = ink_e2e::MinimalRuntime)))] + #[ink_e2e::test(backend(runtime_only(sandbox = ink_e2e::MinimalSandbox)))] ```
Summary
This is a release addressing the rest of the severities described in the OpenZeppelin security review of ink! and
cargo-contract.One of the notable addressed issues is the proxy selector clashing attack.
As of this release, ink! only allows exactly one other message with a well-known reserved selector to be defined.
You can read more about the change in the #1827 and #2031.
ink! 5.0.0 features a significant number of new features:
to build even more sophisticated and advanced contracts for supported chains - #1958.
we have disallowed unchecked arithmetic expressions.
cargo-contractwill fail to compile the contract with the raw arithmetic operation - #1831.These are the main features we have introduced in this release. We also encourage developers to have a look at more detailed changelog entries to find out about any breaking changes that may affect the development of new ink! contracts.
We have created a migration guide from ink! 4 to ink! 5. It also contains an overview over all breaking changes and newly added features.
You can view it here.
Compatability
>=1.70cargo-contract:>=4.0.0polkadot-js/apiandpolkadot-js/api-contract:>=10.12.1substrate-contracts-node:>= 0.39.0Changelog
Added
instantiate_v2with additional limit parameters #2123non_fallible_apilint - #2004create_call_builderfor testing existing contracts - #2075call_v2cross-contract calls with additional limit parameters - #2077delegate_dependencyapi calls - #2076set_code_hashgeneric - #1906StorageVecdatastructure built on top ofLazy- #1995MappingandLazy- #1910storage_never_freedlint - #1932strict_balance_equalitylint - #1914no_mainlint - #2001scaledependencies, introduce#[ink::scale_derive]- #1890sr25519_verifyfunction toink_env#18402.0- #1827set_block_numberto off-chain test apiEngine- #1806call_runtime‒ #1749E2EBackendtrait - #1867Changed
anonymousink! event item configuration argument - #2140MaxEncodedLenfor output buffer size #2128Mapping: Reflect all possible failure cases in comments ‒ #2079.callto.call_builder‒ #2078runtime_onlyattribute argument - #2083additional_contractsparameter #2098TypeSpecdirectly - #1999#[ink::chain_extension]macro and the definition of the chain extension.ink_lintingto mandatory and extra libraries - #2032drinkAPI - #2005scaledependencies, introduce#[ink::scale_derive]‒ #1890decode_allfor decoding cross contract call result - #1810build_message+ callback - #1782Fixed
StorageVectype by excluding thelen_cachedfield from its type info - #2052approve_forin the ERC-721 example - #2092transfer_token_fromnow ensures the token owner is correct - #2093RootLayout::new()is generic again to allow usingink_metadatain purePortableFormcontexts - #1989