use-ink / link

Unstoppable URL shortener built with the ink! smart contract language.
https://tiny.ink
Apache License 2.0
29 stars 8 forks source link

Bump ink_primitives from 3.3.1 to 4.0.0 in /contract #187

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Bumps ink_primitives from 3.3.1 to 4.0.0.

Release notes

Sourced from ink_primitives's releases.

v4.0.0

Version 4.0.0

The latest stable release of ink! is here 🥳

This version brings a lot of usability improvements, making the language better suited for the needs of production parachains.

A couple of highlights include:

  • Changes to how contract storage works, which significantly reduced the sizes of contract binaries
  • A new end-to-end testing framework, letting you easily write integration tests
  • Changes to the metadata format, which (in part) makes error handling more expressive

There's a lot more to dig through, so take some time to poke around the CHANGELOG (including the 4.0.0-alpha and 4.0.0-beta releases).

You may notice there have been a few breaking changes. No need to be scared though, we wrote up a migration guide covering all of the breaking changes and how to update your ink! 3.x contract accordingly.

Thanks to everyone that helped make this release possible ❤️

Compatibility

In order to build contracts which use ink! v4.0.0 you need to use cargo-contract v2.0.0. You can install it as follows:

cargo install cargo-contract --forced --locked

You will also need to use a version of pallet-contracts later than polkadot-v0.9.37 in your node.

The v0.24.0 release of the substrate-contracts-node is compatible with the ink! 4.0.0 release.

For full compatibility requirements see the migration guide.

Added

  • Add Mapping::contains(key) and Mapping::insert_return_size(key, val)#1224
  • Add payment-channel example ‒ #1248 (thanks @​kanishkatn!)
  • Add version field to ink! metadata ‒ #1313
  • The rand-extension example has been adapted to an updated version of the ChainExtension API ‒ #1356
  • Add ink_env::pay_with_call! helper macro for off-chain emulation of sending payments with contract message calls ‒ #1379
  • Allow using Result<Self, Error> as a return type in constructors ‒ #1446
  • Add Mapping::take() function allowing to get a value removing it from storage ‒ #1461
  • Add E2E testing framework MVP ‒ #1395
  • Add E2E tests for Mapping functions - #1492
  • E2E: expose call dry-run method ‒ #1624
  • Make cross-contract callee non-optional ‒ #1636
  • Support custom environment in E2E tests - #1645 (thanks @​pmikolajczyk41!)

Changed

  • Contract size optimization in case contract doesn't accept payment ‒ #1267 (thanks @​xgreenx!)
  • Move ink! linter into ink repository ‒ #1361
  • Introduce ink entrance crate ‒ #1223
  • Use XXH32 instead of sha256 for calculating storage keys ‒ #1393

... (truncated)

Changelog

Sourced from ink_primitives's changelog.

Version 4.0.0

The latest stable release of ink! is here 🥳

This version brings a lot of usability improvements, making the language better suited for the needs of production parachains.

A couple of highlights include:

  • Changes to how contract storage works, which significantly reduced the sizes of contract binaries
  • A new end-to-end testing framework, letting you easily write integration tests
  • Changes to the metadata format, which (in part) makes error handling more expressive

There's a lot more to dig through, so take some time to poke around the CHANGELOG (including the 4.0.0-alpha and 4.0.0-beta releases).

You may notice there have been a few breaking changes. No need to be scared though, we wrote up a migration guide covering all of the breaking changes and how to update your ink! 3.x contract accordingly.

Thanks to everyone that helped make this release possible ❤️

Compatibility

In order to build contracts which use ink! v4.0.0 you need to use cargo-contract v2.0.0. You can install it as follows:

cargo install cargo-contract --forced --locked

You will also need to use a version of pallet-contracts later than polkadot-v0.9.37 in your node.

The v0.24.0 release of the substrate-contracts-node is compatible with the ink! 4.0.0 release.

For full compatibility requirements see the migration guide.

Added

  • Add Mapping::contains(key) and Mapping::insert_return_size(key, val)#1224
  • Add payment-channel example ‒ #1248 (thanks @​kanishkatn!)
  • Add version field to ink! metadata ‒ #1313
  • The rand-extension example has been adapted to an updated version of the ChainExtension API ‒ #1356
  • Add ink_env::pay_with_call! helper macro for off-chain emulation of sending payments with contract message calls ‒ #1379
  • Allow using Result<Self, Error> as a return type in constructors ‒ #1446
  • Add Mapping::take() function allowing to get a value removing it from storage ‒ #1461
  • Add E2E testing framework MVP ‒ #1395

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
netlify[bot] commented 1 year ago

Deploy Preview for inklink canceled.

Name Link
Latest commit 8abe7e37286b53da647aacd19707f8b215a53b57
Latest deploy log https://app.netlify.com/sites/inklink/deploys/63ed650e29b6a20008b92049
dependabot[bot] commented 1 year ago

Superseded by #198.