UNPKG

@libra-opensource/client-sdk-typescript

Version:
171 lines (170 loc) 7.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getErrorFromErrorPayload = exports.DiemClientErrorsMap = exports.ParseError = exports.InvalidFormatError = exports.InvalidParamsError = exports.MethodNotFoundError = exports.InvalidRequestError = exports.MempoolUnknownError = exports.MempoolVmError = exports.MempoolInvalidUpdate = exports.MempoolTooManyTransactions = exports.MempoolIsFull = exports.MempoolInvalidSeqNumber = exports.VmUnknownError = exports.VmExecutionError = exports.VmDeserializationError = exports.VmInvariantViolationError = exports.VmVerificationError = exports.VmValidationError = exports.UnknownServerError = exports.DiemClientError = exports.DiemNetworkStaleError = exports.DiemChainIDMismatchError = exports.FaucetNetworkError = exports.FaucetTransportError = exports.TransactionSequenceNumberConflictError = exports.TransactionExpiredError = exports.TransactionExecutionFailure = exports.AccountTransactionNotFound = exports.DiemError = void 0; class DiemError extends Error { } exports.DiemError = DiemError; class AccountTransactionNotFound extends DiemError { constructor(address, sequenceNumber) { super(`couldn't find transaction by sequence number ${sequenceNumber} for account ${address}`); this.address = address; this.sequenceNumber = sequenceNumber; } } exports.AccountTransactionNotFound = AccountTransactionNotFound; class TransactionExecutionFailure extends DiemError { constructor(vmStatusType) { super(`transaction execution failed with status: ${vmStatusType}`); this.vmStatusType = vmStatusType; } } exports.TransactionExecutionFailure = TransactionExecutionFailure; class TransactionExpiredError extends DiemError { constructor(txTimestamp, currentTimestamp) { super(`transaction expired. tx timestamp ${txTimestamp}, current timestamp ${currentTimestamp}`); } } exports.TransactionExpiredError = TransactionExpiredError; class TransactionSequenceNumberConflictError extends DiemError { constructor(txn, expectedSequenceNumber) { super(`transaction sequence number conflict. expected ${expectedSequenceNumber}`); this.txn = txn; this.expectedSequenceNumber = expectedSequenceNumber; } } exports.TransactionSequenceNumberConflictError = TransactionSequenceNumberConflictError; class FaucetTransportError extends DiemError { constructor(message) { super(`Faucet transport error caused by: ${message}`); } } exports.FaucetTransportError = FaucetTransportError; class FaucetNetworkError extends DiemError { constructor(message) { super(`Faucet network error caused by: ${message}`); } } exports.FaucetNetworkError = FaucetNetworkError; class DiemChainIDMismatchError extends DiemError { constructor(expected, current) { super(`Chain ID mismatch. expected ${expected}, got ${current}`); } } exports.DiemChainIDMismatchError = DiemChainIDMismatchError; class DiemNetworkStaleError extends DiemError { constructor(lastSeen, current) { super(`Current ledger state stale:\\n current version: ${current.version} last seen version: ${lastSeen.version} current timestamp usecs: ${current.timestampUsecs} last seen timestamp usecs: ${lastSeen.timestampUsecs}`); } } exports.DiemNetworkStaleError = DiemNetworkStaleError; class DiemClientError extends DiemError { constructor(error) { super(`Request to Diem failed with error code: ${error.code}`); this.error = error; } } exports.DiemClientError = DiemClientError; /// Custom JSON RPC server error codes /// Ranges from -32000 to -32099 - see `https://www.jsonrpc.org/specification#error_object` for details class UnknownServerError extends DiemClientError { } exports.UnknownServerError = UnknownServerError; UnknownServerError.code = -32000; // VM errors - see `vm_status.rs` for specs class VmValidationError extends DiemClientError { } exports.VmValidationError = VmValidationError; VmValidationError.code = -32001; class VmVerificationError extends DiemClientError { } exports.VmVerificationError = VmVerificationError; VmVerificationError.code = -32002; class VmInvariantViolationError extends DiemClientError { } exports.VmInvariantViolationError = VmInvariantViolationError; VmInvariantViolationError.code = -32003; class VmDeserializationError extends DiemClientError { } exports.VmDeserializationError = VmDeserializationError; VmDeserializationError.code = -32004; class VmExecutionError extends DiemClientError { } exports.VmExecutionError = VmExecutionError; VmExecutionError.code = -32005; class VmUnknownError extends DiemClientError { } exports.VmUnknownError = VmUnknownError; VmUnknownError.code = -32006; // Mempool errors - see `MempoolStatusCode` for specs class MempoolInvalidSeqNumber extends DiemClientError { } exports.MempoolInvalidSeqNumber = MempoolInvalidSeqNumber; MempoolInvalidSeqNumber.code = -32007; class MempoolIsFull extends DiemClientError { } exports.MempoolIsFull = MempoolIsFull; MempoolIsFull.code = -32008; class MempoolTooManyTransactions extends DiemClientError { } exports.MempoolTooManyTransactions = MempoolTooManyTransactions; MempoolTooManyTransactions.code = -32009; class MempoolInvalidUpdate extends DiemClientError { } exports.MempoolInvalidUpdate = MempoolInvalidUpdate; MempoolInvalidUpdate.code = -32010; class MempoolVmError extends DiemClientError { } exports.MempoolVmError = MempoolVmError; MempoolVmError.code = -32011; class MempoolUnknownError extends DiemClientError { } exports.MempoolUnknownError = MempoolUnknownError; MempoolUnknownError.code = -32012; /// JSON RPC server error codes for invalid request class InvalidRequestError extends DiemClientError { } exports.InvalidRequestError = InvalidRequestError; InvalidRequestError.code = -32600; class MethodNotFoundError extends DiemClientError { } exports.MethodNotFoundError = MethodNotFoundError; MethodNotFoundError.code = -32601; class InvalidParamsError extends DiemClientError { } exports.InvalidParamsError = InvalidParamsError; InvalidParamsError.code = -32602; class InvalidFormatError extends DiemClientError { } exports.InvalidFormatError = InvalidFormatError; InvalidFormatError.code = -32604; class ParseError extends DiemClientError { } exports.ParseError = ParseError; ParseError.code = -32700; exports.DiemClientErrorsMap = { [UnknownServerError.code]: UnknownServerError, [VmValidationError.code]: VmValidationError, [VmVerificationError.code]: VmVerificationError, [VmInvariantViolationError.code]: VmInvariantViolationError, [VmDeserializationError.code]: VmDeserializationError, [VmExecutionError.code]: VmExecutionError, [VmUnknownError.code]: VmUnknownError, [MempoolInvalidSeqNumber.code]: MempoolInvalidSeqNumber, [MempoolIsFull.code]: MempoolIsFull, [MempoolTooManyTransactions.code]: MempoolTooManyTransactions, [MempoolInvalidUpdate.code]: MempoolInvalidUpdate, [MempoolVmError.code]: MempoolVmError, [MempoolUnknownError.code]: MempoolUnknownError, [InvalidRequestError.code]: InvalidRequestError, [MethodNotFoundError.code]: MethodNotFoundError, [InvalidParamsError.code]: InvalidParamsError, [InvalidFormatError.code]: InvalidFormatError, [ParseError.code]: ParseError, }; function getErrorFromErrorPayload(error) { if (error.code in exports.DiemClientErrorsMap) { return new exports.DiemClientErrorsMap[error.code](error); } return new UnknownServerError(error); } exports.getErrorFromErrorPayload = getErrorFromErrorPayload;