Contract 1fc87e6e3d07009930a485e7c71c3e23bc6e52a6f2a793bc9f5223fb29947cfa

← Back to Index 📥 Download WASM

Meta

cliver 25.2.0#28484880988199233a7e8e87c97cb12dac323cb3
rssdkver 26.1.0#175aa41306f383057a8cdfc84b68d931664fc34e
rsver 1.95.0

Instances

  • CBY2UDRBAH4HDK43MZJSEW5UZ7KMGZCCRDXJV5F4LZR6FR655HZLQCKZ

Interface

fn latest(env: soroban_sdk::Env, asset: soroban_sdk::Symbol) -> Option
fn quorum(env: soroban_sdk::Env) -> (u32, u32)

Required by StellarHandlerInterface — project-root uses this to recognise the contract as a handler.

fn payload(
    env: soroban_sdk::Env,
    event_id: soroban_sdk::BytesN<20>,
) -> Option
fn request(env: soroban_sdk::Env, request_id: u64) -> Option
fn final_twap(env: soroban_sdk::Env, request_id: u64) -> Option

StellarHandlerInterface::verify_xlm — the single entry the warpdrive node's submission manager invokes for every aggregated submission against this handler. The envelope payload is a tagged SubmissionPayload whose variant decides whether this is a Round 2 single-Vectr attestation or a Round 3 quorum-signed final.

Both variants go through the same try_verify call (the quorum is global to the security contract; with a single operator at 1/1, one sig satisfies it; with N at 4/5, Round 2 payloads need their event_id_salt to be unique per Vectr so the host doesn't try to quorum-collapse different-value attestations).

fn verify_xlm(
    env: soroban_sdk::Env,
    envelope_bytes: soroban_sdk::Bytes,
    sig_data: Ed25519SignatureData,
) -> Result<(), OracleError>

User-facing entry: ask the Vectr swarm for a TWAP on asset over range_secs. Returns the request id (clients store it to poll for the final result via final_twap(id)).

fn request_twap(
    env: soroban_sdk::Env,
    asset: soroban_sdk::Symbol,
    range_secs: u32,
) -> u64

Wires the contract to the project's ed25519 verification module and sets the initial quorum fraction (defaults to 4/5 = 80%, the figure the demo spec calls out).

fn __constructor(
    env: soroban_sdk::Env,
    verification_contract: soroban_sdk::Address,
    quorum_numerator: u32,
    quorum_denominator: u32,
) -> Result<(), OracleError>
fn round2_bundle(env: soroban_sdk::Env, request_id: u64) -> Round2Bundle
fn verification_contract(env: soroban_sdk::Env) -> soroban_sdk::Address

Imports

WebAssembly Text (WAT) ▶