Skip to main content

Erc4626Client

Trait Erc4626Client 

Source
pub trait Erc4626Client {
Show 14 methods // Required methods fn provider( &self, ) -> &FillProvider<JoinFill<JoinFill<Identity, JoinFill<GasFiller, JoinFill<BlobGasFiller, JoinFill<NonceFiller, ChainIdFiller>>>>, WalletFiller<EthereumWallet>>, RootProvider>; fn signer_address(&self) -> Address; // Provided methods async fn get_asset(&self, vault: Address) -> Result<Address, ContractError> { ... } async fn total_assets( &self, vault: Address, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn convert_to_shares( &self, vault: Address, assets: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn convert_to_assets( &self, vault: Address, shares: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn max_deposit( &self, vault: Address, receiver: Address, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn max_withdraw( &self, vault: Address, owner: Address, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn max_mint( &self, vault: Address, receiver: Address, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn max_redeem( &self, vault: Address, owner: Address, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn preview_deposit( &self, vault: Address, assets: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn preview_mint( &self, vault: Address, shares: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn preview_withdraw( &self, vault: Address, assets: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError> { ... } async fn preview_redeem( &self, vault: Address, shares: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError> { ... }
}
Expand description

Trait for ERC-4626 vault client functionality.

Provides default implementations for all ERC-4626 view functions. Implementors only need to provide provider() and signer_address().

Required Methods§

Source

fn provider( &self, ) -> &FillProvider<JoinFill<JoinFill<Identity, JoinFill<GasFiller, JoinFill<BlobGasFiller, JoinFill<NonceFiller, ChainIdFiller>>>>, WalletFiller<EthereumWallet>>, RootProvider>

Returns a reference to the HTTP provider.

Source

fn signer_address(&self) -> Address

Returns the signer’s address.

Provided Methods§

Source

async fn get_asset(&self, vault: Address) -> Result<Address, ContractError>

Get the underlying asset address of a vault.

Source

async fn total_assets( &self, vault: Address, ) -> Result<Uint<256, 4>, ContractError>

Get the total assets managed by a vault.

Source

async fn convert_to_shares( &self, vault: Address, assets: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError>

Convert an asset amount to shares.

Source

async fn convert_to_assets( &self, vault: Address, shares: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError>

Convert a share amount to assets.

Source

async fn max_deposit( &self, vault: Address, receiver: Address, ) -> Result<Uint<256, 4>, ContractError>

Get the maximum deposit amount for a receiver.

Source

async fn max_withdraw( &self, vault: Address, owner: Address, ) -> Result<Uint<256, 4>, ContractError>

Get the maximum withdraw amount for an owner.

Source

async fn max_mint( &self, vault: Address, receiver: Address, ) -> Result<Uint<256, 4>, ContractError>

Get the maximum mint amount (in shares) for a receiver.

Source

async fn max_redeem( &self, vault: Address, owner: Address, ) -> Result<Uint<256, 4>, ContractError>

Get the maximum redeem amount (in shares) for an owner.

Source

async fn preview_deposit( &self, vault: Address, assets: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError>

Preview the shares that would be received for a deposit.

Source

async fn preview_mint( &self, vault: Address, shares: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError>

Preview the assets required to mint a specific amount of shares.

Source

async fn preview_withdraw( &self, vault: Address, assets: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError>

Preview the shares that would be burned for a withdrawal.

Source

async fn preview_redeem( &self, vault: Address, shares: Uint<256, 4>, ) -> Result<Uint<256, 4>, ContractError>

Preview the assets that would be received for redeeming shares.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§