pub trait Pool {
Show 16 methods
// Required methods
fn initialize(
env: Env,
admin: Address,
name: Symbol,
oracle: Address,
bstop_rate: u64,
backstop_id: Address,
blnd_id: Address,
usdc_id: Address,
);
fn update_pool(env: Env, backstop_take_rate: u64);
fn init_reserve(env: Env, asset: Address, config: ReserveConfig) -> u32;
fn update_reserve(env: Env, asset: Address, config: ReserveConfig);
fn get_positions(env: Env, address: Address) -> Positions;
fn submit(
env: Env,
from: Address,
spender: Address,
to: Address,
requests: Vec<Request>,
) -> Positions;
fn bad_debt(env: Env, user: Address);
fn update_status(env: Env) -> u32;
fn set_status(env: Env, pool_status: u32);
fn update_emissions(env: Env) -> u64;
fn set_emissions_config(
env: Env,
res_emission_metadata: Vec<ReserveEmissionMetadata>,
);
fn claim(
env: Env,
from: Address,
reserve_token_ids: Vec<u32>,
to: Address,
) -> i128;
fn new_liquidation_auction(
env: Env,
user: Address,
percent_liquidated: u64,
) -> AuctionData;
fn del_liquidation_auction(env: Env, user: Address);
fn get_auction(env: Env, auction_type: u32, user: Address) -> AuctionData;
fn new_auction(env: Env, auction_type: u32) -> AuctionData;
}Required Methods§
fn initialize( env: Env, admin: Address, name: Symbol, oracle: Address, bstop_rate: u64, backstop_id: Address, blnd_id: Address, usdc_id: Address, )
fn update_pool(env: Env, backstop_take_rate: u64)
fn init_reserve(env: Env, asset: Address, config: ReserveConfig) -> u32
fn update_reserve(env: Env, asset: Address, config: ReserveConfig)
fn get_positions(env: Env, address: Address) -> Positions
fn submit( env: Env, from: Address, spender: Address, to: Address, requests: Vec<Request>, ) -> Positions
fn bad_debt(env: Env, user: Address)
fn update_status(env: Env) -> u32
fn set_status(env: Env, pool_status: u32)
fn update_emissions(env: Env) -> u64
fn set_emissions_config( env: Env, res_emission_metadata: Vec<ReserveEmissionMetadata>, )
fn claim( env: Env, from: Address, reserve_token_ids: Vec<u32>, to: Address, ) -> i128
fn new_liquidation_auction( env: Env, user: Address, percent_liquidated: u64, ) -> AuctionData
fn del_liquidation_auction(env: Env, user: Address)
fn get_auction(env: Env, auction_type: u32, user: Address) -> AuctionData
fn new_auction(env: Env, auction_type: u32) -> AuctionData
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.