fn initialize(env: soroban_sdk::Env, contract_admin: soroban_sdk::Address)
Nominate a new contract admin. Current admin must sign. The nominee must call accept_contract_admin to complete the transfer.
fn nominate_admin(env: soroban_sdk::Env, new_admin: soroban_sdk::Address)
Accept a pending admin nomination. Nominee must sign.
fn accept_contract_admin(env: soroban_sdk::Env)
Configure fee: token, destination, amount. Admin only.
fn set_fee_config(
env: soroban_sdk::Env,
token_contract: soroban_sdk::Address,
fee_dest: soroban_sdk::Address,
fee_amount: i128,
)
Enable or disable fee charging on issue. Admin only.
fn set_fee_enabled(env: soroban_sdk::Env, enabled: bool)
fn set_fee_admin(env: soroban_sdk::Env, fee_amount: i128)
fn set_fee_standard(env: soroban_sdk::Env, fee_amount: i128)
fn set_fee_early(env: soroban_sdk::Env, fee_amount: i128)
fn set_fee_custom(
env: soroban_sdk::Env,
issuer: soroban_sdk::Address,
fee_amount: i128,
)
fn get_fee_admin(env: soroban_sdk::Env) -> i128
fn get_fee_standard(env: soroban_sdk::Env) -> i128
fn get_fee_early(env: soroban_sdk::Env) -> i128
fn get_fee_custom(env: soroban_sdk::Env, issuer: soroban_sdk::Address) -> i128
Upgrade contract WASM. Admin only.
fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)
fn version(env: soroban_sdk::Env) -> soroban_sdk::String
fn fee_config(env: soroban_sdk::Env) -> FeeConfig
fn create_vault(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
did_uri: soroban_sdk::String,
)
Set vault admin. Current vault admin must sign.
fn set_vault_admin(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
new_admin: soroban_sdk::Address,
)
Replace full issuer list. Vault admin only.
fn authorize_issuers(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
issuers: soroban_sdk::Vec,
)
Add single issuer. Vault admin only.
fn authorize_issuer(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
issuer_addr: soroban_sdk::Address,
)
Remove issuer from list. Vault admin only.
fn revoke_issuer(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
issuer_addr: soroban_sdk::Address,
)
Revoke vault. Blocks all writes. Vault admin only.
fn revoke_vault(env: soroban_sdk::Env, owner: soroban_sdk::Address)
List VC IDs in owner's vault.
fn list_vc_ids(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
) -> soroban_sdk::Vec
Get VC payload by ID. Returns None if not found.
fn get_vc(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
vc_id: soroban_sdk::String,
) -> Option
Verify VC status. Returns VCStatus::Valid, VCStatus::Revoked(date), or VCStatus::Invalid.
fn verify_vc(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
vc_id: soroban_sdk::String,
) -> VCStatus
Moves a Valid VC from one vault to another; source owner and an authorized issuer must sign.
fn push(
env: soroban_sdk::Env,
from_owner: soroban_sdk::Address,
to_owner: soroban_sdk::Address,
vc_id: soroban_sdk::String,
issuer_addr: soroban_sdk::Address,
)
Issues a VC into the owner's vault; auto-authorizes the issuer if not already present.
fn issue(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
vc_id: soroban_sdk::String,
vc_data: soroban_sdk::String,
vault_contract: soroban_sdk::Address,
issuer_addr: soroban_sdk::Address,
issuer_did: soroban_sdk::String,
fee_override: i128,
) -> soroban_sdk::String
Revoke VC. Owner must sign.
fn revoke(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
vc_id: soroban_sdk::String,
date: soroban_sdk::String,
)
Creates a vault on behalf of owner; sponsor must sign and be authorized unless open_to_all is enabled.
fn create_sponsored_vault(
env: soroban_sdk::Env,
sponsor: soroban_sdk::Address,
owner: soroban_sdk::Address,
did_uri: soroban_sdk::String,
)
Sets whether sponsored vault creation is restricted to authorized sponsors or open to all. Admin only.
fn set_sponsored_vault_open_to_all(env: soroban_sdk::Env, open: bool)
Query whether sponsored vault creation is open to all.
fn get_sponsored_vault_open_to_all(env: soroban_sdk::Env) -> bool
Add an address to the authorized sponsors list. Admin only.
fn add_sponsored_vault_sponsor(env: soroban_sdk::Env, sponsor: soroban_sdk::Address)
Remove an address from the authorized sponsors list. Admin only.
fn remove_sponsored_vault_sponsor(env: soroban_sdk::Env, sponsor: soroban_sdk::Address)
Migrate legacy vault VCs from old storage format to current format. Vault admin must sign.
fn migrate(env: soroban_sdk::Env, owner: soroban_sdk::Address)