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.
e - Access to the Soroban environment.fn get_owner(env: soroban_sdk::Env) -> Option
Returns the current factory configuration tuple:
(owner, account_hash, verifier_hash, native_token_address).
fn get_config(
env: soroban_sdk::Env,
) -> (soroban_sdk::BytesN<32>, soroban_sdk::BytesN<32>, soroban_sdk::Address)
Updates one or more factory configuration values.
fn set_config(
env: soroban_sdk::Env,
account_hash: Option>,
verifier_hash: Option>,
native_token_address: Option,
)
Initializes the factory with deploy-time configuration.
fn __constructor(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
account_hash: soroban_sdk::BytesN<32>,
verifier_hash: soroban_sdk::BytesN<32>,
native_token_address: soroban_sdk::Address,
)
Creates a new smart account with Ed25519 authentication and funds it with native tokens.
This function handles the entire account creation process:
funder - The address that will fund the new account. This address must authenticate the transaction.key - A 32-byte Ed25519 public key used for authenticating transactions on the new account.recovery_key - A 32-byte Ed25519 public key used as the recovery signer.amount - The amount of native tokens (XLM) to transfer to the newly created account, specified in stroops.Returns the Address of the newly created smart account.
fn create_account(
env: soroban_sdk::Env,
funder: soroban_sdk::Address,
key: soroban_sdk::BytesN<32>,
recovery_key: soroban_sdk::BytesN<32>,
amount: i128,
) -> soroban_sdk::Address
Accepts a pending ownership transfer.
e - Access to the Soroban environment.crate::role_transfer::RoleTransferError::NoPendingTransfer] - If
there is no pending transfer to accept.["ownership_transfer_completed"][new_owner: Address]fn accept_ownership(env: soroban_sdk::Env)
Renounces ownership of the contract.
Permanently removes the owner, disabling all functions gated by
#[only_owner].
e - Access to the Soroban environment.OwnableError::TransferInProgress] - If there is a pending ownership
transfer.OwnableError::OwnerNotSet] - If the owner is not set.fn renounce_ownership(env: soroban_sdk::Env)
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.
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.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.fn transfer_ownership(
env: soroban_sdk::Env,
new_owner: soroban_sdk::Address,
live_until_ledger: u32,
)