Contract 0f8a58f2c09d3139280d458e8af78a40e4f0ad33eab25a1c7563e0396ca28448

← Back to Index 📥 Download WASM

Meta

binver 1.0.0
rssdkver 26.1.1#8ac18efb681a1c0b4b85a38c5a380300344e3f39
rsver 1.93.0

Instances

  • CCQHR2UUZJIKGNNMKZZIE4ZUO257WPXUUB6GG3V45FKDXEVMNMDSOLPE

Interface

Upgrade factory contract WASM — requires admin authorization

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

Get agent contract address by domain node

fn get_agent(
    env: soroban_sdk::Env,
    domain_node: soroban_sdk::BytesN<32>,
) -> Option

Update admin address — requires current admin authorization

fn set_admin(
    env: soroban_sdk::Env,
    new_admin: soroban_sdk::Address,
) -> Result<(), FactoryError>

Initialize the factory with admin, Account WASM hash, and optional Registry address

fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    account_wasm_hash: soroban_sdk::BytesN<32>,
    registry: Option,
) -> Result<(), FactoryError>

Deploy a deterministic AgentSmartAccount for a domain node (legacy v1: salt = domain_node)

fn deploy_agent(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    domain_node: soroban_sdk::BytesN<32>,
    master_key: soroban_sdk::BytesN<32>,
    session_key: soroban_sdk::BytesN<32>,
    policy: SessionPolicy,
) -> Result

Get Registry contract address

fn get_registry(env: soroban_sdk::Env) -> Option

Admin: Set Registry contract address for domain ownership checks

fn set_registry(
    env: soroban_sdk::Env,
    new_registry: soroban_sdk::Address,
) -> Result<(), FactoryError>

Deploy with explicit salt (v2: allows rotating / redeploying salt)

fn deploy_agent_v2(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    domain_node: soroban_sdk::BytesN<32>,
    salt: soroban_sdk::BytesN<32>,
    master_key: soroban_sdk::BytesN<32>,
    session_key: soroban_sdk::BytesN<32>,
    policy: SessionPolicy,
) -> Result

Deploy a deterministic AgentSmartAccount and atomically fund gas and/or trading capital

fn deploy_and_fund(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    domain_node: soroban_sdk::BytesN<32>,
    master_key: soroban_sdk::BytesN<32>,
    session_key: soroban_sdk::BytesN<32>,
    policy: SessionPolicy,
    gas_token: Option,
    gas_amount: i128,
    trading_token: Option,
    trading_amount: i128,
) -> Result

Get domain node by agent contract address

fn get_domain_node(
    env: soroban_sdk::Env,
    agent: soroban_sdk::Address,
) -> Option>

Deploy and fund with custom salt (v2)

fn deploy_and_fund_v2(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    domain_node: soroban_sdk::BytesN<32>,
    salt: soroban_sdk::BytesN<32>,
    master_key: soroban_sdk::BytesN<32>,
    session_key: soroban_sdk::BytesN<32>,
    policy: SessionPolicy,
    gas_token: Option,
    gas_amount: i128,
    trading_token: Option,
    trading_amount: i128,
) -> Result

Total deployed agents count

fn get_total_deployed(env: soroban_sdk::Env) -> u32

Admin: Explicitly set/rebind agent mapping for a domain node

fn set_agent_for_node(
    env: soroban_sdk::Env,
    domain_node: soroban_sdk::BytesN<32>,
    agent: soroban_sdk::Address,
) -> Result<(), FactoryError>

Admin: Clear agent mapping for a node to allow redeployment

fn clear_agent_for_node(
    env: soroban_sdk::Env,
    domain_node: soroban_sdk::BytesN<32>,
) -> Result<(), FactoryError>

Get active Account WASM hash

fn get_account_wasm_hash(
    env: soroban_sdk::Env,
) -> Result, FactoryError>

Predict deterministic agent address for a domain node

fn predict_agent_address(
    env: soroban_sdk::Env,
    domain_node: soroban_sdk::BytesN<32>,
) -> soroban_sdk::Address

Set Account WASM hash — requires admin authorization

fn set_account_wasm_hash(
    env: soroban_sdk::Env,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), FactoryError>

Imports

WebAssembly Text (WAT) ▶