Closed SkymanOne closed 5 months ago
Attention: Patch coverage is 0%
with 13 lines
in your changes are missing coverage. Please review.
Project coverage is 53.65%. Comparing base (
cd9927a
) to head (a6a0fae
).:exclamation: Current head a6a0fae differs from pull request most recent head 8625f32. Consider uploading reports for the commit 8625f32 to get more accurate results
Files | Patch % | Lines |
---|---|---|
crates/e2e/src/drink_client.rs | 0.00% | 11 Missing :warning: |
crates/e2e/macro/src/config.rs | 0.00% | 2 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
These are the results when building the integration-tests/*
contracts from this branch with cargo-contract
and comparing them to ink! master
:
Contract | Upstream Size (kB) | PR Size (kB) | Diff (kB) | Diff (%) | Change |
---|---|---|---|---|---|
call-builder-return-value | 9.249 | 9.249 | 0 | 0 | :heavy_minus_sign: |
call-runtime | 2.071 | 2.071 | 0 | 0 | :heavy_minus_sign: |
combined-extension | 2.149 | 2.132 | -0.017 | -0.791066 | :chart_with_downwards_trend: |
conditional-compilation | 1.502 | 1.502 | 0 | 0 | :heavy_minus_sign: |
contract-storage | 7.58 | 7.58 | 0 | 0 | :heavy_minus_sign: |
contract-terminate | 1.369 | 1.369 | 0 | 0 | :heavy_minus_sign: |
contract-transfer | 1.731 | 1.731 | 0 | 0 | :heavy_minus_sign: |
cross-contract-calls | 7.732 | 7.732 | 0 | 0 | :heavy_minus_sign: |
cross-contract-calls/other-contract | 1.595 | 1.595 | 0 | 0 | :heavy_minus_sign: |
custom-allocator | 7.787 | 7.787 | 0 | 0 | :heavy_minus_sign: |
custom-environment | 2.158 | 2.158 | 0 | 0 | :heavy_minus_sign: |
dns | 7.355 | 7.355 | 0 | 0 | :heavy_minus_sign: |
e2e-call-runtime | 1.32 | 1.32 | 0 | 0 | :heavy_minus_sign: |
e2e-runtime-only-backend | 1.901 | 1.901 | 0 | 0 | :heavy_minus_sign: |
erc1155 | 14.345 | 14.345 | 0 | 0 | :heavy_minus_sign: |
erc20 | 6.955 | 6.955 | 0 | 0 | :heavy_minus_sign: |
erc721 | 10.044 | 10.044 | 0 | 0 | :heavy_minus_sign: |
events | 5.27 | 5.27 | 0 | 0 | :heavy_minus_sign: |
flipper | 1.651 | 1.651 | 0 | 0 | :heavy_minus_sign: |
incrementer | 1.516 | 1.516 | 0 | 0 | :heavy_minus_sign: |
lang-err-integration-tests/call-builder-delegate | 2.65 | 2.65 | 0 | 0 | :heavy_minus_sign: |
lang-err-integration-tests/call-builder | 5.571 | 5.571 | 0 | 0 | :heavy_minus_sign: |
lang-err-integration-tests/constructors-return-value | 1.997 | 1.997 | 0 | 0 | :heavy_minus_sign: |
lang-err-integration-tests/contract-ref | 5.062 | 5.062 | 0 | 0 | :heavy_minus_sign: |
lang-err-integration-tests/integration-flipper | 1.827 | 1.827 | 0 | 0 | :heavy_minus_sign: |
lazyvec-integration-test | 4.66 | 4.66 | 0 | 0 | :heavy_minus_sign: |
mapping-integration-tests | 8.036 | 8.036 | 0 | 0 | :heavy_minus_sign: |
mother | 12.753 | 12.753 | 0 | 0 | :heavy_minus_sign: |
multi-contract-caller | 6.654 | 6.654 | 0 | 0 | :heavy_minus_sign: |
multi-contract-caller/accumulator | 1.388 | 1.388 | 0 | 0 | :heavy_minus_sign: |
multi-contract-caller/adder | 1.922 | 1.922 | 0 | 0 | :heavy_minus_sign: |
multi-contract-caller/subber | 1.942 | 1.942 | 0 | 0 | :heavy_minus_sign: |
multisig | 21.871 | 21.871 | 0 | 0 | :heavy_minus_sign: |
payment-channel | 5.742 | 5.742 | 0 | 0 | :heavy_minus_sign: |
psp22-extension | 7.083 | 7.083 | 0 | 0 | :heavy_minus_sign: |
rand-extension | 2.977 | 2.977 | 0 | 0 | :heavy_minus_sign: |
sr25519-verification | 1.154 | 1.154 | 0 | 0 | :heavy_minus_sign: |
static-buffer | 2.578 | 2.578 | 0 | 0 | :heavy_minus_sign: |
trait-dyn-cross-contract-calls | 2.899 | 2.899 | 0 | 0 | :heavy_minus_sign: |
trait-dyn-cross-contract-calls/contracts/incrementer | 1.557 | 1.557 | 0 | 0 | :heavy_minus_sign: |
trait-erc20 | 7.331 | 7.331 | 0 | 0 | :heavy_minus_sign: |
trait-flipper | 1.502 | 1.502 | 0 | 0 | :heavy_minus_sign: |
trait-incrementer | 1.626 | 1.626 | 0 | 0 | :heavy_minus_sign: |
upgradeable-contracts/delegator | 3.96 | 3.96 | 0 | 0 | :heavy_minus_sign: |
upgradeable-contracts/delegator/delegatee | 1.641 | 1.641 | 0 | 0 | :heavy_minus_sign: |
upgradeable-contracts/delegator/delegatee2 | 1.641 | 1.641 | 0 | 0 | :heavy_minus_sign: |
upgradeable-contracts/set-code-hash-migration | 1.755 | 1.755 | 0 | 0 | :heavy_minus_sign: |
upgradeable-contracts/set-code-hash-migration/migration | 1.462 | 1.462 | 0 | 0 | :heavy_minus_sign: |
upgradeable-contracts/set-code-hash-migration/updated-incrementer | 1.909 | 1.909 | 0 | 0 | :heavy_minus_sign: |
upgradeable-contracts/set-code-hash | 1.755 | 1.755 | 0 | 0 | :heavy_minus_sign: |
upgradeable-contracts/set-code-hash/updated-incrementer | 1.733 | 1.733 | 0 | 0 | :heavy_minus_sign: |
wildcard-selector | 2.858 | 2.858 | 0 | 0 | :heavy_minus_sign: |
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 Ink
, rustc
, pallet_contracts
, and cargo-contract
. WDYT?
I think it would make sense to add to the release notes information about compatibility between
Ink
,rustc
,pallet_contracts
, andcargo-contract
. WDYT?
Good idea. Will do
We definitely need https://github.com/paritytech/ink/pull/2132 in here @pgherveou
We definitely need #2132 in here @pgherveou
this also depends on the drink PR https://github.com/inkdevhub/drink/pull/110.
- cargo-contract:
>=4.0.0-rc.3
I think cargo-contract: >=4.0.0-rc.3, >=5.0.0
- cargo-contract:
>=4.0.0-rc.3
I think cargo-contract: >=4.0.0-rc.3, >=5.0.0
Where does >=5.0.0
come from? We are also releasing c-c
4.0.0 which is backward compat with 4.0.0-rc.3
My mistake, it should be >=4.0.0-rc.3, >=4.0.0
I remember that in semantic versioning, pre-release version ranges like >=4.0.0-rc.3
do not match stable release versions like 4.0.0
. I think that to correctly express the dependencies, we should have >=4.0.0-rc.3
, >=4.0.0
. But this is a minor issue.
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:
cargo-contract
will 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.70
cargo-contract
:>=4.0.0
polkadot-js/api
andpolkadot-js/api-contract
:>=10.12.1
substrate-contracts-node
:>= 0.39.0
Changelog
Added
instantiate_v2
with additional limit parameters #2123non_fallible_api
lint - #2004create_call_builder
for testing existing contracts - #2075call_v2
cross-contract calls with additional limit parameters - #2077delegate_dependency
api calls - #2076set_code_hash
generic - #1906StorageVec
datastructure built on top ofLazy
- #1995Mapping
andLazy
- #1910storage_never_freed
lint - #1932strict_balance_equality
lint - #1914no_main
lint - #2001scale
dependencies, introduce#[ink::scale_derive]
- #1890sr25519_verify
function toink_env
#18402.0
- #1827set_block_number
to off-chain test apiEngine
- #1806call_runtime
‒ #1749E2EBackend
trait - #1867Changed
anonymous
ink! event item configuration argument - #2140MaxEncodedLen
for output buffer size #2128Mapping
: Reflect all possible failure cases in comments ‒ #2079.call
to.call_builder
‒ #2078runtime_only
attribute argument - #2083additional_contracts
parameter #2098TypeSpec
directly - #1999#[ink::chain_extension]
macro and the definition of the chain extension.ink_linting
to mandatory and extra libraries - #2032drink
API - #2005scale
dependencies, introduce#[ink::scale_derive]
‒ #1890decode_all
for decoding cross contract call result - #1810build_message
+ callback - #1782Fixed
StorageVec
type by excluding thelen_cached
field from its type info - #2052approve_for
in the ERC-721 example - #2092transfer_token_from
now ensures the token owner is correct - #2093RootLayout::new()
is generic again to allow usingink_metadata
in purePortableForm
contexts - #1989