stellar-plus
Version:
beta version of stellar-plus, an all-in-one sdk for the Stellar blockchain
101 lines (100 loc) • 4.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PSIError = exports.ErrorCodesPipelineSimulateTransaction = void 0;
const error_1 = require("../../../../stellar-plus/error");
const transaction_1 = require("../../../../stellar-plus/error/helpers/transaction");
var ErrorCodesPipelineSimulateTransaction;
(function (ErrorCodesPipelineSimulateTransaction) {
// PSI0 General
ErrorCodesPipelineSimulateTransaction["PSI001"] = "PSI001";
ErrorCodesPipelineSimulateTransaction["PSI002"] = "PSI002";
ErrorCodesPipelineSimulateTransaction["PSI003"] = "PSI003";
ErrorCodesPipelineSimulateTransaction["PSI004"] = "PSI004";
//PSI1 Restore
ErrorCodesPipelineSimulateTransaction["PSI100"] = "PSI100";
//PSI2 Transaction
ErrorCodesPipelineSimulateTransaction["PSI201"] = "PSI201";
})(ErrorCodesPipelineSimulateTransaction || (exports.ErrorCodesPipelineSimulateTransaction = ErrorCodesPipelineSimulateTransaction = {}));
const failedToSimulateTransaction = (error, conveyorBeltErrorMeta) => {
return new error_1.StellarPlusError({
code: ErrorCodesPipelineSimulateTransaction.PSI001,
message: 'Failed to simulate!',
source: 'PipelineSimulateTransaction',
details: 'An issue occurred while simulating the transaction. Refer to the meta section for more details.',
meta: {
error,
conveyorBeltErrorMeta,
},
});
};
const simulationFailed = (failedSimulation, conveyorBeltErrorMeta) => {
return new error_1.StellarPlusError({
code: ErrorCodesPipelineSimulateTransaction.PSI002,
message: 'Failed to simulate!',
source: 'PipelineSimulateTransaction',
details: `The simulated transaction status is not success. This indicates the transaction won't succeed if processed by the network. Refer to the meta section for more details and review the transaction parameters.`,
meta: {
message: failedSimulation.error,
conveyorBeltErrorMeta,
sorobanSimulationData: failedSimulation,
},
});
};
const simulationMissingResult = (simulationResponse, conveyorBeltErrorMeta) => {
return new error_1.StellarPlusError({
code: ErrorCodesPipelineSimulateTransaction.PSI003,
message: 'Simulation missing result!',
source: 'PipelineSimulateTransaction',
details: `The simulated transaction status is success but the result is missing. Refer to the meta section for more details and review the transaction parameters.`,
meta: {
conveyorBeltErrorMeta,
sorobanSimulationData: simulationResponse,
},
});
};
const simulationResultCouldNotBeVerified = (simulationResponse, conveyorBeltErrorMeta) => {
return new error_1.StellarPlusError({
code: ErrorCodesPipelineSimulateTransaction.PSI004,
message: 'Simulation result could not be verified!',
source: 'PipelineSimulateTransaction',
details: `The simulated transaction status is success but the result could not be verified. Refer to the meta section for more details and review the transaction parameters.`,
meta: {
conveyorBeltErrorMeta,
sorobanSimulationData: simulationResponse,
},
});
};
const transactionNeedsRestore = (simulationResponse, conveyorBeltErrorMeta) => {
return new error_1.StellarPlusError({
code: ErrorCodesPipelineSimulateTransaction.PSI100,
message: 'Transaction needs restore!',
source: 'PipelineSimulateTransaction',
details: `The simulated transaction status is restore. This indicates the transaction needs to be restored. Refer to the meta section for more details and review the transaction parameter.`,
meta: {
conveyorBeltErrorMeta,
sorobanSimulationData: simulationResponse,
},
});
};
const failedToAssembleTransaction = (error, simulationResponse, transaction, conveyorBeltErrorMeta) => {
return new error_1.StellarPlusError({
code: ErrorCodesPipelineSimulateTransaction.PSI201,
message: 'Failed to assemble transaction!',
source: 'PipelineSimulateTransaction',
details: `An issue occurred while assembling the transaction. Refer to the meta section for more details.`,
meta: {
error,
conveyorBeltErrorMeta,
sorobanSimulationData: simulationResponse,
transactionData: (0, transaction_1.extractTransactionData)(transaction),
},
});
};
exports.PSIError = {
failedToSimulateTransaction,
simulationFailed,
transactionNeedsRestore,
simulationMissingResult,
simulationResultCouldNotBeVerified,
failedToAssembleTransaction,
};