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 reachedpropose_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)?;