pub struct VaultV1Client { /* private fields */ }Expand description
Client for querying V1 (MetaMorpho) vaults.
Implementations§
Source§impl VaultV1Client
impl VaultV1Client
Sourcepub fn with_config(config: ClientConfig) -> Self
pub fn with_config(config: ClientConfig) -> Self
Create a new V1 vault client with custom configuration.
Sourcepub async fn get_vaults(
&self,
filters: Option<VaultFiltersV1>,
) -> Result<Vec<VaultV1>>
pub async fn get_vaults( &self, filters: Option<VaultFiltersV1>, ) -> Result<Vec<VaultV1>>
Get V1 vaults with optional filters.
Sourcepub async fn get_vault(
&self,
address: &str,
chain: NamedChain,
) -> Result<VaultV1>
pub async fn get_vault( &self, address: &str, chain: NamedChain, ) -> Result<VaultV1>
Get a single V1 vault by address and chain.
Sourcepub async fn get_vaults_by_chain(
&self,
chain: NamedChain,
) -> Result<Vec<VaultV1>>
pub async fn get_vaults_by_chain( &self, chain: NamedChain, ) -> Result<Vec<VaultV1>>
Get V1 vaults on a specific chain.
Sourcepub async fn get_vaults_by_curator(
&self,
curator: &str,
chain: Option<NamedChain>,
) -> Result<Vec<VaultV1>>
pub async fn get_vaults_by_curator( &self, curator: &str, chain: Option<NamedChain>, ) -> Result<Vec<VaultV1>>
Get V1 vaults by curator address.
Sourcepub async fn get_whitelisted_vaults(
&self,
chain: Option<NamedChain>,
) -> Result<Vec<VaultV1>>
pub async fn get_whitelisted_vaults( &self, chain: Option<NamedChain>, ) -> Result<Vec<VaultV1>>
Get whitelisted (listed) V1 vaults.
Sourcepub async fn get_vaults_with_options(
&self,
options: VaultQueryOptionsV1,
) -> Result<Vec<VaultV1>>
pub async fn get_vaults_with_options( &self, options: VaultQueryOptionsV1, ) -> Result<Vec<VaultV1>>
Get V1 vaults with query options (filters, ordering, and limit).
This method provides full control over the query parameters including ordering by various fields like APY, total assets, etc.
§Example
use morpho_rs_api::{VaultV1Client, VaultQueryOptionsV1, VaultFiltersV1, VaultOrderByV1, OrderDirection, NamedChain};
#[tokio::main]
async fn main() -> Result<(), morpho_rs_api::ApiError> {
let client = VaultV1Client::new();
// Get top 10 USDC vaults by APY on Ethereum
let options = VaultQueryOptionsV1::new()
.filters(VaultFiltersV1::new()
.chain(NamedChain::Mainnet)
.asset_symbols(["USDC"]))
.order_by(VaultOrderByV1::NetApy)
.order_direction(OrderDirection::Desc)
.limit(10);
let vaults = client.get_vaults_with_options(options).await?;
Ok(())
}Sourcepub async fn get_top_vaults_by_apy(
&self,
limit: i64,
filters: Option<VaultFiltersV1>,
) -> Result<Vec<VaultV1>>
pub async fn get_top_vaults_by_apy( &self, limit: i64, filters: Option<VaultFiltersV1>, ) -> Result<Vec<VaultV1>>
Get top N V1 vaults ordered by APY (highest first).
§Example
use morpho_rs_api::{VaultV1Client, VaultFiltersV1, NamedChain};
#[tokio::main]
async fn main() -> Result<(), morpho_rs_api::ApiError> {
let client = VaultV1Client::new();
// Get top 10 vaults by APY on Ethereum
let filters = VaultFiltersV1::new().chain(NamedChain::Mainnet);
let vaults = client.get_top_vaults_by_apy(10, Some(filters)).await?;
Ok(())
}Sourcepub async fn get_vaults_by_asset(
&self,
asset_symbol: &str,
chain: Option<NamedChain>,
) -> Result<Vec<VaultV1>>
pub async fn get_vaults_by_asset( &self, asset_symbol: &str, chain: Option<NamedChain>, ) -> Result<Vec<VaultV1>>
Get V1 vaults for a specific deposit asset.
§Example
use morpho_rs_api::{VaultV1Client, NamedChain};
#[tokio::main]
async fn main() -> Result<(), morpho_rs_api::ApiError> {
let client = VaultV1Client::new();
// Get all USDC vaults
let vaults = client.get_vaults_by_asset("USDC", None).await?;
Ok(())
}Trait Implementations§
Source§impl Clone for VaultV1Client
impl Clone for VaultV1Client
Source§fn clone(&self) -> VaultV1Client
fn clone(&self) -> VaultV1Client
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VaultV1Client
impl Debug for VaultV1Client
Auto Trait Implementations§
impl Freeze for VaultV1Client
impl !RefUnwindSafe for VaultV1Client
impl Send for VaultV1Client
impl Sync for VaultV1Client
impl Unpin for VaultV1Client
impl !UnwindSafe for VaultV1Client
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more