Get the pool address.
fn get_pool(env: soroban_sdk::Env) -> soroban_sdk::Address
Update the Blend pool address. Admin only.
fn set_pool(env: soroban_sdk::Env, new_pool: soroban_sdk::Address)
Initialize the adapter with admin and Blend pool address. Can only be called once.
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
pool: soroban_sdk::Address,
)
Get all position values for an account from a real Blend pool.
Called by PositionRegistry as:
adapter.get_all_pos(account, oracle_registry, accounting_token)
Steps:
pool.get_reserve_list() → Vec<Address> (index → asset)pool.get_positions(account) → Positions { collateral, supply, liabilities }pool.get_reserve(asset) → b_rate, decimals
c. Convert: underlying = b_tokens * b_rate / RATE_SCALAR
d. Price via oracle_registry.get_price_pair(asset, accounting_token)fn get_all_pos(
env: soroban_sdk::Env,
account: soroban_sdk::Address,
oracle_registry: soroban_sdk::Address,
accounting_token: soroban_sdk::Address,
) -> soroban_sdk::Vec
Transfer admin to a new address. Admin only. (B7)
Required for multisig key rotation without redeploying the adapter. Emits an AdminChanged event for on-chain auditability.
fn transfer_admin(env: soroban_sdk::Env, new_admin: soroban_sdk::Address)
Return adapter info: (protocol_id, name, version).
fn get_adapter_info(
env: soroban_sdk::Env,
) -> (soroban_sdk::Symbol, soroban_sdk::Symbol, u32)