UNPKG

@bithomp/xrpl-api

Version:

A Bithomp JavaScript/TypeScript library for interacting with the XRP Ledger

220 lines (219 loc) 11.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.parserTypeFunc = void 0; exports.parseTransactionType = parseTransactionType; exports.parseTransaction = parseTransaction; const common_1 = require("../common"); const account_1 = require("./ledger/account"); const outcome_1 = require("./outcome"); const unrecognized_1 = __importDefault(require("./specification/unrecognized")); const settings_1 = __importDefault(require("./specification/settings")); const account_delete_1 = __importDefault(require("./specification/account-delete")); const check_cancel_1 = __importDefault(require("./specification/check-cancel")); const check_cash_1 = __importDefault(require("./specification/check-cash")); const check_create_1 = __importDefault(require("./specification/check-create")); const deposit_preauth_1 = __importDefault(require("./specification/deposit-preauth")); const escrow_cancel_1 = __importDefault(require("./specification/escrow-cancel")); const escrow_create_1 = __importDefault(require("./specification/escrow-create")); const escrow_finish_1 = __importDefault(require("./specification/escrow-finish")); const offer_cancel_1 = __importDefault(require("./specification/offer-cancel")); const offer_create_1 = __importDefault(require("./specification/offer-create")); const payment_1 = __importDefault(require("./specification/payment")); const payment_channel_claim_1 = __importDefault(require("./specification/payment-channel-claim")); const payment_channel_create_1 = __importDefault(require("./specification/payment-channel-create")); const payment_channel_fund_1 = __importDefault(require("./specification/payment-channel-fund")); const ticket_create_1 = __importDefault(require("./specification/ticket-create")); const trust_set_1 = __importDefault(require("./specification/trust-set")); const nftoken_burn_1 = __importDefault(require("./specification/nftoken-burn")); const nftoken_mint_1 = __importDefault(require("./specification/nftoken-mint")); const nftoken_modify_1 = __importDefault(require("./specification/nftoken-modify")); const nftoken_cancel_offer_1 = __importDefault(require("./specification/nftoken-cancel-offer")); const nftoken_create_offer_1 = __importDefault(require("./specification/nftoken-create-offer")); const nftoken_accept_offer_1 = __importDefault(require("./specification/nftoken-accept-offer")); const uritoken_burn_1 = __importDefault(require("./specification/uritoken-burn")); const uritoken_buy_1 = __importDefault(require("./specification/uritoken-buy")); const uritoken_cancel_sell_offer_1 = __importDefault(require("./specification/uritoken-cancel-sell-offer")); const uritoken_create_sell_offer_1 = __importDefault(require("./specification/uritoken-create-sell-offer")); const uritoken_mint_1 = __importDefault(require("./specification/uritoken-mint")); const import_1 = __importDefault(require("./specification/import")); const invoke_1 = __importDefault(require("./specification/invoke")); const unl_report_1 = __importDefault(require("./specification/unl-report")); const remit_1 = __importDefault(require("./specification/remit")); const clawback_1 = __importDefault(require("./specification/clawback")); const amm_bid_1 = __importDefault(require("./specification/amm-bid")); const amm_create_1 = __importDefault(require("./specification/amm-create")); const amm_delete_1 = __importDefault(require("./specification/amm-delete")); const amm_deposit_1 = __importDefault(require("./specification/amm-deposit")); const amm_withdraw_1 = __importDefault(require("./specification/amm-withdraw")); const amm_vote_1 = __importDefault(require("./specification/amm-vote")); const amm_clawback_1 = __importDefault(require("./specification/amm-clawback")); const did_set_1 = __importDefault(require("./specification/did-set")); const did_delete_1 = __importDefault(require("./specification/did-delete")); const oracle_set_1 = __importDefault(require("./specification/oracle-set")); const oracle_delete_1 = __importDefault(require("./specification/oracle-delete")); const mptoken_issuance_create_1 = __importDefault(require("./specification/mptoken-issuance-create")); const mptoken_authorize_1 = __importDefault(require("./specification/mptoken-authorize")); const mptoken_issuance_set_1 = __importDefault(require("./specification/mptoken-issuance-set")); const mptoken_issuance_destroy_1 = __importDefault(require("./specification/mptoken-issuance-destroy")); const delegate_set_1 = __importDefault(require("./specification/delegate-set")); const set_remarks_1 = __importDefault(require("./specification/set-remarks")); const credential_create_1 = __importDefault(require("./specification/credential-create")); const credential_accept_1 = __importDefault(require("./specification/credential-accept")); const credential_delete_1 = __importDefault(require("./specification/credential-delete")); const genesis_mint_1 = __importDefault(require("./specification/genesis-mint")); const batch_1 = __importDefault(require("./specification/batch")); const amendment_1 = __importDefault(require("./specification/amendment")); const fee_update_1 = __importDefault(require("./specification/fee-update")); const unl_modify_1 = __importDefault(require("./specification/unl-modify")); const transactionTypeToType = { AccountSet: "settings", AccountDelete: "accountDelete", CheckCancel: "checkCancel", CheckCash: "checkCash", CheckCreate: "checkCreate", DepositPreauth: "depositPreauth", EscrowCancel: "escrowCancellation", EscrowCreate: "escrowCreation", EscrowFinish: "escrowExecution", OfferCancel: "orderCancellation", OfferCreate: "order", Payment: "payment", PaymentChannelClaim: "paymentChannelClaim", PaymentChannelCreate: "paymentChannelCreate", PaymentChannelFund: "paymentChannelFund", SetRegularKey: "settings", SignerListSet: "settings", TicketCreate: "ticketCreate", TrustSet: "trustline", NFTokenBurn: "nftokenBurn", NFTokenMint: "nftokenMint", NFTokenModify: "NFTokenModify", NFTokenCancelOffer: "nftokenCancelOffer", NFTokenCreateOffer: "nftokenCreateOffer", NFTokenAcceptOffer: "nftokenAcceptOffer", URITokenMint: "uritokenMint", URITokenBurn: "uritokenBurn", URITokenCreateSellOffer: "uritokenCreateSellOffer", URITokenCancelSellOffer: "uritokenCancelSellOffer", URITokenBuy: "uritokenBuy", Import: "import", Invoke: "invoke", UNLReport: "unlReport", Remit: "remit", Clawback: "clawback", AMMBid: "ammBid", AMMCreate: "ammCreate", AMMDelete: "ammDelete", AMMDeposit: "ammDeposit", AMMWithdraw: "ammWithdraw", AMMVote: "ammVote", AMMClawback: "AMMClawback", DIDSet: "didSet", DIDDelete: "didDelete", OracleSet: "oracleSet", OracleDelete: "oracleDelete", MPTokenIssuanceCreate: "MPTokenIssuanceCreate", MPTokenAuthorize: "MPTokenAuthorize", MPTokenIssuanceSet: "MPTokenIssuanceSet", MPTokenIssuanceDestroy: "MPTokenIssuanceDestroy", CredentialCreate: "CredentialCreate", CredentialAccept: "CredentialAccept", CredentialDelete: "CredentialDelete", DelegateSet: "DelegateSet", SetRemarks: "SetRemarks", GenesisMint: "genesisMint", Batch: "Batch", EnableAmendment: "amendment", SetFee: "feeUpdate", UNLModify: "UNLModify", }; function parseTransactionType(type) { return transactionTypeToType[type] || type; } exports.parserTypeFunc = { settings: settings_1.default, accountDelete: account_delete_1.default, checkCancel: check_cancel_1.default, checkCash: check_cash_1.default, checkCreate: check_create_1.default, depositPreauth: deposit_preauth_1.default, escrowCancellation: escrow_cancel_1.default, escrowCreation: escrow_create_1.default, escrowExecution: escrow_finish_1.default, orderCancellation: offer_cancel_1.default, order: offer_create_1.default, payment: payment_1.default, paymentChannelClaim: payment_channel_claim_1.default, paymentChannelCreate: payment_channel_create_1.default, paymentChannelFund: payment_channel_fund_1.default, ticketCreate: ticket_create_1.default, trustline: trust_set_1.default, nftokenBurn: nftoken_burn_1.default, nftokenMint: nftoken_mint_1.default, NFTokenModify: nftoken_modify_1.default, nftokenCancelOffer: nftoken_cancel_offer_1.default, nftokenCreateOffer: nftoken_create_offer_1.default, nftokenAcceptOffer: nftoken_accept_offer_1.default, uritokenBurn: uritoken_burn_1.default, uritokenBuy: uritoken_buy_1.default, uritokenCreateSellOffer: uritoken_create_sell_offer_1.default, uritokenCancelSellOffer: uritoken_cancel_sell_offer_1.default, uritokenMint: uritoken_mint_1.default, import: import_1.default, invoke: invoke_1.default, unlReport: unl_report_1.default, remit: remit_1.default, clawback: clawback_1.default, ammBid: amm_bid_1.default, ammCreate: amm_create_1.default, ammDelete: amm_delete_1.default, ammDeposit: amm_deposit_1.default, ammWithdraw: amm_withdraw_1.default, ammVote: amm_vote_1.default, AMMClawback: amm_clawback_1.default, didSet: did_set_1.default, didDelete: did_delete_1.default, oracleSet: oracle_set_1.default, oracleDelete: oracle_delete_1.default, MPTokenIssuanceCreate: mptoken_issuance_create_1.default, MPTokenAuthorize: mptoken_authorize_1.default, MPTokenIssuanceSet: mptoken_issuance_set_1.default, MPTokenIssuanceDestroy: mptoken_issuance_destroy_1.default, CredentialCreate: credential_create_1.default, CredentialAccept: credential_accept_1.default, CredentialDelete: credential_delete_1.default, DelegateSet: delegate_set_1.default, SetRemarks: set_remarks_1.default, genesisMint: genesis_mint_1.default, Batch: batch_1.default, amendment: amendment_1.default, feeUpdate: fee_update_1.default, UNLModify: unl_modify_1.default, }; function parseTransaction(tx, includeRawTransaction, nativeCurrency, definitions) { let universalTx = tx; if (universalTx.tx_json) { universalTx = { ...universalTx, ...universalTx.tx_json }; } const type = parseTransactionType(universalTx.TransactionType); const parser = exports.parserTypeFunc[type]; const specification = parser ? parser(universalTx, nativeCurrency, definitions) : (0, unrecognized_1.default)(universalTx); if (!parser && includeRawTransaction !== false) { includeRawTransaction = true; } const outcome = (0, outcome_1.parseOutcome)(universalTx, nativeCurrency, definitions); return (0, common_1.removeUndefined)({ type, address: (0, account_1.parseAccount)(universalTx.Account), sequence: universalTx.Sequence, ticketSequence: universalTx.TicketSequence, id: universalTx.hash, ctid: universalTx.ctid, specification: (0, common_1.removeUndefined)(specification), outcome: outcome ? (0, common_1.removeUndefined)(outcome) : undefined, rawTransaction: includeRawTransaction ? JSON.stringify(tx) : undefined, }); }