ethers-solc: add immutableReferences output selector (#1523)
* ethers-solc: add immutableReferences output selector It is a property on the deployed bytecode object on the compiler output. This is the precursor for `forge inspect <contract-name> immutableReferences`. * chore: update changelog
This commit is contained in:
parent
81a2a5ed68
commit
16f686df26
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
### Unreleased
|
### Unreleased
|
||||||
|
|
||||||
|
- Add `evm.deployedBytecode.immutableReferences` output selector [#1523](https://github.com/gakonst/ethers-rs/pull/1523)
|
||||||
- Added `get_erc1155_token_transfer_events` function for etherscan client [#1503](https://github.com/gakonst/ethers-rs/pull/1503)
|
- Added `get_erc1155_token_transfer_events` function for etherscan client [#1503](https://github.com/gakonst/ethers-rs/pull/1503)
|
||||||
- Add support for Geth `debug_traceTransaction` [#1469](https://github.com/gakonst/ethers-rs/pull/1469)
|
- Add support for Geth `debug_traceTransaction` [#1469](https://github.com/gakonst/ethers-rs/pull/1469)
|
||||||
- Use correct, new transaction type for `typool_content` RPC endpoint [#1501](https://github.com/gakonst/ethers-rs/pull/1501)
|
- Use correct, new transaction type for `typool_content` RPC endpoint [#1501](https://github.com/gakonst/ethers-rs/pull/1501)
|
||||||
|
|
|
@ -427,6 +427,7 @@ pub enum DeployedBytecodeOutputSelection {
|
||||||
SourceMap,
|
SourceMap,
|
||||||
LinkReferences,
|
LinkReferences,
|
||||||
GeneratedSources,
|
GeneratedSources,
|
||||||
|
ImmutableReferences,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Serialize for DeployedBytecodeOutputSelection {
|
impl Serialize for DeployedBytecodeOutputSelection {
|
||||||
|
@ -465,6 +466,9 @@ impl fmt::Display for DeployedBytecodeOutputSelection {
|
||||||
DeployedBytecodeOutputSelection::GeneratedSources => {
|
DeployedBytecodeOutputSelection::GeneratedSources => {
|
||||||
f.write_str("evm.deployedBytecode.generatedSources")
|
f.write_str("evm.deployedBytecode.generatedSources")
|
||||||
}
|
}
|
||||||
|
DeployedBytecodeOutputSelection::ImmutableReferences => {
|
||||||
|
f.write_str("evm.deployedBytecode.immutableReferences")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -487,6 +491,9 @@ impl FromStr for DeployedBytecodeOutputSelection {
|
||||||
"evm.deployedBytecode.generatedSources" => {
|
"evm.deployedBytecode.generatedSources" => {
|
||||||
Ok(DeployedBytecodeOutputSelection::GeneratedSources)
|
Ok(DeployedBytecodeOutputSelection::GeneratedSources)
|
||||||
}
|
}
|
||||||
|
"evm.deployedBytecode.immutableReferences" => {
|
||||||
|
Ok(DeployedBytecodeOutputSelection::ImmutableReferences)
|
||||||
|
}
|
||||||
s => Err(format!("Invalid deployedBytecode selection: {}", s)),
|
s => Err(format!("Invalid deployedBytecode selection: {}", s)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -573,4 +580,13 @@ mod tests {
|
||||||
let s = serde_json::to_string(&empty).unwrap();
|
let s = serde_json::to_string(&empty).unwrap();
|
||||||
assert_eq!(s, r#"{"contract.sol":{"*":[]}}"#);
|
assert_eq!(s, r#"{"contract.sol":{"*":[]}}"#);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn deployed_bytecode_from_str() {
|
||||||
|
assert_eq!(
|
||||||
|
DeployedBytecodeOutputSelection::from_str("evm.deployedBytecode.immutableReferences")
|
||||||
|
.unwrap(),
|
||||||
|
DeployedBytecodeOutputSelection::ImmutableReferences
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue