// Script to create an Agung wallet from a private key and send tokens // This script demonstrates how to create a wallet from a private key and send tokens // Define the private key and recipient address let private_key = "0x9ecfd58eca522b0e7c109bf945966ee208cd6d593b1dc3378aedfdc60b64f512"; let recipient_address = "0xf400f9c3F7317e19523a5DB698Ce67e7a7E083e2"; print("=== Agung Wallet Transaction Demo ==="); print(`From private key: ${private_key}`); print(`To address: ${recipient_address}`); // First, create a key space and keypair (required for the wallet infrastructure) let space_name = "agung_transaction_demo"; let password = "demo_password"; // Create a new key space if !create_key_space(space_name, password) { print("Failed to create key space"); return; } // Create a keypair if !create_keypair("demo_keypair", password) { print("Failed to create keypair"); return; } // Select the keypair if !select_keypair("demo_keypair") { print("Failed to select keypair"); return; } print("\nCreated and selected keypair successfully"); // Clear any existing Agung wallets to avoid conflicts if clear_wallets_for_network("agung") { print("Cleared existing Agung wallets"); } else { print("Failed to clear existing Agung wallets"); return; } // Create a wallet from the private key directly print("\n=== Creating Wallet from Private Key ==="); // Create a wallet from the private key for the Agung network if create_wallet_from_private_key_for_network(private_key, "agung") { print("Successfully created wallet from private key for Agung network"); // Get the wallet address let wallet_address = get_wallet_address_for_network("agung"); print(`Wallet address: ${wallet_address}`); // Create a provider for the Agung network let provider_id = create_agung_provider(); if provider_id != "" { print("Successfully created Agung provider"); // Check the wallet balance first let wallet_address = get_wallet_address_for_network("agung"); let balance_wei = get_balance("agung", wallet_address); if balance_wei == "" { print("Failed to get wallet balance"); print("This could be due to network issues or other errors."); return; } print(`Current wallet balance: ${balance_wei} wei`); // Convert 1 AGNG to wei (1 AGNG = 10^18 wei) // Use string representation for large numbers let amount_wei_str = "1000000000000000000"; // 1 AGNG in wei as a string // Check if we have enough balance if parse_int(balance_wei) < parse_int(amount_wei_str) { print(`Insufficient balance to send ${amount_wei_str} wei (1 AGNG)`); print(`Current balance: ${balance_wei} wei`); print("Please fund the wallet before attempting to send a transaction"); return; } print(`Attempting to send ${amount_wei_str} wei (1 AGNG) to ${recipient_address}`); // Send the transaction using the blocking implementation let tx_hash = send_eth("agung", recipient_address, amount_wei_str); if tx_hash != "" { print(`Transaction sent with hash: ${tx_hash}`); print(`You can view the transaction at: ${get_network_explorer_url("agung")}/tx/${tx_hash}`); } else { print("Transaction failed"); print("This could be due to insufficient funds, network issues, or other errors."); print("Check the logs for more details."); } } else { print("Failed to create Agung provider"); } } else { print("Failed to create wallet from private key"); } print("\nAgung transaction demo completed");