Expand description
Morpho Vaults Rust API Library
This crate provides a Rust client for querying Morpho V1 (MetaMorpho) and V2 vaults via their GraphQL API.
§Example
use morpho_rs_api::{VaultClient, VaultV1Client, VaultV2Client, Chain, VaultFiltersV1};
#[tokio::main]
async fn main() -> Result<(), morpho_rs_api::ApiError> {
// Use separate clients for V1 and V2
let v1_client = VaultV1Client::new();
let v2_client = VaultV2Client::new();
// Get whitelisted V1 vaults on Ethereum
let v1_vaults = v1_client.get_whitelisted_vaults(Some(Chain::EthMainnet)).await?;
// Get V2 vaults on Base
let v2_vaults = v2_client.get_vaults_by_chain(Chain::BaseMainnet).await?;
// Or use the combined client for unified queries
let client = VaultClient::new();
let all_vaults = client.get_whitelisted_vaults(Some(Chain::EthMainnet)).await?;
Ok(())
}Re-exports§
pub use client::ClientConfig;pub use client::VaultClient;pub use client::VaultV1Client;pub use client::VaultV2Client;pub use client::DEFAULT_API_URL;pub use error::ApiError;pub use error::Result;pub use filters::VaultFiltersV1;pub use filters::VaultFiltersV2;pub use types::Asset;pub use types::Chain;pub use types::MarketInfo;pub use types::UserAccountOverview;pub use types::UserMarketPosition;pub use types::UserState;pub use types::UserVaultPositions;pub use types::UserVaultV1Position;pub use types::UserVaultV2Position;pub use types::Vault;pub use types::VaultAdapter;pub use types::VaultAllocation;pub use types::VaultAllocator;pub use types::VaultInfo;pub use types::VaultPositionState;pub use types::VaultReward;pub use types::VaultStateV1;pub use types::VaultV1;pub use types::VaultV2;pub use types::VaultV2Warning;pub use types::VaultVersion;pub use types::VaultWarning;
Modules§
- client
- Vault client implementations for V1 and V2 vaults.
- error
- Error types for the Morpho API client.
- filters
- Filter builders for vault queries.
- queries
- GraphQL query definitions.
- types
- Type definitions for the Morpho API.
Structs§
- Vault
V1Transaction Client - Client for executing transactions against V1 (MetaMorpho) vaults.
- Vault
V2Transaction Client - Client for executing transactions against V2 vaults.