AURA
Advanced

Address Lists

Manage per-chain allow and deny lists for recipient addresses.

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.

Address lists let you maintain per-chain allowlists or denylists for recipient addresses. Pass address_list in the proposal accounts to enforce the list.

init_address_list

Create a new address list for a specific chain and mode.

// Build only
let instruction = client.init_address_list_instruction(accounts, mode, chain, now);

// Build + send
client.init_address_list(&owner, accounts, mode, chain, now)?;
client.init_address_list(
    &owner,
    aura_core::accounts::InitAddressList {
        owner: owner.pubkey(),
        treasury,
        address_list: address_list_pda,
        system_program: anchor_lang::system_program::ID,
    },
    1,   // mode: 0 = allowlist, 1 = denylist
    2,   // chain: Ethereum
    now,
)?;

manage_address_list

Add or remove addresses from an existing list.

// Build only
let instruction = client.manage_address_list_instruction(accounts, mode, chain, addresses, now);

// Build + send
client.manage_address_list(&operator, accounts, mode, chain, addresses, now)?;
client.manage_address_list(
    &owner,
    aura_core::accounts::ManageAddressList {
        operator: owner.pubkey(),
        treasury,
        operator_role: None,
        address_list: address_list_pda,
    },
    0,   // mode: 0 = add, 1 = remove
    2,   // chain: Ethereum
    vec!["0xbadactor1...".to_string(), "0xbadactor2...".to_string()],
    now,
)?;

close_address_list

Close the address list account and reclaim rent.

// Build only
let instruction = client.close_address_list_instruction(accounts);

// Build + send
client.close_address_list(&owner, accounts)?;

On this page