Content-Length: 220773 | pFad | http://github.com/polkadot-js/api/issues/6149

59 api-contracts: Support ink! v6 and pallet-revive · Issue #6149 · polkadot-js/api · GitHub
Skip to content

api-contracts: Support ink! v6 and pallet-revive #6149

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
AlexD10S opened this issue May 19, 2025 · 1 comment
Open

api-contracts: Support ink! v6 and pallet-revive #6149

AlexD10S opened this issue May 19, 2025 · 1 comment

Comments

@AlexD10S
Copy link

AlexD10S commented May 19, 2025

The upcoming release of ink! v6 (currently available as an alpha for early developers) introduces significant changes, including a migration from pallet-contracts (Wasm-based) to pallet-revive (RISC-V based).

Currently, the api-contracts package only supports interaction with pallet-contracts. To support ink! v6, it will need to be updated to interact with pallet-revive, which also introduces a change in the contract address format (AccountId20).

We’ve started experimenting with the changes internally to get a feel for how things might look.: https://github.com/use-ink/polkadot-js-api/pull/1/files

The main differences involve switching the pallet interaction from pallet-contracts to pallet-revive, and adjusting to the new contract address format (AccountId20).

These changes would make the updated code compatible only with ink! v6, and not with ink! v5 (which depends on pallet-contracts).

Happy to collaborate and help with the implementation but I’d love to hear your thoughts on the best approach moving forward:

  • Should we update the existing api-contracts to support only ink! v6 (pallet-revive), dropping support for pallet-contracts?

  • Should we introduce a new package (e.g., api-revive) that mirrors api-contracts but is tailored specifically for ink! v6?

  • Alternatively, should we add new components for pallet-revive within the same library. For example creating a CodePromiseRevive (similar to CodePromise)?

@valentinfernandez1
Copy link
Contributor

Hi @AlexD10S thank you for the initiative, I'd say that ideally we want to keep this backwards compatible so I'd go for alternative 3. Add new code to the contracts package.

Additionally we don't want to mess too much with the interface that is exposed to the developer, that should be abstracted as much as possible, meaning that for example instead of creating a CodePromiseRevive the current CodePromise should be able to handle both cases depending on the version of ink!.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/polkadot-js/api/issues/6149

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy