Struct ethers_etherscan::contract::Metadata
source · pub struct Metadata {Show 13 fields
pub source_code: SourceCodeMetadata,
pub abi: String,
pub contract_name: String,
pub compiler_version: String,
pub optimization_used: u64,
pub runs: u64,
pub constructor_arguments: Bytes,
pub evm_version: String,
pub library: String,
pub license_type: String,
pub proxy: u64,
pub implementation: Option<Address>,
pub swarm_source: String,
}
Expand description
Etherscan contract metadata.
Fields§
§source_code: SourceCodeMetadata
Includes metadata for compiler settings and language.
abi: String
The ABI of the contract.
contract_name: String
The name of the contract.
compiler_version: String
The version that this contract was compiled with. If it is a Vyper contract, it will start with “vyper:”.
optimization_used: u64
Whether the optimizer was used. This value should only be 0 or 1.
runs: u64
The number of optimizations performed.
constructor_arguments: Bytes
The constructor arguments the contract was deployed with.
evm_version: String
The version of the EVM the contract was deployed in. Can be either a variant of EvmVersion or “Default” which indicates the compiler’s default.
library: String
§license_type: String
The license of the contract.
proxy: u64
Whether this contract is a proxy. This value should only be 0 or 1.
implementation: Option<Address>
If this contract is a proxy, the address of its implementation.
swarm_source: String
The swarm source of the contract.
Implementations§
source§impl Metadata
impl Metadata
sourcepub fn source_code(&self) -> String
pub fn source_code(&self) -> String
Returns the contract’s source code.
sourcepub fn language(&self) -> SourceCodeLanguage
pub fn language(&self) -> SourceCodeLanguage
Returns the contract’s programming language.
sourcepub fn sources(&self) -> HashMap<String, SourceCodeEntry>
pub fn sources(&self) -> HashMap<String, SourceCodeEntry>
Returns the contract’s path mapped source code.
sourcepub fn raw_abi(&self) -> Result<RawAbi, EtherscanError>
pub fn raw_abi(&self) -> Result<RawAbi, EtherscanError>
Parses the Abi String as an RawAbi struct.
sourcepub fn compiler_version(&self) -> Result<Version, EtherscanError>
pub fn compiler_version(&self) -> Result<Version, EtherscanError>
Parses the compiler version.
sourcepub fn is_vyper(&self) -> bool
pub fn is_vyper(&self) -> bool
Returns whether this contract is a Vyper or a Solidity contract.
sourcepub fn source_entries(&self) -> Vec<SourceTreeEntry>
pub fn source_entries(&self) -> Vec<SourceTreeEntry>
Maps this contract’s sources to a SourceTreeEntry vector.
sourcepub fn source_tree(&self) -> SourceTree
pub fn source_tree(&self) -> SourceTree
Returns the source tree of this contract’s sources.
sourcepub fn settings(&self) -> Result<Settings, EtherscanError>
Available on crate feature ethers-solc
only.
pub fn settings(&self) -> Result<Settings, EtherscanError>
ethers-solc
only.Returns the contract’s compiler settings.
sourcepub fn project_builder(&self) -> Result<ProjectBuilder, EtherscanError>
Available on crate feature ethers-solc
only.
pub fn project_builder(&self) -> Result<ProjectBuilder, EtherscanError>
ethers-solc
only.Creates a Solc ProjectBuilder with this contract’s settings.
sourcepub fn evm_version(&self) -> Result<Option<EvmVersion>, EtherscanError>
Available on crate feature ethers-solc
only.
pub fn evm_version(&self) -> Result<Option<EvmVersion>, EtherscanError>
ethers-solc
only.Parses the EVM version.