@solana/errors 8.6.0 → 8.6.1-canary-20261102124108
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 +13 -1
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.mjs +13 -2
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.native.mjs +13 -2
- package/dist/index.native.mjs.map +1 -1
- package/dist/index.node.cjs +13 -1
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +13 -2
- package/dist/index.node.mjs.map +1 -1
- package/dist/types/codes.d.ts +2 -1
- 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/package.json +1 -1
- package/src/cli.ts +8 -3
- package/src/codes.ts +2 -0
- 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/dist/cli.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { Command, InvalidArgumentError } from 'commander';
|
|
|
4
4
|
// src/cli.ts
|
|
5
5
|
|
|
6
6
|
// package.json
|
|
7
|
-
var version = "8.6.
|
|
7
|
+
var version = "8.6.1-canary-20261102124108";
|
|
8
8
|
|
|
9
9
|
// src/context.ts
|
|
10
10
|
function decodeEncodedContext(encodedContext) {
|
|
@@ -32,6 +32,7 @@ var SOLANA_ERROR__JSON_RPC__INTERNAL_ERROR = -32603;
|
|
|
32
32
|
var SOLANA_ERROR__JSON_RPC__INVALID_PARAMS = -32602;
|
|
33
33
|
var SOLANA_ERROR__JSON_RPC__METHOD_NOT_FOUND = -32601;
|
|
34
34
|
var SOLANA_ERROR__JSON_RPC__INVALID_REQUEST = -32600;
|
|
35
|
+
var SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LEADER_SCHEDULE_IDENTITY_NOT_FOUND = -32022;
|
|
35
36
|
var SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NO_SLOT_HISTORY = -32021;
|
|
36
37
|
var SOLANA_ERROR__JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND = -32020;
|
|
37
38
|
var SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE = -32019;
|
|
@@ -517,6 +518,7 @@ var SolanaErrorMessages = {
|
|
|
517
518
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_EPOCH_REWARDS_PERIOD_ACTIVE]: "Epoch rewards period still active at slot $slot",
|
|
518
519
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND]: "$__serverMessage",
|
|
519
520
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX]: "$__serverMessage",
|
|
521
|
+
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LEADER_SCHEDULE_IDENTITY_NOT_FOUND]: "$__serverMessage",
|
|
520
522
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED]: "$__serverMessage",
|
|
521
523
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE]: "Failed to query long-term storage; please try again",
|
|
522
524
|
[SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED]: "Minimum context slot has not been reached",
|
|
@@ -703,6 +705,12 @@ var INSTRUCTION_ERROR_RANGE_SIZE = 1e3;
|
|
|
703
705
|
var START_INDEX = "i";
|
|
704
706
|
var TYPE = "t";
|
|
705
707
|
function getHumanReadableErrorMessage(code, context = {}) {
|
|
708
|
+
if (!(code in SolanaErrorMessages)) {
|
|
709
|
+
return "__serverMessage" in context ? (
|
|
710
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
711
|
+
`Unknown Solana error code: ${code} (${context.__serverMessage})`
|
|
712
|
+
) : `Unknown Solana error code: ${code}`;
|
|
713
|
+
}
|
|
706
714
|
const messageFormatString = SolanaErrorMessages[code];
|
|
707
715
|
if (messageFormatString.length === 0) {
|
|
708
716
|
return "";
|
|
@@ -775,9 +783,6 @@ program.command("decode").description("Decode a `SolanaErrorCode` to a human-rea
|
|
|
775
783
|
if (isNaN(code) || `${code}` !== rawCode) {
|
|
776
784
|
throw new InvalidArgumentError("It must be an integer");
|
|
777
785
|
}
|
|
778
|
-
if (!(code in SolanaErrorMessages)) {
|
|
779
|
-
throw new InvalidArgumentError("There exists no error with that code");
|
|
780
|
-
}
|
|
781
786
|
return code;
|
|
782
787
|
}).argument("[encodedContext]", "encoded context to interpolate into the error message", (encodedContext) => {
|
|
783
788
|
try {
|
|
@@ -786,6 +791,13 @@ program.command("decode").description("Decode a `SolanaErrorCode` to a human-rea
|
|
|
786
791
|
throw new InvalidArgumentError("Encoded context malformed");
|
|
787
792
|
}
|
|
788
793
|
}).action((code, context) => {
|
|
794
|
+
if (!(code in SolanaErrorMessages)) {
|
|
795
|
+
console.warn(
|
|
796
|
+
chalk.yellow(
|
|
797
|
+
`This version of @solana/errors has no message for code ${code}. It may come from a newer RPC server, or the code may be mistyped.`
|
|
798
|
+
)
|
|
799
|
+
);
|
|
800
|
+
}
|
|
789
801
|
const message = getHumanReadableErrorMessage(code, context);
|
|
790
802
|
console.log(`
|
|
791
803
|
${chalk.bold(
|
package/dist/index.browser.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);
|
|
@@ -1260,6 +1271,7 @@ exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET = SO
|
|
|
1260
1271
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_EPOCH_REWARDS_PERIOD_ACTIVE = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_EPOCH_REWARDS_PERIOD_ACTIVE;
|
|
1261
1272
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND;
|
|
1262
1273
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX;
|
|
1274
|
+
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LEADER_SCHEDULE_IDENTITY_NOT_FOUND = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LEADER_SCHEDULE_IDENTITY_NOT_FOUND;
|
|
1263
1275
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED;
|
|
1264
1276
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE;
|
|
1265
1277
|
exports.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED = SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED;
|