AURA

Proposals & Execution

Transaction proposals, batches, chain profiles, and settlement

Proposal Lifecycle

Public proposals can be legacy USD-only or asset-aware. When asset_id, native_amount, decimals, or gas fields are provided, the proposal digest and dWallet message bind that concrete asset payload. Approved asset-aware proposals reserve the matching DWalletAccount; cancellation, expiry, and settlement release or settle that reservation.

Public proposals can also carry chain execution binding fields. EVM proposals bind the expected chain_id, replay nonce, gas limit, max fee, and optional calldata hash. Bitcoin proposals bind the UTXO set hash and sighash type. Solana proposals bind the recent blockhash and message hash. When any binding is present, finalize_execution proves only that the dWallet signature exists; the proposal stays pending until confirm_settlement observes the required target-chain confirmations.

Custom chain codes use a governance-managed ChainProfileAccount for address format, replay scheme, curve/scheme, native gas asset, optional EVM chain id, finality model, and required confirmations.

Proposals & execution

InstructionDescription
propose_transactionSubmit a public proposal; runs the policy engine and optionally reserves an asset-aware dWallet transfer.
propose_confidential_transactionSubmit a confidential (FHE) proposal, with optional asset-aware transfer binding.
propose_batchPreview/propose a batch of transactions.
propose_confidential_batchCreate a confidential batch record from packed Encrypt EUint64Vector amount + per-item-limit ciphertexts, then submit the vector item-limit graph.New
approve_pending_executionSatisfy an approval-ladder level on a pending proposal.
execute_pendingAdvance a pending proposal toward execution; expired proposals persist cleanup and release any asset reservation.
finalize_executionVerify the dWallet signature. Legacy and unbound asset-aware proposals settle here; chain-bound proposals move to Signed and wait for settlement confirmation.
mark_settlement_broadcastMark a signed chain-bound proposal as broadcast after the relayer submits the target-chain transaction hash.New
confirm_settlementConfirm target-chain settlement for a chain-bound proposal, then settle wallet reservations, scheduled intent counters, policy counters, and aggregate balances.New
resubmit_proposalReplace chain replay fields after a failed/reorged broadcast, clear the signature request, and return the proposal to signing.New
abandon_proposalCancel a failed chain-bound proposal and release any reserved dWallet spend.New
cancel_pendingOwner cancels the pending proposal and releases any matching asset-aware reservation.

Batch inputs

Confidential batch inputs are provisioned off-chain as fixed-width Encrypt vectors and referenced on-chain by ciphertext accounts. The public item_count names how many leading EUint64Vector lanes are active (1..=8); unused lanes must be padded by the client before submission.

Chain profiles

InstructionDescription
register_chain_profileCreate a profile for a built-in or custom chain code, including address format, replay scheme, curve/scheme, gas asset, finality model, and confirmations.New
update_chain_profileEnable/disable or update an existing chain profile.New

On this page