Replace this contract's Wasm in place. Instance and persistent storage are preserved. Authorised by the stored DAO address.
fn upgrade(
env: soroban_sdk::Env,
dao: soroban_sdk::Address,
new_wasm_hash: soroban_sdk::BytesN<32>,
)
fn get_feed(env: soroban_sdk::Env, asset: soroban_sdk::Symbol) -> AssetFeed
fn get_twap(env: soroban_sdk::Env, asset: soroban_sdk::Symbol) -> i128
fn is_stale(env: soroban_sdk::Env, asset: soroban_sdk::Symbol) -> bool
fn aggregate(env: soroban_sdk::Env, asset: soroban_sdk::Symbol)
fn get_price(env: soroban_sdk::Env, asset: soroban_sdk::Symbol) -> i128
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
dao: soroban_sdk::Address,
twap_window: u64,
)
fn is_provider(env: soroban_sdk::Env, addr: soroban_sdk::Address) -> bool
fn update_twap(env: soroban_sdk::Env, asset: soroban_sdk::Symbol) -> i128
fn add_provider(
env: soroban_sdk::Env,
dao: soroban_sdk::Address,
provider: soroban_sdk::Address,
)
fn submit_price(
env: soroban_sdk::Env,
provider: soroban_sdk::Address,
asset: soroban_sdk::Symbol,
price: i128,
)
fn provider_count(env: soroban_sdk::Env) -> u32
fn remove_provider(
env: soroban_sdk::Env,
dao: soroban_sdk::Address,
provider: soroban_sdk::Address,
)
fn get_min_providers(env: soroban_sdk::Env) -> u32
Adjust the minimum number of price observations required before an
aggregation is accepted (quorum for the oracle to trust a price).
Must stay within [1, MAX_PROVIDERS] and can never exceed the current
provider count, otherwise the oracle would be unable to ever
aggregate a price. DAO-governed (see _require_dao).
fn set_min_providers(
env: soroban_sdk::Env,
dao: soroban_sdk::Address,
min_providers: u32,
)