drink icon indicating copy to clipboard operation
drink copied to clipboard

feat: uplift dependencies and update to support `ink-v6.0.0-alpha`

Open chungquantin opened this issue 8 months ago • 0 comments

The PR uplift all dependencies to use latest version of ink! crate (v6.0.0) and migrate all code logic to support pallet-revive. Key critical changes made:

  • With the removal of type Debug in ChainExtension, the feature to mock contract calls fail completely and requires alternative approach using tracing API to support the feature.
  • Migrate examples/quick-start-with-drink to test with tracing API instead of decoding debug_message (which is removed in revive).
  • Expected failed test examples/chain-extension due to the private Memory trait in a private wasm module.

Environment Setup

Required rustc version:

stable-aarch64-apple-darwin
rustc 1.86.0 (05f9846f8 2025-03-31)

Examples Tracking

  • [x] examples/contract-events
  • [x] examples/cross-contract-call-tracing
  • [x] examples/dry-running
  • [x] examples/flipper
  • [ ] examples/mocking: Need to implement alternative approach without type Debug in ChainExtension
  • [ ] examples/quick-start-with-drink: Need to migrate to tracing API.
  • [x] examples/runtime-interaction
  • [x] examples/multiple-contracts

TO BE FIXED

  • [ ] Issue: https://github.com/use-ink/drink/issues/140 |examples/chain-extension: Current issue is the Memory trait in pallet-revive is required for the implementation of the chain extension but the Memory trait is in wasm module which is not exported as public. In the chain extension implementation of Pop Network, we forked the pallet-revive and modified it. Probably deprecated in the future with the introduction of precompiles.

chungquantin avatar Apr 17 '25 05:04 chungquantin