fn get_admin(env: soroban_sdk::Env) -> soroban_sdk::Address
Return the PRICE_PRECISION-scaled price of asset.
Queries Reflector's lastprice(Asset::Stellar(asset)).
Returns 0 when Reflector has no data for the asset.
fn get_price(env: soroban_sdk::Env, asset: soroban_sdk::Address) -> i128
fn accept_admin(env: soroban_sdk::Env, caller: soroban_sdk::Address)
fn get_decimals(env: soroban_sdk::Env) -> u32
fn get_reflector(env: soroban_sdk::Env) -> soroban_sdk::Address
Update the Reflector contract address and re-query decimals. Admin only.
fn set_reflector(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
reflector: soroban_sdk::Address,
)
Initialize the adapter.
decimals must match Reflector's reported precision (call reflector.decimals()
off-chain to confirm — mainnet Reflector returns 14). Use refresh_decimals()
after deployment if it ever needs updating.
fn __constructor(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
reflector: soroban_sdk::Address,
decimals: u32,
)
fn get_max_age_secs(env: soroban_sdk::Env) -> u64
Re-read decimals() from the Reflector contract and persist it. Admin only.
Only needed if Reflector ever changes its decimal precision (very rare).
fn refresh_decimals(env: soroban_sdk::Env, caller: soroban_sdk::Address)
Set the maximum accepted upstream Reflector price age in seconds. Admin only.
fn set_max_age_secs(env: soroban_sdk::Env, caller: soroban_sdk::Address, secs: u64)
fn set_pending_admin(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
new_admin: soroban_sdk::Address,
)