Struct ethers_middleware::transformer::DsProxy[][src]

pub struct DsProxy { /* fields omitted */ }
Expand description

Represents the DsProxy type that implements the Transformer trait.

Example

use ethers_middleware::{SignerMiddleware, transformer::DsProxy};
use ethers_signers::LocalWallet;
use ethers_providers::{Provider, Http};
use ethers_core::types::{Address, Bytes};
use std::{convert::TryFrom, sync::Arc};

type HttpWallet = SignerMiddleware<Provider<Http>, LocalWallet>;

// instantiate client that can sign transactions.
let wallet: LocalWallet = "380eb0f3d505f087e438eca80bc4df9a7faa24f868e69fc0440261a0fc0567dc"
    .parse()?;
let provider = Provider::<Http>::try_from("http://localhost:8545")?;
let client = SignerMiddleware::new(provider, wallet);

// instantiate DsProxy by providing its address.
let ds_proxy = DsProxy::new(ds_proxy_addr);

// execute a transaction via the DsProxy instance.
let target = Address::random();
let calldata: Bytes = vec![0u8; 32].into();
let contract_call = ds_proxy.execute::<HttpWallet, Arc<HttpWallet>, Address>(
    Arc::new(client),
    target,
    calldata,
)?;
let pending_tx = contract_call.send().await?;
let _tx_receipt = pending_tx.await?;

Implementations

Create a new instance of DsProxy by providing the address of the DsProxy contract that has already been deployed to the Ethereum network.

The address of the DsProxy instance.

Deploys a new DsProxy contract to the Ethereum network.

Execute a tx through the DsProxy instance. The target can either be a deployed smart contract’s address, or bytecode of a compiled smart contract. Depending on the target, the appropriate execute method is called, that is, either execute(address,bytes) or execute(bytes,bytes).

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Transforms a transaction request into one that can be broadcasted and execute via the proxy contract. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.