feat: add metadata specification flag to pop build for polkavm contracts #567
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a new
--metadataflag to the pop build command, allowing users to specify the contract metadata: ink! or solidity when buildingpolkavmcontracts. This flag is only available when thepolkavm-contractsfeature is enabled.Test it locally
In the Cargo.toml of your contract include:
Then, build the contract with the desired metadata format:
Closes #549
Known Limitations
[package.metadata.ink-lang] abi = "sol"section must be manually added toCargo.tomlafter generate the smart contract. Once the nextcargo-contractrelease lands, new contracts will include this by default.pop up, the CLI currently cannot deploy ink! contracts built with Solidity metadata.The approach now is:pop-cliwill automatically rebuild the contract using the default ink! metadata before deployment.