AURA
Core

Governance

Emergency multisig overrides, AI authority rotations, config changes, and shutdown.

Pre-alpha — not production ready

aura-sdk targets Solana devnet only. APIs may change without notice. Do not use for real funds until a stable release and audit are published.

configure_multisig

Attach an emergency guardian multisig to the treasury.

use aura_sdk::types::ConfigureMultisigArgs;

client.configure_multisig(&owner, treasury, ConfigureMultisigArgs {
    required_signatures: 2,
    guardians: vec![guardian1, guardian2, guardian3],
    timestamp: now,
})?;

propose_override / collect_override_signature

Guardian proposes a daily limit override; other guardians co-sign until the threshold is reached.

// Guardian 1 proposes
client.propose_override(&guardian1, treasury, 25_000, now)?;

// Guardian 2 co-signs
client.collect_override_signature(&guardian2, treasury, now)?;
// Override active once threshold reached

propose_ai_rotation / execute_ai_rotation / cancel_ai_rotation

Timelocked rotation of the AI authority key.

// Start rotation
client.propose_ai_rotation(&owner, treasury, new_ai_authority, now)?;

// After timelock expires
client.execute_ai_rotation(&owner, treasury, now)?;

// Or cancel
client.cancel_ai_rotation(&owner, treasury, now)?;

propose_config_change / execute_config_change / veto_config_change

Timelocked policy configuration update.

let change_id: u64 = 1;

// Propose
client.propose_config_change(&owner, treasury, change_id, new_policy_config, now)?;

// Guardian vetoes during timelock
client.veto_config_change(&guardian, treasury, change_id, now)?;

// Or execute after timelock
client.execute_config_change(&owner, treasury, change_id, now)?;

emergency_shutdown

Immediately halt the treasury and transfer recovery authority.

client.emergency_shutdown(&owner, treasury, recovery_authority, now)?;

On this page