UNPKG

stellar-plus

Version:

beta version of stellar-plus, an all-in-one sdk for the Stellar blockchain

70 lines (69 loc) 3.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PSUError = exports.ErrorCodesPipelineSubmitTransaction = void 0; const error_1 = require("../../../../stellar-plus/error"); const horizon_1 = require("../../../../stellar-plus/error/helpers/horizon"); const transaction_1 = require("../../../../stellar-plus/error/helpers/transaction"); var ErrorCodesPipelineSubmitTransaction; (function (ErrorCodesPipelineSubmitTransaction) { // PSU001 General ErrorCodesPipelineSubmitTransaction["PSU001"] = "PSU001"; // PSU101 Horizon ErrorCodesPipelineSubmitTransaction["PSU101"] = "PSU101"; ErrorCodesPipelineSubmitTransaction["PSU102"] = "PSU102"; // PSU201 RPC, ErrorCodesPipelineSubmitTransaction["PSU201"] = "PSU201"; })(ErrorCodesPipelineSubmitTransaction || (exports.ErrorCodesPipelineSubmitTransaction = ErrorCodesPipelineSubmitTransaction = {})); const invalidNetworkHandler = (conveyorBeltErrorMeta) => { return new error_1.StellarPlusError({ code: ErrorCodesPipelineSubmitTransaction.PSU001, message: 'Invalid network handler!', source: 'PipelineSubmitTransaction', details: 'The network handler provided is invalid. It must be either a HorizonHandler or an RpcHandler.', meta: { conveyorBeltErrorMeta, }, }); }; const horizonSubmissionFailed = (error, conveyorBeltErrorMeta, transaction) => { const { diagnostic, meta } = (0, horizon_1.diagnoseSubmitError)(error, transaction); return new error_1.StellarPlusError({ code: ErrorCodesPipelineSubmitTransaction.PSU101, message: 'Transaction submission through Horizon failed!', source: 'PipelineSubmitTransaction', details: 'An issue occurred while submitting the transaction through Horizon. Review the meta section for more details.', diagnostic: diagnostic, meta: Object.assign(Object.assign({}, meta), { conveyorBeltErrorMeta }), }); }; const transactionSubmittedThroughHorizonFailed = (response, conveyorBeltErrorMeta, transaction) => { const { diagnostic, meta } = (0, horizon_1.diagnoseSubmitError)(new Error('Transaction Failed!'), transaction); return new error_1.StellarPlusError({ code: ErrorCodesPipelineSubmitTransaction.PSU102, message: 'The transaction submitted through Horizon has failed!', source: 'PipelineSubmitTransaction', details: "The transaction couldn't be processed by the network. This indicates that the transaction was submitted successfully, but it failed during processing due to some inconsistency or invalid paramter. Review the meta section for more details.", diagnostic: diagnostic, meta: Object.assign(Object.assign({}, meta), { horizonSubmitTransactionData: (0, horizon_1.extractDataFromSubmitTransactionError)(response), conveyorBeltErrorMeta, data: { response } }), }); }; const rpcSubmissionFailed = (error, conveyorBeltErrorMeta, transaction) => { return new error_1.StellarPlusError({ code: ErrorCodesPipelineSubmitTransaction.PSU201, message: 'Transaction submission through Soroban RPC failed!', source: 'PipelineSubmitTransaction', details: 'An issue occurred while submitting the transaction through the Soroban RPC. Review the meta section for more details.', meta: { message: error.message, transactionData: (0, transaction_1.extractTransactionData)(transaction), error, conveyorBeltErrorMeta, }, }); }; exports.PSUError = { invalidNetworkHandler, horizonSubmissionFailed, transactionSubmittedThroughHorizonFailed, rpcSubmissionFailed, };