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.