fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
base_variable_borrow_rate: u128,
variable_rate_slope1: u128,
variable_rate_slope2: u128,
optimal_utilization_rate: u128,
) -> Result<(), KineticRouterError>
Calculate interest rates based on supply and demand
fn calculate_interest_rates(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
available_liquidity: u128,
total_variable_debt: u128,
reserve_factor: u128,
) -> Result
fn get_base_variable_borrow_rate(env: soroban_sdk::Env) -> u128
fn get_variable_rate_slope1(env: soroban_sdk::Env) -> u128
fn get_variable_rate_slope2(env: soroban_sdk::Env) -> u128
fn get_optimal_utilization_rate(env: soroban_sdk::Env) -> u128
Update interest rate parameters (admin only)
fn update_interest_rate_params(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
base_variable_borrow_rate: u128,
variable_rate_slope1: u128,
variable_rate_slope2: u128,
optimal_utilization_rate: u128,
) -> Result<(), KineticRouterError>
fn get_max_variable_borrow_rate(env: soroban_sdk::Env) -> u128
fn simulate_rates(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
available_liquidity: u128,
total_variable_debt: u128,
reserve_factor: u128,
) -> Result
fn admin(env: soroban_sdk::Env) -> soroban_sdk::Address
Propose a new admin address (two-step transfer, step 1).
Only the current admin can propose a new admin.
The proposed admin must call accept_admin to complete the transfer.
fn propose_admin(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
pending_admin: soroban_sdk::Address,
) -> Result<(), KineticRouterError>
Accept admin role (two-step transfer, step 2). Only the pending admin can call this to finalize the transfer.
fn accept_admin(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
) -> Result<(), KineticRouterError>
Cancel a pending admin proposal. Only the current admin can cancel a pending proposal.
fn cancel_admin_proposal(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
) -> Result<(), KineticRouterError>
Get the pending admin address, if any.
fn get_pending_admin(
env: soroban_sdk::Env,
) -> Result
Set interest rate parameters for a specific asset
fn set_asset_interest_rate_params(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
asset: soroban_sdk::Address,
base_variable_borrow_rate: u128,
variable_rate_slope1: u128,
variable_rate_slope2: u128,
optimal_utilization_rate: u128,
) -> Result<(), KineticRouterError>
fn get_asset_interest_rate_params(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
) -> Option
Upgrade contract WASM (admin only)
fn upgrade(
env: soroban_sdk::Env,
new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), KineticRouterError>
fn version(env: soroban_sdk::Env) -> u32