@secondlayer/stacks 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/shared/{stacks-shh3gp0x.js → stacks-43cxvnr7.js} +4 -3
  2. package/dist/shared/{stacks-shh3gp0x.js.map → stacks-43cxvnr7.js.map} +3 -3
  3. package/dist/shared/{stacks-kmnthgj7.js → stacks-4trgpb5a.js} +13 -3
  4. package/dist/shared/{stacks-kmnthgj7.js.map → stacks-4trgpb5a.js.map} +3 -3
  5. package/dist/shared/stacks-4z1jhw6y.js +51 -0
  6. package/dist/shared/stacks-4z1jhw6y.js.map +10 -0
  7. package/dist/shared/{stacks-fy5h5qyx.js → stacks-5th5dffx.js} +9 -44
  8. package/dist/shared/{stacks-fy5h5qyx.js.map → stacks-5th5dffx.js.map} +3 -4
  9. package/dist/shared/stacks-7wfdkhj6.cjs +70 -0
  10. package/dist/shared/stacks-7wfdkhj6.cjs.map +12 -0
  11. package/dist/shared/stacks-7wqprfrm.cjs +35 -0
  12. package/dist/shared/stacks-7wqprfrm.cjs.map +10 -0
  13. package/dist/shared/{stacks-dr5en54r.cjs → stacks-8e5atbps.cjs} +2 -9
  14. package/dist/shared/{stacks-dr5en54r.cjs.map → stacks-8e5atbps.cjs.map} +2 -2
  15. package/dist/shared/{stacks-kmshch4q.js → stacks-a36n7sjz.js} +3 -2
  16. package/dist/shared/{stacks-kmshch4q.js.map → stacks-a36n7sjz.js.map} +1 -1
  17. package/dist/shared/stacks-d6pgp4qk.cjs +9 -0
  18. package/dist/shared/stacks-d6pgp4qk.cjs.map +9 -0
  19. package/dist/shared/{stacks-xxvz1x0f.cjs → stacks-ertyhttt.cjs} +13 -3
  20. package/dist/shared/{stacks-xxvz1x0f.cjs.map → stacks-ertyhttt.cjs.map} +3 -3
  21. package/dist/shared/{stacks-7tn3zsbe.js → stacks-hyz7zgdk.js} +2 -2
  22. package/dist/shared/{stacks-14pgpkrr.cjs → stacks-jevhg39n.cjs} +2 -35
  23. package/dist/shared/{stacks-14pgpkrr.cjs.map → stacks-jevhg39n.cjs.map} +3 -4
  24. package/dist/shared/stacks-qk8pdyjy.cjs +76 -0
  25. package/dist/shared/stacks-qk8pdyjy.cjs.map +14 -0
  26. package/dist/shared/{stacks-9a0xebgq.cjs → stacks-vk8fwz0t.cjs} +4 -2
  27. package/dist/shared/{stacks-9a0xebgq.cjs.map → stacks-vk8fwz0t.cjs.map} +3 -3
  28. package/dist/shared/{stacks-y2p4h5ks.js → stacks-wqgepfab.js} +2 -2
  29. package/dist/shared/stacks-y8e3gx6w.js +90 -0
  30. package/dist/shared/stacks-y8e3gx6w.js.map +14 -0
  31. package/dist/shared/{stacks-y3nbm8bw.cjs → stacks-yq5a5cda.js} +25 -75
  32. package/dist/shared/stacks-yq5a5cda.js.map +12 -0
  33. package/dist/shared/stacks-z53fwfcm.js +3 -0
  34. package/dist/shared/stacks-z53fwfcm.js.map +9 -0
  35. package/dist/src/actions/index.js +16 -12
  36. package/dist/src/actions/index.js.map +1 -1
  37. package/dist/src/bns/index.js +8 -6
  38. package/dist/src/bns/index.js.map +2 -2
  39. package/dist/src/clarity/index.d.cts +6 -2
  40. package/dist/src/clarity/index.d.ts +6 -2
  41. package/dist/src/clarity/index.js +4 -2
  42. package/dist/src/clarity/index.js.map +1 -1
  43. package/dist/src/index.cjs.map +4 -4
  44. package/dist/src/index.d.cts +4 -4
  45. package/dist/src/index.d.ts +4 -4
  46. package/dist/src/index.js +18 -14
  47. package/dist/src/index.js.map +6 -6
  48. package/dist/src/postconditions/index.js +3 -2
  49. package/dist/src/postconditions/index.js.map +1 -1
  50. package/dist/src/pox/index.js +7 -5
  51. package/dist/src/pox/index.js.map +2 -2
  52. package/dist/src/sbtc/index.js +5 -4
  53. package/dist/src/sbtc/index.js.map +2 -2
  54. package/dist/src/stackingdao/index.js +7 -5
  55. package/dist/src/stackingdao/index.js.map +2 -2
  56. package/dist/src/tools/index.cjs +12 -2
  57. package/dist/src/tools/index.cjs.map +4 -4
  58. package/dist/src/tools/index.js +12 -2
  59. package/dist/src/tools/index.js.map +4 -4
  60. package/dist/src/transactions/index.js +2 -2
  61. package/dist/src/x402/index.cjs +62 -0
  62. package/dist/src/x402/index.cjs.map +11 -0
  63. package/dist/src/x402/index.d.cts +424 -0
  64. package/dist/src/x402/index.d.ts +424 -0
  65. package/dist/src/x402/index.js +88 -0
  66. package/dist/src/x402/index.js.map +11 -0
  67. package/package.json +7 -1
  68. package/dist/shared/stacks-g7ys594x.js +0 -168
  69. package/dist/shared/stacks-g7ys594x.js.map +0 -17
  70. package/dist/shared/stacks-y3nbm8bw.cjs.map +0 -17
  71. /package/dist/shared/{stacks-7tn3zsbe.js.map → stacks-hyz7zgdk.js.map} +0 -0
  72. /package/dist/shared/{stacks-y2p4h5ks.js.map → stacks-wqgepfab.js.map} +0 -0
@@ -4,9 +4,9 @@
4
4
  "sourcesContent": [
5
5
  "import {\n\tasciiToBytes,\n\tbytesToAscii,\n\thexToBytes,\n\tutf8ToBytes,\n} from \"../utils/encoding.ts\";\nimport type { ClarityValue } from \"./types.ts\";\n\nexport function prettyPrint(\n\tval: ClarityValue,\n\tencoding: \"tryAscii\" | \"hex\" = \"hex\",\n): string | undefined {\n\tswitch (val.type) {\n\t\tcase \"true\":\n\t\t\treturn \"true\";\n\t\tcase \"false\":\n\t\t\treturn \"false\";\n\t\tcase \"int\":\n\t\t\treturn val.value.toString();\n\t\tcase \"uint\":\n\t\t\treturn `u${val.value.toString()}`;\n\t\tcase \"buffer\":\n\t\t\tif (encoding === \"tryAscii\") {\n\t\t\t\tconst str = bytesToAscii(hexToBytes(val.value));\n\t\t\t\tif (/^[ -~]*$/.test(str)) return JSON.stringify(str);\n\t\t\t}\n\t\t\treturn `0x${val.value}`;\n\t\tcase \"none\":\n\t\t\treturn \"none\";\n\t\tcase \"some\":\n\t\t\treturn `(some ${prettyPrint(val.value, encoding)})`;\n\t\tcase \"ok\":\n\t\t\treturn `(ok ${prettyPrint(val.value, encoding)})`;\n\t\tcase \"err\":\n\t\t\treturn `(err ${prettyPrint(val.value, encoding)})`;\n\t\tcase \"address\":\n\t\tcase \"contract\":\n\t\t\treturn val.value;\n\t\tcase \"list\":\n\t\t\treturn `(list ${val.value.map((v) => prettyPrint(v, encoding)).join(\" \")})`;\n\t\tcase \"tuple\":\n\t\t\treturn `(tuple ${Object.keys(val.value)\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: value is non-null after preceding check or by construction; TS narrowing limitation\n\t\t\t\t.map((key) => `(${key} ${prettyPrint(val.value[key]!, encoding)})`)\n\t\t\t\t.join(\" \")})`;\n\t\tcase \"ascii\":\n\t\t\treturn `\"${val.value}\"`;\n\t\tcase \"utf8\":\n\t\t\treturn `u\"${val.value}\"`;\n\t}\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\nexport function cvToJSON(val: ClarityValue): any {\n\tswitch (val.type) {\n\t\tcase \"true\":\n\t\t\treturn { type: \"bool\", value: true };\n\t\tcase \"false\":\n\t\t\treturn { type: \"bool\", value: false };\n\t\tcase \"int\":\n\t\t\treturn { type: \"int\", value: val.value.toString() };\n\t\tcase \"uint\":\n\t\t\treturn { type: \"uint\", value: val.value.toString() };\n\t\tcase \"buffer\":\n\t\t\treturn {\n\t\t\t\ttype: `(buff ${Math.ceil(val.value.length / 2)})`,\n\t\t\t\tvalue: `0x${val.value}`,\n\t\t\t};\n\t\tcase \"none\":\n\t\t\treturn { type: \"(optional none)\", value: null };\n\t\tcase \"some\":\n\t\t\treturn { type: \"(optional)\", value: cvToJSON(val.value) };\n\t\tcase \"ok\":\n\t\t\treturn { type: \"(response)\", value: cvToJSON(val.value), success: true };\n\t\tcase \"err\":\n\t\t\treturn { type: \"(response)\", value: cvToJSON(val.value), success: false };\n\t\tcase \"address\":\n\t\tcase \"contract\":\n\t\t\treturn { type: \"principal\", value: val.value };\n\t\tcase \"list\":\n\t\t\treturn { type: \"(list)\", value: val.value.map(cvToJSON) };\n\t\tcase \"tuple\": {\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\t\t\tconst result: Record<string, any> = {};\n\t\t\tfor (const key of Object.keys(val.value)) {\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: value is non-null after preceding check or by construction; TS narrowing limitation\n\t\t\t\tresult[key] = cvToJSON(val.value[key]!);\n\t\t\t}\n\t\t\treturn { type: \"(tuple)\", value: result };\n\t\t}\n\t\tcase \"ascii\":\n\t\t\treturn {\n\t\t\t\ttype: `(string-ascii ${asciiToBytes(val.value).length})`,\n\t\t\t\tvalue: val.value,\n\t\t\t};\n\t\tcase \"utf8\":\n\t\t\treturn {\n\t\t\t\ttype: `(string-utf8 ${utf8ToBytes(val.value).length})`,\n\t\t\t\tvalue: val.value,\n\t\t\t};\n\t}\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\nexport function cvToValue(val: ClarityValue): any {\n\tswitch (val.type) {\n\t\tcase \"true\":\n\t\t\treturn true;\n\t\tcase \"false\":\n\t\t\treturn false;\n\t\tcase \"int\":\n\t\tcase \"uint\":\n\t\t\treturn val.value;\n\t\tcase \"buffer\":\n\t\t\treturn `0x${val.value}`;\n\t\tcase \"none\":\n\t\t\treturn null;\n\t\tcase \"some\":\n\t\t\treturn cvToValue(val.value);\n\t\tcase \"ok\":\n\t\tcase \"err\":\n\t\t\treturn cvToValue(val.value);\n\t\tcase \"address\":\n\t\tcase \"contract\":\n\t\t\treturn val.value;\n\t\tcase \"list\":\n\t\t\treturn val.value.map(cvToValue);\n\t\tcase \"tuple\": {\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\t\t\tconst result: Record<string, any> = {};\n\t\t\tfor (const key of Object.keys(val.value)) {\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: value is non-null after preceding check or by construction; TS narrowing limitation\n\t\t\t\tresult[key] = cvToValue(val.value[key]!);\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\tcase \"ascii\":\n\t\tcase \"utf8\":\n\t\t\treturn val.value;\n\t}\n}\n",
6
6
  "import type { AbiFunction } from \"./contract.ts\";\nimport {\n\tisAbiBuffer,\n\tisAbiList,\n\tisAbiOptional,\n\tisAbiResponse,\n\tisAbiStringAscii,\n\tisAbiStringUtf8,\n\tisAbiTuple,\n\tisBool,\n\tisInt128,\n\tisPrincipal,\n\tisString,\n\tisUint8Array,\n\tisUint128,\n} from \"./guards.ts\";\nimport type { AbiType } from \"./types.ts\";\nimport { toCamelCase } from \"./utils.ts\";\n\nexport class ClarityConversionError extends Error {\n\tconstructor(\n\t\tmessage: string,\n\t\tpublic readonly type: AbiType,\n\t\tpublic readonly value: unknown,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"ClarityConversionError\";\n\t}\n}\n\nexport function jsToClarity(type: AbiType, value: unknown): unknown {\n\tif (type === \"none\") return null;\n\n\tif (type === \"uint128\") {\n\t\tif (!isUint128(value))\n\t\t\tthrow new ClarityConversionError(\"Invalid uint128 value\", type, value);\n\t\treturn value;\n\t}\n\n\tif (type === \"int128\") {\n\t\tif (!isInt128(value))\n\t\t\tthrow new ClarityConversionError(\"Invalid int128 value\", type, value);\n\t\treturn value;\n\t}\n\n\tif (type === \"bool\") {\n\t\tif (!isBool(value))\n\t\t\tthrow new ClarityConversionError(\"Invalid bool value\", type, value);\n\t\treturn value;\n\t}\n\n\tif (type === \"principal\") {\n\t\tif (!isPrincipal(value))\n\t\t\tthrow new ClarityConversionError(\"Invalid principal value\", type, value);\n\t\treturn value;\n\t}\n\n\tif (type === \"trait_reference\") {\n\t\tif (!isPrincipal(value))\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t\"Invalid trait_reference value\",\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\treturn value;\n\t}\n\n\tif (isAbiStringAscii(type)) {\n\t\tif (!isString(value))\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t\"Invalid string-ascii value\",\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\tconst str = value as string;\n\t\tfor (let i = 0; i < str.length; i++) {\n\t\t\tif (str.charCodeAt(i) > 127) {\n\t\t\t\tthrow new ClarityConversionError(\n\t\t\t\t\t`Non-ASCII character at position ${i}: '${str[i]}' (code ${str.charCodeAt(i)})`,\n\t\t\t\t\ttype,\n\t\t\t\t\tvalue,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (str.length > type[\"string-ascii\"].length) {\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t`String length ${str.length} exceeds max ${type[\"string-ascii\"].length}`,\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\t}\n\t\treturn value;\n\t}\n\n\tif (isAbiStringUtf8(type)) {\n\t\tif (!isString(value))\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t\"Invalid string-utf8 value\",\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\tconst str = value as string;\n\t\tconst byteLength = new TextEncoder().encode(str).length;\n\t\tif (byteLength > type[\"string-utf8\"].length) {\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t`String byte length ${byteLength} exceeds max ${type[\"string-utf8\"].length}`,\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\t}\n\t\treturn value;\n\t}\n\n\tif (isAbiBuffer(type)) {\n\t\tif (!isUint8Array(value))\n\t\t\tthrow new ClarityConversionError(\"Invalid buffer value\", type, value);\n\t\tconst buff = value as Uint8Array;\n\t\tif (buff.length > type.buff.length) {\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t`Buffer length ${buff.length} exceeds max ${type.buff.length}`,\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\t}\n\t\treturn value;\n\t}\n\n\tif (isAbiList(type)) {\n\t\tif (!Array.isArray(value))\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t\"Expected array for list type\",\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\tif (value.length > type.list.length) {\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t`List length ${value.length} exceeds max ${type.list.length}`,\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\t}\n\t\treturn value.map((item) => jsToClarity(type.list.type, item));\n\t}\n\n\tif (isAbiTuple(type)) {\n\t\tif (typeof value !== \"object\" || value === null)\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t\"Expected object for tuple type\",\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\tconst result: Record<string, unknown> = {};\n\t\tfor (const field of type.tuple) {\n\t\t\tconst camelKey = toCamelCase(field.name);\n\t\t\tconst hasOriginal = field.name in (value as object);\n\t\t\tconst hasCamel = camelKey in (value as object);\n\t\t\tif (!hasOriginal && !hasCamel) {\n\t\t\t\tthrow new ClarityConversionError(\n\t\t\t\t\t`Missing tuple field: ${field.name}`,\n\t\t\t\t\ttype,\n\t\t\t\t\tvalue,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst fieldValue = hasOriginal\n\t\t\t\t? (value as Record<string, unknown>)[field.name]\n\t\t\t\t: (value as Record<string, unknown>)[camelKey];\n\t\t\tresult[field.name] = jsToClarity(field.type, fieldValue);\n\t\t}\n\t\treturn result;\n\t}\n\n\tif (isAbiOptional(type)) {\n\t\tif (value === null || value === undefined) return null;\n\t\treturn jsToClarity(type.optional, value);\n\t}\n\n\tif (isAbiResponse(type)) {\n\t\tif (typeof value !== \"object\" || value === null)\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t\"Expected object for response type\",\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t);\n\t\tconst hasOk = \"ok\" in value;\n\t\tconst hasErr = \"err\" in value;\n\t\tif (hasOk && !hasErr) {\n\t\t\treturn {\n\t\t\t\tok: jsToClarity(type.response.ok, (value as { ok: unknown }).ok),\n\t\t\t};\n\t\t}\n\t\tif (hasErr && !hasOk) {\n\t\t\treturn {\n\t\t\t\terr: jsToClarity(type.response.error, (value as { err: unknown }).err),\n\t\t\t};\n\t\t}\n\t\tthrow new ClarityConversionError(\n\t\t\t\"Response must have exactly 'ok' or 'err' property\",\n\t\t\ttype,\n\t\t\tvalue,\n\t\t);\n\t}\n\n\tthrow new ClarityConversionError(\"Unknown Clarity type\", type, value);\n}\n\nexport function prepareArgs<F extends AbiFunction>(\n\tfunc: F,\n\targs: Record<string, unknown>,\n): unknown[] {\n\treturn func.args.map((arg) => {\n\t\tif (!(arg.name in args)) {\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t`Missing argument: ${arg.name}`,\n\t\t\t\targ.type,\n\t\t\t\tundefined,\n\t\t\t);\n\t\t}\n\t\treturn jsToClarity(arg.type, args[arg.name]);\n\t});\n}\n\nexport function validateArgs<F extends AbiFunction>(\n\tfunc: F,\n\targs: Record<string, unknown>,\n): void {\n\tfor (const arg of func.args) {\n\t\tif (!(arg.name in args)) {\n\t\t\tthrow new ClarityConversionError(\n\t\t\t\t`Missing argument: ${arg.name}`,\n\t\t\t\targ.type,\n\t\t\t\tundefined,\n\t\t\t);\n\t\t}\n\t\tjsToClarity(arg.type, args[arg.name]);\n\t}\n}\n\nexport function validateArgsArray<F extends AbiFunction>(\n\tfunc: F,\n\targs: unknown[],\n): void {\n\tif (args.length !== func.args.length) {\n\t\tthrow new ClarityConversionError(\n\t\t\t`Expected ${func.args.length} arguments, got ${args.length}`,\n\t\t\tfunc.args[0]?.type ?? \"bool\",\n\t\t\targs,\n\t\t);\n\t}\n\tfunc.args.forEach((arg, i) => {\n\t\tjsToClarity(arg.type, args[i]);\n\t});\n}\n",
7
- "import type { AbiContract, AbiFunction } from \"./contract.ts\";\nimport { SIP009_ABI, SIP010_ABI, SIP013_ABI } from \"./standards.ts\";\n\n/**\n * Static conformance classification — \"does this contract's ABI look like a\n * SIP-009/010/013 token?\". Powers trait-based discovery for the (many) contracts\n * that conform to a standard without declaring its trait. Lean match: every\n * REQUIRED standard function must be present with the same access + arg arity\n * (optional functions like get-token-uri are ignored). Loose on exact arg/return\n * types to catch real-world variants; consumers wanting certainty use the\n * `declared` traits parsed from source instead.\n */\n\nexport type SipStandard = \"sip-009\" | \"sip-010\" | \"sip-013\";\n\ninterface StandardSpec {\n\tid: SipStandard;\n\tabi: AbiContract;\n\t/** Functions in the reference ABI that real tokens may omit. */\n\toptional: ReadonlySet<string>;\n}\n\nconst STANDARDS: ReadonlyArray<StandardSpec> = [\n\t{ id: \"sip-010\", abi: SIP010_ABI, optional: new Set([\"get-token-uri\"]) },\n\t{ id: \"sip-009\", abi: SIP009_ABI, optional: new Set([\"get-token-uri\"]) },\n\t{\n\t\tid: \"sip-013\",\n\t\tabi: SIP013_ABI,\n\t\toptional: new Set([\n\t\t\t\"transfer-memo\",\n\t\t\t\"transfer-many\",\n\t\t\t\"transfer-many-memo\",\n\t\t\t\"get-token-uri\",\n\t\t\t\"get-overall-balance\",\n\t\t\t\"get-overall-supply\",\n\t\t]),\n\t},\n];\n\nfunction indexByName(abi: AbiContract): Map<string, AbiFunction> {\n\tconst m = new Map<string, AbiFunction>();\n\tfor (const f of abi.functions) m.set(f.name, f);\n\treturn m;\n}\n\nfunction conformsTo(candidate: AbiContract, spec: StandardSpec): boolean {\n\tconst fns = indexByName(candidate);\n\tfor (const required of spec.abi.functions) {\n\t\tif (spec.optional.has(required.name)) continue;\n\t\tconst got = fns.get(required.name);\n\t\tif (!got) return false;\n\t\tif (got.access !== required.access) return false;\n\t\tif (got.args.length !== required.args.length) return false;\n\t}\n\treturn true;\n}\n\n/** Return the SIP standards a contract's ABI statically conforms to. */\nexport function classifyContract(abi: AbiContract): SipStandard[] {\n\tif (!abi || !Array.isArray(abi.functions)) return [];\n\treturn STANDARDS.filter((s) => conformsTo(abi, s)).map((s) => s.id);\n}\n\n/**\n * Parse the standards a contract *declares* via `(impl-trait …)` in its Clarity\n * source. Matched heuristically on the trait-reference name (robust across\n * mainnet/testnet principals + community variants) rather than an exact principal\n * allowlist. The ABI/RPC doesn't carry trait info, so source is the only declared\n * signal. `declared` is the high-confidence signal; `classifyContract` is the\n * catch-all for conforming-but-undeclared contracts.\n */\nexport function parseDeclaredStandards(claritySource: string): SipStandard[] {\n\tconst out = new Set<SipStandard>();\n\tconst matches = claritySource.matchAll(/\\(impl-trait\\s+[^)]+\\)/gi);\n\tfor (const m of matches) {\n\t\tconst ref = m[0].toLowerCase();\n\t\tif (ref.includes(\"sip-010\") || ref.includes(\".ft-trait\"))\n\t\t\tout.add(\"sip-010\");\n\t\tif (ref.includes(\"sip-009\") || ref.includes(\"nft-trait\"))\n\t\t\tout.add(\"sip-009\");\n\t\tif (ref.includes(\"sip-013\") || ref.includes(\"semi-fungible\"))\n\t\t\tout.add(\"sip-013\");\n\t}\n\treturn [...out];\n}\n"
7
+ "import type { AbiContract, AbiFunction } from \"./contract.ts\";\nimport { SIP009_ABI, SIP010_ABI, SIP013_ABI } from \"./standards.ts\";\n\n/**\n * Static conformance classification — \"does this contract's ABI look like a\n * SIP-009/010/013 token?\". Powers trait-based discovery for the (many) contracts\n * that conform to a standard without declaring its trait. Lean match: every\n * REQUIRED standard function must be present with the same access + arg arity\n * (optional functions like get-token-uri are ignored). Loose on exact arg/return\n * types to catch real-world variants; consumers wanting certainty use the\n * `declared` traits parsed from source instead.\n */\n\n/** The canonical SIP trait standards this package can classify/scaffold against.\n * Single source of truth — the `SipStandard` type, CLI `--trait` validation, and\n * the MCP traits resource all derive from this so the vocabulary can't drift. */\nexport const TRAIT_STANDARDS = [\"sip-009\", \"sip-010\", \"sip-013\"] as const;\n\nexport type SipStandard = (typeof TRAIT_STANDARDS)[number];\n\ninterface StandardSpec {\n\tid: SipStandard;\n\tabi: AbiContract;\n\t/** Functions in the reference ABI that real tokens may omit. */\n\toptional: ReadonlySet<string>;\n}\n\nconst STANDARDS: ReadonlyArray<StandardSpec> = [\n\t{ id: \"sip-010\", abi: SIP010_ABI, optional: new Set([\"get-token-uri\"]) },\n\t{ id: \"sip-009\", abi: SIP009_ABI, optional: new Set([\"get-token-uri\"]) },\n\t{\n\t\tid: \"sip-013\",\n\t\tabi: SIP013_ABI,\n\t\toptional: new Set([\n\t\t\t\"transfer-memo\",\n\t\t\t\"transfer-many\",\n\t\t\t\"transfer-many-memo\",\n\t\t\t\"get-token-uri\",\n\t\t\t\"get-overall-balance\",\n\t\t\t\"get-overall-supply\",\n\t\t]),\n\t},\n];\n\nfunction indexByName(abi: AbiContract): Map<string, AbiFunction> {\n\tconst m = new Map<string, AbiFunction>();\n\tfor (const f of abi.functions) m.set(f.name, f);\n\treturn m;\n}\n\nfunction conformsTo(candidate: AbiContract, spec: StandardSpec): boolean {\n\tconst fns = indexByName(candidate);\n\tfor (const required of spec.abi.functions) {\n\t\tif (spec.optional.has(required.name)) continue;\n\t\tconst got = fns.get(required.name);\n\t\tif (!got) return false;\n\t\tif (got.access !== required.access) return false;\n\t\tif (got.args.length !== required.args.length) return false;\n\t}\n\treturn true;\n}\n\n/** Return the SIP standards a contract's ABI statically conforms to. */\nexport function classifyContract(abi: AbiContract): SipStandard[] {\n\tif (!abi || !Array.isArray(abi.functions)) return [];\n\treturn STANDARDS.filter((s) => conformsTo(abi, s)).map((s) => s.id);\n}\n\n/**\n * Parse the standards a contract *declares* via `(impl-trait …)` in its Clarity\n * source. Matched heuristically on the trait-reference name (robust across\n * mainnet/testnet principals + community variants) rather than an exact principal\n * allowlist. The ABI/RPC doesn't carry trait info, so source is the only declared\n * signal. `declared` is the high-confidence signal; `classifyContract` is the\n * catch-all for conforming-but-undeclared contracts.\n */\nexport function parseDeclaredStandards(claritySource: string): SipStandard[] {\n\tconst out = new Set<SipStandard>();\n\tconst matches = claritySource.matchAll(/\\(impl-trait\\s+[^)]+\\)/gi);\n\tfor (const m of matches) {\n\t\tconst ref = m[0].toLowerCase();\n\t\tif (ref.includes(\"sip-010\") || ref.includes(\".ft-trait\"))\n\t\t\tout.add(\"sip-010\");\n\t\tif (ref.includes(\"sip-009\") || ref.includes(\"nft-trait\"))\n\t\t\tout.add(\"sip-009\");\n\t\tif (ref.includes(\"sip-013\") || ref.includes(\"semi-fungible\"))\n\t\t\tout.add(\"sip-013\");\n\t}\n\treturn [...out];\n}\n"
8
8
  ],
9
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,SAAS,WAAW,CAC1B,KACA,WAA+B,OACV;AAAA,EACrB,QAAQ,IAAI;AAAA,SACN;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO,IAAI,MAAM,SAAS;AAAA,SACtB;AAAA,MACJ,OAAO,IAAI,IAAI,MAAM,SAAS;AAAA,SAC1B;AAAA,MACJ,IAAI,aAAa,YAAY;AAAA,QAC5B,MAAM,MAAM,aAAa,WAAW,IAAI,KAAK,CAAC;AAAA,QAC9C,IAAI,WAAW,KAAK,GAAG;AAAA,UAAG,OAAO,KAAK,UAAU,GAAG;AAAA,MACpD;AAAA,MACA,OAAO,KAAK,IAAI;AAAA,SACZ;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO,SAAS,YAAY,IAAI,OAAO,QAAQ;AAAA,SAC3C;AAAA,MACJ,OAAO,OAAO,YAAY,IAAI,OAAO,QAAQ;AAAA,SACzC;AAAA,MACJ,OAAO,QAAQ,YAAY,IAAI,OAAO,QAAQ;AAAA,SAC1C;AAAA,SACA;AAAA,MACJ,OAAO,IAAI;AAAA,SACP;AAAA,MACJ,OAAO,SAAS,IAAI,MAAM,IAAI,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG;AAAA,SACnE;AAAA,MACJ,OAAO,UAAU,OAAO,KAAK,IAAI,KAAK,EAEpC,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,IAAI,MAAM,MAAO,QAAQ,IAAI,EACjE,KAAK,GAAG;AAAA,SACN;AAAA,MACJ,OAAO,IAAI,IAAI;AAAA,SACX;AAAA,MACJ,OAAO,KAAK,IAAI;AAAA;AAAA;AAKZ,SAAS,QAAQ,CAAC,KAAwB;AAAA,EAChD,QAAQ,IAAI;AAAA,SACN;AAAA,MACJ,OAAO,EAAE,MAAM,QAAQ,OAAO,KAAK;AAAA,SAC/B;AAAA,MACJ,OAAO,EAAE,MAAM,QAAQ,OAAO,MAAM;AAAA,SAChC;AAAA,MACJ,OAAO,EAAE,MAAM,OAAO,OAAO,IAAI,MAAM,SAAS,EAAE;AAAA,SAC9C;AAAA,MACJ,OAAO,EAAE,MAAM,QAAQ,OAAO,IAAI,MAAM,SAAS,EAAE;AAAA,SAC/C;AAAA,MACJ,OAAO;AAAA,QACN,MAAM,SAAS,KAAK,KAAK,IAAI,MAAM,SAAS,CAAC;AAAA,QAC7C,OAAO,KAAK,IAAI;AAAA,MACjB;AAAA,SACI;AAAA,MACJ,OAAO,EAAE,MAAM,mBAAmB,OAAO,KAAK;AAAA,SAC1C;AAAA,MACJ,OAAO,EAAE,MAAM,cAAc,OAAO,SAAS,IAAI,KAAK,EAAE;AAAA,SACpD;AAAA,MACJ,OAAO,EAAE,MAAM,cAAc,OAAO,SAAS,IAAI,KAAK,GAAG,SAAS,KAAK;AAAA,SACnE;AAAA,MACJ,OAAO,EAAE,MAAM,cAAc,OAAO,SAAS,IAAI,KAAK,GAAG,SAAS,MAAM;AAAA,SACpE;AAAA,SACA;AAAA,MACJ,OAAO,EAAE,MAAM,aAAa,OAAO,IAAI,MAAM;AAAA,SACzC;AAAA,MACJ,OAAO,EAAE,MAAM,UAAU,OAAO,IAAI,MAAM,IAAI,QAAQ,EAAE;AAAA,SACpD,SAAS;AAAA,MAEb,MAAM,SAA8B,CAAC;AAAA,MACrC,WAAW,OAAO,OAAO,KAAK,IAAI,KAAK,GAAG;AAAA,QAEzC,OAAO,OAAO,SAAS,IAAI,MAAM,IAAK;AAAA,MACvC;AAAA,MACA,OAAO,EAAE,MAAM,WAAW,OAAO,OAAO;AAAA,IACzC;AAAA,SACK;AAAA,MACJ,OAAO;AAAA,QACN,MAAM,iBAAiB,aAAa,IAAI,KAAK,EAAE;AAAA,QAC/C,OAAO,IAAI;AAAA,MACZ;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM,gBAAgB,YAAY,IAAI,KAAK,EAAE;AAAA,QAC7C,OAAO,IAAI;AAAA,MACZ;AAAA;AAAA;AAKI,SAAS,SAAS,CAAC,KAAwB;AAAA,EACjD,QAAQ,IAAI;AAAA,SACN;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,SACA;AAAA,MACJ,OAAO,IAAI;AAAA,SACP;AAAA,MACJ,OAAO,KAAK,IAAI;AAAA,SACZ;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO,UAAU,IAAI,KAAK;AAAA,SACtB;AAAA,SACA;AAAA,MACJ,OAAO,UAAU,IAAI,KAAK;AAAA,SACtB;AAAA,SACA;AAAA,MACJ,OAAO,IAAI;AAAA,SACP;AAAA,MACJ,OAAO,IAAI,MAAM,IAAI,SAAS;AAAA,SAC1B,SAAS;AAAA,MAEb,MAAM,SAA8B,CAAC;AAAA,MACrC,WAAW,OAAO,OAAO,KAAK,IAAI,KAAK,GAAG;AAAA,QAEzC,OAAO,OAAO,UAAU,IAAI,MAAM,IAAK;AAAA,MACxC;AAAA,MACA,OAAO;AAAA,IACR;AAAA,SACK;AAAA,SACA;AAAA,MACJ,OAAO,IAAI;AAAA;AAAA;;ACvHP,MAAM,+BAA+B,MAAM;AAAA,EAGhC;AAAA,EACA;AAAA,EAHjB,WAAW,CACV,SACgB,MACA,OACf;AAAA,IACD,MAAM,OAAO;AAAA,IAHG;AAAA,IACA;AAAA,IAGhB,KAAK,OAAO;AAAA;AAEd;AAEO,SAAS,WAAW,CAAC,MAAe,OAAyB;AAAA,EACnE,IAAI,SAAS;AAAA,IAAQ,OAAO;AAAA,EAE5B,IAAI,SAAS,WAAW;AAAA,IACvB,IAAI,CAAC,UAAU,KAAK;AAAA,MACnB,MAAM,IAAI,uBAAuB,yBAAyB,MAAM,KAAK;AAAA,IACtE,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,SAAS,UAAU;AAAA,IACtB,IAAI,CAAC,SAAS,KAAK;AAAA,MAClB,MAAM,IAAI,uBAAuB,wBAAwB,MAAM,KAAK;AAAA,IACrE,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,SAAS,QAAQ;AAAA,IACpB,IAAI,CAAC,OAAO,KAAK;AAAA,MAChB,MAAM,IAAI,uBAAuB,sBAAsB,MAAM,KAAK;AAAA,IACnE,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,SAAS,aAAa;AAAA,IACzB,IAAI,CAAC,YAAY,KAAK;AAAA,MACrB,MAAM,IAAI,uBAAuB,2BAA2B,MAAM,KAAK;AAAA,IACxE,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,SAAS,mBAAmB;AAAA,IAC/B,IAAI,CAAC,YAAY,KAAK;AAAA,MACrB,MAAM,IAAI,uBACT,iCACA,MACA,KACD;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,iBAAiB,IAAI,GAAG;AAAA,IAC3B,IAAI,CAAC,SAAS,KAAK;AAAA,MAClB,MAAM,IAAI,uBACT,8BACA,MACA,KACD;AAAA,IACD,MAAM,MAAM;AAAA,IACZ,SAAS,IAAI,EAAG,IAAI,IAAI,QAAQ,KAAK;AAAA,MACpC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK;AAAA,QAC5B,MAAM,IAAI,uBACT,mCAAmC,OAAO,IAAI,aAAa,IAAI,WAAW,CAAC,MAC3E,MACA,KACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,IAAI,IAAI,SAAS,KAAK,gBAAgB,QAAQ;AAAA,MAC7C,MAAM,IAAI,uBACT,iBAAiB,IAAI,sBAAsB,KAAK,gBAAgB,UAChE,MACA,KACD;AAAA,IACD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,gBAAgB,IAAI,GAAG;AAAA,IAC1B,IAAI,CAAC,SAAS,KAAK;AAAA,MAClB,MAAM,IAAI,uBACT,6BACA,MACA,KACD;AAAA,IACD,MAAM,MAAM;AAAA,IACZ,MAAM,aAAa,IAAI,YAAY,EAAE,OAAO,GAAG,EAAE;AAAA,IACjD,IAAI,aAAa,KAAK,eAAe,QAAQ;AAAA,MAC5C,MAAM,IAAI,uBACT,sBAAsB,0BAA0B,KAAK,eAAe,UACpE,MACA,KACD;AAAA,IACD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,YAAY,IAAI,GAAG;AAAA,IACtB,IAAI,CAAC,aAAa,KAAK;AAAA,MACtB,MAAM,IAAI,uBAAuB,wBAAwB,MAAM,KAAK;AAAA,IACrE,MAAM,OAAO;AAAA,IACb,IAAI,KAAK,SAAS,KAAK,KAAK,QAAQ;AAAA,MACnC,MAAM,IAAI,uBACT,iBAAiB,KAAK,sBAAsB,KAAK,KAAK,UACtD,MACA,KACD;AAAA,IACD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,UAAU,IAAI,GAAG;AAAA,IACpB,IAAI,CAAC,MAAM,QAAQ,KAAK;AAAA,MACvB,MAAM,IAAI,uBACT,gCACA,MACA,KACD;AAAA,IACD,IAAI,MAAM,SAAS,KAAK,KAAK,QAAQ;AAAA,MACpC,MAAM,IAAI,uBACT,eAAe,MAAM,sBAAsB,KAAK,KAAK,UACrD,MACA,KACD;AAAA,IACD;AAAA,IACA,OAAO,MAAM,IAAI,CAAC,SAAS,YAAY,KAAK,KAAK,MAAM,IAAI,CAAC;AAAA,EAC7D;AAAA,EAEA,IAAI,WAAW,IAAI,GAAG;AAAA,IACrB,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,MAC1C,MAAM,IAAI,uBACT,kCACA,MACA,KACD;AAAA,IACD,MAAM,SAAkC,CAAC;AAAA,IACzC,WAAW,SAAS,KAAK,OAAO;AAAA,MAC/B,MAAM,WAAW,YAAY,MAAM,IAAI;AAAA,MACvC,MAAM,cAAc,MAAM,QAAS;AAAA,MACnC,MAAM,WAAW,YAAa;AAAA,MAC9B,IAAI,CAAC,eAAe,CAAC,UAAU;AAAA,QAC9B,MAAM,IAAI,uBACT,wBAAwB,MAAM,QAC9B,MACA,KACD;AAAA,MACD;AAAA,MACA,MAAM,aAAa,cACf,MAAkC,MAAM,QACxC,MAAkC;AAAA,MACtC,OAAO,MAAM,QAAQ,YAAY,MAAM,MAAM,UAAU;AAAA,IACxD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,cAAc,IAAI,GAAG;AAAA,IACxB,IAAI,UAAU,QAAQ,UAAU;AAAA,MAAW,OAAO;AAAA,IAClD,OAAO,YAAY,KAAK,UAAU,KAAK;AAAA,EACxC;AAAA,EAEA,IAAI,cAAc,IAAI,GAAG;AAAA,IACxB,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,MAC1C,MAAM,IAAI,uBACT,qCACA,MACA,KACD;AAAA,IACD,MAAM,QAAQ,QAAQ;AAAA,IACtB,MAAM,SAAS,SAAS;AAAA,IACxB,IAAI,SAAS,CAAC,QAAQ;AAAA,MACrB,OAAO;AAAA,QACN,IAAI,YAAY,KAAK,SAAS,IAAK,MAA0B,EAAE;AAAA,MAChE;AAAA,IACD;AAAA,IACA,IAAI,UAAU,CAAC,OAAO;AAAA,MACrB,OAAO;AAAA,QACN,KAAK,YAAY,KAAK,SAAS,OAAQ,MAA2B,GAAG;AAAA,MACtE;AAAA,IACD;AAAA,IACA,MAAM,IAAI,uBACT,qDACA,MACA,KACD;AAAA,EACD;AAAA,EAEA,MAAM,IAAI,uBAAuB,wBAAwB,MAAM,KAAK;AAAA;AAG9D,SAAS,WAAkC,CACjD,MACA,MACY;AAAA,EACZ,OAAO,KAAK,KAAK,IAAI,CAAC,QAAQ;AAAA,IAC7B,IAAI,EAAE,IAAI,QAAQ,OAAO;AAAA,MACxB,MAAM,IAAI,uBACT,qBAAqB,IAAI,QACzB,IAAI,MACJ,SACD;AAAA,IACD;AAAA,IACA,OAAO,YAAY,IAAI,MAAM,KAAK,IAAI,KAAK;AAAA,GAC3C;AAAA;AAGK,SAAS,YAAmC,CAClD,MACA,MACO;AAAA,EACP,WAAW,OAAO,KAAK,MAAM;AAAA,IAC5B,IAAI,EAAE,IAAI,QAAQ,OAAO;AAAA,MACxB,MAAM,IAAI,uBACT,qBAAqB,IAAI,QACzB,IAAI,MACJ,SACD;AAAA,IACD;AAAA,IACA,YAAY,IAAI,MAAM,KAAK,IAAI,KAAK;AAAA,EACrC;AAAA;AAGM,SAAS,iBAAwC,CACvD,MACA,MACO;AAAA,EACP,IAAI,KAAK,WAAW,KAAK,KAAK,QAAQ;AAAA,IACrC,MAAM,IAAI,uBACT,YAAY,KAAK,KAAK,yBAAyB,KAAK,UACpD,KAAK,KAAK,IAAI,QAAQ,QACtB,IACD;AAAA,EACD;AAAA,EACA,KAAK,KAAK,QAAQ,CAAC,KAAK,MAAM;AAAA,IAC7B,YAAY,IAAI,MAAM,KAAK,EAAE;AAAA,GAC7B;AAAA;;ACpOF,IAAM,YAAyC;AAAA,EAC9C,EAAE,IAAI,WAAW,KAAK,YAAY,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;AAAA,EACvE,EAAE,IAAI,WAAW,KAAK,YAAY,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;AAAA,EACvE;AAAA,IACC,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,UAAU,IAAI,IAAI;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAAA,EACF;AACD;AAEA,SAAS,WAAW,CAAC,KAA4C;AAAA,EAChE,MAAM,IAAI,IAAI;AAAA,EACd,WAAW,KAAK,IAAI;AAAA,IAAW,EAAE,IAAI,EAAE,MAAM,CAAC;AAAA,EAC9C,OAAO;AAAA;AAGR,SAAS,UAAU,CAAC,WAAwB,MAA6B;AAAA,EACxE,MAAM,MAAM,YAAY,SAAS;AAAA,EACjC,WAAW,YAAY,KAAK,IAAI,WAAW;AAAA,IAC1C,IAAI,KAAK,SAAS,IAAI,SAAS,IAAI;AAAA,MAAG;AAAA,IACtC,MAAM,MAAM,IAAI,IAAI,SAAS,IAAI;AAAA,IACjC,IAAI,CAAC;AAAA,MAAK,OAAO;AAAA,IACjB,IAAI,IAAI,WAAW,SAAS;AAAA,MAAQ,OAAO;AAAA,IAC3C,IAAI,IAAI,KAAK,WAAW,SAAS,KAAK;AAAA,MAAQ,OAAO;AAAA,EACtD;AAAA,EACA,OAAO;AAAA;AAID,SAAS,gBAAgB,CAAC,KAAiC;AAAA,EACjE,IAAI,CAAC,OAAO,CAAC,MAAM,QAAQ,IAAI,SAAS;AAAA,IAAG,OAAO,CAAC;AAAA,EACnD,OAAO,UAAU,OAAO,CAAC,MAAM,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;AAAA;AAW5D,SAAS,sBAAsB,CAAC,eAAsC;AAAA,EAC5E,MAAM,MAAM,IAAI;AAAA,EAChB,MAAM,UAAU,cAAc,SAAS,0BAA0B;AAAA,EACjE,WAAW,KAAK,SAAS;AAAA,IACxB,MAAM,MAAM,EAAE,GAAG,YAAY;AAAA,IAC7B,IAAI,IAAI,SAAS,SAAS,KAAK,IAAI,SAAS,WAAW;AAAA,MACtD,IAAI,IAAI,SAAS;AAAA,IAClB,IAAI,IAAI,SAAS,SAAS,KAAK,IAAI,SAAS,WAAW;AAAA,MACtD,IAAI,IAAI,SAAS;AAAA,IAClB,IAAI,IAAI,SAAS,SAAS,KAAK,IAAI,SAAS,eAAe;AAAA,MAC1D,IAAI,IAAI,SAAS;AAAA,EACnB;AAAA,EACA,OAAO,CAAC,GAAG,GAAG;AAAA;",
10
- "debugId": "93008417236A8F4E64756E2164756E21",
9
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,SAAS,WAAW,CAC1B,KACA,WAA+B,OACV;AAAA,EACrB,QAAQ,IAAI;AAAA,SACN;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO,IAAI,MAAM,SAAS;AAAA,SACtB;AAAA,MACJ,OAAO,IAAI,IAAI,MAAM,SAAS;AAAA,SAC1B;AAAA,MACJ,IAAI,aAAa,YAAY;AAAA,QAC5B,MAAM,MAAM,aAAa,WAAW,IAAI,KAAK,CAAC;AAAA,QAC9C,IAAI,WAAW,KAAK,GAAG;AAAA,UAAG,OAAO,KAAK,UAAU,GAAG;AAAA,MACpD;AAAA,MACA,OAAO,KAAK,IAAI;AAAA,SACZ;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO,SAAS,YAAY,IAAI,OAAO,QAAQ;AAAA,SAC3C;AAAA,MACJ,OAAO,OAAO,YAAY,IAAI,OAAO,QAAQ;AAAA,SACzC;AAAA,MACJ,OAAO,QAAQ,YAAY,IAAI,OAAO,QAAQ;AAAA,SAC1C;AAAA,SACA;AAAA,MACJ,OAAO,IAAI;AAAA,SACP;AAAA,MACJ,OAAO,SAAS,IAAI,MAAM,IAAI,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG;AAAA,SACnE;AAAA,MACJ,OAAO,UAAU,OAAO,KAAK,IAAI,KAAK,EAEpC,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,IAAI,MAAM,MAAO,QAAQ,IAAI,EACjE,KAAK,GAAG;AAAA,SACN;AAAA,MACJ,OAAO,IAAI,IAAI;AAAA,SACX;AAAA,MACJ,OAAO,KAAK,IAAI;AAAA;AAAA;AAKZ,SAAS,QAAQ,CAAC,KAAwB;AAAA,EAChD,QAAQ,IAAI;AAAA,SACN;AAAA,MACJ,OAAO,EAAE,MAAM,QAAQ,OAAO,KAAK;AAAA,SAC/B;AAAA,MACJ,OAAO,EAAE,MAAM,QAAQ,OAAO,MAAM;AAAA,SAChC;AAAA,MACJ,OAAO,EAAE,MAAM,OAAO,OAAO,IAAI,MAAM,SAAS,EAAE;AAAA,SAC9C;AAAA,MACJ,OAAO,EAAE,MAAM,QAAQ,OAAO,IAAI,MAAM,SAAS,EAAE;AAAA,SAC/C;AAAA,MACJ,OAAO;AAAA,QACN,MAAM,SAAS,KAAK,KAAK,IAAI,MAAM,SAAS,CAAC;AAAA,QAC7C,OAAO,KAAK,IAAI;AAAA,MACjB;AAAA,SACI;AAAA,MACJ,OAAO,EAAE,MAAM,mBAAmB,OAAO,KAAK;AAAA,SAC1C;AAAA,MACJ,OAAO,EAAE,MAAM,cAAc,OAAO,SAAS,IAAI,KAAK,EAAE;AAAA,SACpD;AAAA,MACJ,OAAO,EAAE,MAAM,cAAc,OAAO,SAAS,IAAI,KAAK,GAAG,SAAS,KAAK;AAAA,SACnE;AAAA,MACJ,OAAO,EAAE,MAAM,cAAc,OAAO,SAAS,IAAI,KAAK,GAAG,SAAS,MAAM;AAAA,SACpE;AAAA,SACA;AAAA,MACJ,OAAO,EAAE,MAAM,aAAa,OAAO,IAAI,MAAM;AAAA,SACzC;AAAA,MACJ,OAAO,EAAE,MAAM,UAAU,OAAO,IAAI,MAAM,IAAI,QAAQ,EAAE;AAAA,SACpD,SAAS;AAAA,MAEb,MAAM,SAA8B,CAAC;AAAA,MACrC,WAAW,OAAO,OAAO,KAAK,IAAI,KAAK,GAAG;AAAA,QAEzC,OAAO,OAAO,SAAS,IAAI,MAAM,IAAK;AAAA,MACvC;AAAA,MACA,OAAO,EAAE,MAAM,WAAW,OAAO,OAAO;AAAA,IACzC;AAAA,SACK;AAAA,MACJ,OAAO;AAAA,QACN,MAAM,iBAAiB,aAAa,IAAI,KAAK,EAAE;AAAA,QAC/C,OAAO,IAAI;AAAA,MACZ;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM,gBAAgB,YAAY,IAAI,KAAK,EAAE;AAAA,QAC7C,OAAO,IAAI;AAAA,MACZ;AAAA;AAAA;AAKI,SAAS,SAAS,CAAC,KAAwB;AAAA,EACjD,QAAQ,IAAI;AAAA,SACN;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,SACA;AAAA,MACJ,OAAO,IAAI;AAAA,SACP;AAAA,MACJ,OAAO,KAAK,IAAI;AAAA,SACZ;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO,UAAU,IAAI,KAAK;AAAA,SACtB;AAAA,SACA;AAAA,MACJ,OAAO,UAAU,IAAI,KAAK;AAAA,SACtB;AAAA,SACA;AAAA,MACJ,OAAO,IAAI;AAAA,SACP;AAAA,MACJ,OAAO,IAAI,MAAM,IAAI,SAAS;AAAA,SAC1B,SAAS;AAAA,MAEb,MAAM,SAA8B,CAAC;AAAA,MACrC,WAAW,OAAO,OAAO,KAAK,IAAI,KAAK,GAAG;AAAA,QAEzC,OAAO,OAAO,UAAU,IAAI,MAAM,IAAK;AAAA,MACxC;AAAA,MACA,OAAO;AAAA,IACR;AAAA,SACK;AAAA,SACA;AAAA,MACJ,OAAO,IAAI;AAAA;AAAA;;ACvHP,MAAM,+BAA+B,MAAM;AAAA,EAGhC;AAAA,EACA;AAAA,EAHjB,WAAW,CACV,SACgB,MACA,OACf;AAAA,IACD,MAAM,OAAO;AAAA,IAHG;AAAA,IACA;AAAA,IAGhB,KAAK,OAAO;AAAA;AAEd;AAEO,SAAS,WAAW,CAAC,MAAe,OAAyB;AAAA,EACnE,IAAI,SAAS;AAAA,IAAQ,OAAO;AAAA,EAE5B,IAAI,SAAS,WAAW;AAAA,IACvB,IAAI,CAAC,UAAU,KAAK;AAAA,MACnB,MAAM,IAAI,uBAAuB,yBAAyB,MAAM,KAAK;AAAA,IACtE,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,SAAS,UAAU;AAAA,IACtB,IAAI,CAAC,SAAS,KAAK;AAAA,MAClB,MAAM,IAAI,uBAAuB,wBAAwB,MAAM,KAAK;AAAA,IACrE,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,SAAS,QAAQ;AAAA,IACpB,IAAI,CAAC,OAAO,KAAK;AAAA,MAChB,MAAM,IAAI,uBAAuB,sBAAsB,MAAM,KAAK;AAAA,IACnE,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,SAAS,aAAa;AAAA,IACzB,IAAI,CAAC,YAAY,KAAK;AAAA,MACrB,MAAM,IAAI,uBAAuB,2BAA2B,MAAM,KAAK;AAAA,IACxE,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,SAAS,mBAAmB;AAAA,IAC/B,IAAI,CAAC,YAAY,KAAK;AAAA,MACrB,MAAM,IAAI,uBACT,iCACA,MACA,KACD;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,iBAAiB,IAAI,GAAG;AAAA,IAC3B,IAAI,CAAC,SAAS,KAAK;AAAA,MAClB,MAAM,IAAI,uBACT,8BACA,MACA,KACD;AAAA,IACD,MAAM,MAAM;AAAA,IACZ,SAAS,IAAI,EAAG,IAAI,IAAI,QAAQ,KAAK;AAAA,MACpC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK;AAAA,QAC5B,MAAM,IAAI,uBACT,mCAAmC,OAAO,IAAI,aAAa,IAAI,WAAW,CAAC,MAC3E,MACA,KACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,IAAI,IAAI,SAAS,KAAK,gBAAgB,QAAQ;AAAA,MAC7C,MAAM,IAAI,uBACT,iBAAiB,IAAI,sBAAsB,KAAK,gBAAgB,UAChE,MACA,KACD;AAAA,IACD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,gBAAgB,IAAI,GAAG;AAAA,IAC1B,IAAI,CAAC,SAAS,KAAK;AAAA,MAClB,MAAM,IAAI,uBACT,6BACA,MACA,KACD;AAAA,IACD,MAAM,MAAM;AAAA,IACZ,MAAM,aAAa,IAAI,YAAY,EAAE,OAAO,GAAG,EAAE;AAAA,IACjD,IAAI,aAAa,KAAK,eAAe,QAAQ;AAAA,MAC5C,MAAM,IAAI,uBACT,sBAAsB,0BAA0B,KAAK,eAAe,UACpE,MACA,KACD;AAAA,IACD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,YAAY,IAAI,GAAG;AAAA,IACtB,IAAI,CAAC,aAAa,KAAK;AAAA,MACtB,MAAM,IAAI,uBAAuB,wBAAwB,MAAM,KAAK;AAAA,IACrE,MAAM,OAAO;AAAA,IACb,IAAI,KAAK,SAAS,KAAK,KAAK,QAAQ;AAAA,MACnC,MAAM,IAAI,uBACT,iBAAiB,KAAK,sBAAsB,KAAK,KAAK,UACtD,MACA,KACD;AAAA,IACD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,UAAU,IAAI,GAAG;AAAA,IACpB,IAAI,CAAC,MAAM,QAAQ,KAAK;AAAA,MACvB,MAAM,IAAI,uBACT,gCACA,MACA,KACD;AAAA,IACD,IAAI,MAAM,SAAS,KAAK,KAAK,QAAQ;AAAA,MACpC,MAAM,IAAI,uBACT,eAAe,MAAM,sBAAsB,KAAK,KAAK,UACrD,MACA,KACD;AAAA,IACD;AAAA,IACA,OAAO,MAAM,IAAI,CAAC,SAAS,YAAY,KAAK,KAAK,MAAM,IAAI,CAAC;AAAA,EAC7D;AAAA,EAEA,IAAI,WAAW,IAAI,GAAG;AAAA,IACrB,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,MAC1C,MAAM,IAAI,uBACT,kCACA,MACA,KACD;AAAA,IACD,MAAM,SAAkC,CAAC;AAAA,IACzC,WAAW,SAAS,KAAK,OAAO;AAAA,MAC/B,MAAM,WAAW,YAAY,MAAM,IAAI;AAAA,MACvC,MAAM,cAAc,MAAM,QAAS;AAAA,MACnC,MAAM,WAAW,YAAa;AAAA,MAC9B,IAAI,CAAC,eAAe,CAAC,UAAU;AAAA,QAC9B,MAAM,IAAI,uBACT,wBAAwB,MAAM,QAC9B,MACA,KACD;AAAA,MACD;AAAA,MACA,MAAM,aAAa,cACf,MAAkC,MAAM,QACxC,MAAkC;AAAA,MACtC,OAAO,MAAM,QAAQ,YAAY,MAAM,MAAM,UAAU;AAAA,IACxD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,cAAc,IAAI,GAAG;AAAA,IACxB,IAAI,UAAU,QAAQ,UAAU;AAAA,MAAW,OAAO;AAAA,IAClD,OAAO,YAAY,KAAK,UAAU,KAAK;AAAA,EACxC;AAAA,EAEA,IAAI,cAAc,IAAI,GAAG;AAAA,IACxB,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,MAC1C,MAAM,IAAI,uBACT,qCACA,MACA,KACD;AAAA,IACD,MAAM,QAAQ,QAAQ;AAAA,IACtB,MAAM,SAAS,SAAS;AAAA,IACxB,IAAI,SAAS,CAAC,QAAQ;AAAA,MACrB,OAAO;AAAA,QACN,IAAI,YAAY,KAAK,SAAS,IAAK,MAA0B,EAAE;AAAA,MAChE;AAAA,IACD;AAAA,IACA,IAAI,UAAU,CAAC,OAAO;AAAA,MACrB,OAAO;AAAA,QACN,KAAK,YAAY,KAAK,SAAS,OAAQ,MAA2B,GAAG;AAAA,MACtE;AAAA,IACD;AAAA,IACA,MAAM,IAAI,uBACT,qDACA,MACA,KACD;AAAA,EACD;AAAA,EAEA,MAAM,IAAI,uBAAuB,wBAAwB,MAAM,KAAK;AAAA;AAG9D,SAAS,WAAkC,CACjD,MACA,MACY;AAAA,EACZ,OAAO,KAAK,KAAK,IAAI,CAAC,QAAQ;AAAA,IAC7B,IAAI,EAAE,IAAI,QAAQ,OAAO;AAAA,MACxB,MAAM,IAAI,uBACT,qBAAqB,IAAI,QACzB,IAAI,MACJ,SACD;AAAA,IACD;AAAA,IACA,OAAO,YAAY,IAAI,MAAM,KAAK,IAAI,KAAK;AAAA,GAC3C;AAAA;AAGK,SAAS,YAAmC,CAClD,MACA,MACO;AAAA,EACP,WAAW,OAAO,KAAK,MAAM;AAAA,IAC5B,IAAI,EAAE,IAAI,QAAQ,OAAO;AAAA,MACxB,MAAM,IAAI,uBACT,qBAAqB,IAAI,QACzB,IAAI,MACJ,SACD;AAAA,IACD;AAAA,IACA,YAAY,IAAI,MAAM,KAAK,IAAI,KAAK;AAAA,EACrC;AAAA;AAGM,SAAS,iBAAwC,CACvD,MACA,MACO;AAAA,EACP,IAAI,KAAK,WAAW,KAAK,KAAK,QAAQ;AAAA,IACrC,MAAM,IAAI,uBACT,YAAY,KAAK,KAAK,yBAAyB,KAAK,UACpD,KAAK,KAAK,IAAI,QAAQ,QACtB,IACD;AAAA,EACD;AAAA,EACA,KAAK,KAAK,QAAQ,CAAC,KAAK,MAAM;AAAA,IAC7B,YAAY,IAAI,MAAM,KAAK,EAAE;AAAA,GAC7B;AAAA;;AC1OK,IAAM,kBAAkB,CAAC,WAAW,WAAW,SAAS;AAW/D,IAAM,YAAyC;AAAA,EAC9C,EAAE,IAAI,WAAW,KAAK,YAAY,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;AAAA,EACvE,EAAE,IAAI,WAAW,KAAK,YAAY,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;AAAA,EACvE;AAAA,IACC,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,UAAU,IAAI,IAAI;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAAA,EACF;AACD;AAEA,SAAS,WAAW,CAAC,KAA4C;AAAA,EAChE,MAAM,IAAI,IAAI;AAAA,EACd,WAAW,KAAK,IAAI;AAAA,IAAW,EAAE,IAAI,EAAE,MAAM,CAAC;AAAA,EAC9C,OAAO;AAAA;AAGR,SAAS,UAAU,CAAC,WAAwB,MAA6B;AAAA,EACxE,MAAM,MAAM,YAAY,SAAS;AAAA,EACjC,WAAW,YAAY,KAAK,IAAI,WAAW;AAAA,IAC1C,IAAI,KAAK,SAAS,IAAI,SAAS,IAAI;AAAA,MAAG;AAAA,IACtC,MAAM,MAAM,IAAI,IAAI,SAAS,IAAI;AAAA,IACjC,IAAI,CAAC;AAAA,MAAK,OAAO;AAAA,IACjB,IAAI,IAAI,WAAW,SAAS;AAAA,MAAQ,OAAO;AAAA,IAC3C,IAAI,IAAI,KAAK,WAAW,SAAS,KAAK;AAAA,MAAQ,OAAO;AAAA,EACtD;AAAA,EACA,OAAO;AAAA;AAID,SAAS,gBAAgB,CAAC,KAAiC;AAAA,EACjE,IAAI,CAAC,OAAO,CAAC,MAAM,QAAQ,IAAI,SAAS;AAAA,IAAG,OAAO,CAAC;AAAA,EACnD,OAAO,UAAU,OAAO,CAAC,MAAM,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;AAAA;AAW5D,SAAS,sBAAsB,CAAC,eAAsC;AAAA,EAC5E,MAAM,MAAM,IAAI;AAAA,EAChB,MAAM,UAAU,cAAc,SAAS,0BAA0B;AAAA,EACjE,WAAW,KAAK,SAAS;AAAA,IACxB,MAAM,MAAM,EAAE,GAAG,YAAY;AAAA,IAC7B,IAAI,IAAI,SAAS,SAAS,KAAK,IAAI,SAAS,WAAW;AAAA,MACtD,IAAI,IAAI,SAAS;AAAA,IAClB,IAAI,IAAI,SAAS,SAAS,KAAK,IAAI,SAAS,WAAW;AAAA,MACtD,IAAI,IAAI,SAAS;AAAA,IAClB,IAAI,IAAI,SAAS,SAAS,KAAK,IAAI,SAAS,eAAe;AAAA,MAC1D,IAAI,IAAI,SAAS;AAAA,EACnB;AAAA,EACA,OAAO,CAAC,GAAG,GAAG;AAAA;",
10
+ "debugId": "D03CED766895F1B064756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -9,7 +9,7 @@ import {
9
9
  PostConditionPrincipalId,
10
10
  RECOVERABLE_ECDSA_SIG_LENGTH_BYTES,
11
11
  VRF_PROOF_BYTES_LENGTH
12
- } from "./stacks-kmnthgj7.js";
12
+ } from "./stacks-4trgpb5a.js";
13
13
  import {
14
14
  BytesReader,
15
15
  readAddress,
@@ -261,4 +261,4 @@ function deserializeTransaction(input) {
261
261
  export { deserializeTransaction };
262
262
 
263
263
  //# debugId=76153045CC7D9D6C64756E2164756E21
264
- //# sourceMappingURL=stacks-y2p4h5ks.js.map
264
+ //# sourceMappingURL=stacks-wqgepfab.js.map
@@ -0,0 +1,90 @@
1
+ import {
2
+ BaseError
3
+ } from "./stacks-709tra19.js";
4
+ import {
5
+ getTransactionId,
6
+ serializePayload,
7
+ serializeTransaction
8
+ } from "./stacks-4trgpb5a.js";
9
+ import {
10
+ bytesToHex
11
+ } from "./stacks-2h8d2y27.js";
12
+
13
+ // src/actions/public/estimateFee.ts
14
+ async function estimateFee(client, params) {
15
+ const payloadHex = bytesToHex(serializePayload(params.transaction.payload));
16
+ const txHex = bytesToHex(serializeTransaction(params.transaction));
17
+ const data = await client.request("/v2/fees/transaction", {
18
+ method: "POST",
19
+ body: {
20
+ estimated_len: Math.ceil(txHex.length / 2),
21
+ transaction_payload: `0x${payloadHex}`
22
+ }
23
+ });
24
+ return (data.estimations ?? []).map((e) => ({
25
+ feeRate: e.fee_rate,
26
+ fee: e.fee
27
+ }));
28
+ }
29
+
30
+ // src/actions/public/getNonce.ts
31
+ async function getNonce(client, params) {
32
+ const data = await client.request(`/v2/accounts/${params.address}`, {
33
+ method: "GET"
34
+ });
35
+ return BigInt(data.nonce);
36
+ }
37
+
38
+ // src/errors/transaction.ts
39
+ class TransactionError extends BaseError {
40
+ name = "TransactionError";
41
+ }
42
+
43
+ class BroadcastError extends BaseError {
44
+ name = "BroadcastError";
45
+ txid;
46
+ reason;
47
+ constructor(message, options) {
48
+ super(message, options);
49
+ this.txid = options?.txid;
50
+ this.reason = options?.reason;
51
+ }
52
+ }
53
+
54
+ class SerializationError extends BaseError {
55
+ name = "SerializationError";
56
+ }
57
+
58
+ class SigningError extends BaseError {
59
+ name = "SigningError";
60
+ }
61
+
62
+ // src/actions/wallet/sendTransaction.ts
63
+ async function sendTransaction(client, params) {
64
+ const hex = bytesToHex(serializeTransaction(params.transaction));
65
+ const body = { tx: hex };
66
+ if (params.attachment) {
67
+ body.attachment = typeof params.attachment === "string" ? params.attachment : bytesToHex(params.attachment);
68
+ }
69
+ const data = await client.request("/v2/transactions", {
70
+ method: "POST",
71
+ body
72
+ });
73
+ if (data.error) {
74
+ throw new BroadcastError(data.reason ?? data.error, {
75
+ reason: data.reason
76
+ });
77
+ }
78
+ const txid = typeof data === "string" ? data.replace(/"/g, "") : data.txid ?? getTransactionId(params.transaction);
79
+ return { txid };
80
+ }
81
+
82
+ // src/actions/wallet/utils.ts
83
+ function isProviderAccount(account) {
84
+ return account.type === "provider";
85
+ }
86
+
87
+ export { estimateFee, getNonce, TransactionError, BroadcastError, SerializationError, SigningError, sendTransaction, isProviderAccount };
88
+
89
+ //# debugId=1B6D519ABD27C60964756E2164756E21
90
+ //# sourceMappingURL=stacks-y8e3gx6w.js.map
@@ -0,0 +1,14 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/actions/public/estimateFee.ts", "../src/actions/public/getNonce.ts", "../src/errors/transaction.ts", "../src/actions/wallet/sendTransaction.ts", "../src/actions/wallet/utils.ts"],
4
+ "sourcesContent": [
5
+ "import type { Client } from \"../../clients/types.ts\";\nimport type { StacksTransaction } from \"../../transactions/types.ts\";\nimport {\n\tserializePayload,\n\tserializeTransaction,\n} from \"../../transactions/wire/serialize.ts\";\nimport { bytesToHex } from \"../../utils/encoding.ts\";\n\nexport type EstimateFeeParams = {\n\ttransaction: StacksTransaction;\n};\n\nexport type FeeEstimation = {\n\tfeeRate: number;\n\tfee: number;\n};\n\nexport async function estimateFee(\n\tclient: Client,\n\tparams: EstimateFeeParams,\n): Promise<FeeEstimation[]> {\n\tconst payloadHex = bytesToHex(serializePayload(params.transaction.payload));\n\tconst txHex = bytesToHex(serializeTransaction(params.transaction));\n\n\tconst data = await client.request(\"/v2/fees/transaction\", {\n\t\tmethod: \"POST\",\n\t\tbody: {\n\t\t\testimated_len: Math.ceil(txHex.length / 2),\n\t\t\ttransaction_payload: `0x${payloadHex}`,\n\t\t},\n\t});\n\n\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\treturn (data.estimations ?? []).map((e: any) => ({\n\t\tfeeRate: e.fee_rate,\n\t\tfee: e.fee,\n\t}));\n}\n",
6
+ "import type { Client } from \"../../clients/types.ts\";\n\nexport type GetNonceParams = {\n\taddress: string;\n};\n\nexport type GetNonceResult = {\n\tnonce: bigint;\n\tpossibleNextNonce: bigint;\n};\n\nexport async function getNonce(\n\tclient: Client,\n\tparams: GetNonceParams,\n): Promise<bigint> {\n\tconst data = await client.request(`/v2/accounts/${params.address}`, {\n\t\tmethod: \"GET\",\n\t});\n\treturn BigInt(data.nonce);\n}\n",
7
+ "import { BaseError } from \"./base.ts\";\n\nexport class TransactionError extends BaseError {\n\toverride name = \"TransactionError\";\n}\n\nexport class BroadcastError extends BaseError {\n\toverride name = \"BroadcastError\";\n\ttxid?: string;\n\treason?: string;\n\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: { cause?: Error; txid?: string; reason?: string },\n\t) {\n\t\tsuper(message, options);\n\t\tthis.txid = options?.txid;\n\t\tthis.reason = options?.reason;\n\t}\n}\n\nexport class SerializationError extends BaseError {\n\toverride name = \"SerializationError\";\n}\n\nexport class SigningError extends BaseError {\n\toverride name = \"SigningError\";\n}\n",
8
+ "import type { Client } from \"../../clients/types.ts\";\nimport { BroadcastError } from \"../../errors/transaction.ts\";\nimport { getTransactionId } from \"../../transactions/signer.ts\";\nimport type { StacksTransaction } from \"../../transactions/types.ts\";\nimport { serializeTransaction } from \"../../transactions/wire/serialize.ts\";\nimport { bytesToHex } from \"../../utils/encoding.ts\";\n\nexport type SendTransactionParams = {\n\ttransaction: StacksTransaction;\n\tattachment?: Uint8Array | string;\n};\n\nexport type SendTransactionResult = {\n\ttxid: string;\n};\n\n/** Broadcast a signed transaction to the network */\nexport async function sendTransaction(\n\tclient: Client,\n\tparams: SendTransactionParams,\n): Promise<SendTransactionResult> {\n\tconst hex = bytesToHex(serializeTransaction(params.transaction));\n\n\tconst body: Record<string, string> = { tx: hex };\n\tif (params.attachment) {\n\t\tbody.attachment =\n\t\t\ttypeof params.attachment === \"string\"\n\t\t\t\t? params.attachment\n\t\t\t\t: bytesToHex(params.attachment);\n\t}\n\n\tconst data = await client.request(\"/v2/transactions\", {\n\t\tmethod: \"POST\",\n\t\tbody,\n\t});\n\n\tif (data.error) {\n\t\tthrow new BroadcastError(data.reason ?? data.error, {\n\t\t\treason: data.reason,\n\t\t});\n\t}\n\n\tconst txid =\n\t\ttypeof data === \"string\"\n\t\t\t? data.replace(/\"/g, \"\")\n\t\t\t: (data.txid ?? getTransactionId(params.transaction));\n\n\treturn { txid };\n}\n",
9
+ "import type { ProviderAccount } from \"../../accounts/types.ts\";\nimport type { Account } from \"../../clients/types.ts\";\n\nexport function isProviderAccount(\n\taccount: Account,\n): account is ProviderAccount {\n\treturn account.type === \"provider\";\n}\n"
10
+ ],
11
+ "mappings": ";;;;;;;;;;;;;AAiBA,eAAsB,WAAW,CAChC,QACA,QAC2B;AAAA,EAC3B,MAAM,aAAa,WAAW,iBAAiB,OAAO,YAAY,OAAO,CAAC;AAAA,EAC1E,MAAM,QAAQ,WAAW,qBAAqB,OAAO,WAAW,CAAC;AAAA,EAEjE,MAAM,OAAO,MAAM,OAAO,QAAQ,wBAAwB;AAAA,IACzD,QAAQ;AAAA,IACR,MAAM;AAAA,MACL,eAAe,KAAK,KAAK,MAAM,SAAS,CAAC;AAAA,MACzC,qBAAqB,KAAK;AAAA,IAC3B;AAAA,EACD,CAAC;AAAA,EAGD,QAAQ,KAAK,eAAe,CAAC,GAAG,IAAI,CAAC,OAAY;AAAA,IAChD,SAAS,EAAE;AAAA,IACX,KAAK,EAAE;AAAA,EACR,EAAE;AAAA;;;ACzBH,eAAsB,QAAQ,CAC7B,QACA,QACkB;AAAA,EAClB,MAAM,OAAO,MAAM,OAAO,QAAQ,gBAAgB,OAAO,WAAW;AAAA,IACnE,QAAQ;AAAA,EACT,CAAC;AAAA,EACD,OAAO,OAAO,KAAK,KAAK;AAAA;;;AChBlB,MAAM,yBAAyB,UAAU;AAAA,EACtC,OAAO;AACjB;AAAA;AAEO,MAAM,uBAAuB,UAAU;AAAA,EACpC,OAAO;AAAA,EAChB;AAAA,EACA;AAAA,EAEA,WAAW,CACV,SACA,SACC;AAAA,IACD,MAAM,SAAS,OAAO;AAAA,IACtB,KAAK,OAAO,SAAS;AAAA,IACrB,KAAK,SAAS,SAAS;AAAA;AAEzB;AAAA;AAEO,MAAM,2BAA2B,UAAU;AAAA,EACxC,OAAO;AACjB;AAAA;AAEO,MAAM,qBAAqB,UAAU;AAAA,EAClC,OAAO;AACjB;;;ACVA,eAAsB,eAAe,CACpC,QACA,QACiC;AAAA,EACjC,MAAM,MAAM,WAAW,qBAAqB,OAAO,WAAW,CAAC;AAAA,EAE/D,MAAM,OAA+B,EAAE,IAAI,IAAI;AAAA,EAC/C,IAAI,OAAO,YAAY;AAAA,IACtB,KAAK,aACJ,OAAO,OAAO,eAAe,WAC1B,OAAO,aACP,WAAW,OAAO,UAAU;AAAA,EACjC;AAAA,EAEA,MAAM,OAAO,MAAM,OAAO,QAAQ,oBAAoB;AAAA,IACrD,QAAQ;AAAA,IACR;AAAA,EACD,CAAC;AAAA,EAED,IAAI,KAAK,OAAO;AAAA,IACf,MAAM,IAAI,eAAe,KAAK,UAAU,KAAK,OAAO;AAAA,MACnD,QAAQ,KAAK;AAAA,IACd,CAAC;AAAA,EACF;AAAA,EAEA,MAAM,OACL,OAAO,SAAS,WACb,KAAK,QAAQ,MAAM,EAAE,IACpB,KAAK,QAAQ,iBAAiB,OAAO,WAAW;AAAA,EAErD,OAAO,EAAE,KAAK;AAAA;;;AC5CR,SAAS,iBAAiB,CAChC,SAC6B;AAAA,EAC7B,OAAO,QAAQ,SAAS;AAAA;",
12
+ "debugId": "1B6D519ABD27C60964756E2164756E21",
13
+ "names": []
14
+ }
@@ -1,19 +1,24 @@
1
- // src/actions/public/estimateFee.ts
2
- async function estimateFee(client, params) {
3
- const payloadHex = bytesToHex(serializePayload(params.transaction.payload));
4
- const txHex = bytesToHex(serializeTransaction(params.transaction));
5
- const data = await client.request("/v2/fees/transaction", {
6
- method: "POST",
7
- body: {
8
- estimated_len: Math.ceil(txHex.length / 2),
9
- transaction_payload: `0x${payloadHex}`
10
- }
11
- });
12
- return (data.estimations ?? []).map((e) => ({
13
- feeRate: e.fee_rate,
14
- fee: e.fee
15
- }));
16
- }
1
+ import {
2
+ estimateFee,
3
+ getNonce,
4
+ isProviderAccount,
5
+ sendTransaction
6
+ } from "./stacks-y8e3gx6w.js";
7
+ import {
8
+ buildContractCall,
9
+ signTransactionWithAccount
10
+ } from "./stacks-4trgpb5a.js";
11
+ import {
12
+ deserializeCVBytes,
13
+ serializeCVBytes
14
+ } from "./stacks-0zysn74p.js";
15
+ import {
16
+ parseContractId
17
+ } from "./stacks-6xmk24yw.js";
18
+ import {
19
+ bytesToHex,
20
+ with0x
21
+ } from "./stacks-2h8d2y27.js";
17
22
 
18
23
  // src/actions/public/getMapEntry.ts
19
24
  async function getMapEntry(client, params) {
@@ -26,14 +31,6 @@ async function getMapEntry(client, params) {
26
31
  return deserializeCVBytes(data.data);
27
32
  }
28
33
 
29
- // src/actions/public/getNonce.ts
30
- async function getNonce(client, params) {
31
- const data = await client.request(`/v2/accounts/${params.address}`, {
32
- method: "GET"
33
- });
34
- return BigInt(data.nonce);
35
- }
36
-
37
34
  // src/actions/public/readContract.ts
38
35
  async function readContract(client, params) {
39
36
  const [address, name] = parseContractId(params.contract);
@@ -52,55 +49,6 @@ async function readContract(client, params) {
52
49
  throw new Error(data.cause ?? "Read-only call failed");
53
50
  }
54
51
 
55
- // src/errors/transaction.ts
56
- class TransactionError extends BaseError {
57
- name = "TransactionError";
58
- }
59
-
60
- class BroadcastError extends BaseError {
61
- name = "BroadcastError";
62
- txid;
63
- reason;
64
- constructor(message, options) {
65
- super(message, options);
66
- this.txid = options?.txid;
67
- this.reason = options?.reason;
68
- }
69
- }
70
-
71
- class SerializationError extends BaseError {
72
- name = "SerializationError";
73
- }
74
-
75
- class SigningError extends BaseError {
76
- name = "SigningError";
77
- }
78
-
79
- // src/actions/wallet/sendTransaction.ts
80
- async function sendTransaction(client, params) {
81
- const hex = bytesToHex(serializeTransaction(params.transaction));
82
- const body = { tx: hex };
83
- if (params.attachment) {
84
- body.attachment = typeof params.attachment === "string" ? params.attachment : bytesToHex(params.attachment);
85
- }
86
- const data = await client.request("/v2/transactions", {
87
- method: "POST",
88
- body
89
- });
90
- if (data.error) {
91
- throw new BroadcastError(data.reason ?? data.error, {
92
- reason: data.reason
93
- });
94
- }
95
- const txid = typeof data === "string" ? data.replace(/"/g, "") : data.txid ?? getTransactionId(params.transaction);
96
- return { txid };
97
- }
98
-
99
- // src/actions/wallet/utils.ts
100
- function isProviderAccount(account) {
101
- return account.type === "provider";
102
- }
103
-
104
52
  // src/actions/wallet/callContract.ts
105
53
  async function callContract(client, params) {
106
54
  const account = client.account;
@@ -140,5 +88,7 @@ async function callContract(client, params) {
140
88
  return result.txid;
141
89
  }
142
90
 
143
- //# debugId=671528527234595C64756E2164756E21
144
- //# sourceMappingURL=stacks-y3nbm8bw.cjs.map
91
+ export { getMapEntry, readContract, callContract };
92
+
93
+ //# debugId=2B459DBD58F22D5E64756E2164756E21
94
+ //# sourceMappingURL=stacks-yq5a5cda.js.map
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/actions/public/getMapEntry.ts", "../src/actions/public/readContract.ts", "../src/actions/wallet/callContract.ts"],
4
+ "sourcesContent": [
5
+ "import { deserializeCVBytes } from \"../../clarity/deserialize.ts\";\nimport { serializeCVBytes } from \"../../clarity/serialize.ts\";\nimport type { ClarityValue } from \"../../clarity/types.ts\";\nimport type { Client } from \"../../clients/types.ts\";\nimport { parseContractId } from \"../../utils/address.ts\";\nimport { bytesToHex, with0x } from \"../../utils/encoding.ts\";\n\nexport type GetMapEntryParams = {\n\tcontract: string; // \"address.name\"\n\tmapName: string;\n\tkey: ClarityValue;\n};\n\nexport async function getMapEntry<T extends ClarityValue = ClarityValue>(\n\tclient: Client,\n\tparams: GetMapEntryParams,\n): Promise<T> {\n\tconst [address, name] = parseContractId(params.contract);\n\tconst serializedKey = with0x(bytesToHex(serializeCVBytes(params.key)));\n\n\tconst data = await client.request(\n\t\t`/v2/map_entry/${address}/${name}/${params.mapName}`,\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\tbody: serializedKey,\n\t\t},\n\t);\n\n\treturn deserializeCVBytes<T>(data.data);\n}\n",
6
+ "import { deserializeCVBytes } from \"../../clarity/deserialize.ts\";\nimport { serializeCVBytes } from \"../../clarity/serialize.ts\";\nimport type { ClarityValue } from \"../../clarity/types.ts\";\nimport type { Client } from \"../../clients/types.ts\";\nimport { parseContractId } from \"../../utils/address.ts\";\nimport { bytesToHex, with0x } from \"../../utils/encoding.ts\";\n\nexport type ReadContractParams = {\n\tcontract: string; // \"address.name\"\n\tfunctionName: string;\n\targs?: ClarityValue[];\n\tsender?: string;\n};\n\nexport async function readContract<T extends ClarityValue = ClarityValue>(\n\tclient: Client,\n\tparams: ReadContractParams,\n): Promise<T> {\n\tconst [address, name] = parseContractId(params.contract);\n\tconst sender = params.sender ?? address;\n\n\tconst serializedArgs = (params.args ?? []).map((arg) =>\n\t\twith0x(bytesToHex(serializeCVBytes(arg))),\n\t);\n\n\tconst data = await client.request(\n\t\t`/v2/contracts/call-read/${address}/${name}/${params.functionName}`,\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\tbody: {\n\t\t\t\tsender,\n\t\t\t\targuments: serializedArgs,\n\t\t\t},\n\t\t},\n\t);\n\n\tif (data.okay) {\n\t\treturn deserializeCVBytes<T>(data.result);\n\t}\n\tthrow new Error(data.cause ?? \"Read-only call failed\");\n}\n",
7
+ "import type { ClarityValue } from \"../../clarity/types.ts\";\nimport type { Client } from \"../../clients/types.ts\";\nimport type { PostCondition } from \"../../postconditions/types.ts\";\nimport { buildContractCall } from \"../../transactions/build.ts\";\nimport { signTransactionWithAccount } from \"../../transactions/signer.ts\";\nimport { parseContractId } from \"../../utils/address.ts\";\nimport type { IntegerType } from \"../../utils/encoding.ts\";\nimport { estimateFee } from \"../public/estimateFee.ts\";\nimport { getNonce } from \"../public/getNonce.ts\";\nimport { sendTransaction } from \"./sendTransaction.ts\";\nimport { isProviderAccount } from \"./utils.ts\";\n\nexport type CallContractParams = {\n\tcontract: string; // \"address.name\"\n\tfunctionName: string;\n\tfunctionArgs?: ClarityValue[];\n\tfee?: IntegerType;\n\tnonce?: IntegerType;\n\tpostConditionMode?: \"allow\" | \"deny\";\n\tpostConditions?: PostCondition[];\n};\n\n/** Build, sign, and broadcast a contract call */\nexport async function callContract(\n\tclient: Client,\n\tparams: CallContractParams,\n): Promise<string> {\n\tconst account = client.account;\n\tif (!account) throw new Error(\"Account required\");\n\n\t// Provider: delegate to wallet\n\tif (isProviderAccount(account)) {\n\t\tconst result = await account.provider.request(\"stx_callContract\", {\n\t\t\tcontract: params.contract,\n\t\t\tfunctionName: params.functionName,\n\t\t\tfunctionArgs: params.functionArgs ?? [],\n\t\t});\n\t\treturn result.txid;\n\t}\n\n\t// Local/Custom: build → sign → broadcast\n\tconst [contractAddress, contractName] = parseContractId(params.contract);\n\n\tconst nonce =\n\t\tparams.nonce ?? (await getNonce(client, { address: account.address }));\n\n\tconst unsigned = buildContractCall({\n\t\tcontractAddress,\n\t\tcontractName,\n\t\tfunctionName: params.functionName,\n\t\tfunctionArgs: params.functionArgs ?? [],\n\t\tfee: params.fee ?? 0n,\n\t\tnonce,\n\t\tpublicKey: account.publicKey,\n\t\tchain: client.chain,\n\t\tpostConditionMode: params.postConditionMode,\n\t\tpostConditions: params.postConditions,\n\t});\n\n\tif (params.fee === undefined) {\n\t\tconst estimates = await estimateFee(client, { transaction: unsigned });\n\t\tconst mid = estimates[1] ?? estimates[0];\n\t\tif (mid) {\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\t\t\t(unsigned.auth.spendingCondition as any).fee = BigInt(mid.fee);\n\t\t}\n\t}\n\n\tconst signed = await signTransactionWithAccount(unsigned, account);\n\tconst result = await sendTransaction(client, { transaction: signed });\n\treturn result.txid;\n}\n"
8
+ ],
9
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAaA,eAAsB,WAAkD,CACvE,QACA,QACa;AAAA,EACb,OAAO,SAAS,QAAQ,gBAAgB,OAAO,QAAQ;AAAA,EACvD,MAAM,gBAAgB,OAAO,WAAW,iBAAiB,OAAO,GAAG,CAAC,CAAC;AAAA,EAErE,MAAM,OAAO,MAAM,OAAO,QACzB,iBAAiB,WAAW,QAAQ,OAAO,WAC3C;AAAA,IACC,QAAQ;AAAA,IACR,MAAM;AAAA,EACP,CACD;AAAA,EAEA,OAAO,mBAAsB,KAAK,IAAI;AAAA;;;ACdvC,eAAsB,YAAmD,CACxE,QACA,QACa;AAAA,EACb,OAAO,SAAS,QAAQ,gBAAgB,OAAO,QAAQ;AAAA,EACvD,MAAM,SAAS,OAAO,UAAU;AAAA,EAEhC,MAAM,kBAAkB,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,QAC/C,OAAO,WAAW,iBAAiB,GAAG,CAAC,CAAC,CACzC;AAAA,EAEA,MAAM,OAAO,MAAM,OAAO,QACzB,2BAA2B,WAAW,QAAQ,OAAO,gBACrD;AAAA,IACC,QAAQ;AAAA,IACR,MAAM;AAAA,MACL;AAAA,MACA,WAAW;AAAA,IACZ;AAAA,EACD,CACD;AAAA,EAEA,IAAI,KAAK,MAAM;AAAA,IACd,OAAO,mBAAsB,KAAK,MAAM;AAAA,EACzC;AAAA,EACA,MAAM,IAAI,MAAM,KAAK,SAAS,uBAAuB;AAAA;;;AChBtD,eAAsB,YAAY,CACjC,QACA,QACkB;AAAA,EAClB,MAAM,UAAU,OAAO;AAAA,EACvB,IAAI,CAAC;AAAA,IAAS,MAAM,IAAI,MAAM,kBAAkB;AAAA,EAGhD,IAAI,kBAAkB,OAAO,GAAG;AAAA,IAC/B,MAAM,UAAS,MAAM,QAAQ,SAAS,QAAQ,oBAAoB;AAAA,MACjE,UAAU,OAAO;AAAA,MACjB,cAAc,OAAO;AAAA,MACrB,cAAc,OAAO,gBAAgB,CAAC;AAAA,IACvC,CAAC;AAAA,IACD,OAAO,QAAO;AAAA,EACf;AAAA,EAGA,OAAO,iBAAiB,gBAAgB,gBAAgB,OAAO,QAAQ;AAAA,EAEvE,MAAM,QACL,OAAO,SAAU,MAAM,SAAS,QAAQ,EAAE,SAAS,QAAQ,QAAQ,CAAC;AAAA,EAErE,MAAM,WAAW,kBAAkB;AAAA,IAClC;AAAA,IACA;AAAA,IACA,cAAc,OAAO;AAAA,IACrB,cAAc,OAAO,gBAAgB,CAAC;AAAA,IACtC,KAAK,OAAO,OAAO;AAAA,IACnB;AAAA,IACA,WAAW,QAAQ;AAAA,IACnB,OAAO,OAAO;AAAA,IACd,mBAAmB,OAAO;AAAA,IAC1B,gBAAgB,OAAO;AAAA,EACxB,CAAC;AAAA,EAED,IAAI,OAAO,QAAQ,WAAW;AAAA,IAC7B,MAAM,YAAY,MAAM,YAAY,QAAQ,EAAE,aAAa,SAAS,CAAC;AAAA,IACrE,MAAM,MAAM,UAAU,MAAM,UAAU;AAAA,IACtC,IAAI,KAAK;AAAA,MAEP,SAAS,KAAK,kBAA0B,MAAM,OAAO,IAAI,GAAG;AAAA,IAC9D;AAAA,EACD;AAAA,EAEA,MAAM,SAAS,MAAM,2BAA2B,UAAU,OAAO;AAAA,EACjE,MAAM,SAAS,MAAM,gBAAgB,QAAQ,EAAE,aAAa,OAAO,CAAC;AAAA,EACpE,OAAO,OAAO;AAAA;",
10
+ "debugId": "2B459DBD58F22D5E64756E2164756E21",
11
+ "names": []
12
+ }
@@ -0,0 +1,3 @@
1
+
2
+ //# debugId=AAC6E250E380EF1864756E2164756E21
3
+ //# sourceMappingURL=stacks-z53fwfcm.js.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "AAC6E250E380EF1864756E2164756E21",
8
+ "names": []
9
+ }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ContractResponseError,
3
3
  getContract
4
- } from "../../shared/stacks-7tn3zsbe.js";
4
+ } from "../../shared/stacks-hyz7zgdk.js";
5
5
  import {
6
6
  deployContract,
7
7
  getAccountInfo,
@@ -14,18 +14,13 @@ import {
14
14
  signTransactionAction,
15
15
  simulateCall,
16
16
  simulateTransaction,
17
- sponsorTransaction,
18
17
  transferStx
19
- } from "../../shared/stacks-fy5h5qyx.js";
18
+ } from "../../shared/stacks-5th5dffx.js";
20
19
  import {
21
20
  callContract,
22
- estimateFee,
23
21
  getMapEntry,
24
- getNonce,
25
- isProviderAccount,
26
- readContract,
27
- sendTransaction
28
- } from "../../shared/stacks-g7ys594x.js";
22
+ readContract
23
+ } from "../../shared/stacks-yq5a5cda.js";
29
24
  import {
30
25
  watchAddress,
31
26
  watchAddressBalance,
@@ -34,10 +29,19 @@ import {
34
29
  watchNftEvent,
35
30
  watchTransaction
36
31
  } from "../../shared/stacks-tjjnkt3r.js";
32
+ import {
33
+ sponsorTransaction
34
+ } from "../../shared/stacks-4z1jhw6y.js";
35
+ import {
36
+ estimateFee,
37
+ getNonce,
38
+ isProviderAccount,
39
+ sendTransaction
40
+ } from "../../shared/stacks-y8e3gx6w.js";
37
41
  import"../../shared/stacks-709tra19.js";
38
42
  import"../../shared/stacks-g7ffp8aj.js";
39
- import"../../shared/stacks-y2p4h5ks.js";
40
- import"../../shared/stacks-kmnthgj7.js";
43
+ import"../../shared/stacks-wqgepfab.js";
44
+ import"../../shared/stacks-4trgpb5a.js";
41
45
  import"../../shared/stacks-0zysn74p.js";
42
46
  import"../../shared/stacks-v9jqcpd4.js";
43
47
  import"../../shared/stacks-xxn5ma6g.js";
@@ -75,5 +79,5 @@ export {
75
79
  ContractResponseError
76
80
  };
77
81
 
78
- //# debugId=B7FA0F0D6CB7083464756E2164756E21
82
+ //# debugId=06184A5D079F5BFF64756E2164756E21
79
83
  //# sourceMappingURL=index.js.map
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "B7FA0F0D6CB7083464756E2164756E21",
7
+ "debugId": "06184A5D079F5BFF64756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,16 +1,18 @@
1
- import"../../shared/stacks-shh3gp0x.js";
1
+ import"../../shared/stacks-43cxvnr7.js";
2
2
  import"../../shared/stacks-kg1npstf.js";
3
3
  import {
4
4
  ContractResponseError,
5
5
  getContract
6
- } from "../../shared/stacks-7tn3zsbe.js";
7
- import"../../shared/stacks-g7ys594x.js";
6
+ } from "../../shared/stacks-hyz7zgdk.js";
7
+ import"../../shared/stacks-yq5a5cda.js";
8
+ import"../../shared/stacks-y8e3gx6w.js";
8
9
  import"../../shared/stacks-709tra19.js";
9
10
  import"../../shared/stacks-g7ffp8aj.js";
11
+ import"../../shared/stacks-z53fwfcm.js";
10
12
  import {
11
13
  Pc
12
- } from "../../shared/stacks-kmshch4q.js";
13
- import"../../shared/stacks-kmnthgj7.js";
14
+ } from "../../shared/stacks-a36n7sjz.js";
15
+ import"../../shared/stacks-4trgpb5a.js";
14
16
  import {
15
17
  Cl
16
18
  } from "../../shared/stacks-0zysn74p.js";
@@ -633,5 +635,5 @@ export {
633
635
  BNS_CONTRACTS
634
636
  };
635
637
 
636
- //# debugId=8CD1F7360BBB323B64756E2164756E21
638
+ //# debugId=FA7EBEC214FE4F7864756E2164756E21
637
639
  //# sourceMappingURL=index.js.map
@@ -9,7 +9,7 @@
9
9
  "import { getContract } from \"../actions/getContract.ts\";\nimport { ContractResponseError } from \"../actions/getContract.ts\";\nimport { Cl } from \"../clarity/index.ts\";\nimport type { Client } from \"../clients/types.ts\";\nimport { Pc } from \"../postconditions/index.ts\";\nimport { BNS_ABI } from \"./abi.ts\";\nimport { BNS_CONTRACTS, ZONEFILE_RESOLVER_CONTRACTS } from \"./constants.ts\";\nimport type {\n\tClaimFastParams,\n\tPreorderParams,\n\tRegisterParams,\n\tSetPrimaryParams,\n\tTransferParams,\n\tUpdateZonefileParams,\n} from \"./types.ts\";\nimport {\n\tformatFQN,\n\tgenerateSalt,\n\thashPreorder,\n\tparseFQN,\n\tvalidateFQN,\n} from \"./utils.ts\";\nimport { ZONEFILE_RESOLVER_ABI } from \"./zonefile-abi.ts\";\n\nfunction getBnsContract(client: Client) {\n\tif (!client.chain) {\n\t\tthrow new Error(\"Client must have a chain configured\");\n\t}\n\tconst network = client.chain.network;\n\tconst contract =\n\t\tnetwork === \"mainnet\" ? BNS_CONTRACTS.mainnet : BNS_CONTRACTS.testnet;\n\n\treturn getContract({\n\t\tclient,\n\t\taddress: contract.address,\n\t\tname: contract.name,\n\t\tabi: BNS_ABI,\n\t});\n}\n\nfunction getZonefileContract(client: Client) {\n\tif (!client.chain) {\n\t\tthrow new Error(\"Client must have a chain configured\");\n\t}\n\tconst network = client.chain.network;\n\tconst contract =\n\t\tnetwork === \"mainnet\"\n\t\t\t? ZONEFILE_RESOLVER_CONTRACTS.mainnet\n\t\t\t: ZONEFILE_RESOLVER_CONTRACTS.testnet;\n\n\treturn getContract({\n\t\tclient,\n\t\taddress: contract.address,\n\t\tname: contract.name,\n\t\tabi: ZONEFILE_RESOLVER_ABI,\n\t});\n}\n\nfunction stringToBytes(str: string): Uint8Array {\n\treturn new TextEncoder().encode(str);\n}\n\n/**\n * Resolve a BNS name to its owner address.\n * @example\n * const owner = await resolveName(client, \"alice.btc\");\n */\nexport async function resolveName(\n\tclient: Client,\n\tnameOrFQN: string,\n): Promise<string | null> {\n\tif (!validateFQN(nameOrFQN)) {\n\t\tthrow new Error(`Invalid name format: ${nameOrFQN}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(nameOrFQN);\n\tconst bns = getBnsContract(client);\n\n\ttry {\n\t\treturn (await bns.read.getOwnerName({\n\t\t\tname: stringToBytes(name),\n\t\t\tnamespace: stringToBytes(namespace),\n\t\t})) as string | null;\n\t} catch (e) {\n\t\tif (e instanceof ContractResponseError) return null;\n\t\tthrow e;\n\t}\n}\n\n/**\n * Get the primary name for an address.\n * @example\n * const primary = await getPrimaryName(client, \"SP2J6...\");\n */\nexport async function getPrimaryName(\n\tclient: Client,\n\taddress: string,\n): Promise<string | null> {\n\tconst bns = getBnsContract(client);\n\n\ttry {\n\t\tconst result = (await bns.read.getPrimary({\n\t\t\towner: address,\n\t\t})) as { name: Uint8Array; namespace: Uint8Array } | null;\n\n\t\tif (result === null) return null;\n\n\t\tconst name = new TextDecoder().decode(result.name);\n\t\tconst namespace = new TextDecoder().decode(result.namespace);\n\n\t\treturn formatFQN(name, namespace);\n\t} catch (e) {\n\t\tif (e instanceof ContractResponseError) return null;\n\t\tthrow e;\n\t}\n}\n\n/**\n * Check if a name is available for registration.\n * @example\n * const available = await canRegister(client, \"bob.btc\");\n */\nexport async function canRegister(\n\tclient: Client,\n\tnameOrFQN: string,\n): Promise<boolean> {\n\tif (!validateFQN(nameOrFQN)) {\n\t\tthrow new Error(`Invalid name format: ${nameOrFQN}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(nameOrFQN);\n\tconst bns = getBnsContract(client);\n\n\t// No can-register-name function — use can-resolve-name instead.\n\t// If it resolves, the name is taken. If it errors, it's available.\n\ttry {\n\t\tawait bns.read.canResolveName({\n\t\t\tnamespace: stringToBytes(namespace),\n\t\t\tname: stringToBytes(name),\n\t\t});\n\t\treturn false; // resolved = taken\n\t} catch {\n\t\treturn true; // error = available\n\t}\n}\n\n/**\n * Get the price to register a name in microSTX.\n * @example\n * const price = await getNamePrice(client, \"bob.btc\");\n */\nexport async function getNamePrice(\n\tclient: Client,\n\tnameOrFQN: string,\n): Promise<bigint> {\n\tif (!validateFQN(nameOrFQN)) {\n\t\tthrow new Error(`Invalid name format: ${nameOrFQN}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(nameOrFQN);\n\tconst bns = getBnsContract(client);\n\n\t// get-name-price returns a nested response: (ok (ok uint))\n\tconst result = (await bns.read.getNamePrice({\n\t\tnamespace: stringToBytes(namespace),\n\t\tname: stringToBytes(name),\n\t})) as { ok: bigint } | { err: bigint };\n\n\tif (\"ok\" in result) return result.ok;\n\tthrow new Error(`Failed to get name price for ${nameOrFQN}`);\n}\n\n/**\n * Get the NFT token ID for a name.\n * @example\n * const id = await getNameId(client, \"alice.btc\");\n */\nexport async function getNameId(\n\tclient: Client,\n\tnameOrFQN: string,\n): Promise<bigint | null> {\n\tif (!validateFQN(nameOrFQN)) {\n\t\tthrow new Error(`Invalid name format: ${nameOrFQN}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(nameOrFQN);\n\tconst bns = getBnsContract(client);\n\n\ttry {\n\t\treturn (await bns.read.getIdFromBns({\n\t\t\tname: stringToBytes(name),\n\t\t\tnamespace: stringToBytes(namespace),\n\t\t})) as bigint | null;\n\t} catch (e) {\n\t\tif (e instanceof ContractResponseError) return null;\n\t\tthrow e;\n\t}\n}\n\n/**\n * Preorder a name (step 1 of secure registration).\n * Commits to a name with a salted hash, preventing front-running.\n * Must wait 1 Bitcoin block (~10 min) before calling register().\n *\n * @example\n * const { txid, salt } = await preorder(client, {\n * name: \"bob.btc\",\n * });\n * // Save salt! You'll need it for register()\n * // Wait ~10 minutes (1 Bitcoin block)\n * await register(client, { name: \"bob.btc\", salt });\n */\nexport async function preorder(\n\tclient: Client,\n\tparams: PreorderParams,\n): Promise<{ txid: string; salt: Uint8Array }> {\n\tconst {\n\t\tname: nameInput,\n\t\tnamespace: namespaceInput,\n\t\tsalt: providedSalt,\n\t} = params;\n\tconst fqn = namespaceInput ? `${nameInput}.${namespaceInput}` : nameInput;\n\n\tif (!validateFQN(fqn)) {\n\t\tthrow new Error(`Invalid name format: ${fqn}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(fqn);\n\n\t// Check availability\n\tconst available = await canRegister(client, fqn);\n\tif (!available) {\n\t\tthrow new Error(`Name ${fqn} is not available for registration`);\n\t}\n\n\t// Get price\n\tconst price = await getNamePrice(client, fqn);\n\n\t// Generate or use provided salt\n\tconst salt = providedSalt ?? generateSalt();\n\n\t// Calculate hash commitment\n\tconst hashedSaltedFqn = hashPreorder(name, namespace, salt);\n\n\tconst bns = getBnsContract(client);\n\n\tconst txid = await bns.call.namePreorder(\n\t\t{\n\t\t\thashedSaltedFqn,\n\t\t\tstxToBurn: price,\n\t\t},\n\t\t{\n\t\t\tpostConditions: client.account?.address\n\t\t\t\t? [Pc.principal(client.account.address).willSendLte(price).ustx()]\n\t\t\t\t: [],\n\t\t},\n\t);\n\n\treturn { txid, salt };\n}\n\n/**\n * Register a name (step 2 of secure registration).\n * Reveals the name after preorder. Must wait 1 Bitcoin block after preorder.\n *\n * @example\n * const { txid } = await register(client, {\n * name: \"bob.btc\",\n * salt, // from preorder()\n * });\n */\nexport async function register(\n\tclient: Client,\n\tparams: RegisterParams,\n): Promise<string> {\n\tconst { name: nameInput, namespace: namespaceInput, salt } = params;\n\tconst fqn = namespaceInput ? `${nameInput}.${namespaceInput}` : nameInput;\n\n\tif (!validateFQN(fqn)) {\n\t\tthrow new Error(`Invalid name format: ${fqn}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(fqn);\n\n\tconst bns = getBnsContract(client);\n\n\treturn bns.call.nameRegister({\n\t\tname: stringToBytes(name),\n\t\tnamespace: stringToBytes(namespace),\n\t\tsalt,\n\t});\n}\n\n/**\n * Claim a name instantly (fast but snipeable).\n * Burns STX to register the name immediately.\n * @example\n * const txid = await claimFast(client, {\n * name: \"bob.btc\",\n * recipient: account.address,\n * });\n */\nexport async function claimFast(\n\tclient: Client,\n\tparams: ClaimFastParams,\n): Promise<string> {\n\tconst { name: nameInput, namespace: namespaceInput, recipient } = params;\n\tconst fqn = namespaceInput ? `${nameInput}.${namespaceInput}` : nameInput;\n\n\tif (!validateFQN(fqn)) {\n\t\tthrow new Error(`Invalid name format: ${fqn}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(fqn);\n\n\t// Check availability\n\tconst available = await canRegister(client, fqn);\n\tif (!available) {\n\t\tthrow new Error(`Name ${fqn} is not available for registration`);\n\t}\n\n\t// Get price\n\tconst price = await getNamePrice(client, fqn);\n\n\tconst bns = getBnsContract(client);\n\n\treturn bns.call.nameClaimFast(\n\t\t{\n\t\t\tname: stringToBytes(name),\n\t\t\tnamespace: stringToBytes(namespace),\n\t\t\tsendTo: recipient,\n\t\t},\n\t\t{\n\t\t\tpostConditions: [Pc.principal(recipient).willSendLte(price).ustx()],\n\t\t},\n\t);\n}\n\n/**\n * Transfer a name to a new owner.\n * @example\n * const txid = await transfer(client, {\n * name: \"alice.btc\",\n * recipient: \"SP3FBR...\",\n * });\n */\nexport async function transfer(\n\tclient: Client,\n\tparams: TransferParams,\n): Promise<string> {\n\tconst { name: nameInput, namespace: namespaceInput, recipient } = params;\n\tconst fqn = namespaceInput ? `${nameInput}.${namespaceInput}` : nameInput;\n\n\tif (!validateFQN(fqn)) {\n\t\tthrow new Error(`Invalid name format: ${fqn}`);\n\t}\n\n\tconst id = await getNameId(client, fqn);\n\tif (id === null) {\n\t\tthrow new Error(`Name ${fqn} does not exist`);\n\t}\n\n\tconst currentOwner = await resolveName(client, fqn);\n\tif (!currentOwner) {\n\t\tthrow new Error(`Cannot determine owner of ${fqn}`);\n\t}\n\n\tconst bns = getBnsContract(client);\n\tif (!client.chain) {\n\t\tthrow new Error(\"Client must have a chain configured\");\n\t}\n\tconst network = client.chain.network;\n\tconst contract =\n\t\tnetwork === \"mainnet\" ? BNS_CONTRACTS.mainnet : BNS_CONTRACTS.testnet;\n\n\treturn bns.call.transfer(\n\t\t{\n\t\t\tid,\n\t\t\towner: currentOwner,\n\t\t\trecipient,\n\t\t},\n\t\t{\n\t\t\tpostConditions: [\n\t\t\t\tPc.principal(currentOwner)\n\t\t\t\t\t.willSendAsset()\n\t\t\t\t\t.nft(`${contract.address}.${contract.name}::BNS-V2`, Cl.uint(id)),\n\t\t\t],\n\t\t},\n\t);\n}\n\n/**\n * Set a name as your primary name.\n * @example\n * const txid = await setPrimary(client, {\n * name: \"alice.btc\",\n * });\n */\nexport async function setPrimary(\n\tclient: Client,\n\tparams: SetPrimaryParams,\n): Promise<string> {\n\tconst { name: nameInput, namespace: namespaceInput } = params;\n\tconst fqn = namespaceInput ? `${nameInput}.${namespaceInput}` : nameInput;\n\n\tif (!validateFQN(fqn)) {\n\t\tthrow new Error(`Invalid name format: ${fqn}`);\n\t}\n\n\tconst id = await getNameId(client, fqn);\n\tif (id === null) {\n\t\tthrow new Error(`Name ${fqn} does not exist`);\n\t}\n\n\tconst bns = getBnsContract(client);\n\n\treturn bns.call.setPrimaryName({ primaryNameId: id });\n}\n\n/**\n * Get the zonefile for a name.\n * Zonefiles contain DNS-like records (up to 8192 bytes).\n *\n * @example\n * const zonefile = await getZonefile(client, \"alice.btc\");\n * if (zonefile) {\n * console.log(new TextDecoder().decode(zonefile));\n * }\n */\nexport async function getZonefile(\n\tclient: Client,\n\tnameOrFQN: string,\n): Promise<Uint8Array | null> {\n\tif (!validateFQN(nameOrFQN)) {\n\t\tthrow new Error(`Invalid name format: ${nameOrFQN}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(nameOrFQN);\n\tconst zonefile = getZonefileContract(client);\n\n\ttry {\n\t\tconst result = (await zonefile.read.resolveName({\n\t\t\tname: stringToBytes(name),\n\t\t\tnamespace: stringToBytes(namespace),\n\t\t})) as Uint8Array | null;\n\n\t\treturn result;\n\t} catch {\n\t\t// Contract returns (err 101) when no zonefile is set\n\t\treturn null;\n\t}\n}\n\n/**\n * Update or clear the zonefile for a name.\n * Only the name owner can update the zonefile.\n *\n * @example\n * // Update zonefile\n * await updateZonefile(client, {\n * name: \"alice.btc\",\n * zonefile: \"$ORIGIN alice.btc\\n$TTL 3600\\n...\",\n * });\n *\n * // Clear zonefile\n * await updateZonefile(client, {\n * name: \"alice.btc\",\n * zonefile: null,\n * });\n */\nexport async function updateZonefile(\n\tclient: Client,\n\tparams: UpdateZonefileParams,\n): Promise<string> {\n\tconst { name: nameInput, namespace: namespaceInput, zonefile } = params;\n\tconst fqn = namespaceInput ? `${nameInput}.${namespaceInput}` : nameInput;\n\n\tif (!validateFQN(fqn)) {\n\t\tthrow new Error(`Invalid name format: ${fqn}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(fqn);\n\n\t// Verify ownership\n\tconst currentOwner = await resolveName(client, fqn);\n\tif (!currentOwner) {\n\t\tthrow new Error(`Name ${fqn} does not exist`);\n\t}\n\n\tconst zonefileContract = getZonefileContract(client);\n\n\t// Convert zonefile to Uint8Array or null\n\tlet zonefileBytes: Uint8Array | null = null;\n\tif (zonefile !== null) {\n\t\tzonefileBytes =\n\t\t\ttypeof zonefile === \"string\"\n\t\t\t\t? new TextEncoder().encode(zonefile)\n\t\t\t\t: zonefile;\n\n\t\tif (zonefileBytes.length > 8192) {\n\t\t\tthrow new Error(\n\t\t\t\t`Zonefile too large: ${zonefileBytes.length} bytes (max 8192)`,\n\t\t\t);\n\t\t}\n\t}\n\n\treturn zonefileContract.call.updateZonefile({\n\t\tname: stringToBytes(name),\n\t\tnamespace: stringToBytes(namespace),\n\t\tnewZonefile: zonefileBytes,\n\t});\n}\n\n/**\n * Revoke (clear) the zonefile for a name.\n * Alias for updateZonefile with zonefile: null.\n *\n * @example\n * await revokeZonefile(client, \"alice.btc\");\n */\nexport async function revokeZonefile(\n\tclient: Client,\n\tnameOrFQN: string,\n): Promise<string> {\n\tif (!validateFQN(nameOrFQN)) {\n\t\tthrow new Error(`Invalid name format: ${nameOrFQN}`);\n\t}\n\n\tconst { name, namespace } = parseFQN(nameOrFQN);\n\tconst zonefileContract = getZonefileContract(client);\n\n\treturn zonefileContract.call.revokeName({\n\t\tname: stringToBytes(name),\n\t\tnamespace: stringToBytes(namespace),\n\t});\n}\n",
10
10
  "import type { Client } from \"../clients/types.ts\";\nimport {\n\tcanRegister,\n\tclaimFast,\n\tgetNameId,\n\tgetNamePrice,\n\tgetPrimaryName,\n\tgetZonefile,\n\tpreorder,\n\tregister,\n\tresolveName,\n\trevokeZonefile,\n\tsetPrimary,\n\ttransfer,\n\tupdateZonefile,\n} from \"./actions.ts\";\nimport type {\n\tClaimFastParams,\n\tPreorderParams,\n\tRegisterParams,\n\tSetPrimaryParams,\n\tTransferParams,\n\tUpdateZonefileParams,\n} from \"./types.ts\";\n\nexport type {\n\tClaimFastParams,\n\tTransferParams,\n\tSetPrimaryParams,\n\tPreorderParams,\n\tRegisterParams,\n\tUpdateZonefileParams,\n};\n\n/** Actions provided by the BNS extension. */\nexport type BnsActions = {\n\tbns: {\n\t\tresolveName: (name: string) => Promise<string | null>;\n\t\tgetPrimaryName: (address: string) => Promise<string | null>;\n\t\tcanRegister: (name: string) => Promise<boolean>;\n\t\tgetNamePrice: (name: string) => Promise<bigint>;\n\t\tgetNameId: (name: string) => Promise<bigint | null>;\n\t\tpreorder: (\n\t\t\tparams: PreorderParams,\n\t\t) => Promise<{ txid: string; salt: Uint8Array }>;\n\t\tregister: (params: RegisterParams) => Promise<string>;\n\t\tclaimFast: (params: ClaimFastParams) => Promise<string>;\n\t\ttransfer: (params: TransferParams) => Promise<string>;\n\t\tsetPrimary: (params: SetPrimaryParams) => Promise<string>;\n\t\tgetZonefile: (name: string) => Promise<Uint8Array | null>;\n\t\tupdateZonefile: (params: UpdateZonefileParams) => Promise<string>;\n\t\trevokeZonefile: (name: string) => Promise<string>;\n\t};\n};\n\nexport { BNS_CONTRACTS, ZONEFILE_RESOLVER_CONTRACTS } from \"./constants.ts\";\nexport {\n\tparseFQN,\n\tformatFQN,\n\tvalidateName,\n\tvalidateNamespace,\n\tvalidateFQN,\n\tgenerateSalt,\n\thashPreorder,\n} from \"./utils.ts\";\n\n/**\n * BNS v2 extension for Stacks client.\n * Provides name resolution, registration, and management.\n *\n * @example\n * import { createWalletClient, http, mainnet } from \"stacks\";\n * import { bns } from \"stacks/bns\";\n * import { privateKeyToAccount } from \"stacks/accounts\";\n *\n * const account = privateKeyToAccount(\"0x...\");\n * const client = createWalletClient({\n * account,\n * chain: mainnet,\n * transport: http(),\n * }).extend(bns());\n *\n * // Resolve names\n * const owner = await client.bns.resolveName(\"alice.btc\");\n *\n * // Register names\n * const txid = await client.bns.claimFast({\n * name: \"bob.btc\",\n * recipient: account.address,\n * });\n *\n * // Transfer names\n * await client.bns.transfer({\n * name: \"alice.btc\",\n * recipient: \"SP3FBR...\",\n * });\n */\nexport function bns(): (client: Client) => BnsActions {\n\treturn (client: Client) => ({\n\t\tbns: {\n\t\t\t/**\n\t\t\t * Resolve a BNS name to its owner address.\n\t\t\t * @param name - Fully qualified name (e.g., \"alice.btc\" or \"alice\")\n\t\t\t * @returns Owner address or null if name doesn't exist\n\t\t\t */\n\t\t\tresolveName: (name: string) => resolveName(client, name),\n\n\t\t\t/**\n\t\t\t * Get the primary name for an address.\n\t\t\t * @param address - Stacks address\n\t\t\t * @returns Primary name or null if no primary set\n\t\t\t */\n\t\t\tgetPrimaryName: (address: string) => getPrimaryName(client, address),\n\n\t\t\t/**\n\t\t\t * Check if a name is available for registration.\n\t\t\t * @param name - Fully qualified name to check\n\t\t\t * @returns True if available, false otherwise\n\t\t\t */\n\t\t\tcanRegister: (name: string) => canRegister(client, name),\n\n\t\t\t/**\n\t\t\t * Get the price to register a name in microSTX.\n\t\t\t * @param name - Fully qualified name\n\t\t\t * @returns Price in microSTX\n\t\t\t */\n\t\t\tgetNamePrice: (name: string) => getNamePrice(client, name),\n\n\t\t\t/**\n\t\t\t * Get the NFT token ID for a name.\n\t\t\t * @param name - Fully qualified name\n\t\t\t * @returns Token ID or null if name doesn't exist\n\t\t\t */\n\t\t\tgetNameId: (name: string) => getNameId(client, name),\n\n\t\t\t/**\n\t\t\t * Preorder a name (step 1 of secure registration).\n\t\t\t * Commits to a name with a salted hash, preventing front-running.\n\t\t\t * Must wait 1 Bitcoin block (~10 min) before calling register().\n\t\t\t * Requires wallet client with account.\n\t\t\t * @param params - Preorder parameters\n\t\t\t * @returns Transaction ID and salt (save salt for register step!)\n\t\t\t */\n\t\t\tpreorder: (params: PreorderParams) => preorder(client, params),\n\n\t\t\t/**\n\t\t\t * Register a name (step 2 of secure registration).\n\t\t\t * Reveals the name after preorder. Must wait 1 Bitcoin block after preorder.\n\t\t\t * Requires wallet client with account.\n\t\t\t * @param params - Register parameters (must include salt from preorder)\n\t\t\t * @returns Transaction ID\n\t\t\t */\n\t\t\tregister: (params: RegisterParams) => register(client, params),\n\n\t\t\t/**\n\t\t\t * Claim a name instantly (fast but snipeable).\n\t\t\t * Burns STX to register the name immediately.\n\t\t\t * Requires wallet client with account.\n\t\t\t * @param params - Registration parameters\n\t\t\t * @returns Transaction ID\n\t\t\t */\n\t\t\tclaimFast: (params: ClaimFastParams) => claimFast(client, params),\n\n\t\t\t/**\n\t\t\t * Transfer a name to a new owner.\n\t\t\t * Requires wallet client with account.\n\t\t\t * @param params - Transfer parameters\n\t\t\t * @returns Transaction ID\n\t\t\t */\n\t\t\ttransfer: (params: TransferParams) => transfer(client, params),\n\n\t\t\t/**\n\t\t\t * Set a name as your primary name.\n\t\t\t * Requires wallet client with account.\n\t\t\t * @param params - Primary name parameters\n\t\t\t * @returns Transaction ID\n\t\t\t */\n\t\t\tsetPrimary: (params: SetPrimaryParams) => setPrimary(client, params),\n\n\t\t\t/**\n\t\t\t * Get the zonefile for a name.\n\t\t\t * Zonefiles contain DNS-like records (up to 8192 bytes).\n\t\t\t * @param name - Fully qualified name\n\t\t\t * @returns Zonefile bytes or null if not set\n\t\t\t */\n\t\t\tgetZonefile: (name: string) => getZonefile(client, name),\n\n\t\t\t/**\n\t\t\t * Update or clear the zonefile for a name.\n\t\t\t * Only the name owner can update the zonefile.\n\t\t\t * Requires wallet client with account.\n\t\t\t * @param params - Zonefile update parameters\n\t\t\t * @returns Transaction ID\n\t\t\t */\n\t\t\tupdateZonefile: (params: UpdateZonefileParams) =>\n\t\t\t\tupdateZonefile(client, params),\n\n\t\t\t/**\n\t\t\t * Revoke (clear) the zonefile for a name.\n\t\t\t * Requires wallet client with account.\n\t\t\t * @param name - Fully qualified name\n\t\t\t * @returns Transaction ID\n\t\t\t */\n\t\t\trevokeZonefile: (name: string) => revokeZonefile(client, name),\n\t\t},\n\t});\n}\n"
11
11
  ],
12
- "mappings": "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",
13
- "debugId": "8CD1F7360BBB323B64756E2164756E21",
12
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAM,UAAU;AAAA,EACtB,WAAW;AAAA,IAEV;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QAC/C,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MACrD;AAAA,MACA,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI,EAAE,UAAU,YAAY;AAAA,UAC5B,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QAC/C,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MACrD;AAAA,MACA,SAAS,EAAE,UAAU,UAAU;AAAA,IAChC;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,CAAC;AAAA,MACtC,SAAS;AAAA,QACR,UAAU;AAAA,UACT,OAAO;AAAA,YACN,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,YAC/C,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,UACrD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,CAAC;AAAA,MACtC,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI,EAAE,UAAU,YAAY;AAAA,UAC5B,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,SAAS,MAAM,YAAY,CAAC;AAAA,MAC3C,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI;AAAA,YACH,UAAU;AAAA,cACT,OAAO;AAAA,gBACN,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,gBAC/C,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,cACrD;AAAA,YACD;AAAA,UACD;AAAA,UACA,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QACpD,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MAChD;AAAA,MACA,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI;AAAA,YACH,OAAO;AAAA,cACN,EAAE,MAAM,WAAW,MAAM,UAAU;AAAA,cACnC,EAAE,MAAM,SAAS,MAAM,YAAY;AAAA,YACpC;AAAA,UACD;AAAA,UACA,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,CAAC;AAAA,MACtC,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QACpD,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MAChD;AAAA,MACA,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,UACpD,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QAC/C,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MACrD;AAAA,MACA,SAAS;AAAA,QACR,UAAU;AAAA,UACT,OAAO;AAAA,YACN;AAAA,cACC,MAAM;AAAA,cACN,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,YAC5C;AAAA,YACA,EAAE,MAAM,eAAe,MAAM,EAAE,UAAU,UAAU,EAAE;AAAA,YACrD,EAAE,MAAM,SAAS,MAAM,YAAY;AAAA,YACnC,EAAE,MAAM,iBAAiB,MAAM,EAAE,UAAU,YAAY,EAAE;AAAA,YACzD,EAAE,MAAM,iBAAiB,MAAM,EAAE,UAAU,UAAU,EAAE;AAAA,YACvD,EAAE,MAAM,kBAAkB,MAAM,UAAU;AAAA,YAC1C,EAAE,MAAM,YAAY,MAAM,UAAU;AAAA,UACrC;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IAGA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,qBAAqB,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QAC5D,EAAE,MAAM,eAAe,MAAM,UAAU;AAAA,MACxC;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QACpD,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QAC/C,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MAChD;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QAC/C,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QACpD,EAAE,MAAM,WAAW,MAAM,YAAY;AAAA,MACtC;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QACpD,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MAChD;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,IAGA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,MAAM,MAAM,UAAU;AAAA,QAC9B,EAAE,MAAM,SAAS,MAAM,YAAY;AAAA,QACnC,EAAE,MAAM,aAAa,MAAM,YAAY;AAAA,MACxC;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,mBAAmB,MAAM,UAAU,CAAC;AAAA,MACnD,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,EACD;AAAA,EACA,qBAAqB,CAAC,EAAE,MAAM,UAAU,MAAM,UAAU,CAAC;AAC1D;;;ACjMO,IAAM,gBAAgB;AAAA,EAC5B,SAAS;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,EACP;AAAA,EACA,SAAS;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,EACP;AACD;AAEO,IAAM,8BAA8B;AAAA,EAC1C,SAAS;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,EACP;AAAA,EACA,SAAS;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,EACP;AACD;AAGO,IAAM,oBAAoB;;;ACb1B,SAAS,QAAQ,CAAC,KAAiC;AAAA,EACzD,MAAM,QAAQ,IAAI,MAAM,GAAG;AAAA,EAE3B,IAAI,MAAM,WAAW,GAAG;AAAA,IACvB,OAAO;AAAA,MAEN,MAAM,MAAM;AAAA,MACZ,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EAEA,IAAI,MAAM,WAAW,GAAG;AAAA,IACvB,OAAO;AAAA,MAEN,MAAM,MAAM;AAAA,MAEZ,WAAW,MAAM;AAAA,IAClB;AAAA,EACD;AAAA,EAEA,MAAM,IAAI,MACT,iCAAiC,kDAClC;AAAA;AAMM,SAAS,SAAS,CAAC,MAAc,WAA2B;AAAA,EAClE,OAAO,GAAG,QAAQ;AAAA;AAUZ,SAAS,YAAY,CAAC,MAAuB;AAAA,EACnD,IAAI,KAAK,SAAS,KAAK,KAAK,SAAS;AAAA,IAAI,OAAO;AAAA,EAEhD,MAAM,QAAQ;AAAA,EACd,OAAO,MAAM,KAAK,IAAI;AAAA;AAShB,SAAS,iBAAiB,CAAC,WAA4B;AAAA,EAC7D,IAAI,UAAU,SAAS,KAAK,UAAU,SAAS;AAAA,IAAI,OAAO;AAAA,EAE1D,MAAM,QAAQ;AAAA,EACd,OAAO,MAAM,KAAK,SAAS;AAAA;AAMrB,SAAS,WAAW,CAAC,KAAsB;AAAA,EACjD,IAAI;AAAA,IACH,QAAQ,MAAM,cAAc,SAAS,GAAG;AAAA,IACxC,OAAO,aAAa,IAAI,KAAK,kBAAkB,SAAS;AAAA,IACvD,MAAM;AAAA,IACP,OAAO;AAAA;AAAA;AAQF,SAAS,YAAY,GAAe;AAAA,EAC1C,MAAM,OAAO,IAAI,WAAW,EAAE;AAAA,EAC9B,OAAO,gBAAgB,IAAI;AAAA,EAC3B,OAAO;AAAA;AAYD,SAAS,YAAY,CAC3B,MACA,WACA,MACa;AAAA,EACb,MAAM,YAAY,IAAI,YAAY,EAAE,OAAO,IAAI;AAAA,EAC/C,MAAM,iBAAiB,IAAI,YAAY,EAAE,OAAO,SAAS;AAAA,EAGzD,MAAM,WAAW,IAAI,WACpB,UAAU,SAAS,eAAe,SAAS,KAAK,MACjD;AAAA,EACA,SAAS,IAAI,WAAW,CAAC;AAAA,EACzB,SAAS,IAAI,gBAAgB,UAAU,MAAM;AAAA,EAC7C,SAAS,IAAI,MAAM,UAAU,SAAS,eAAe,MAAM;AAAA,EAE3D,OAAO,QAAQ,QAAQ;AAAA;;;AC7GjB,IAAM,wBAAwB;AAAA,EACpC,WAAW;AAAA,IACV;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QAC/C,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MACrD;AAAA,MACA,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,KAAK,EAAE,EAAE;AAAA,UAC3C,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QAC/C,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QACpD;AAAA,UACC,MAAM;AAAA,UACN,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,KAAK,EAAE,EAAE;AAAA,QAC9C;AAAA,MACD;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,QAC/C,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MACrD;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,EACD;AACD;;;ACtBA,SAAS,cAAc,CAAC,QAAgB;AAAA,EACvC,IAAI,CAAC,OAAO,OAAO;AAAA,IAClB,MAAM,IAAI,MAAM,qCAAqC;AAAA,EACtD;AAAA,EACA,MAAM,UAAU,OAAO,MAAM;AAAA,EAC7B,MAAM,WACL,YAAY,YAAY,cAAc,UAAU,cAAc;AAAA,EAE/D,OAAO,YAAY;AAAA,IAClB;AAAA,IACA,SAAS,SAAS;AAAA,IAClB,MAAM,SAAS;AAAA,IACf,KAAK;AAAA,EACN,CAAC;AAAA;AAGF,SAAS,mBAAmB,CAAC,QAAgB;AAAA,EAC5C,IAAI,CAAC,OAAO,OAAO;AAAA,IAClB,MAAM,IAAI,MAAM,qCAAqC;AAAA,EACtD;AAAA,EACA,MAAM,UAAU,OAAO,MAAM;AAAA,EAC7B,MAAM,WACL,YAAY,YACT,4BAA4B,UAC5B,4BAA4B;AAAA,EAEhC,OAAO,YAAY;AAAA,IAClB;AAAA,IACA,SAAS,SAAS;AAAA,IAClB,MAAM,SAAS;AAAA,IACf,KAAK;AAAA,EACN,CAAC;AAAA;AAGF,SAAS,aAAa,CAAC,KAAyB;AAAA,EAC/C,OAAO,IAAI,YAAY,EAAE,OAAO,GAAG;AAAA;AAQpC,eAAsB,WAAW,CAChC,QACA,WACyB;AAAA,EACzB,IAAI,CAAC,YAAY,SAAS,GAAG;AAAA,IAC5B,MAAM,IAAI,MAAM,wBAAwB,WAAW;AAAA,EACpD;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,SAAS;AAAA,EAC9C,MAAM,MAAM,eAAe,MAAM;AAAA,EAEjC,IAAI;AAAA,IACH,OAAQ,MAAM,IAAI,KAAK,aAAa;AAAA,MACnC,MAAM,cAAc,IAAI;AAAA,MACxB,WAAW,cAAc,SAAS;AAAA,IACnC,CAAC;AAAA,IACA,OAAO,GAAG;AAAA,IACX,IAAI,aAAa;AAAA,MAAuB,OAAO;AAAA,IAC/C,MAAM;AAAA;AAAA;AASR,eAAsB,cAAc,CACnC,QACA,SACyB;AAAA,EACzB,MAAM,MAAM,eAAe,MAAM;AAAA,EAEjC,IAAI;AAAA,IACH,MAAM,SAAU,MAAM,IAAI,KAAK,WAAW;AAAA,MACzC,OAAO;AAAA,IACR,CAAC;AAAA,IAED,IAAI,WAAW;AAAA,MAAM,OAAO;AAAA,IAE5B,MAAM,OAAO,IAAI,YAAY,EAAE,OAAO,OAAO,IAAI;AAAA,IACjD,MAAM,YAAY,IAAI,YAAY,EAAE,OAAO,OAAO,SAAS;AAAA,IAE3D,OAAO,UAAU,MAAM,SAAS;AAAA,IAC/B,OAAO,GAAG;AAAA,IACX,IAAI,aAAa;AAAA,MAAuB,OAAO;AAAA,IAC/C,MAAM;AAAA;AAAA;AASR,eAAsB,WAAW,CAChC,QACA,WACmB;AAAA,EACnB,IAAI,CAAC,YAAY,SAAS,GAAG;AAAA,IAC5B,MAAM,IAAI,MAAM,wBAAwB,WAAW;AAAA,EACpD;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,SAAS;AAAA,EAC9C,MAAM,MAAM,eAAe,MAAM;AAAA,EAIjC,IAAI;AAAA,IACH,MAAM,IAAI,KAAK,eAAe;AAAA,MAC7B,WAAW,cAAc,SAAS;AAAA,MAClC,MAAM,cAAc,IAAI;AAAA,IACzB,CAAC;AAAA,IACD,OAAO;AAAA,IACN,MAAM;AAAA,IACP,OAAO;AAAA;AAAA;AAST,eAAsB,YAAY,CACjC,QACA,WACkB;AAAA,EAClB,IAAI,CAAC,YAAY,SAAS,GAAG;AAAA,IAC5B,MAAM,IAAI,MAAM,wBAAwB,WAAW;AAAA,EACpD;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,SAAS;AAAA,EAC9C,MAAM,MAAM,eAAe,MAAM;AAAA,EAGjC,MAAM,SAAU,MAAM,IAAI,KAAK,aAAa;AAAA,IAC3C,WAAW,cAAc,SAAS;AAAA,IAClC,MAAM,cAAc,IAAI;AAAA,EACzB,CAAC;AAAA,EAED,IAAI,QAAQ;AAAA,IAAQ,OAAO,OAAO;AAAA,EAClC,MAAM,IAAI,MAAM,gCAAgC,WAAW;AAAA;AAQ5D,eAAsB,SAAS,CAC9B,QACA,WACyB;AAAA,EACzB,IAAI,CAAC,YAAY,SAAS,GAAG;AAAA,IAC5B,MAAM,IAAI,MAAM,wBAAwB,WAAW;AAAA,EACpD;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,SAAS;AAAA,EAC9C,MAAM,MAAM,eAAe,MAAM;AAAA,EAEjC,IAAI;AAAA,IACH,OAAQ,MAAM,IAAI,KAAK,aAAa;AAAA,MACnC,MAAM,cAAc,IAAI;AAAA,MACxB,WAAW,cAAc,SAAS;AAAA,IACnC,CAAC;AAAA,IACA,OAAO,GAAG;AAAA,IACX,IAAI,aAAa;AAAA,MAAuB,OAAO;AAAA,IAC/C,MAAM;AAAA;AAAA;AAiBR,eAAsB,QAAQ,CAC7B,QACA,QAC8C;AAAA,EAC9C;AAAA,IACC,MAAM;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,MACH;AAAA,EACJ,MAAM,MAAM,iBAAiB,GAAG,aAAa,mBAAmB;AAAA,EAEhE,IAAI,CAAC,YAAY,GAAG,GAAG;AAAA,IACtB,MAAM,IAAI,MAAM,wBAAwB,KAAK;AAAA,EAC9C;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,GAAG;AAAA,EAGxC,MAAM,YAAY,MAAM,YAAY,QAAQ,GAAG;AAAA,EAC/C,IAAI,CAAC,WAAW;AAAA,IACf,MAAM,IAAI,MAAM,QAAQ,uCAAuC;AAAA,EAChE;AAAA,EAGA,MAAM,QAAQ,MAAM,aAAa,QAAQ,GAAG;AAAA,EAG5C,MAAM,OAAO,gBAAgB,aAAa;AAAA,EAG1C,MAAM,kBAAkB,aAAa,MAAM,WAAW,IAAI;AAAA,EAE1D,MAAM,MAAM,eAAe,MAAM;AAAA,EAEjC,MAAM,OAAO,MAAM,IAAI,KAAK,aAC3B;AAAA,IACC;AAAA,IACA,WAAW;AAAA,EACZ,GACA;AAAA,IACC,gBAAgB,OAAO,SAAS,UAC7B,CAAC,GAAG,UAAU,OAAO,QAAQ,OAAO,EAAE,YAAY,KAAK,EAAE,KAAK,CAAC,IAC/D,CAAC;AAAA,EACL,CACD;AAAA,EAEA,OAAO,EAAE,MAAM,KAAK;AAAA;AAarB,eAAsB,QAAQ,CAC7B,QACA,QACkB;AAAA,EAClB,QAAQ,MAAM,WAAW,WAAW,gBAAgB,SAAS;AAAA,EAC7D,MAAM,MAAM,iBAAiB,GAAG,aAAa,mBAAmB;AAAA,EAEhE,IAAI,CAAC,YAAY,GAAG,GAAG;AAAA,IACtB,MAAM,IAAI,MAAM,wBAAwB,KAAK;AAAA,EAC9C;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,GAAG;AAAA,EAExC,MAAM,MAAM,eAAe,MAAM;AAAA,EAEjC,OAAO,IAAI,KAAK,aAAa;AAAA,IAC5B,MAAM,cAAc,IAAI;AAAA,IACxB,WAAW,cAAc,SAAS;AAAA,IAClC;AAAA,EACD,CAAC;AAAA;AAYF,eAAsB,SAAS,CAC9B,QACA,QACkB;AAAA,EAClB,QAAQ,MAAM,WAAW,WAAW,gBAAgB,cAAc;AAAA,EAClE,MAAM,MAAM,iBAAiB,GAAG,aAAa,mBAAmB;AAAA,EAEhE,IAAI,CAAC,YAAY,GAAG,GAAG;AAAA,IACtB,MAAM,IAAI,MAAM,wBAAwB,KAAK;AAAA,EAC9C;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,GAAG;AAAA,EAGxC,MAAM,YAAY,MAAM,YAAY,QAAQ,GAAG;AAAA,EAC/C,IAAI,CAAC,WAAW;AAAA,IACf,MAAM,IAAI,MAAM,QAAQ,uCAAuC;AAAA,EAChE;AAAA,EAGA,MAAM,QAAQ,MAAM,aAAa,QAAQ,GAAG;AAAA,EAE5C,MAAM,MAAM,eAAe,MAAM;AAAA,EAEjC,OAAO,IAAI,KAAK,cACf;AAAA,IACC,MAAM,cAAc,IAAI;AAAA,IACxB,WAAW,cAAc,SAAS;AAAA,IAClC,QAAQ;AAAA,EACT,GACA;AAAA,IACC,gBAAgB,CAAC,GAAG,UAAU,SAAS,EAAE,YAAY,KAAK,EAAE,KAAK,CAAC;AAAA,EACnE,CACD;AAAA;AAWD,eAAsB,QAAQ,CAC7B,QACA,QACkB;AAAA,EAClB,QAAQ,MAAM,WAAW,WAAW,gBAAgB,cAAc;AAAA,EAClE,MAAM,MAAM,iBAAiB,GAAG,aAAa,mBAAmB;AAAA,EAEhE,IAAI,CAAC,YAAY,GAAG,GAAG;AAAA,IACtB,MAAM,IAAI,MAAM,wBAAwB,KAAK;AAAA,EAC9C;AAAA,EAEA,MAAM,KAAK,MAAM,UAAU,QAAQ,GAAG;AAAA,EACtC,IAAI,OAAO,MAAM;AAAA,IAChB,MAAM,IAAI,MAAM,QAAQ,oBAAoB;AAAA,EAC7C;AAAA,EAEA,MAAM,eAAe,MAAM,YAAY,QAAQ,GAAG;AAAA,EAClD,IAAI,CAAC,cAAc;AAAA,IAClB,MAAM,IAAI,MAAM,6BAA6B,KAAK;AAAA,EACnD;AAAA,EAEA,MAAM,MAAM,eAAe,MAAM;AAAA,EACjC,IAAI,CAAC,OAAO,OAAO;AAAA,IAClB,MAAM,IAAI,MAAM,qCAAqC;AAAA,EACtD;AAAA,EACA,MAAM,UAAU,OAAO,MAAM;AAAA,EAC7B,MAAM,WACL,YAAY,YAAY,cAAc,UAAU,cAAc;AAAA,EAE/D,OAAO,IAAI,KAAK,SACf;AAAA,IACC;AAAA,IACA,OAAO;AAAA,IACP;AAAA,EACD,GACA;AAAA,IACC,gBAAgB;AAAA,MACf,GAAG,UAAU,YAAY,EACvB,cAAc,EACd,IAAI,GAAG,SAAS,WAAW,SAAS,gBAAgB,GAAG,KAAK,EAAE,CAAC;AAAA,IAClE;AAAA,EACD,CACD;AAAA;AAUD,eAAsB,UAAU,CAC/B,QACA,QACkB;AAAA,EAClB,QAAQ,MAAM,WAAW,WAAW,mBAAmB;AAAA,EACvD,MAAM,MAAM,iBAAiB,GAAG,aAAa,mBAAmB;AAAA,EAEhE,IAAI,CAAC,YAAY,GAAG,GAAG;AAAA,IACtB,MAAM,IAAI,MAAM,wBAAwB,KAAK;AAAA,EAC9C;AAAA,EAEA,MAAM,KAAK,MAAM,UAAU,QAAQ,GAAG;AAAA,EACtC,IAAI,OAAO,MAAM;AAAA,IAChB,MAAM,IAAI,MAAM,QAAQ,oBAAoB;AAAA,EAC7C;AAAA,EAEA,MAAM,MAAM,eAAe,MAAM;AAAA,EAEjC,OAAO,IAAI,KAAK,eAAe,EAAE,eAAe,GAAG,CAAC;AAAA;AAarD,eAAsB,WAAW,CAChC,QACA,WAC6B;AAAA,EAC7B,IAAI,CAAC,YAAY,SAAS,GAAG;AAAA,IAC5B,MAAM,IAAI,MAAM,wBAAwB,WAAW;AAAA,EACpD;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,SAAS;AAAA,EAC9C,MAAM,WAAW,oBAAoB,MAAM;AAAA,EAE3C,IAAI;AAAA,IACH,MAAM,SAAU,MAAM,SAAS,KAAK,YAAY;AAAA,MAC/C,MAAM,cAAc,IAAI;AAAA,MACxB,WAAW,cAAc,SAAS;AAAA,IACnC,CAAC;AAAA,IAED,OAAO;AAAA,IACN,MAAM;AAAA,IAEP,OAAO;AAAA;AAAA;AAqBT,eAAsB,cAAc,CACnC,QACA,QACkB;AAAA,EAClB,QAAQ,MAAM,WAAW,WAAW,gBAAgB,aAAa;AAAA,EACjE,MAAM,MAAM,iBAAiB,GAAG,aAAa,mBAAmB;AAAA,EAEhE,IAAI,CAAC,YAAY,GAAG,GAAG;AAAA,IACtB,MAAM,IAAI,MAAM,wBAAwB,KAAK;AAAA,EAC9C;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,GAAG;AAAA,EAGxC,MAAM,eAAe,MAAM,YAAY,QAAQ,GAAG;AAAA,EAClD,IAAI,CAAC,cAAc;AAAA,IAClB,MAAM,IAAI,MAAM,QAAQ,oBAAoB;AAAA,EAC7C;AAAA,EAEA,MAAM,mBAAmB,oBAAoB,MAAM;AAAA,EAGnD,IAAI,gBAAmC;AAAA,EACvC,IAAI,aAAa,MAAM;AAAA,IACtB,gBACC,OAAO,aAAa,WACjB,IAAI,YAAY,EAAE,OAAO,QAAQ,IACjC;AAAA,IAEJ,IAAI,cAAc,SAAS,MAAM;AAAA,MAChC,MAAM,IAAI,MACT,uBAAuB,cAAc,yBACtC;AAAA,IACD;AAAA,EACD;AAAA,EAEA,OAAO,iBAAiB,KAAK,eAAe;AAAA,IAC3C,MAAM,cAAc,IAAI;AAAA,IACxB,WAAW,cAAc,SAAS;AAAA,IAClC,aAAa;AAAA,EACd,CAAC;AAAA;AAUF,eAAsB,cAAc,CACnC,QACA,WACkB;AAAA,EAClB,IAAI,CAAC,YAAY,SAAS,GAAG;AAAA,IAC5B,MAAM,IAAI,MAAM,wBAAwB,WAAW;AAAA,EACpD;AAAA,EAEA,QAAQ,MAAM,cAAc,SAAS,SAAS;AAAA,EAC9C,MAAM,mBAAmB,oBAAoB,MAAM;AAAA,EAEnD,OAAO,iBAAiB,KAAK,WAAW;AAAA,IACvC,MAAM,cAAc,IAAI;AAAA,IACxB,WAAW,cAAc,SAAS;AAAA,EACnC,CAAC;AAAA;;;ACrbK,SAAS,GAAG,GAAmC;AAAA,EACrD,OAAO,CAAC,YAAoB;AAAA,IAC3B,KAAK;AAAA,MAMJ,aAAa,CAAC,SAAiB,YAAY,QAAQ,IAAI;AAAA,MAOvD,gBAAgB,CAAC,YAAoB,eAAe,QAAQ,OAAO;AAAA,MAOnE,aAAa,CAAC,SAAiB,YAAY,QAAQ,IAAI;AAAA,MAOvD,cAAc,CAAC,SAAiB,aAAa,QAAQ,IAAI;AAAA,MAOzD,WAAW,CAAC,SAAiB,UAAU,QAAQ,IAAI;AAAA,MAUnD,UAAU,CAAC,WAA2B,SAAS,QAAQ,MAAM;AAAA,MAS7D,UAAU,CAAC,WAA2B,SAAS,QAAQ,MAAM;AAAA,MAS7D,WAAW,CAAC,WAA4B,UAAU,QAAQ,MAAM;AAAA,MAQhE,UAAU,CAAC,WAA2B,SAAS,QAAQ,MAAM;AAAA,MAQ7D,YAAY,CAAC,WAA6B,WAAW,QAAQ,MAAM;AAAA,MAQnE,aAAa,CAAC,SAAiB,YAAY,QAAQ,IAAI;AAAA,MASvD,gBAAgB,CAAC,WAChB,eAAe,QAAQ,MAAM;AAAA,MAQ9B,gBAAgB,CAAC,SAAiB,eAAe,QAAQ,IAAI;AAAA,IAC9D;AAAA,EACD;AAAA;",
13
+ "debugId": "FA7EBEC214FE4F7864756E2164756E21",
14
14
  "names": []
15
15
  }