UNPKG

@stellar/stellar-sdk

Version:

A library for working with the Stellar network, including communication with the Horizon and Soroban RPC servers.

63 lines (59 loc) 2.56 kB
'use strict'; require('../node_modules/.pnpm/@stellar_js-xdr@4.0.0/node_modules/@stellar/js-xdr/src/int.js'); require('../node_modules/.pnpm/@stellar_js-xdr@4.0.0/node_modules/@stellar/js-xdr/src/hyper.js'); require('../node_modules/.pnpm/@stellar_js-xdr@4.0.0/node_modules/@stellar/js-xdr/src/unsigned-int.js'); require('../node_modules/.pnpm/@stellar_js-xdr@4.0.0/node_modules/@stellar/js-xdr/src/unsigned-hyper.js'); require('../node_modules/.pnpm/@stellar_js-xdr@4.0.0/node_modules/@stellar/js-xdr/src/xdr-type.js'); require('buffer'); var curr_generated = require('../base/generated/curr_generated.js'); require('@noble/hashes/sha2.js'); require('../base/signing.js'); require('../base/keypair.js'); require('base32.js'); require('../base/util/continued_fraction.js'); require('../base/util/bignumber.js'); require('../base/transaction_builder.js'); require('../base/muxed_account.js'); require('../base/scval.js'); require('../base/numbers/uint128.js'); require('../base/numbers/uint256.js'); require('../base/numbers/int128.js'); require('../base/numbers/int256.js'); var bad_response = require('./bad_response.js'); class TransactionFailedError extends bad_response.BadResponseError { /** * Returns the transaction- and operation-level result codes reported by * Horizon, e.g. `{ transaction: "tx_failed", operations: ["op_underfunded"] }`. * * Horizon omits `operations` when the transaction failed a * transaction-level check (e.g. `tx_bad_seq`) and no operations were * evaluated; this accessor normalizes that to an empty array. * * @returns The `result_codes` object from the response's `extras`. */ getResultCodes() { const { transaction, operations = [] } = this.extras().result_codes; return { transaction, operations }; } /** * Decodes and returns the {@link xdr.TransactionResult} from the response's * `extras.result_xdr`, providing structured access to per-operation results. * * @returns The decoded transaction result, or `null` if the response did not * include a `result_xdr`. * @throws If the server returned a `result_xdr` that is not valid base64-encoded * {@link xdr.TransactionResult} XDR. */ getTransactionResult() { const resultXdr = this.extras().result_xdr; if (!resultXdr) { return null; } return curr_generated.default.TransactionResult.fromXDR(resultXdr, "base64"); } extras() { return this.response.data.extras; } } exports.TransactionFailedError = TransactionFailedError; //# sourceMappingURL=transaction_failed.js.map