Crate morpho_rs_contracts

Crate morpho_rs_contracts 

Source
Expand description

Contract bindings and transaction clients for Morpho vaults.

This crate provides Solidity contract bindings and transaction clients for interacting with Morpho V1 (MetaMorpho) and V2 vaults on-chain.

§Example

use morpho_rs_contracts::{VaultV1TransactionClient, VaultV2TransactionClient};
use alloy::primitives::{Address, U256};

#[tokio::main]
async fn main() -> morpho_rs_contracts::Result<()> {
    let client = VaultV1TransactionClient::new(
        "https://eth.llamarpc.com",
        "0x...", // private key
    )?;

    // Get vault asset
    let vault: Address = "0x...".parse().unwrap();
    let asset = client.get_asset(vault).await?;

    Ok(())
}

Re-exports§

pub use error::ContractError;
pub use error::Result;
pub use prepared_call::PreparedCall;
pub use provider::HttpProvider;
pub use vault_v1::VaultV1TransactionClient;
pub use vault_v2::VaultV2TransactionClient;

Modules§

erc20
ERC20 interface definitions.
erc4626
ERC4626 interface definitions.
error
Error types for the contracts crate.
prepared_call
Prepared call types for deferred transaction execution.
provider
Provider type definitions for contract clients.
vault_v1
V1 Vault transaction client for executing deposits and withdrawals.
vault_v2
V2 Vault transaction client for executing deposits and withdrawals.