@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.
@@ -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
- const simulationCodes = [
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;