@codama/errors
Advanced tools
+20
-48
@@ -1,45 +0,18 @@ | ||
| "use strict"; | ||
| var __create = Object.create; | ||
| var __defProp = Object.defineProperty; | ||
| var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
| var __getOwnPropNames = Object.getOwnPropertyNames; | ||
| var __getProtoOf = Object.getPrototypeOf; | ||
| var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
| var __export = (target, all) => { | ||
| for (var name in all) | ||
| __defProp(target, name, { get: all[name], enumerable: true }); | ||
| }; | ||
| var __copyProps = (to, from, except, desc) => { | ||
| if (from && typeof from === "object" || typeof from === "function") { | ||
| for (let key of __getOwnPropNames(from)) | ||
| if (!__hasOwnProp.call(to, key) && key !== except) | ||
| __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
| } | ||
| return to; | ||
| }; | ||
| var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
| // If the importer is in node compatibility mode or this is not an ESM | ||
| // file that has been converted to a CommonJS file using a Babel- | ||
| // compatible transform (i.e. "__esModule" has not been set), then set | ||
| // "default" to the CommonJS "module.exports" for node compatibility. | ||
| isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
| mod | ||
| )); | ||
| var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
| 'use strict'; | ||
| var commander = require('commander'); | ||
| var pico = require('picocolors'); | ||
| function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } | ||
| var pico__default = /*#__PURE__*/_interopDefault(pico); | ||
| // src/cli/index.ts | ||
| var cli_exports = {}; | ||
| __export(cli_exports, { | ||
| run: () => run | ||
| }); | ||
| module.exports = __toCommonJS(cli_exports); | ||
| var import_commander = require("commander"); | ||
| var import_picocolors = __toESM(require("picocolors")); | ||
| // package.json | ||
| var version = "1.4.3"; | ||
| var version = "1.4.4"; | ||
| // src/context.ts | ||
| function decodeEncodedContext(encodedContext) { | ||
| const decodedUrlString = true ? Buffer.from(encodedContext, "base64").toString("utf8") : atob(encodedContext); | ||
| const decodedUrlString = Buffer.from(encodedContext, "base64").toString("utf8") ; | ||
| return Object.fromEntries(new URLSearchParams(decodedUrlString).entries()); | ||
@@ -131,3 +104,3 @@ } | ||
| // src/cli/index.ts | ||
| var program = new import_commander.Command(); | ||
| var program = new commander.Command(); | ||
| program.name("@codama/errors").description("Decode Codama JavaScript errors thrown in production").version(version); | ||
@@ -137,6 +110,6 @@ program.command("decode").description("Decode a `CodamaErrorCode` to a human-readable message").argument("<code>", "numeric error code to decode", (rawCode) => { | ||
| if (isNaN(code) || `${code}` !== rawCode) { | ||
| throw new import_commander.InvalidArgumentError("It must be an integer"); | ||
| throw new commander.InvalidArgumentError("It must be an integer"); | ||
| } | ||
| if (!(code in CodamaErrorMessages)) { | ||
| throw new import_commander.InvalidArgumentError("There exists no error with that code"); | ||
| throw new commander.InvalidArgumentError("There exists no error with that code"); | ||
| } | ||
@@ -148,6 +121,6 @@ return code; | ||
| } catch { | ||
| throw new import_commander.InvalidArgumentError("Encoded context malformed"); | ||
| throw new commander.InvalidArgumentError("Encoded context malformed"); | ||
| } | ||
| }).action((code, context) => { | ||
| const header = codamaColor(import_picocolors.default.bold("[Decoded]") + ` Codama error code #${code}`); | ||
| const header = codamaColor(pico__default.default.bold("[Decoded]") + ` Codama error code #${code}`); | ||
| const message = getHumanReadableErrorMessage(code, context); | ||
@@ -158,3 +131,3 @@ console.log(` | ||
| if (context) { | ||
| const contextHeader = import_picocolors.default.blue(import_picocolors.default.bold("[Context]")); | ||
| const contextHeader = pico__default.default.blue(pico__default.default.bold("[Context]")); | ||
| const contextString = JSON.stringify(context, null, 4).split("\n").join("\n "); | ||
@@ -170,9 +143,8 @@ console.log(` | ||
| function codamaColor(text) { | ||
| if (!import_picocolors.default.isColorSupported) return text; | ||
| if (!pico__default.default.isColorSupported) return text; | ||
| return `\x1B[38;2;231;171;97m${text}\x1B[0m`; | ||
| } | ||
| // Annotate the CommonJS export names for ESM import in node: | ||
| 0 && (module.exports = { | ||
| run | ||
| }); | ||
| exports.run = run; | ||
| //# sourceMappingURL=cli.cjs.map | ||
| //# sourceMappingURL=cli.cjs.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/cli/index.ts","../package.json","../src/context.ts","../src/codes.ts","../src/messages.ts","../src/message-formatter.ts"],"sourcesContent":["/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { Command, InvalidArgumentError } from 'commander';\nimport pico from 'picocolors';\n\nimport { version } from '../../package.json';\nimport { CodamaErrorCode } from '../codes';\nimport { decodeEncodedContext } from '../context';\nimport { getHumanReadableErrorMessage } from '../message-formatter';\nimport { CodamaErrorMessages } from '../messages';\n\nconst program = new Command();\n\nprogram.name('@codama/errors').description('Decode Codama JavaScript errors thrown in production').version(version);\n\nprogram\n .command('decode')\n .description('Decode a `CodamaErrorCode` to a human-readable message')\n .argument('<code>', 'numeric error code to decode', rawCode => {\n const code = parseInt(rawCode, 10);\n if (isNaN(code) || `${code}` !== rawCode) {\n throw new InvalidArgumentError('It must be an integer');\n }\n if (!(code in CodamaErrorMessages)) {\n throw new InvalidArgumentError('There exists no error with that code');\n }\n return code;\n })\n .argument('[encodedContext]', 'encoded context to interpolate into the error message', encodedContext => {\n try {\n return decodeEncodedContext(encodedContext);\n } catch {\n throw new InvalidArgumentError('Encoded context malformed');\n }\n })\n .action((code: number, context: object | undefined) => {\n const header = codamaColor(pico.bold('[Decoded]') + ` Codama error code #${code}`);\n const message = getHumanReadableErrorMessage(code as CodamaErrorCode, context);\n console.log(`\\n${header}\\n ${message}`);\n if (context) {\n const contextHeader = pico.blue(pico.bold('[Context]'));\n const contextString = JSON.stringify(context, null, 4).split('\\n').join('\\n ');\n console.log(`\\n${contextHeader}\\n ${contextString}`);\n }\n });\n\nexport function run(argv: readonly string[]) {\n program.parse(argv);\n}\n\nfunction codamaColor(text: string): string {\n if (!pico.isColorSupported) return text;\n return `\\x1b[38;2;231;171;97m${text}\\x1b[0m`;\n}\n","{\n \"name\": \"@codama/errors\",\n \"version\": \"1.4.3\",\n \"description\": \"Error management for Codama\",\n \"exports\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"react-native\": \"./dist/index.react-native.mjs\",\n \"browser\": {\n \"import\": \"./dist/index.browser.mjs\",\n \"require\": \"./dist/index.browser.cjs\"\n },\n \"node\": {\n \"import\": \"./dist/index.node.mjs\",\n \"require\": \"./dist/index.node.cjs\"\n }\n },\n \"browser\": {\n \"./dist/index.node.cjs\": \"./dist/index.browser.cjs\",\n \"./dist/index.node.mjs\": \"./dist/index.browser.mjs\"\n },\n \"main\": \"./dist/index.node.cjs\",\n \"module\": \"./dist/index.node.mjs\",\n \"react-native\": \"./dist/index.react-native.mjs\",\n \"types\": \"./dist/types/index.d.ts\",\n \"type\": \"commonjs\",\n \"bin\": \"./bin/cli.cjs\",\n \"files\": [\n \"./bin\",\n \"./dist/types\",\n \"./dist/cli.*\",\n \"./dist/index.*\"\n ],\n \"sideEffects\": false,\n \"keywords\": [\n \"solana\",\n \"framework\",\n \"standard\",\n \"specifications\"\n ],\n \"scripts\": {\n \"build\": \"rimraf dist && tsup && tsc -p ./tsconfig.declarations.json\",\n \"dev\": \"vitest --project node\",\n \"lint\": \"eslint . && prettier --check .\",\n \"lint:fix\": \"eslint --fix . && prettier --write .\",\n \"test\": \"pnpm test:types && pnpm test:treeshakability && pnpm test:unit\",\n \"test:treeshakability\": \"for file in dist/index.*.mjs; do agadoo $file; done\",\n \"test:types\": \"tsc --noEmit\",\n \"test:unit\": \"vitest run\"\n },\n \"dependencies\": {\n \"@codama/node-types\": \"workspace:*\",\n \"commander\": \"^14.0.2\",\n \"picocolors\": \"^1.1.1\"\n },\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/codama-idl/codama\"\n },\n \"bugs\": {\n \"url\": \"http://github.com/codama-idl/codama/issues\"\n },\n \"browserslist\": [\n \"supports bigint and not dead\",\n \"maintained node versions\"\n ]\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n"],"mappings":"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","names":["pico"]} | ||
| {"version":3,"sources":["../package.json","../src/context.ts","../src/codes.ts","../src/messages.ts","../src/message-formatter.ts","../src/cli/index.ts"],"names":["Command","InvalidArgumentError","pico"],"mappings":"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","file":"cli.cjs","sourcesContent":["{\n \"name\": \"@codama/errors\",\n \"version\": \"1.4.4\",\n \"description\": \"Error management for Codama\",\n \"exports\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"react-native\": \"./dist/index.react-native.mjs\",\n \"browser\": {\n \"import\": \"./dist/index.browser.mjs\",\n \"require\": \"./dist/index.browser.cjs\"\n },\n \"node\": {\n \"import\": \"./dist/index.node.mjs\",\n \"require\": \"./dist/index.node.cjs\"\n }\n },\n \"browser\": {\n \"./dist/index.node.cjs\": \"./dist/index.browser.cjs\",\n \"./dist/index.node.mjs\": \"./dist/index.browser.mjs\"\n },\n \"main\": \"./dist/index.node.cjs\",\n \"module\": \"./dist/index.node.mjs\",\n \"react-native\": \"./dist/index.react-native.mjs\",\n \"types\": \"./dist/types/index.d.ts\",\n \"type\": \"commonjs\",\n \"bin\": \"./bin/cli.cjs\",\n \"files\": [\n \"./bin\",\n \"./dist/types\",\n \"./dist/cli.*\",\n \"./dist/index.*\"\n ],\n \"sideEffects\": false,\n \"keywords\": [\n \"solana\",\n \"framework\",\n \"standard\",\n \"specifications\"\n ],\n \"scripts\": {\n \"build\": \"rimraf dist && tsup && tsc -p ./tsconfig.declarations.json\",\n \"dev\": \"vitest --project node\",\n \"lint\": \"eslint . && prettier --check .\",\n \"lint:fix\": \"eslint --fix . && prettier --write .\",\n \"test\": \"pnpm test:types && pnpm test:treeshakability && pnpm test:unit\",\n \"test:treeshakability\": \"for file in dist/index.*.mjs; do agadoo $file; done\",\n \"test:types\": \"tsc --noEmit\",\n \"test:unit\": \"vitest run\"\n },\n \"dependencies\": {\n \"@codama/node-types\": \"workspace:*\",\n \"commander\": \"^14.0.2\",\n \"picocolors\": \"^1.1.1\"\n },\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/codama-idl/codama\"\n },\n \"bugs\": {\n \"url\": \"http://github.com/codama-idl/codama/issues\"\n },\n \"browserslist\": [\n \"supports bigint and not dead\",\n \"maintained node versions\"\n ]\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { Command, InvalidArgumentError } from 'commander';\nimport pico from 'picocolors';\n\nimport { version } from '../../package.json';\nimport { CodamaErrorCode } from '../codes';\nimport { decodeEncodedContext } from '../context';\nimport { getHumanReadableErrorMessage } from '../message-formatter';\nimport { CodamaErrorMessages } from '../messages';\n\nconst program = new Command();\n\nprogram.name('@codama/errors').description('Decode Codama JavaScript errors thrown in production').version(version);\n\nprogram\n .command('decode')\n .description('Decode a `CodamaErrorCode` to a human-readable message')\n .argument('<code>', 'numeric error code to decode', rawCode => {\n const code = parseInt(rawCode, 10);\n if (isNaN(code) || `${code}` !== rawCode) {\n throw new InvalidArgumentError('It must be an integer');\n }\n if (!(code in CodamaErrorMessages)) {\n throw new InvalidArgumentError('There exists no error with that code');\n }\n return code;\n })\n .argument('[encodedContext]', 'encoded context to interpolate into the error message', encodedContext => {\n try {\n return decodeEncodedContext(encodedContext);\n } catch {\n throw new InvalidArgumentError('Encoded context malformed');\n }\n })\n .action((code: number, context: object | undefined) => {\n const header = codamaColor(pico.bold('[Decoded]') + ` Codama error code #${code}`);\n const message = getHumanReadableErrorMessage(code as CodamaErrorCode, context);\n console.log(`\\n${header}\\n ${message}`);\n if (context) {\n const contextHeader = pico.blue(pico.bold('[Context]'));\n const contextString = JSON.stringify(context, null, 4).split('\\n').join('\\n ');\n console.log(`\\n${contextHeader}\\n ${contextString}`);\n }\n });\n\nexport function run(argv: readonly string[]) {\n program.parse(argv);\n}\n\nfunction codamaColor(text: string): string {\n if (!pico.isColorSupported) return text;\n return `\\x1b[38;2;231;171;97m${text}\\x1b[0m`;\n}\n"]} |
+43
-64
@@ -1,65 +0,3 @@ | ||
| "use strict"; | ||
| var __defProp = Object.defineProperty; | ||
| var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
| var __getOwnPropNames = Object.getOwnPropertyNames; | ||
| var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
| var __export = (target, all) => { | ||
| for (var name in all) | ||
| __defProp(target, name, { get: all[name], enumerable: true }); | ||
| }; | ||
| var __copyProps = (to, from, except, desc) => { | ||
| if (from && typeof from === "object" || typeof from === "function") { | ||
| for (let key of __getOwnPropNames(from)) | ||
| if (!__hasOwnProp.call(to, key) && key !== except) | ||
| __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
| } | ||
| return to; | ||
| }; | ||
| var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
| 'use strict'; | ||
| // src/index.ts | ||
| var index_exports = {}; | ||
| __export(index_exports, { | ||
| CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING: () => CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING: () => CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING: () => CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED: () => CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED: () => CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING: () => CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING, | ||
| CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE: () => CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE: () => CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND: () => CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND: () => CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND, | ||
| CODAMA_ERROR__LINKED_NODE_NOT_FOUND: () => CODAMA_ERROR__LINKED_NODE_NOT_FOUND, | ||
| CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE: () => CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE, | ||
| CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS: () => CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS, | ||
| CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE: () => CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, | ||
| CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND: () => CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND, | ||
| CODAMA_ERROR__UNEXPECTED_NODE_KIND: () => CODAMA_ERROR__UNEXPECTED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING: () => CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING, | ||
| CODAMA_ERROR__UNRECOGNIZED_NODE_KIND: () => CODAMA_ERROR__UNRECOGNIZED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT: () => CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT, | ||
| CODAMA_ERROR__VERSION_MISMATCH: () => CODAMA_ERROR__VERSION_MISMATCH, | ||
| CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND: () => CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES: () => CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION: () => CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION, | ||
| CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES: () => CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK: () => CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, | ||
| CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE: () => CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE, | ||
| CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES: () => CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES, | ||
| CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE: () => CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE, | ||
| CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND: () => CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY: () => CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY, | ||
| CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER: () => CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER, | ||
| CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES: () => CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES, | ||
| CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND: () => CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND, | ||
| CodamaError: () => CodamaError, | ||
| isCodamaError: () => isCodamaError, | ||
| logError: () => logError, | ||
| logInfo: () => logInfo, | ||
| logWarn: () => logWarn, | ||
| safeCaptureStackTrace: () => safeCaptureStackTrace | ||
| }); | ||
| module.exports = __toCommonJS(index_exports); | ||
| // src/codes.ts | ||
@@ -128,3 +66,3 @@ var CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1; | ||
| const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join("&"); | ||
| return false ? Buffer.from(searchParamsString, "utf8").toString("base64") : btoa(searchParamsString); | ||
| return btoa(searchParamsString); | ||
| } | ||
@@ -242,2 +180,43 @@ | ||
| } | ||
| exports.CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING; | ||
| exports.CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING; | ||
| exports.CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING; | ||
| exports.CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED; | ||
| exports.CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED; | ||
| exports.CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING; | ||
| exports.CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE; | ||
| exports.CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE; | ||
| exports.CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND; | ||
| exports.CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND; | ||
| exports.CODAMA_ERROR__LINKED_NODE_NOT_FOUND = CODAMA_ERROR__LINKED_NODE_NOT_FOUND; | ||
| exports.CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE; | ||
| exports.CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS; | ||
| exports.CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE; | ||
| exports.CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND; | ||
| exports.CODAMA_ERROR__UNEXPECTED_NODE_KIND = CODAMA_ERROR__UNEXPECTED_NODE_KIND; | ||
| exports.CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING; | ||
| exports.CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = CODAMA_ERROR__UNRECOGNIZED_NODE_KIND; | ||
| exports.CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT; | ||
| exports.CODAMA_ERROR__VERSION_MISMATCH = CODAMA_ERROR__VERSION_MISMATCH; | ||
| exports.CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE; | ||
| exports.CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES; | ||
| exports.CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE; | ||
| exports.CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND; | ||
| exports.CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY; | ||
| exports.CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER; | ||
| exports.CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES; | ||
| exports.CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND; | ||
| exports.CodamaError = CodamaError; | ||
| exports.isCodamaError = isCodamaError; | ||
| exports.logError = logError; | ||
| exports.logInfo = logInfo; | ||
| exports.logWarn = logWarn; | ||
| exports.safeCaptureStackTrace = safeCaptureStackTrace; | ||
| //# sourceMappingURL=index.browser.cjs.map | ||
| //# sourceMappingURL=index.browser.cjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/index.ts","../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"sourcesContent":["export * from './codes';\nexport * from './error';\nexport * from './logs';\nexport * from './stack-trace';\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"],"mappings":"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","names":["isCodamaError"]} | ||
| {"version":3,"sources":["../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"names":["isCodamaError"],"mappings":"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","file":"index.browser.cjs","sourcesContent":["/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"]} |
@@ -64,3 +64,3 @@ // src/codes.ts | ||
| const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join("&"); | ||
| return false ? Buffer.from(searchParamsString, "utf8").toString("base64") : btoa(searchParamsString); | ||
| return btoa(searchParamsString); | ||
| } | ||
@@ -178,43 +178,5 @@ | ||
| } | ||
| export { | ||
| CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING, | ||
| CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND, | ||
| CODAMA_ERROR__LINKED_NODE_NOT_FOUND, | ||
| CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE, | ||
| CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS, | ||
| CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, | ||
| CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND, | ||
| CODAMA_ERROR__UNEXPECTED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING, | ||
| CODAMA_ERROR__UNRECOGNIZED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT, | ||
| CODAMA_ERROR__VERSION_MISMATCH, | ||
| CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION, | ||
| CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, | ||
| CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE, | ||
| CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES, | ||
| CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE, | ||
| CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY, | ||
| CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER, | ||
| CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES, | ||
| CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND, | ||
| CodamaError, | ||
| isCodamaError, | ||
| logError, | ||
| logInfo, | ||
| logWarn, | ||
| safeCaptureStackTrace | ||
| }; | ||
| export { CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING, CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING, CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING, CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED, CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED, CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING, CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE, CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND, CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND, CODAMA_ERROR__LINKED_NODE_NOT_FOUND, CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE, CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS, CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND, CODAMA_ERROR__UNEXPECTED_NODE_KIND, CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING, CODAMA_ERROR__UNRECOGNIZED_NODE_KIND, CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT, CODAMA_ERROR__VERSION_MISMATCH, CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND, CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES, CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION, CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES, CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE, CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES, CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE, CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND, CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY, CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER, CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES, CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND, CodamaError, isCodamaError, logError, logInfo, logWarn, safeCaptureStackTrace }; | ||
| //# sourceMappingURL=index.browser.mjs.map | ||
| //# sourceMappingURL=index.browser.mjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"sourcesContent":["/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"],"mappings":"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","names":["isCodamaError"]} | ||
| {"version":3,"sources":["../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"names":["isCodamaError"],"mappings":";AA2BO,IAAM,oCAAA,GAAuC;AAC7C,IAAM,kCAAA,GAAqC;AAC3C,IAAM,yCAAA,GAA4C;AAClD,IAAM,mCAAA,GAAsC;AAC5C,IAAM,kDAAA,GAAqD;AAC3D,IAAM,8BAAA,GAAiC;AACvC,IAAM,wCAAA,GAA2C;AACjD,IAAM,yCAAA,GAA4C;AAClD,IAAM,oCAAA,GAAuC;AAC7C,IAAM,2CAAA,GAA8C;AACpD,IAAM,sDAAA,GAAyD;AAI/D,IAAM,uDAAA,GAA0D;AAChE,IAAM,+CAAA,GAAkD;AACxD,IAAM,4FAAA,GAA+F;AACrG,IAAM,qEAAA,GAAwE;AAC9E,IAAM,oEAAA,GAAuE;AAC7E,IAAM,+CAAA,GAAkD;AACxD,IAAM,8CAAA,GAAiD;AACvD,IAAM,4DAAA,GAA+D;AACrE,IAAM,+CAAA,GAAkD;AACxD,IAAM,2DAAA,GAA8D;AACpE,IAAM,yEAAA,GAA4E;AAClF,IAAM,gDAAA,GAAmD;AACzD,IAAM,6DAAA,GAAgE;AAItE,IAAM,2CAAA,GAA8C;AACpD,IAAM,0CAAA,GAA6C;AACnD,IAAM,2CAAA,GAA8C;AACpD,IAAM,uCAAA,GAA0C;AAChD,IAAM,6CAAA,GAAgD;AACtD,IAAM,mDAAA,GAAsD;AAC5D,IAAM,0CAAA,GAA6C;AAInD,IAAM,yCAAA,GAA4C;AAClD,IAAM,oDAAA,GAAuD;;;ACuJpE,SAAS,YAAY,KAAA,EAAwB;AACzC,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtB,IAAA,MAAM,oBAAA,GAAuB,KAAA,CAAM,GAAA,CAAI,WAAW,CAAA,CAAE,IAAA;AAAA,MAAK;AAAA;AAAA,KAAmB;AAC5E,IAAA,OAAO,KAAA,GAAkB,oBAAA;AAAA,IAAiC,KAAA;AAAA,EAC9D,CAAA,MAAA,IAAW,OAAO,KAAA,KAAU,QAAA,EAAU;AAClC,IAAA,OAAO,GAAG,KAAK,CAAA,CAAA,CAAA;AAAA,EACnB,CAAA,MAAO;AACH,IAAA,OAAO,kBAAA;AAAA,MACH,MAAA;AAAA,QACI,KAAA,IAAS,IAAA,IAAQ,MAAA,CAAO,cAAA,CAAe,KAAK,CAAA,KAAM,IAAA;AAAA;AAAA;AAAA,UAG5C,EAAE,GAAI,KAAA;AAAiB,YACvB;AAAA;AACV,KACJ;AAAA,EACJ;AACJ;AAEA,SAAS,wBAAA,CAAyB,CAAC,GAAA,EAAK,KAAK,CAAA,EAAiD;AAC1F,EAAA,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,WAAA,CAAY,KAAK,CAAC,CAAA,CAAA;AACvC;AAEO,SAAS,oBAAoB,OAAA,EAAyB;AACzD,EAAA,MAAM,kBAAA,GAAqB,OAAO,OAAA,CAAQ,OAAO,EAAE,GAAA,CAAI,wBAAwB,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AACzF,EAAA,OAAiF,IAAA,CAAK,kBAAkB,CAAA;AAC5G;;;ACvMO,IAAM,mBAAA,GAIR;AAAA,EACD,CAAC,0CAA0C,GAAG,qDAAA;AAAA,EAC9C,CAAC,2CAA2C,GAAG,mEAAA;AAAA,EAC/C,CAAC,0CAA0C,GAAG,qDAAA;AAAA,EAC9C,CAAC,mDAAmD,GAAG,6CAAA;AAAA,EACvD,CAAC,6CAA6C,GAAG,uCAAA;AAAA,EACjD,CAAC,uCAAuC,GAAG,uDAAA;AAAA,EAC3C,CAAC,2CAA2C,GAAG,0CAAA;AAAA,EAC/C,CAAC,sDAAsD,GAAG,oDAAA;AAAA,EAC1D,CAAC,2CAA2C,GAAG,6CAAA;AAAA,EAC/C,CAAC,oCAAoC,GAAG,6DAAA;AAAA,EACxC,CAAC,mCAAmC,GAAG,kDAAA;AAAA,EACvC,CAAC,kDAAkD,GAC/C,iFAAA;AAAA,EACJ,CAAC,oDAAoD,GACjD,gFAAA;AAAA,EACJ,CAAC,yCAAyC,GAAG,qDAAA;AAAA,EAC7C,CAAC,yCAAyC,GAAG,4DAAA;AAAA,EAC7C,CAAC,kCAAkC,GAAG,sDAAA;AAAA,EACtC,CAAC,yCAAyC,GAAG,0CAAA;AAAA,EAC7C,CAAC,oCAAoC,GAAG,iCAAA;AAAA,EACxC,CAAC,wCAAwC,GAAG,uCAAA;AAAA,EAC5C,CAAC,8BAA8B,GAC3B,oHAAA;AAAA,EACJ,CAAC,+CAA+C,GAAG,8DAAA;AAAA,EACnD,CAAC,uDAAuD,GACpD,gHAAA;AAAA,EACJ,CAAC,4DAA4D,GACzD,+FAAA;AAAA,EACJ,CAAC,yEAAyE,GACtE,6GAAA;AAAA,EACJ,CAAC,6DAA6D,GAAG,gDAAA;AAAA,EACjE,CAAC,qEAAqE,GAClE,2JAAA;AAAA,EACJ,CAAC,4FAA4F,GACzF,qLAAA;AAAA,EACJ,CAAC,+CAA+C,GAAG,0DAAA;AAAA,EACnD,CAAC,2DAA2D,GACxD,2FAAA;AAAA,EACJ,CAAC,oEAAoE,GACjE,gKAAA;AAAA,EACJ,CAAC,8CAA8C,GAAG,yCAAA;AAAA,EAClD,CAAC,+CAA+C,GAC5C,2EAAA;AAAA,EACJ,CAAC,gDAAgD,GAAG;AACxD,CAAA;;;ACtFO,SAAS,4BAAA,CACZ,IAAA,EACA,OAAA,GAAkB,EAAC,EACb;AACN,EAAA,MAAM,mBAAA,GAAsB,oBAAoB,IAAI,CAAA;AACpD,EAAA,MAAM,UAAU,mBAAA,CAAoB,OAAA;AAAA,IAAQ,iBAAA;AAAA,IAAmB,CAAC,WAAW,YAAA,KACvE,YAAA,IAAgB,UAAU,CAAA,EAAG,OAAA,CAAQ,YAAoC,CAAW,CAAA,CAAA,GAAK;AAAA,GAC7F;AACA,EAAA,OAAO,OAAA;AACX;AAEO,SAAS,eAAA,CAAoD,IAAA,EAAkB,OAAA,GAAkB,EAAC,EAAW;AAChH,EAAA,IAAI,yBAAyB,YAAA,EAAc;AACvC,IAAA,OAAO,4BAAA,CAA6B,MAAM,OAAO,CAAA;AAAA,EACrD,CAAA,MAAO;AACH,IAAA,IAAI,qBAAA,GAAwB,CAAA,cAAA,EAAiB,IAAI,CAAA,8DAAA,EAAiE,IAAI,CAAA,CAAA;AACtH,IAAA,IAAI,MAAA,CAAO,IAAA,CAAK,OAAO,CAAA,CAAE,MAAA,EAAQ;AAM7B,MAAA,qBAAA,IAAyB,CAAA,EAAA,EAAK,mBAAA,CAAoB,OAAO,CAAC,CAAA,CAAA,CAAA;AAAA,IAC9D;AACA,IAAA,OAAO,GAAG,qBAAqB,CAAA,EAAA,CAAA;AAAA,EACnC;AACJ;;;AC1BO,SAAS,aAAA,CACZ,GACA,IAAA,EAC4B;AAC5B,EAAA,MAAMA,cAAAA,GAAgB,CAAA,YAAa,KAAA,IAAS,CAAA,CAAE,IAAA,KAAS,aAAA;AACvD,EAAA,IAAIA,cAAAA,EAAe;AACf,IAAA,IAAI,SAAS,MAAA,EAAW;AACpB,MAAA,OAAQ,CAAA,CAA8B,QAAQ,MAAA,KAAW,IAAA;AAAA,IAC7D;AACA,IAAA,OAAO,IAAA;AAAA,EACX;AACA,EAAA,OAAO,KAAA;AACX;AAQO,IAAM,WAAA,GAAN,cAAgF,KAAA,CAAM;AAAA,EAChF,OAAA;AAAA,EACT,WAAA,CAAA,GACO,CAAC,IAAA,EAAM,sBAAsB,CAAA,EAGlC;AACE,IAAA,IAAI,OAAA;AACJ,IAAA,IAAI,YAAA;AACJ,IAAA,IAAI,sBAAA,EAAwB;AAExB,MAAA,MAAM,EAAE,KAAA,EAAO,GAAG,WAAA,EAAY,GAAI,sBAAA;AAClC,MAAA,IAAI,KAAA,EAAO;AACP,QAAA,YAAA,GAAe,EAAE,KAAA,EAAM;AAAA,MAC3B;AACA,MAAA,IAAI,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA,CAAE,SAAS,CAAA,EAAG;AACrC,QAAA,OAAA,GAAU,WAAA;AAAA,MACd;AAAA,IACJ;AACA,IAAA,MAAM,OAAA,GAAU,eAAA,CAAgB,IAAA,EAAM,OAAO,CAAA;AAC7C,IAAA,KAAA,CAAM,SAAS,YAAY,CAAA;AAC3B,IAAA,IAAA,CAAK,OAAA,GAAU;AAAA,MACX,MAAA,EAAQ,IAAA;AAAA,MACR,GAAG;AAAA,KACP;AAGA,IAAA,IAAA,CAAK,IAAA,GAAO,aAAA;AAAA,EAChB;AACJ;;;AC1DO,SAAS,SAAS,OAAA,EAAiB;AACtC,EAAA,OAAA,CAAQ,MAAM,OAAO,CAAA;AACzB;AAEO,SAAS,QAAQ,OAAA,EAAiB;AACrC,EAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AACxB;AAEO,SAAS,QAAQ,OAAA,EAAiB;AACrC,EAAA,OAAA,CAAQ,IAAI,OAAO,CAAA;AACvB;;;ACLO,SAAS,yBAAyB,IAAA,EAAwD;AAC7F,EAAA,IAAI,mBAAA,IAAuB,KAAA,IAAS,OAAO,KAAA,CAAM,sBAAsB,UAAA,EAAY;AAC/E,IAAA,KAAA,CAAM,iBAAA,CAAkB,GAAG,IAAI,CAAA;AAAA,EACnC;AACJ","file":"index.browser.mjs","sourcesContent":["/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"]} |
+43
-106
@@ -1,65 +0,3 @@ | ||
| "use strict"; | ||
| var __defProp = Object.defineProperty; | ||
| var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
| var __getOwnPropNames = Object.getOwnPropertyNames; | ||
| var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
| var __export = (target, all) => { | ||
| for (var name in all) | ||
| __defProp(target, name, { get: all[name], enumerable: true }); | ||
| }; | ||
| var __copyProps = (to, from, except, desc) => { | ||
| if (from && typeof from === "object" || typeof from === "function") { | ||
| for (let key of __getOwnPropNames(from)) | ||
| if (!__hasOwnProp.call(to, key) && key !== except) | ||
| __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
| } | ||
| return to; | ||
| }; | ||
| var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
| 'use strict'; | ||
| // src/index.ts | ||
| var index_exports = {}; | ||
| __export(index_exports, { | ||
| CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING: () => CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING: () => CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING: () => CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED: () => CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED: () => CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING: () => CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING, | ||
| CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE: () => CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE: () => CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND: () => CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND: () => CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND, | ||
| CODAMA_ERROR__LINKED_NODE_NOT_FOUND: () => CODAMA_ERROR__LINKED_NODE_NOT_FOUND, | ||
| CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE: () => CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE, | ||
| CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS: () => CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS, | ||
| CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE: () => CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, | ||
| CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND: () => CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND, | ||
| CODAMA_ERROR__UNEXPECTED_NODE_KIND: () => CODAMA_ERROR__UNEXPECTED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING: () => CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING, | ||
| CODAMA_ERROR__UNRECOGNIZED_NODE_KIND: () => CODAMA_ERROR__UNRECOGNIZED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT: () => CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT, | ||
| CODAMA_ERROR__VERSION_MISMATCH: () => CODAMA_ERROR__VERSION_MISMATCH, | ||
| CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND: () => CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES: () => CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION: () => CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION, | ||
| CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES: () => CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK: () => CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, | ||
| CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE: () => CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE, | ||
| CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES: () => CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES, | ||
| CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE: () => CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE, | ||
| CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND: () => CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY: () => CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY, | ||
| CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER: () => CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER, | ||
| CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES: () => CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES, | ||
| CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND: () => CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND, | ||
| CodamaError: () => CodamaError, | ||
| isCodamaError: () => isCodamaError, | ||
| logError: () => logError, | ||
| logInfo: () => logInfo, | ||
| logWarn: () => logWarn, | ||
| safeCaptureStackTrace: () => safeCaptureStackTrace | ||
| }); | ||
| module.exports = __toCommonJS(index_exports); | ||
| // src/codes.ts | ||
@@ -128,3 +66,3 @@ var CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1; | ||
| const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join("&"); | ||
| return true ? Buffer.from(searchParamsString, "utf8").toString("base64") : btoa(searchParamsString); | ||
| return Buffer.from(searchParamsString, "utf8").toString("base64") ; | ||
| } | ||
@@ -242,44 +180,43 @@ | ||
| } | ||
| // Annotate the CommonJS export names for ESM import in node: | ||
| 0 && (module.exports = { | ||
| CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING, | ||
| CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND, | ||
| CODAMA_ERROR__LINKED_NODE_NOT_FOUND, | ||
| CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE, | ||
| CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS, | ||
| CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, | ||
| CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND, | ||
| CODAMA_ERROR__UNEXPECTED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING, | ||
| CODAMA_ERROR__UNRECOGNIZED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT, | ||
| CODAMA_ERROR__VERSION_MISMATCH, | ||
| CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION, | ||
| CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, | ||
| CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE, | ||
| CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES, | ||
| CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE, | ||
| CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY, | ||
| CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER, | ||
| CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES, | ||
| CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND, | ||
| CodamaError, | ||
| isCodamaError, | ||
| logError, | ||
| logInfo, | ||
| logWarn, | ||
| safeCaptureStackTrace | ||
| }); | ||
| exports.CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING; | ||
| exports.CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING; | ||
| exports.CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING; | ||
| exports.CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED; | ||
| exports.CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED; | ||
| exports.CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING; | ||
| exports.CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE; | ||
| exports.CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE; | ||
| exports.CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND; | ||
| exports.CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND; | ||
| exports.CODAMA_ERROR__LINKED_NODE_NOT_FOUND = CODAMA_ERROR__LINKED_NODE_NOT_FOUND; | ||
| exports.CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE; | ||
| exports.CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS; | ||
| exports.CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE; | ||
| exports.CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND; | ||
| exports.CODAMA_ERROR__UNEXPECTED_NODE_KIND = CODAMA_ERROR__UNEXPECTED_NODE_KIND; | ||
| exports.CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING; | ||
| exports.CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = CODAMA_ERROR__UNRECOGNIZED_NODE_KIND; | ||
| exports.CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT; | ||
| exports.CODAMA_ERROR__VERSION_MISMATCH = CODAMA_ERROR__VERSION_MISMATCH; | ||
| exports.CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK; | ||
| exports.CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE; | ||
| exports.CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES; | ||
| exports.CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE; | ||
| exports.CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND; | ||
| exports.CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY; | ||
| exports.CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER; | ||
| exports.CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES; | ||
| exports.CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND; | ||
| exports.CodamaError = CodamaError; | ||
| exports.isCodamaError = isCodamaError; | ||
| exports.logError = logError; | ||
| exports.logInfo = logInfo; | ||
| exports.logWarn = logWarn; | ||
| exports.safeCaptureStackTrace = safeCaptureStackTrace; | ||
| //# sourceMappingURL=index.node.cjs.map | ||
| //# sourceMappingURL=index.node.cjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/index.ts","../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"sourcesContent":["export * from './codes';\nexport * from './error';\nexport * from './logs';\nexport * from './stack-trace';\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"],"mappings":"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","names":["isCodamaError"]} | ||
| {"version":3,"sources":["../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"names":["isCodamaError"],"mappings":"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","file":"index.node.cjs","sourcesContent":["/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"]} |
+4
-42
@@ -64,3 +64,3 @@ // src/codes.ts | ||
| const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join("&"); | ||
| return true ? Buffer.from(searchParamsString, "utf8").toString("base64") : btoa(searchParamsString); | ||
| return Buffer.from(searchParamsString, "utf8").toString("base64") ; | ||
| } | ||
@@ -178,43 +178,5 @@ | ||
| } | ||
| export { | ||
| CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING, | ||
| CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND, | ||
| CODAMA_ERROR__LINKED_NODE_NOT_FOUND, | ||
| CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE, | ||
| CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS, | ||
| CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, | ||
| CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND, | ||
| CODAMA_ERROR__UNEXPECTED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING, | ||
| CODAMA_ERROR__UNRECOGNIZED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT, | ||
| CODAMA_ERROR__VERSION_MISMATCH, | ||
| CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION, | ||
| CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, | ||
| CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE, | ||
| CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES, | ||
| CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE, | ||
| CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY, | ||
| CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER, | ||
| CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES, | ||
| CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND, | ||
| CodamaError, | ||
| isCodamaError, | ||
| logError, | ||
| logInfo, | ||
| logWarn, | ||
| safeCaptureStackTrace | ||
| }; | ||
| export { CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING, CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING, CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING, CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED, CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED, CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING, CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE, CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND, CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND, CODAMA_ERROR__LINKED_NODE_NOT_FOUND, CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE, CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS, CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND, CODAMA_ERROR__UNEXPECTED_NODE_KIND, CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING, CODAMA_ERROR__UNRECOGNIZED_NODE_KIND, CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT, CODAMA_ERROR__VERSION_MISMATCH, CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND, CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES, CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION, CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES, CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE, CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES, CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE, CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND, CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY, CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER, CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES, CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND, CodamaError, isCodamaError, logError, logInfo, logWarn, safeCaptureStackTrace }; | ||
| //# sourceMappingURL=index.node.mjs.map | ||
| //# sourceMappingURL=index.node.mjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"sourcesContent":["/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"],"mappings":"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","names":["isCodamaError"]} | ||
| {"version":3,"sources":["../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"names":["isCodamaError"],"mappings":"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","file":"index.node.mjs","sourcesContent":["/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"]} |
@@ -64,3 +64,3 @@ // src/codes.ts | ||
| const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join("&"); | ||
| return false ? Buffer.from(searchParamsString, "utf8").toString("base64") : btoa(searchParamsString); | ||
| return btoa(searchParamsString); | ||
| } | ||
@@ -178,43 +178,5 @@ | ||
| } | ||
| export { | ||
| CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING, | ||
| CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED, | ||
| CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING, | ||
| CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE, | ||
| CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND, | ||
| CODAMA_ERROR__LINKED_NODE_NOT_FOUND, | ||
| CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE, | ||
| CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS, | ||
| CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, | ||
| CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND, | ||
| CODAMA_ERROR__UNEXPECTED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING, | ||
| CODAMA_ERROR__UNRECOGNIZED_NODE_KIND, | ||
| CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT, | ||
| CODAMA_ERROR__VERSION_MISMATCH, | ||
| CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION, | ||
| CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES, | ||
| CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, | ||
| CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE, | ||
| CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES, | ||
| CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE, | ||
| CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND, | ||
| CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY, | ||
| CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER, | ||
| CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES, | ||
| CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND, | ||
| CodamaError, | ||
| isCodamaError, | ||
| logError, | ||
| logInfo, | ||
| logWarn, | ||
| safeCaptureStackTrace | ||
| }; | ||
| export { CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING, CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING, CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING, CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED, CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED, CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING, CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE, CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND, CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND, CODAMA_ERROR__LINKED_NODE_NOT_FOUND, CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE, CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS, CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND, CODAMA_ERROR__UNEXPECTED_NODE_KIND, CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING, CODAMA_ERROR__UNRECOGNIZED_NODE_KIND, CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT, CODAMA_ERROR__VERSION_MISMATCH, CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND, CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES, CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION, CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES, CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE, CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES, CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE, CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND, CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY, CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER, CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES, CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND, CodamaError, isCodamaError, logError, logInfo, logWarn, safeCaptureStackTrace }; | ||
| //# sourceMappingURL=index.react-native.mjs.map | ||
| //# sourceMappingURL=index.react-native.mjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"sourcesContent":["/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"],"mappings":"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","names":["isCodamaError"]} | ||
| {"version":3,"sources":["../src/codes.ts","../src/context.ts","../src/messages.ts","../src/message-formatter.ts","../src/error.ts","../src/logs.ts","../src/stack-trace.ts"],"names":["isCodamaError"],"mappings":"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","file":"index.react-native.mjs","sourcesContent":["/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n *\n * ---\n *\n * WARNING:\n * - Don't remove error codes\n * - Don't change or reorder error codes.\n *\n * Good naming conventions:\n * - Prefixing common errors — e.g. under the same package — can be a good way to namespace them.\n * - Use consistent names — e.g. choose `PDA` or `PROGRAM_DERIVED_ADDRESS` and stick with it. Ensure your names are consistent with existing error codes. The decision might have been made for you.\n * - Recommended prefixes and suffixes:\n * - `MALFORMED_`: Some input was not constructed properly. E.g. `MALFORMED_BASE58_ENCODED_ADDRESS`.\n * - `INVALID_`: Some input is invalid (other than because it was MALFORMED). E.g. `INVALID_NUMBER_OF_BYTES`.\n * - `EXPECTED_`: Some input was different than expected, no need to specify the \"GOT\" part unless necessary. E.g. `EXPECTED_DECODED_ACCOUNT`.\n * - `_CANNOT_`: Some operation cannot be performed or some input cannot be used due to some condition. E.g. `CANNOT_DECODE_EMPTY_BYTE_ARRAY` or `PDA_CANNOT_END_WITH_PDA_MARKER`.\n * - `_MUST_BE_`: Some condition must be true. E.g. `NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE`.\n * - `_FAILED_TO_`: Tried to perform some operation and failed. E.g. `FAILED_TO_DECODE_ACCOUNT`.\n * - `_NOT_FOUND`: Some operation lead to not finding something. E.g. `ACCOUNT_NOT_FOUND`.\n * - `_OUT_OF_RANGE`: Some value is out of range. E.g. `ENUM_DISCRIMINATOR_OUT_OF_RANGE`.\n * - `_EXCEEDED`: Some limit was exceeded. E.g. `PDA_MAX_SEED_LENGTH_EXCEEDED`.\n * - `_MISMATCH`: Some elements do not match. E.g. `ENCODER_DECODER_FIXED_SIZE_MISMATCH`.\n * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`.\n * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`.\n */\nexport const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1;\nexport const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2;\nexport const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3;\nexport const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4;\nexport const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5;\nexport const CODAMA_ERROR__VERSION_MISMATCH = 6;\nexport const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7;\nexport const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8;\nexport const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10;\nexport const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11;\n\n// Visitors-related errors.\n// Reserve error codes in the range [1200000-1200999].\nexport const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000;\nexport const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001;\nexport const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002;\nexport const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003;\nexport const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004;\nexport const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005;\nexport const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006;\nexport const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007;\nexport const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008;\nexport const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009;\nexport const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010;\nexport const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011;\nexport const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012;\n\n// Anchor-related errors.\n// Reserve error codes in the range [2100000-2100999].\nexport const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000;\nexport const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001;\nexport const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002;\nexport const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003;\nexport const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004;\nexport const CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED = 2100005;\nexport const CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING = 2100006;\n\n// Renderers-related errors.\n// Reserve error codes in the range [2800000-2800999].\nexport const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000;\nexport const CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS = 2800001;\n\n/**\n * A union of every Codama error code\n *\n * You might be wondering why this is not a TypeScript enum or const enum.\n *\n * One of the goals of this library is to enable people to use some or none of it without having to\n * bundle all of it.\n *\n * If we made the set of error codes an enum then anyone who imported it (even if to only use a\n * single error code) would be forced to bundle every code and its label.\n *\n * Const enums appear to solve this problem by letting the compiler inline only the codes that are\n * actually used. Unfortunately exporting ambient (const) enums from a library like `@codama/errors`\n * is not safe, for a variety of reasons covered here: https://stackoverflow.com/a/28818850\n */\nexport type CodamaErrorCode =\n | typeof CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING\n | typeof CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED\n | typeof CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING\n | typeof CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE\n | typeof CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND\n | typeof CODAMA_ERROR__LINKED_NODE_NOT_FOUND\n | typeof CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE\n | typeof CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS\n | typeof CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE\n | typeof CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND\n | typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING\n | typeof CODAMA_ERROR__UNRECOGNIZED_NODE_KIND\n | typeof CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT\n | typeof CODAMA_ERROR__VERSION_MISMATCH\n | typeof CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION\n | typeof CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES\n | typeof CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK\n | typeof CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE\n | typeof CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES\n | typeof CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE\n | typeof CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND\n | typeof CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY\n | typeof CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER\n | typeof CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES\n | typeof CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND;\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n AccountNode,\n AccountValueNode,\n CamelCaseString,\n EnumTypeNode,\n InstructionAccountNode,\n InstructionArgumentNode,\n InstructionNode,\n LinkNode,\n Node,\n NodeKind,\n PdaNode,\n PdaSeedValueNode,\n ProgramNode,\n} from '@codama/node-types';\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\ntype DefaultUnspecifiedErrorContextToUndefined<T> = {\n [P in CodamaErrorCode]: P extends keyof T ? T[P] : undefined;\n};\n\n/**\n * WARNING:\n * - Don't change or remove members of an error's context.\n */\nexport type CodamaErrorContext = DefaultUnspecifiedErrorContextToUndefined<{\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: {\n name: string;\n };\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: {\n kind: string;\n };\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: {\n idlType: string;\n path: string;\n };\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: {\n idlType: string;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: {\n field: CamelCaseString;\n };\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: {\n enum: EnumTypeNode;\n enumName: CamelCaseString;\n variant: CamelCaseString;\n };\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: {\n kind: LinkNode['kind'];\n linkNode: LinkNode;\n name: CamelCaseString;\n path: readonly Node[];\n };\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]: {\n fsFunction: string;\n };\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]: {\n dependencies: readonly string[];\n message: string;\n };\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: {\n kind: NodeKind;\n node: Node | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: {\n expectedKinds: NodeKind[];\n kind: NodeKind | null;\n node: Node | null | undefined;\n };\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: {\n encoding: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: {\n kind: string;\n };\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: {\n format: string;\n };\n [CODAMA_ERROR__VERSION_MISMATCH]: {\n codamaVersion: string;\n rootVersion: string;\n };\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: {\n account: AccountNode;\n missingField: CamelCaseString;\n name: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]: {\n duplicatedPdaNames: CamelCaseString[];\n program: ProgramNode;\n programName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]: {\n visitFunction: string;\n };\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]: {\n conflictingAttributes: CamelCaseString[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: {\n path: readonly Node[];\n };\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]: {\n instruction: InstructionNode;\n instructionAccount: InstructionAccountNode;\n instructionAccountName: CamelCaseString;\n instructionName: CamelCaseString;\n seed: PdaSeedValueNode<AccountValueNode>;\n seedName: CamelCaseString;\n seedValueName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]: {\n cycle: (InstructionAccountNode | InstructionArgumentNode)[];\n formattedCycle: string;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: {\n formattedHistogram: string;\n validationItems: ValidationItem[];\n };\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]: {\n argumentName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]: {\n dependency: InstructionAccountNode | InstructionArgumentNode;\n dependencyKind: 'instructionAccountNode' | 'instructionArgumentNode';\n dependencyName: CamelCaseString;\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n parent: InstructionAccountNode | InstructionArgumentNode;\n parentKind: 'instructionAccountNode' | 'instructionArgumentNode';\n parentName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: {\n wrapper: string;\n };\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]: {\n instruction: InstructionNode;\n instructionName: CamelCaseString;\n pda: PdaNode;\n pdaName: CamelCaseString;\n };\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: {\n key: string;\n };\n}>;\n\ntype ValidationItem = {\n level: 'debug' | 'error' | 'info' | 'trace' | 'warn';\n message: string;\n node: Node;\n path: Node[];\n};\n\nexport function decodeEncodedContext(encodedContext: string): object {\n const decodedUrlString = __NODEJS__ ? Buffer.from(encodedContext, 'base64').toString('utf8') : atob(encodedContext);\n return Object.fromEntries(new URLSearchParams(decodedUrlString).entries());\n}\n\nfunction encodeValue(value: unknown): string {\n if (Array.isArray(value)) {\n const commaSeparatedValues = value.map(encodeValue).join('%2C%20' /* \", \" */);\n return '%5B' /* \"[\" */ + commaSeparatedValues + /* \"]\" */ '%5D';\n } else if (typeof value === 'bigint') {\n return `${value}n`;\n } else {\n return encodeURIComponent(\n String(\n value != null && Object.getPrototypeOf(value) === null\n ? // Plain objects with no protoype don't have a `toString` method.\n // Convert them before stringifying them.\n { ...(value as object) }\n : value,\n ),\n );\n }\n}\n\nfunction encodeObjectContextEntry([key, value]: [string, unknown]): `${typeof key}=${string}` {\n return `${key}=${encodeValue(value)}`;\n}\n\nexport function encodeContextObject(context: object): string {\n const searchParamsString = Object.entries(context).map(encodeObjectContextEntry).join('&');\n return __NODEJS__ ? Buffer.from(searchParamsString, 'utf8').toString('base64') : btoa(searchParamsString);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport {\n CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING,\n CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED,\n CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING,\n CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE,\n CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND,\n CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND,\n CODAMA_ERROR__LINKED_NODE_NOT_FOUND,\n CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE,\n CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS,\n CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE,\n CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND,\n CODAMA_ERROR__UNEXPECTED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING,\n CODAMA_ERROR__UNRECOGNIZED_NODE_KIND,\n CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT,\n CODAMA_ERROR__VERSION_MISMATCH,\n CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND,\n CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES,\n CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION,\n CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES,\n CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK,\n CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE,\n CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES,\n CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE,\n CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND,\n CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY,\n CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER,\n CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES,\n CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND,\n CodamaErrorCode,\n} from './codes';\n\n/**\n * WARNING:\n * - Don't change the meaning of an error message.\n */\nexport const CodamaErrorMessages: Readonly<{\n // This type makes this data structure exhaustive with respect to `SolanaErrorCode`.\n // TypeScript will fail to build this project if add an error code without a message.\n [P in CodamaErrorCode]: string;\n}> = {\n [CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING]: 'Account type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING]: 'Argument name [$name] is missing from the instruction definition.',\n [CODAMA_ERROR__ANCHOR__GENERIC_TYPE_MISSING]: 'Generic type [$name] is missing from the IDL types.',\n [CODAMA_ERROR__ANCHOR__PROGRAM_ID_KIND_UNIMPLEMENTED]: 'Program ID kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED]: 'Seed kind [$kind] is not implemented.',\n [CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING]: 'Field type is missing for path [$path] in [$idlType].',\n [CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE]: 'Unrecognized Anchor IDL type [$idlType].',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE]: 'Discriminator field [$field] has no default value.',\n [CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND]: 'Could not find discriminator field [$field]',\n [CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND]: 'Enum variant [$variant] not found in enum type [$enumName].',\n [CODAMA_ERROR__LINKED_NODE_NOT_FOUND]: 'Could not find linked node [$name] from [$kind].',\n [CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE]:\n 'Node.js filesystem function [$fsFunction] is not available in your environment.',\n [CODAMA_ERROR__RENDERERS__MISSING_DEPENDENCY_VERSIONS]:\n 'No version specified for the following dependencies: [$dependencies]. $message',\n [CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE]: 'Cannot render the encountered node of kind [$kind].',\n [CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND]: 'Expected nested node of kind [$expectedKinds], got [$kind]',\n [CODAMA_ERROR__UNEXPECTED_NODE_KIND]: 'Expected node of kind [$expectedKinds], got [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING]: 'Unrecognized bytes encoding [$encoding].',\n [CODAMA_ERROR__UNRECOGNIZED_NODE_KIND]: 'Unrecognized node kind [$kind].',\n [CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT]: 'Unrecognized number format [$format].',\n [CODAMA_ERROR__VERSION_MISMATCH]:\n 'The provided RootNode version [$rootVersion] is not compatible with the installed Codama version [$codamaVersion].',\n [CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND]: 'Account [$name] does not have a field named [$missingField].',\n [CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES]:\n 'Cannot add PDAs to program [$programName] because the following PDA names already exist [$duplicatedPdaNames].',\n [CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION]:\n 'Cannot extend visitor with function [$visitFunction] as the base visitor does not support it.',\n [CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES]:\n 'Cannot flatten struct since this would cause the following attributes to conflict [$conflictingAttributes].',\n [CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK]: 'Cannot remove the last path in the node stack.',\n [CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE]:\n 'Cannot use optional account [$seedValueName] as the [$seedName] PDA seed for the [$instructionAccountName] account of the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES]:\n \"Circular dependency detected when resolving the accounts and arguments' default values of the [$instructionName] instruction. Got the following dependency cycle [$formattedCycle].\",\n [CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE]: 'Failed to validate the given node [$formattedHistogram].',\n [CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND]:\n 'Could not find an enum argument named [$argumentName] for instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY]:\n 'Dependency [$dependencyName] of kind [$dependencyKind] is not a valid dependency of [$parentName] of kind [$parentKind] in the [$instructionName] instruction.',\n [CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER]: 'Invalid number wrapper kind [$wrapper].',\n [CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES]:\n 'Invalid seed values for PDA [$pdaName] in instruction [$instructionName].',\n [CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND]: 'Cannot find key [$key] in RenderMap.',\n};\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { encodeContextObject } from './context';\nimport { CodamaErrorMessages } from './messages';\n\nexport function getHumanReadableErrorMessage<TErrorCode extends CodamaErrorCode>(\n code: TErrorCode,\n context: object = {},\n): string {\n const messageFormatString = CodamaErrorMessages[code];\n const message = messageFormatString.replace(/(?<!\\\\)\\$(\\w+)/g, (substring, variableName) =>\n variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring,\n );\n return message;\n}\n\nexport function getErrorMessage<TErrorCode extends CodamaErrorCode>(code: TErrorCode, context: object = {}): string {\n if (process.env.NODE_ENV !== 'production') {\n return getHumanReadableErrorMessage(code, context);\n } else {\n let decodingAdviceMessage = `Codama error #${code}; Decode this error by running \\`npx @codama/errors decode -- ${code}`;\n if (Object.keys(context).length) {\n /**\n * DANGER: Be sure that the shell command is escaped in such a way that makes it\n * impossible for someone to craft malicious context values that would result in\n * an exploit against anyone who bindly copy/pastes it into their terminal.\n */\n decodingAdviceMessage += ` '${encodeContextObject(context)}'`;\n }\n return `${decodingAdviceMessage}\\``;\n }\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nimport { CodamaErrorCode } from './codes';\nimport { CodamaErrorContext } from './context';\nimport { getErrorMessage } from './message-formatter';\n\nexport function isCodamaError<TErrorCode extends CodamaErrorCode>(\n e: unknown,\n code?: TErrorCode,\n): e is CodamaError<TErrorCode> {\n const isCodamaError = e instanceof Error && e.name === 'CodamaError';\n if (isCodamaError) {\n if (code !== undefined) {\n return (e as CodamaError<TErrorCode>).context.__code === code;\n }\n return true;\n }\n return false;\n}\n\ntype CodamaErrorCodedContext = Readonly<{\n [P in CodamaErrorCode]: (CodamaErrorContext[P] extends undefined ? object : CodamaErrorContext[P]) & {\n __code: P;\n };\n}>;\n\nexport class CodamaError<TErrorCode extends CodamaErrorCode = CodamaErrorCode> extends Error {\n readonly context: CodamaErrorCodedContext[TErrorCode];\n constructor(\n ...[code, contextAndErrorOptions]: CodamaErrorContext[TErrorCode] extends undefined\n ? [code: TErrorCode, errorOptions?: ErrorOptions | undefined]\n : [code: TErrorCode, contextAndErrorOptions: CodamaErrorContext[TErrorCode] & (ErrorOptions | undefined)]\n ) {\n let context: CodamaErrorContext[TErrorCode] | undefined;\n let errorOptions: ErrorOptions | undefined;\n if (contextAndErrorOptions) {\n // If the `ErrorOptions` type ever changes, update this code.\n const { cause, ...contextRest } = contextAndErrorOptions;\n if (cause) {\n errorOptions = { cause };\n }\n if (Object.keys(contextRest).length > 0) {\n context = contextRest as CodamaErrorContext[TErrorCode];\n }\n }\n const message = getErrorMessage(code, context);\n super(message, errorOptions);\n this.context = {\n __code: code,\n ...context,\n } as CodamaErrorCodedContext[TErrorCode];\n // This is necessary so that `isCodamaError()` can identify a `CodamaError` without having\n // to import the class for use in an `instanceof` check.\n this.name = 'CodamaError';\n }\n}\n","export function logError(message: string) {\n console.error(message);\n}\n\nexport function logWarn(message: string) {\n console.warn(message);\n}\n\nexport function logInfo(message: string) {\n console.log(message);\n}\n","/**\n * Heavily inspired by @solana/errors.\n * @see https://github.com/anza-xyz/kit/blob/main/packages/errors\n */\n\nexport function safeCaptureStackTrace(...args: Parameters<typeof Error.captureStackTrace>): void {\n if ('captureStackTrace' in Error && typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(...args);\n }\n}\n"]} |
+2
-2
| { | ||
| "name": "@codama/errors", | ||
| "version": "1.4.3", | ||
| "version": "1.4.4", | ||
| "description": "Error management for Codama", | ||
@@ -43,3 +43,3 @@ "exports": { | ||
| "picocolors": "^1.1.1", | ||
| "@codama/node-types": "1.4.3" | ||
| "@codama/node-types": "1.4.4" | ||
| }, | ||
@@ -46,0 +46,0 @@ "license": "MIT", |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
300122
0.57%1397
-13.34%+ Added
- Removed
Updated