// ******************************************************* // ************* Standby Send Check ********************** // ******************************************************* async function sendCheck() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' standbyResultField.value = results await client.connect() results += '\nConnected.' standbyResultField.value = results const standby_wallet = xrpl.Wallet.fromSeed(standbySeedField.value) const operational_wallet = xrpl.Wallet.fromSeed(operationalSeedField.value) var check_amount = standbyAmountField.value if (standbyCurrencyField.value != 'XRP') { check_amount = { currency: standbyCurrencyField.value, value: standbyAmountField.value, issuer: standby_wallet.address, } } const send_check_tx = { TransactionType: 'CheckCreate', Account: standby_wallet.address, SendMax: check_amount, Destination: standbyDestinationField.value, } const check_prepared = await client.autofill(send_check_tx) const check_signed = standby_wallet.sign(check_prepared) results += 'Sending ' + check_amount + ' ' + standbyCurrencyField + ' to ' + standbyDestinationField.value + '...' standbyResultField.value = results const check_result = await client.submitAndWait(check_signed.tx_blob) if (check_result.result.meta.TransactionResult == 'tesSUCCESS') { results += 'Transaction succeeded: https://testnet.xrpl.org/transactions/${check_signed.hash}' standbyResultField.value = JSON.stringify(check_result.result, null, 2) } else { results += 'Transaction failed: See JavaScript console for details.' standbyResultField.value = results throw 'Error sending transaction: ${check_result.result.meta.TransactionResult}' } standbyBalanceField.value = await client.getXrpBalance(standby_wallet.address) operationalBalanceField.value = await client.getXrpBalance(operational_wallet.address) client.disconnect() } // end of sendCheck() // ******************************************************* // *************** Standby Get Checks ******************** // ******************************************************* async function getChecks() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' standbyResultField.value = results await client.connect() results += '\nConnected.' standbyResultField.value = results results = '\nGetting standby account checks...\n' const check_objects = await client.request({ id: 5, command: 'account_objects', account: standbyAccountField.value, ledger_index: 'validated', type: 'check', }) standbyResultField.value = JSON.stringify(check_objects.result, null, 2) client.disconnect() } // End of getChecks() // ******************************************************* // ************* Standby Cash Check ********************** // ******************************************************* async function cashCheck() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' standbyResultField.value = results await client.connect() results += '\nConnected.' standbyResultField.value = results const standby_wallet = xrpl.Wallet.fromSeed(standbySeedField.value) const operational_wallet = xrpl.Wallet.fromSeed(operationalSeedField.value) var check_amount = standbyAmountField.value if (standbyCurrencyField.value != 'XRP') { check_amount = { value: standbyAmountField.value, currency: standbyCurrencyField.value, issuer: standbyIssuerField.value, } } const cash_check_tx = { TransactionType: 'CheckCash', Account: standby_wallet.address, Amount: check_amount, CheckID: standbyCheckID.value, } const cash_prepared = await client.autofill(cash_check_tx) const cash_signed = standby_wallet.sign(cash_prepared) results += ' Receiving ' + standbyAmountField.value + ' ' + standbyCurrencyField.value + '.\n' standbyResultField.value = results const check_result = await client.submitAndWait(cash_signed.tx_blob) if (check_result.result.meta.TransactionResult == 'tesSUCCESS') { results += 'Transaction succeeded: https://testnet.xrpl.org/transactions/${cash_signed.hash}' standbyResultField.value = results } else { results += 'Transaction failed: See JavaScript console for details.' standbyResultField.value = results throw 'Error sending transaction: ${check_result.result.meta.TransactionResult}' } standbyBalanceField.value = await client.getXrpBalance(standby_wallet.address) operationalBalanceField.value = await client.getXrpBalance(operational_wallet.address) client.disconnect() } // end of cashCheck() // ******************************************************* // *************** Standby Cancel Check ****************** // ******************************************************* async function cancelCheck() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' standbyResultField.value = results await client.connect() results += '\nConnected.' standbyResultField.value = results const standby_wallet = xrpl.Wallet.fromSeed(standbySeedField.value) const operational_wallet = xrpl.Wallet.fromSeed(operationalSeedField.value) const cancel_check_tx = { TransactionType: 'CheckCancel', Account: standby_wallet.address, CheckID: standbyCheckID.value, } const cancel_prepared = await client.autofill(cancel_check_tx) const cancel_signed = standby_wallet.sign(cancel_prepared) results += ' Cancelling check.\n' standbyResultField.value = results const check_result = await client.submitAndWait(cancel_signed.tx_blob) if (check_result.result.meta.TransactionResult == 'tesSUCCESS') { results += 'Transaction succeeded: https://testnet.xrpl.org/transactions/${cash_signed.hash}' standbyResultField.value = results } else { results += 'Transaction failed: See JavaScript console for details.' standbyResultField.value = results throw 'Error sending transaction: ${check_result.result.meta.TransactionResult}' } standbyBalanceField.value = await client.getXrpBalance(standby_wallet.address) operationalBalanceField.value = await client.getXrpBalance(operational_wallet.address) client.disconnect() } // end of cancelCheck() // ******************************************************* // ************ Operational Send Check ******************* // ******************************************************* async function opSendCheck() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' operationalResultField.value = results await client.connect() results += '\nConnected.' operationalResultField.value = results const standby_wallet = xrpl.Wallet.fromSeed(standbySeedField.value) const operational_wallet = xrpl.Wallet.fromSeed(operationalSeedField.value) const issue_quantity = operationalAmountField.value var check_amount = operationalAmountField.value if (operationalCurrencyField.value != 'XRP') { check_amount = { currency: operationalCurrencyField.value, value: operationalAmountField.value, issuer: operational_wallet.address, } } const send_check_tx = { TransactionType: 'CheckCreate', Account: operational_wallet.address, SendMax: check_amount, Destination: operationalDestinationField.value, } const check_prepared = await client.autofill(send_check_tx) const check_signed = operational_wallet.sign(check_prepared) results += '\nSending check to ' + operationalDestinationField.value + '...' operationalResultField.value = results const check_result = await client.submitAndWait(check_signed.tx_blob) if (check_result.result.meta.TransactionResult == 'tesSUCCESS') { results += 'Transaction succeeded: https://testnet.xrpl.org/transactions/${check_signed.hash}' operationalResultField.value = JSON.stringify(check_result.result, null, 2) } else { results += 'Transaction failed: See JavaScript console for details.' operationalResultField.value = results throw 'Error sending transaction: ${check_result.result.meta.TransactionResult}' } standbyBalanceField.value = await client.getXrpBalance(standby_wallet.address) operationalBalanceField.value = await client.getXrpBalance(operational_wallet.address) client.disconnect() } // end of opSendCheck() // ******************************************************* // ************ Operational Get Checks ******************* // ******************************************************* async function opGetChecks() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' operationalResultField.value = results await client.connect() results += '\nConnected.' operationalResultField.value = results results = '\nGetting standby account checks...\n' const check_objects = await client.request({ id: 5, command: 'account_objects', account: operationalAccountField.value, ledger_index: 'validated', type: 'check', }) operationalResultField.value = JSON.stringify(check_objects.result, null, 2) client.disconnect() } // End of opGetChecks() // ******************************************************* // ************* Operational Cash Check ****************** // ******************************************************* async function opCashCheck() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' operationalResultField.value = results await client.connect() results += '\nConnected.' operationalResultField.value = results const standby_wallet = xrpl.Wallet.fromSeed(standbySeedField.value) const operational_wallet = xrpl.Wallet.fromSeed(operationalSeedField.value) var check_amount = operationalAmountField.value if (operationalCurrencyField.value != 'XRP') { check_amount = { value: operationalAmountField.value, currency: operationalCurrencyField.value, issuer: operationalIssuerField.value, } } const cash_check_tx = { TransactionType: 'CheckCash', Account: operational_wallet.address, Amount: check_amount, CheckID: operationalCheckIDField.value, } const cash_prepared = await client.autofill(cash_check_tx) const cash_signed = operational_wallet.sign(cash_prepared) results += ' Receiving ' + operationalAmountField.value + ' ' + operationalCurrencyField.value + '.\n' operationalResultField.value = results const check_result = await client.submitAndWait(cash_signed.tx_blob) if (check_result.result.meta.TransactionResult == 'tesSUCCESS') { results += 'Transaction succeeded: https://testnet.xrpl.org/transactions/${cash_signed.hash}' operationalResultField.value = results } else { results += 'Transaction failed: See JavaScript console for details.' operationalResultField.value = results throw 'Error sending transaction: ${check_result.result.meta.TransactionResult}' } standbyBalanceField.value = await client.getXrpBalance(standby_wallet.address) operationalBalanceField.value = await client.getXrpBalance(operational_wallet.address) client.disconnect() } // end of opCashCheck() // ******************************************************* // ************* Operational Cancel Check **************** // ******************************************************* async function opCancelCheck() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' operationalResultField.value = results await client.connect() results += '\nConnected.' operationalResultField.value = results const standby_wallet = xrpl.Wallet.fromSeed(standbySeedField.value) const operational_wallet = xrpl.Wallet.fromSeed(operationalSeedField.value) const cancel_check_tx = { TransactionType: 'CheckCancel', Account: operational_wallet.address, CheckID: operationalCheckIDField.value, } const cancel_prepared = await client.autofill(cancel_check_tx) const cancel_signed = operational_wallet.sign(cancel_prepared) results += ' Cancelling check.\n' operationalResultField.value = results const check_result = await client.submitAndWait(cancel_signed.tx_blob) if (check_result.result.meta.TransactionResult == 'tesSUCCESS') { results += 'Transaction succeeded: https://testnet.xrpl.org/transactions/${cash_signed.hash}' operationalResultField.value = results } else { results += 'Transaction failed: See JavaScript console for details.' operationalResultField.value = results throw 'Error sending transaction: ${check_result.result.meta.TransactionResult}' } standbyBalanceField.value = await client.getXrpBalance(standby_wallet.address) operationalBalanceField.value = await client.getXrpBalance(operational_wallet.address) client.disconnect() } // end of cancelCheck()