Whitelisting Addresses

Whitelist Management

Note that only private ("permissioned") tokens can whitelist addresses.

// 8. Manage whitelist (add address) 
    println!("\n8. Manage Whitelist");
    println!("===================");

    if let Some(ref info) = token_info {
        if info.is_private {
            println!("Token is private - proceeding with whitelist operation");
            let whitelist_payload = TokenWhitelistPayload {
                recent_epoch: state.epoch,
                recent_checkpoint: state.checkpoint,
                chain_id,
                nonce: current_nonce,
                action: WhitelistAction::Add,
                address: recipient_address,
                token: token_address,
            };
            current_nonce += 1; // Increment for next transaction

            match client
                .manage_whitelist(whitelist_payload, private_key)
                .await
            {
                Ok(response) => {
                    println!("Address whitelisted - Tx: {}", response.hash);
                }
                Err(e) => {
                    print_detailed_error("Could not manage whitelist", &e);
                }
            }
        } else {
            println!("Token is public - skipping whitelist operation (not applicable)");
        }
    } else {
        println!("Token metadata not available - skipping whitelist operation");
    }

Last updated