fn init(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
protocol_manager: soroban_sdk::Address,
col_token: soroban_sdk::Address,
stable_issuer: soroban_sdk::Address,
treasury: soroban_sdk::Address,
fee: u128,
oracle: soroban_sdk::Address,
)
fn get_core_state(env: soroban_sdk::Env) -> CoreState
fn set_address(env: soroban_sdk::Env, typ: u32, address: soroban_sdk::Address)
fn upgrade(env: soroban_sdk::Env, hash: soroban_sdk::BytesN<32>)
fn set_panic(env: soroban_sdk::Env, status: bool)
fn set_next_key(
env: soroban_sdk::Env,
target_key: VaultKey,
next_key: OptionalVaultKey,
)
fn create_currency(
env: soroban_sdk::Env,
denomination: soroban_sdk::Symbol,
contract: soroban_sdk::Address,
)
fn get_currency(env: soroban_sdk::Env, denomination: soroban_sdk::Symbol) -> Currency
fn toggle_currency(
env: soroban_sdk::Env,
denomination: soroban_sdk::Symbol,
active: bool,
)
fn set_vault_conditions(
env: soroban_sdk::Env,
min_col_rate: u128,
min_debt_creation: u128,
opening_col_rate: u128,
denomination: soroban_sdk::Symbol,
)
fn get_vaults_info(
env: soroban_sdk::Env,
denomination: soroban_sdk::Symbol,
) -> VaultsInfo
fn calculate_deposit_ratio(
env: soroban_sdk::Env,
currency_rate: u128,
collateral: u128,
debt: u128,
) -> u128
fn new_vault(
env: soroban_sdk::Env,
prev_key: OptionalVaultKey,
caller: soroban_sdk::Address,
initial_debt: u128,
collateral_amount: u128,
denomination: soroban_sdk::Symbol,
)
fn get_vault(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
denomination: soroban_sdk::Symbol,
) -> Vault
fn get_vault_from_key(env: soroban_sdk::Env, vault_key: VaultKey) -> Vault
fn get_vaults(
env: soroban_sdk::Env,
prev_key: OptionalVaultKey,
denomination: soroban_sdk::Symbol,
total: u32,
only_to_liquidate: bool,
) -> soroban_sdk::Vec
fn increase_collateral(
env: soroban_sdk::Env,
prev_key: OptionalVaultKey,
vault_key: VaultKey,
new_prev_key: OptionalVaultKey,
amount: u128,
)
fn increase_debt(
env: soroban_sdk::Env,
prev_key: OptionalVaultKey,
vault_key: VaultKey,
new_prev_key: OptionalVaultKey,
amount: u128,
)
fn pay_debt(
env: soroban_sdk::Env,
prev_key: OptionalVaultKey,
vault_key: VaultKey,
new_prev_key: OptionalVaultKey,
amount: u128,
)
fn redeem(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
denomination: soroban_sdk::Symbol,
)
fn liquidate(
env: soroban_sdk::Env,
liquidator: soroban_sdk::Address,
denomination: soroban_sdk::Symbol,
total_vaults_to_liquidate: u32,
) -> soroban_sdk::Vec