const xrpl = require('xrpl') async function main() { const client = new xrpl.Client("wss://s.devnet.rippletest.net:51233") await client.connect() console.log("Funding new wallets from faucet...") const delegator_wallet = (await client.fundWallet()).wallet console.log("Delegator account:") console.log(" Address:", delegator_wallet.address) const delegate_wallet = (await client.fundWallet()).wallet console.log("Delegate account:") console.log(" Address:", delegate_wallet.address) console.log(" Seed:", delegate_wallet.seed) console.log("Please note these values for later.") // Define the transaction const delegateset = { "TransactionType": "DelegateSet", "Account": delegator_wallet.address, "Authorize": delegate_wallet.address, "Permissions": [ { "Permission": { "PermissionValue": "AccountDomainSet" } } ] } // Prepare, sign, and submit the transaction const result = await client.submitAndWait(delegateset, { wallet: delegator_wallet, autofill: true }) // Check transaction results console.log(result) if (result.result.meta.TransactionResult === "tesSUCCESS") { console.log("Delegate successfully set.") } // Confirm presence of Delegate ledger entry using account_objects response = await client.request({ "command": "account_objects", "account": delegator_wallet.address, "type": "delegate", "ledger_index": "validated" }) console.log(JSON.stringify(response, null, 2)) client.disconnect() } main()