@solana/errors 8.6.0 → 8.7.0-canary-20261102161207
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +16 -4
- package/dist/index.browser.cjs +23 -7
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.mjs +22 -8
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.native.mjs +22 -8
- package/dist/index.native.mjs.map +1 -1
- package/dist/index.node.cjs +23 -7
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +22 -8
- package/dist/index.node.mjs.map +1 -1
- package/dist/types/codes.d.ts +13 -2
- package/dist/types/codes.d.ts.map +1 -1
- package/dist/types/context.d.ts +4 -1
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/json-rpc-error.d.ts.map +1 -1
- package/dist/types/message-formatter.d.ts.map +1 -1
- package/dist/types/messages.d.ts.map +1 -1
- package/dist/types/simulation-errors.d.ts +38 -4
- package/dist/types/simulation-errors.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/cli.ts +8 -3
- package/src/codes.ts +16 -3
- package/src/context.ts +4 -0
- package/src/json-rpc-error.ts +8 -1
- package/src/message-formatter.ts +9 -0
- package/src/messages.ts +2 -0
- package/src/simulation-errors.ts +50 -12
package/dist/index.node.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var SOLANA_ERROR__JSON_RPC__INTERNAL_ERROR = -32603;
|
|
|
20
20
|
var SOLANA_ERROR__JSON_RPC__INVALID_PARAMS = -32602;
|
|
21
21
|
var SOLANA_ERROR__JSON_RPC__METHOD_NOT_FOUND = -32601;
|
|
22
22
|
var SOLANA_ERROR__JSON_RPC__INVALID_REQUEST = -32600;
|
|
23
|
+
var SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LEADER_SCHEDULE_IDENTITY_NOT_FOUND = -32022;
|
|
23
24
|
var SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NO_SLOT_HISTORY = -32021;
|
|
24
25
|
var SOLANA_ERROR__JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND = -32020;
|
|
25
26
|
var SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE = -32019;
|
|
@@ -536,6 +537,7 @@ var SolanaErrorMessages = {
|
|
|
536
537
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_EPOCH_REWARDS_PERIOD_ACTIVE]: "Epoch rewards period still active at slot $slot",
|
|
537
538
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND]: "$__serverMessage",
|
|
538
539
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX]: "$__serverMessage",
|
|
540
|
+
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LEADER_SCHEDULE_IDENTITY_NOT_FOUND]: "$__serverMessage",
|
|
539
541
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED]: "$__serverMessage",
|
|
540
542
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE]: "Failed to query long-term storage; please try again",
|
|
541
543
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED]: "Minimum context slot has not been reached",
|
|
@@ -722,6 +724,12 @@ var INSTRUCTION_ERROR_RANGE_SIZE = 1e3;
|
|
|
722
724
|
var START_INDEX = "i";
|
|
723
725
|
var TYPE = "t";
|
|
724
726
|
function getHumanReadableErrorMessage(code, context = {}) {
|
|
727
|
+
if (!(code in SolanaErrorMessages)) {
|
|
728
|
+
return "__serverMessage" in context ? (
|
|
729
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
730
|
+
`Unknown Solana error code: ${code} (${context.__serverMessage})`
|
|
731
|
+
) : `Unknown Solana error code: ${code}`;
|
|
732
|
+
}
|
|
725
733
|
const messageFormatString = SolanaErrorMessages[code];
|
|
726
734
|
if (messageFormatString.length === 0) {
|
|
727
735
|
return "";
|
|
@@ -1062,6 +1070,7 @@ function getSolanaErrorFromJsonRpcError(putativeErrorResponse) {
|
|
|
1062
1070
|
case SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET:
|
|
1063
1071
|
case SOLANA_ERROR__JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND:
|
|
1064
1072
|
case SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX:
|
|
1073
|
+
case SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LEADER_SCHEDULE_IDENTITY_NOT_FOUND:
|
|
1065
1074
|
case SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED:
|
|
1066
1075
|
case SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED:
|
|
1067
1076
|
case SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE:
|
|
@@ -1069,8 +1078,10 @@ function getSolanaErrorFromJsonRpcError(putativeErrorResponse) {
|
|
|
1069
1078
|
errorContext = { __serverMessage: message };
|
|
1070
1079
|
break;
|
|
1071
1080
|
default:
|
|
1072
|
-
if (typeof data === "object" && !Array.isArray(data)) {
|
|
1081
|
+
if (typeof data === "object" && data !== null && !Array.isArray(data)) {
|
|
1073
1082
|
errorContext = data;
|
|
1083
|
+
} else {
|
|
1084
|
+
errorContext = { __serverMessage: message };
|
|
1074
1085
|
}
|
|
1075
1086
|
}
|
|
1076
1087
|
out = new SolanaError(code, errorContext);
|
|
@@ -1087,13 +1098,16 @@ function isRpcErrorResponse(value) {
|
|
|
1087
1098
|
}
|
|
1088
1099
|
|
|
1089
1100
|
// src/simulation-errors.ts
|
|
1101
|
+
var SIMULATION_ERROR_CODES = {
|
|
1102
|
+
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE]: true,
|
|
1103
|
+
[SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_COMPUTE_LIMIT]: true,
|
|
1104
|
+
[SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_RESOURCE_LIMITS]: true
|
|
1105
|
+
};
|
|
1106
|
+
function isSimulationError(e) {
|
|
1107
|
+
return isSolanaError(e) && e.context.__code in SIMULATION_ERROR_CODES;
|
|
1108
|
+
}
|
|
1090
1109
|
function unwrapSimulationError(error) {
|
|
1091
|
-
|
|
1092
|
-
SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE,
|
|
1093
|
-
SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_COMPUTE_LIMIT,
|
|
1094
|
-
SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_RESOURCE_LIMITS
|
|
1095
|
-
];
|
|
1096
|
-
if (isSolanaError(error) && !!error.cause && simulationCodes.includes(error.context.__code)) {
|
|
1110
|
+
if (isSimulationError(error) && !!error.cause) {
|
|
1097
1111
|
return error.cause;
|
|
1098
1112
|
}
|
|
1099
1113
|
return error;
|
|
@@ -1260,6 +1274,7 @@ exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET = SO
|
|
|
1260
1274
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_EPOCH_REWARDS_PERIOD_ACTIVE = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_EPOCH_REWARDS_PERIOD_ACTIVE;
|
|
1261
1275
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND;
|
|
1262
1276
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX;
|
|
1277
|
+
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LEADER_SCHEDULE_IDENTITY_NOT_FOUND = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LEADER_SCHEDULE_IDENTITY_NOT_FOUND;
|
|
1263
1278
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED;
|
|
1264
1279
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE;
|
|
1265
1280
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED;
|
|
@@ -1443,6 +1458,7 @@ exports.SolanaError = SolanaError;
|
|
|
1443
1458
|
exports.getSolanaErrorFromInstructionError = getSolanaErrorFromInstructionError;
|
|
1444
1459
|
exports.getSolanaErrorFromJsonRpcError = getSolanaErrorFromJsonRpcError;
|
|
1445
1460
|
exports.getSolanaErrorFromTransactionError = getSolanaErrorFromTransactionError;
|
|
1461
|
+
exports.isSimulationError = isSimulationError;
|
|
1446
1462
|
exports.isSolanaError = isSolanaError;
|
|
1447
1463
|
exports.safeCaptureStackTrace = safeCaptureStackTrace;
|
|
1448
1464
|
exports.unwrapSimulationError = unwrapSimulationError;
|