Contract 9e675a49f26597e2373073be140787e4dec21e4ac954789f3120db404e075a95

← Back to Index 📥 Download WASM

Meta

rssdkver 27.0.3#f8f32f0d0771f252377a21753a95ae0bde941ce6
rsver 1.93.0

Instances

  • CD3JFZIIE33K4EXRG55ZYI5D6T4TWWRTZ4DCBJJA6ZVL73Y3GK6GS2VV

Interface

fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)

Returns Some(Address) if ownership is set, or None if ownership has been renounced.

Arguments

  • e - Access to the Soroban environment.
fn get_owner(env: soroban_sdk::Env) -> Option
fn __constructor(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    pool: soroban_sdk::Address,
    kyt_public_key: soroban_sdk::BytesN<32>,
    max_ttl_ledgers: u32,
)
fn abort_migration(env: soroban_sdk::Env)
fn begin_migration(env: soroban_sdk::Env, to_version: u32)

Only the configured trusted pool may invoke this. The pool argument must match the configured pool address; authorization uses the same pool.require_auth() pattern as the private-address registry (not env.current_contract_address(), which is the registry itself).

fn require_passage(
    env: soroban_sdk::Env,
    pool: soroban_sdk::Address,
    passage_id: soroban_sdk::BytesN<32>,
)

Accepts a pending ownership transfer.

Arguments

  • e - Access to the Soroban environment.

Errors

  • [crate::role_transfer::RoleTransferError::NoPendingTransfer] - If there is no pending transfer to accept.

Events

  • topics - ["ownership_transfer_completed"]
  • data - [new_owner: Address]
fn accept_ownership(env: soroban_sdk::Env)
fn disable_upgrades(env: soroban_sdk::Env)
fn get_trusted_pool(env: soroban_sdk::Env) -> soroban_sdk::Address

Copies passage records for the supplied ids. Missing ids and repeats are no-ops. The stored record is copied as-is; the caller cannot supply a replacement.

fn migrate_passages(
    env: soroban_sdk::Env,
    passage_ids: soroban_sdk::Vec>,
) -> u32
fn register_passage(
    env: soroban_sdk::Env,
    passage_id: soroban_sdk::BytesN<32>,
    expires_at_ledger: u32,
    signature: soroban_sdk::BytesN<64>,
)
fn set_trusted_pool(env: soroban_sdk::Env, pool: soroban_sdk::Address)
fn upgrades_enabled(env: soroban_sdk::Env) -> bool
fn finalize_migration(env: soroban_sdk::Env)
fn get_kyt_public_key(env: soroban_sdk::Env) -> soroban_sdk::BytesN<32>
fn get_migrated_count(env: soroban_sdk::Env) -> u64

Read-only lookup. Never extends the persistent entry's TTL — only register_passage (the write path) pays for keeping a passage record alive.

fn get_passage_record(
    env: soroban_sdk::Env,
    passage_id: soroban_sdk::BytesN<32>,
) -> Option
fn get_schema_version(env: soroban_sdk::Env) -> u32
fn renounce_ownership(env: soroban_sdk::Env)
fn set_kyt_public_key(env: soroban_sdk::Env, kyt_public_key: soroban_sdk::BytesN<32>)

Initiates a 2-step ownership transfer to a new address.

Requires authorization from the current owner. The new owner must later call accept_ownership() to complete the transfer.

Arguments

  • e - Access to the Soroban environment.
  • new_owner - The proposed new owner.
  • live_until_ledger - Ledger number until which the new owner can accept. A value of 0 cancels any pending transfer.

Errors

  • [OwnableError::OwnerNotSet] - If the owner is not set.
  • [crate::role_transfer::RoleTransferError::NoPendingTransfer] - If trying to cancel a transfer that doesn't exist.
  • [crate::role_transfer::RoleTransferError::InvalidLiveUntilLedger] - If the specified ledger is in the past.
  • [crate::role_transfer::RoleTransferError::InvalidPendingAccount] - If the specified pending account is not the same as the provided new address.

Notes

  • Authorization for the current owner is required.
fn transfer_ownership(
    env: soroban_sdk::Env,
    new_owner: soroban_sdk::Address,
    live_until_ledger: u32,
)
fn get_max_ttl_ledgers(env: soroban_sdk::Env) -> u32
fn set_max_ttl_ledgers(env: soroban_sdk::Env, max_ttl_ledgers: u32)
fn require_passage_auth(
    env: soroban_sdk::Env,
    pool: soroban_sdk::Address,
    passage_id: soroban_sdk::BytesN<32>,
    expiration_ledger: u32,
    signature: soroban_sdk::BytesN<64>,
)

Imports

WebAssembly Text (WAT) ▶