Open
Description
The tooling around compiler needs to parse the metadata and does not expect keccak256
as bytecode hash.
Context:
In solidity we have bytecode hash and metadata hash
Solidity bytecode hash can have the following values:
Ipfs,
None,
Bzzr1,
In revive probably we do not have metadata hash (solidity adds metadata hash to bytecode)
I looks that we are using as bytecode hash the Polkavm::MetadataHash
pub enum MetadataHash {
/// Do not include bytecode hash.
#[serde(rename = "none")]
None,
/// The default keccak256 hash.
#[serde(rename = "keccak256")]
Keccak256,
}
This suggests that Revive is using PolkaVM::MetadataHash instead of the Solidity-defined bytecode hash options, which might cause compatibility issues with Solidity tooling.