Contract 8203313da6728ae851dea4bc7f17946ec3ed3151b7a5847fba25d738c771b447

← Back to Index 📥 Download WASM

Meta

cliver 26.0.0#60f7458e7ecffddf2f2d91dc6d0d2db4fab03ecc
rssdkver 23.5.3#d3e1ab2424388b10893b796b0c8e405c5edd03d2
rsver 1.95.0

Instances

  • CBJY4OV3CETD4PLOPRHNNGHLORKSHBVFFNNOTYRSSVGJSN5J7DMCH2Q7

Interface

fn owner(env: soroban_sdk::Env) -> soroban_sdk::Address

Swaps the bytecode in place: the address and all storage survive. new_wasm_hash must already be uploaded — see stellar contract upload.

fn upgrade(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), RegistryError>
fn __constructor(env: soroban_sdk::Env, owner: soroban_sdk::Address)
fn get_policy_id(
    env: soroban_sdk::Env,
    client: soroban_sdk::Address,
) -> soroban_sdk::String
fn pending_owner(env: soroban_sdk::Env) -> Option
fn set_policy_id(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    policy_id: soroban_sdk::String,
)

The digest an attester signs, bound to the host network so it is valid only on the chain that produced it.

fn hash_statement(
    env: soroban_sdk::Env,
    statement: Statement,
) -> soroban_sdk::BytesN<32>
fn accept_ownership(
    env: soroban_sdk::Env,
    new_owner: soroban_sdk::Address,
) -> Result<(), RegistryError>
fn register_attester(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    attester: soroban_sdk::BytesN<32>,
) -> Result<(), RegistryError>

Proposes only; new_owner must call accept_ownership to take effect.

fn transfer_ownership(
    env: soroban_sdk::Env,
    current_owner: soroban_sdk::Address,
    new_owner: soroban_sdk::Address,
) -> Result<(), RegistryError>
fn deregister_attester(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    attester: soroban_sdk::BytesN<32>,
) -> Result<(), RegistryError>

caller should be e.current_contract_address(). It replaces statement.target before hashing, so an attestation only works for the contract presenting it; every other field is trusted exactly as passed.

Expiry, replay, uuid or expiration disagreement, and an unregistered attester return a [RegistryError]. An invalid signature instead aborts the invocation with Error(Crypto, InvalidInput), which is why no InvalidSignature variant exists. Neither outcome spends the uuid.

fn validate_attestation(
    env: soroban_sdk::Env,
    statement: Statement,
    attestation: Attestation,
    caller: soroban_sdk::Address,
) -> Result<(), RegistryError>
fn is_attester_registered(
    env: soroban_sdk::Env,
    attester: soroban_sdk::BytesN<32>,
) -> bool
fn get_registered_attesters(
    env: soroban_sdk::Env,
) -> soroban_sdk::Vec>

Imports

WebAssembly Text (WAT) ▶