-
Notifications
You must be signed in to change notification settings - Fork 121
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
Target pallet-revive
/PolkaVM instead of pallet-contracts
/Wasm
#1910
Conversation
…default-to-revive
pallet-revive
pallet-revive
c98bd47
to
bfc62d9
Compare
pallet-revive
pallet-revive
/PolkaVM instead of pallet-contracts
/Wasm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can get rid of this file and just use:
https://docs.rs/polkavm-linker/latest/polkavm_linker/fn.target_json_64_path.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@athei Thanks for the note! I saw your comment on another PR of mine on this file a while ago :-). Didn't forget, just didn't get around to it yet.
This PR moves
cargo-contract
from compiling contracts to WebAssembly for Substrate'spallet-contracts
module to compiling contracts to PolkaVM for Substrate'spallet-revive
module.It's a big breaking change. With this PR we are moving towards the next major release of both ink! and
cargo-contract
(version 6). From v6 on these tools which will no longer support Wasm/pallet-contracts
.Compatibility
The PR uses the version of
polkadot-sdk
(so alsopallet-revive
) from commit645878a27115db52e5d63115699b4bbb89034067
.It works with ink!
master
(which at the time of writing is this commit) and this version ofsubstrate-contracts-node
:Next Steps
The PR doesn't leave the code in a perfect state, there are still a lot of todo's in the code. I've disabled some individual tests for now, as they require more work. I'm merging the PR to have a base to work off and synchronize work with others.
The PR contains a lot of breaking changes that will eventually be documented in more verbatim form in the release notes and this migration guide.