Add get_storage_at
This commit is contained in:
parent
6f02bb5436
commit
34550d9211
|
@ -398,7 +398,27 @@ impl<P: JsonRpcClient> Provider<P> {
|
||||||
.map_err(Into::into)?)
|
.map_err(Into::into)?)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: get_storage_at
|
/// Get the storage of an address for a particular slot location
|
||||||
|
pub async fn get_storage_at(
|
||||||
|
&self,
|
||||||
|
from: impl Into<NameOrAddress>,
|
||||||
|
location: H256,
|
||||||
|
block: Option<BlockNumber>,
|
||||||
|
) -> Result<H256, ProviderError> {
|
||||||
|
let from = match from.into() {
|
||||||
|
NameOrAddress::Name(ens_name) => self.resolve_name(&ens_name).await?,
|
||||||
|
NameOrAddress::Address(addr) => addr,
|
||||||
|
};
|
||||||
|
|
||||||
|
let from = utils::serialize(&from);
|
||||||
|
let location = utils::serialize(&location);
|
||||||
|
let block = utils::serialize(&block.unwrap_or(BlockNumber::Latest));
|
||||||
|
Ok(self
|
||||||
|
.0
|
||||||
|
.request("eth_getStorageAt", [from, location, block])
|
||||||
|
.await
|
||||||
|
.map_err(Into::into)?)
|
||||||
|
}
|
||||||
|
|
||||||
/// Returns the deployed code at a given address
|
/// Returns the deployed code at a given address
|
||||||
pub async fn get_code(
|
pub async fn get_code(
|
||||||
|
|
Loading…
Reference in New Issue