@secondlayer/stacks 6.3.0 → 6.4.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-esm-8f5catbf.js → stacks-esm-1mybf3yt.js} +2 -2
  2. package/dist/shared/{stacks-esm-tdrdye4y.js → stacks-esm-4ja7b0px.js} +2 -2
  3. package/dist/shared/{stacks-esm-t88hc019.js → stacks-esm-5qdnx2q9.js} +3 -3
  4. package/dist/shared/{stacks-esm-b54n1jdx.js → stacks-esm-6qv8gjes.js} +6 -6
  5. package/dist/shared/stacks-esm-6qv8gjes.js.map +12 -0
  6. package/dist/shared/{stacks-esm-a20wyky3.js → stacks-esm-896kv9yv.js} +2 -2
  7. package/dist/shared/{stacks-esm-exgw8j2j.js → stacks-esm-bragecm9.js} +7 -7
  8. package/dist/shared/{stacks-esm-hkw1kvd4.js → stacks-esm-gs60rd15.js} +7 -4
  9. package/dist/shared/{stacks-esm-hkw1kvd4.js.map → stacks-esm-gs60rd15.js.map} +3 -3
  10. package/dist/shared/{stacks-esm-xcd4sv1h.js → stacks-esm-hcjqgrtm.js} +5 -5
  11. package/dist/shared/{stacks-esm-pq0e379d.js → stacks-esm-hv11fdgy.js} +3 -3
  12. package/dist/shared/{stacks-esm-1b2rhv6y.js → stacks-esm-w36fvdxx.js} +2 -2
  13. package/dist/shared/{stacks-esm-7n5wd5md.js → stacks-esm-w8kswk0r.js} +5 -5
  14. package/dist/shared/{stacks-esm-0pc6tmf0.js → stacks-esm-x8gjr2v6.js} +2 -2
  15. package/dist/shared/{stacks-esm-p3zypwsw.js → stacks-esm-zwbhghxb.js} +2 -2
  16. package/dist/src/actions/index.cjs +6 -3
  17. package/dist/src/actions/index.cjs.map +3 -3
  18. package/dist/src/actions/index.js +10 -10
  19. package/dist/src/bitcoin/index.cjs +6 -3
  20. package/dist/src/bitcoin/index.cjs.map +3 -3
  21. package/dist/src/bitcoin/index.js +5 -5
  22. package/dist/src/bns/index.cjs +6 -3
  23. package/dist/src/bns/index.cjs.map +3 -3
  24. package/dist/src/bns/index.js +10 -10
  25. package/dist/src/clarity/index.cjs +6 -3
  26. package/dist/src/clarity/index.cjs.map +3 -3
  27. package/dist/src/clarity/index.js +4 -4
  28. package/dist/src/filters/index.cjs +5 -5
  29. package/dist/src/filters/index.cjs.map +3 -3
  30. package/dist/src/filters/index.d.cts +6 -0
  31. package/dist/src/filters/index.d.ts +6 -0
  32. package/dist/src/filters/index.js +1 -1
  33. package/dist/src/index.cjs +10 -7
  34. package/dist/src/index.cjs.map +4 -4
  35. package/dist/src/index.d.cts +6 -0
  36. package/dist/src/index.d.ts +6 -0
  37. package/dist/src/index.js +9 -9
  38. package/dist/src/postconditions/index.cjs +6 -3
  39. package/dist/src/postconditions/index.cjs.map +3 -3
  40. package/dist/src/postconditions/index.js +3 -3
  41. package/dist/src/pox/index.cjs +6 -3
  42. package/dist/src/pox/index.cjs.map +3 -3
  43. package/dist/src/pox/index.js +8 -8
  44. package/dist/src/pox5/index.cjs +6 -3
  45. package/dist/src/pox5/index.cjs.map +3 -3
  46. package/dist/src/pox5/index.js +9 -9
  47. package/dist/src/sbtc/index.cjs +6 -3
  48. package/dist/src/sbtc/index.cjs.map +3 -3
  49. package/dist/src/sbtc/index.js +7 -7
  50. package/dist/src/simnet/index.cjs +6 -16
  51. package/dist/src/simnet/index.cjs.map +3 -3
  52. package/dist/src/simnet/index.js +6 -16
  53. package/dist/src/simnet/index.js.map +3 -3
  54. package/dist/src/stackingdao/index.cjs +6 -3
  55. package/dist/src/stackingdao/index.cjs.map +3 -3
  56. package/dist/src/stackingdao/index.js +8 -8
  57. package/dist/src/transactions/index.cjs +6 -3
  58. package/dist/src/transactions/index.cjs.map +3 -3
  59. package/dist/src/transactions/index.js +3 -3
  60. package/package.json +1 -1
  61. package/dist/shared/stacks-esm-b54n1jdx.js.map +0 -12
  62. /package/dist/shared/{stacks-esm-8f5catbf.js.map → stacks-esm-1mybf3yt.js.map} +0 -0
  63. /package/dist/shared/{stacks-esm-tdrdye4y.js.map → stacks-esm-4ja7b0px.js.map} +0 -0
  64. /package/dist/shared/{stacks-esm-t88hc019.js.map → stacks-esm-5qdnx2q9.js.map} +0 -0
  65. /package/dist/shared/{stacks-esm-a20wyky3.js.map → stacks-esm-896kv9yv.js.map} +0 -0
  66. /package/dist/shared/{stacks-esm-exgw8j2j.js.map → stacks-esm-bragecm9.js.map} +0 -0
  67. /package/dist/shared/{stacks-esm-xcd4sv1h.js.map → stacks-esm-hcjqgrtm.js.map} +0 -0
  68. /package/dist/shared/{stacks-esm-pq0e379d.js.map → stacks-esm-hv11fdgy.js.map} +0 -0
  69. /package/dist/shared/{stacks-esm-1b2rhv6y.js.map → stacks-esm-w36fvdxx.js.map} +0 -0
  70. /package/dist/shared/{stacks-esm-7n5wd5md.js.map → stacks-esm-w8kswk0r.js.map} +0 -0
  71. /package/dist/shared/{stacks-esm-0pc6tmf0.js.map → stacks-esm-x8gjr2v6.js.map} +0 -0
  72. /package/dist/shared/{stacks-esm-p3zypwsw.js.map → stacks-esm-zwbhghxb.js.map} +0 -0
@@ -20,7 +20,7 @@ import {
20
20
  isAbiStringAscii2,
21
21
  isAbiStringUtf82,
22
22
  toCamelCase2
23
- } from "./stacks-esm-a20wyky3.js";
23
+ } from "./stacks-esm-896kv9yv.js";
24
24
  import {
25
25
  SIP010_ABI2,
26
26
  SIP009_ABI2,
@@ -590,4 +590,4 @@ function normalizeAbi2(abi) {
590
590
  export { prettyPrint2, cvToJSON2, cvToValue2, cvToBigInt2, cvToString2, cvToBuffer2, cvToBoolean2, cvToPrincipal2, ClarityConversionError2, jsToClarity2, prepareArgs2, validateArgs2, validateArgsArray2, TRAIT_STANDARDS2, classifyContract2, parseDeclaredStandards2, normalizeAccess2, normalizeType2, normalizeAbi2 };
591
591
 
592
592
  //# debugId=E2B4B2D1D55020D664756E2164756E21
593
- //# sourceMappingURL=stacks-esm-8f5catbf.js.map
593
+ //# sourceMappingURL=stacks-esm-1mybf3yt.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./stacks-esm-7a0ehykf.js";
5
5
  import {
6
6
  serializeCVBytes2
7
- } from "./stacks-esm-hkw1kvd4.js";
7
+ } from "./stacks-esm-gs60rd15.js";
8
8
 
9
9
  // src/clarity/structuredData.ts
10
10
  import { sha256 } from "@noble/hashes/sha2.js";
@@ -45,4 +45,4 @@ async function signStructuredData2(account, opts) {
45
45
  export { SIP018_PREFIX2, hashStructuredData2, encodeStructuredData2, structuredDataHash2, signStructuredData2 };
46
46
 
47
47
  //# debugId=A7BA1AC1CF45D0DA64756E2164756E21
48
- //# sourceMappingURL=stacks-esm-tdrdye4y.js.map
48
+ //# sourceMappingURL=stacks-esm-4ja7b0px.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  deserializeCVBytes2
3
- } from "./stacks-esm-hkw1kvd4.js";
3
+ } from "./stacks-esm-gs60rd15.js";
4
4
  import {
5
5
  parseContractId2
6
6
  } from "./stacks-esm-kbz5s6v8.js";
7
7
  import {
8
8
  MalformedResponseError2,
9
9
  readContract2
10
- } from "./stacks-esm-0pc6tmf0.js";
10
+ } from "./stacks-esm-x8gjr2v6.js";
11
11
 
12
12
  // src/actions/public/getBalance.ts
13
13
  async function getBalance2(client, params) {
@@ -77,4 +77,4 @@ async function multicall2(client, params) {
77
77
  export { getBalance2, getDataVar2, multicall2 };
78
78
 
79
79
  //# debugId=67ECD438D984CEAE64756E2164756E21
80
- //# sourceMappingURL=stacks-esm-t88hc019.js.map
80
+ //# sourceMappingURL=stacks-esm-5qdnx2q9.js.map
@@ -168,8 +168,8 @@ function toIndexParams(spec, extra = {}) {
168
168
  if (AMOUNT_FIELDS.has(key)) {
169
169
  unsupported("Index events", key, "amount predicates are Webhooks/Subgraphs-only; filter client-side on the decoded rows");
170
170
  }
171
- if (key === "topic") {
172
- unsupported("Index events", "topic", "per-topic reads are Subgraphs/Webhooks-only (or read the contract's print feed and switch on topic)");
171
+ if (key === "topic" || key === "where") {
172
+ unsupported("Index events", key, "print field matching is Subgraphs/Webhooks-only (or read the contract's print feed and filter the decoded rows)");
173
173
  }
174
174
  if (key === "lockedAddress") {
175
175
  out.sender = value;
@@ -219,8 +219,8 @@ function toStreamsParams(spec, extra = {}) {
219
219
  if (key === "trait") {
220
220
  unsupported("Streams", "trait", "Streams has no trait resolution — Index and Subgraphs do");
221
221
  }
222
- if (key === "topic") {
223
- unsupported("Streams", "topic", "per-topic filtering is Subgraphs/Webhooks-only");
222
+ if (key === "topic" || key === "where") {
223
+ unsupported("Streams", key, "print field matching is Subgraphs/Webhooks-only");
224
224
  }
225
225
  if (key === "lockedAddress") {
226
226
  unsupported("Streams", "lockedAddress", "stx_lock address filtering is Webhooks/Subgraphs-only");
@@ -314,5 +314,5 @@ var on2 = {
314
314
  };
315
315
  export { DECODED_EVENT_TYPES2, VM_EVENT_TYPES2, VM_NODE_TO_STORED_TYPE2, CHAIN_EVENT_FILTER_TYPES2, assetId2, isPrincipal2, hasWildcard2, assertPrincipalish2, assertAssetIdentifier2, assertContractId2, makeChainEventFilter2, fromSubgraphSource2, on2 };
316
316
 
317
- //# debugId=B5D7ACE96FE5280F64756E2164756E21
318
- //# sourceMappingURL=stacks-esm-b54n1jdx.js.map
317
+ //# debugId=24E6C97F2709378864756E2164756E21
318
+ //# sourceMappingURL=stacks-esm-6qv8gjes.js.map
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/filters/event-types.ts", "../src/filters/validate.ts", "../src/filters/factories.ts"],
4
+ "sourcesContent": [
5
+ "// The decoded event-type vocabulary — canonical home. Index (decoded layer)\n// and Streams (canonical firehose) expose the SAME set. This lives in\n// @secondlayer/stacks because it is the leaf of the dependency graph\n// (shared → stacks), so no package can drift a private copy upward:\n// @secondlayer/shared re-exports it for back-compat.\n/** The decoded event types. Index and Streams expose the same set. */\nexport const DECODED_EVENT_TYPES = [\n\t\"stx_transfer\",\n\t\"stx_mint\",\n\t\"stx_burn\",\n\t\"stx_lock\",\n\t\"ft_transfer\",\n\t\"ft_mint\",\n\t\"ft_burn\",\n\t\"nft_transfer\",\n\t\"nft_mint\",\n\t\"nft_burn\",\n\t\"print\",\n] as const;\n\nexport type DecodedEventType = (typeof DECODED_EVENT_TYPES)[number];\n\n/** Opt-in node vm_events, stored names. Parallel to DECODED_EVENT_TYPES — not\n * the decoded_events / Streams 1.0 vocab. Cursor second component is\n * ordinal. Inner calls are never `contract_call`. */\nexport const VM_EVENT_TYPES = [\n\t\"nested_contract_call\",\n\t\"var_set\",\n\t\"map_set\",\n\t\"map_insert\",\n\t\"map_delete\",\n] as const;\n\nexport type VmEventType = (typeof VM_EVENT_TYPES)[number];\n\n/** Node `/new_block.vm_events[].type` → stored/Index/Streams name. One map,\n * shared by the indexer parser and any consumer that reads raw observer\n * bodies, so the two dialects cannot drift. Inner calls are never\n * `contract_call` (that is the signed outer tx). */\nexport const VM_NODE_TO_STORED_TYPE = {\n\tcontract_call_event: \"nested_contract_call\",\n\tvar_set_event: \"var_set\",\n\tmap_set_event: \"map_set\",\n\tmap_insert_event: \"map_insert\",\n\tmap_delete_event: \"map_delete\",\n} as const satisfies Record<string, VmEventType>;\n\nexport type VmNodeEventType = keyof typeof VM_NODE_TO_STORED_TYPE;\n\n/** Every chain-event filter member across all four surfaces: the 10 decoded\n * token/STX types, the three contract-shaped types (spelled as subgraphs and\n * triggers spell them — Index/Streams project `print_event` → `print`), and\n * the five sBTC lifecycle types (Webhooks-only). */\nexport const CHAIN_EVENT_FILTER_TYPES = [\n\t\"stx_transfer\",\n\t\"stx_mint\",\n\t\"stx_burn\",\n\t\"stx_lock\",\n\t\"ft_transfer\",\n\t\"ft_mint\",\n\t\"ft_burn\",\n\t\"nft_transfer\",\n\t\"nft_mint\",\n\t\"nft_burn\",\n\t\"contract_call\",\n\t\"contract_deploy\",\n\t\"print_event\",\n\t\"nested_contract_call\",\n\t\"var_set\",\n\t\"map_set\",\n\t\"map_insert\",\n\t\"map_delete\",\n\t\"sbtc_deposit\",\n\t\"sbtc_withdrawal_create\",\n\t\"sbtc_withdrawal_accept\",\n\t\"sbtc_withdrawal_reject\",\n\t\"sbtc_withdrawal_swept_confirmed\",\n] as const;\n\nexport type ChainEventFilterType = (typeof CHAIN_EVENT_FILTER_TYPES)[number];\n",
6
+ "import { parsePrincipal } from \"../utils/address.ts\";\n\n/** A validated Stacks principal (standard or contract). Branded so downstream\n * code can require \"already validated\" without re-checking. */\nexport type Principal = string & { readonly __principal: unique symbol };\n\n/**\n * A fungible or non-fungible asset identifier: `<contract>::<asset-name>`.\n *\n * This is the shape an asset filter takes, expressed so the compiler can check it.\n *\n * The most common mistake in this API is passing a CONTRACT ID\n * (`SP….sbtc-token`) where an asset identifier (`SP….sbtc-token::sbtc-token`)\n * belongs, and the failure mode is a query that quietly returns zero rows. The\n * two differ structurally by `::`, so a template-literal type catches it at the\n * call site. No brand, no cast, literals just work.\n *\n * A value that is only known at runtime (config, env) is not narrow enough on\n * purpose; run it through {@link assetId} once, which validates and narrows.\n *\n * Wildcard patterns (Webhooks/Subgraphs-only) are admitted by the second arm.\n * They are legitimately not full identifiers (`SPB.*`), and the runtime\n * validator short-circuits on them for the same reason.\n */\nexport type AssetIdentifier = `${string}::${string}` | `${string}*${string}`;\n\n/**\n * Narrow a runtime string to an {@link AssetIdentifier}, validating it.\n *\n * The escape hatch for config-driven values: `assetId(process.env.ASSET!)`\n * throws on a contract id instead of letting it through to a zero-row query.\n */\nexport function assetId(value: string): AssetIdentifier {\n\tassertAssetIdentifier(\"assetIdentifier\", value);\n\treturn value as AssetIdentifier;\n}\n\n/** `true` for a standard (`SP…`/`ST…`) or contract (`SP….name`) principal.\n * Shares {@link parsePrincipal} with the ABI guards so the two surfaces can't\n * disagree about what a principal is. */\nexport function isPrincipal(value: string): value is Principal {\n\treturn parsePrincipal(value) !== null;\n}\n\n/**\n * Tells whether a value contains a `*` wildcard.\n *\n * Webhooks and Subgraph sources match `*` wildcards in principal and\n * identifier patterns; every other surface treats the value literally.\n */\nexport function hasWildcard(value: string): boolean {\n\treturn value.includes(\"*\");\n}\n\n/** Throw unless `value` is a principal or a wildcard pattern. The factories\n * call this so a swapped argument (asset id where a sender belongs, typo'd\n * address) fails at construction — not as a silent zero-row query. */\nexport function assertPrincipalish(field: string, value: string): void {\n\tif (hasWildcard(value)) return;\n\tif (!isPrincipal(value)) {\n\t\tthrow new Error(\n\t\t\t`${field} \"${value}\" is not a valid Stacks principal (SP…/ST…, optionally .contract-name).`,\n\t\t);\n\t}\n}\n\n/** Throw unless `value` looks like `SP….contract::asset` (or a wildcard). */\nexport function assertAssetIdentifier(field: string, value: string): void {\n\tif (hasWildcard(value)) return;\n\tconst [contractId, assetName, ...rest] = value.split(\"::\");\n\tif (\n\t\t!contractId ||\n\t\t!assetName ||\n\t\trest.length > 0 ||\n\t\t!contractId.includes(\".\") ||\n\t\t!isPrincipal(contractId)\n\t) {\n\t\tthrow new Error(\n\t\t\t`${field} \"${value}\" is not a valid asset identifier (SP….contract-name::asset-name). Passing a bare contract id here matches zero rows — use contractId for that.`,\n\t\t);\n\t}\n}\n\n/** Throw unless `value` is a contract id `SP….name` (or a wildcard). */\nexport function assertContractId(field: string, value: string): void {\n\tif (hasWildcard(value)) return;\n\tif (value.includes(\"::\")) {\n\t\tthrow new Error(\n\t\t\t`${field} \"${value}\" is an asset identifier, not a contract id — use assetIdentifier for that.`,\n\t\t);\n\t}\n\tif (!value.includes(\".\") || !isPrincipal(value)) {\n\t\tthrow new Error(\n\t\t\t`${field} \"${value}\" is not a valid contract id (SP….contract-name).`,\n\t\t);\n\t}\n}\n",
7
+ "import type { AbiContract } from \"../clarity/abi/contract.ts\";\nimport type { ChainEventFilterType } from \"./event-types.ts\";\nimport type { SubgraphMemberType, SubgraphSourceSpec } from \"./types.ts\";\nimport type {\n\tChainEventFilter,\n\tChainEventFilterSpec,\n\tChainTriggerShape,\n\tContractCallsParamsShape,\n\tIndexEventsParamsShape,\n\tPrintFieldType,\n\tSpecFor,\n\tStreamsParamsShape,\n\tStreamsVmParamsShape,\n} from \"./types.ts\";\nimport {\n\tassertAssetIdentifier,\n\tassertContractId,\n\tassertPrincipalish,\n\thasWildcard,\n} from \"./validate.ts\";\n\n// ── Field metadata driving validation and projections ────────────────────\n\nconst PRINCIPAL_FIELDS = new Set([\n\t\"sender\",\n\t\"recipient\",\n\t\"caller\",\n\t\"deployer\",\n\t\"lockedAddress\",\n]);\nconst AMOUNT_FIELDS = new Set([\"minAmount\", \"maxAmount\"]);\n/** Fields with no filtering semantics — safe to drop in a projection. */\nconst DECORATIVE_FIELDS = new Set([\"abi\", \"prints\"]);\n\nfunction specEntries(spec: ChainEventFilterSpec): Array<[string, unknown]> {\n\treturn Object.entries(spec).filter(\n\t\t([key, value]) => key !== \"type\" && value !== undefined,\n\t);\n}\n\nfunction validateSpec(spec: ChainEventFilterSpec): void {\n\tfor (const [key, value] of specEntries(spec)) {\n\t\tif (PRINCIPAL_FIELDS.has(key)) {\n\t\t\tassertPrincipalish(key, value as string);\n\t\t} else if (key === \"assetIdentifier\") {\n\t\t\tassertAssetIdentifier(key, value as string);\n\t\t} else if (key === \"contractId\") {\n\t\t\t// A contract SET validates member-wise — one bad id in a router+pools\n\t\t\t// list must fail as loudly as a bad single id.\n\t\t\tfor (const id of Array.isArray(value) ? value : [value]) {\n\t\t\t\tassertContractId(key, id as string);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/** Throw for a field the target surface cannot express — dropping it would\n * silently widen the match, which is the exact bug this module exists to\n * kill. Names the surface that CAN express it. */\nfunction unsupported(surface: string, field: string, hint: string): never {\n\tthrow new Error(\n\t\t`${field} cannot be expressed on ${surface} — ${hint}. Drop the field from the filter or use the surface that supports it.`,\n\t);\n}\n\nfunction assertNoWildcards(surface: string, spec: ChainEventFilterSpec): void {\n\tfor (const [key, value] of specEntries(spec)) {\n\t\t// Arrays too: a wildcard inside a contractId set would otherwise reach\n\t\t// the wire as a literal `IN ('SP….pool-*')` — the silent zero-row match\n\t\t// this module exists to kill.\n\t\tconst candidates = Array.isArray(value) ? value : [value];\n\t\tfor (const candidate of candidates) {\n\t\t\tif (typeof candidate === \"string\" && hasWildcard(candidate)) {\n\t\t\t\tunsupported(\n\t\t\t\t\tsurface,\n\t\t\t\t\t`${key} wildcard \"${candidate}\"`,\n\t\t\t\t\t\"wildcard patterns are Webhooks/Subgraphs-only\",\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/** The Index API treats `trait` and `contractId` as mutually exclusive (a\n * trait already resolves to a contract set). Throw here, naming the fix,\n * instead of letting the pair reach the server as a 400. Subgraphs AND them\n * — that surface accepts both. */\nfunction assertNotTraitAndContract(\n\tsurface: string,\n\tspec: ChainEventFilterSpec,\n): void {\n\tconst trait = \"trait\" in spec ? spec.trait : undefined;\n\tconst contract = \"contractId\" in spec ? spec.contractId : undefined;\n\tif (trait !== undefined && contract !== undefined) {\n\t\tunsupported(\n\t\t\tsurface,\n\t\t\t\"trait with contractId\",\n\t\t\t\"the Index treats them as mutually exclusive — drop one, or use a subgraph source, which ANDs the pair\",\n\t\t);\n\t}\n}\n\n// ── Projections ──────────────────────────────────────────────────────────\n\nfunction toChainTrigger(spec: ChainEventFilterSpec): ChainTriggerShape {\n\tconst out: Record<string, string | number> = {};\n\tfor (const [key, value] of specEntries(spec)) {\n\t\tif (DECORATIVE_FIELDS.has(key)) continue;\n\t\tif (key === \"factory\") {\n\t\t\tunsupported(\n\t\t\t\t\"Webhooks\",\n\t\t\t\t\"factory\",\n\t\t\t\t\"dynamic factory discovery is a Subgraphs-only concept — a trigger targets addresses known when it is created\",\n\t\t\t);\n\t\t}\n\t\tif (Array.isArray(value)) {\n\t\t\t// One trigger, one contract: silently taking the first would watch\n\t\t\t// a fraction of what the filter says. Create one subscription per\n\t\t\t// contract instead.\n\t\t\tunsupported(\n\t\t\t\t\"Webhooks\",\n\t\t\t\t`${key} set`,\n\t\t\t\t\"a chain trigger targets ONE contract — create one subscription per contract, or use Index/Subgraphs which accept the set\",\n\t\t\t);\n\t\t}\n\t\t// The one sanctioned bigint→string boundary.\n\t\tout[key] =\n\t\t\ttypeof value === \"bigint\" ? value.toString() : (value as string | number);\n\t}\n\treturn { type: spec.type, ...out };\n}\n\nfunction toIndexParams(\n\tspec: ChainEventFilterSpec,\n\textra: Record<string, unknown> = {},\n): IndexEventsParamsShape {\n\tassertNoWildcards(\"Index events\", spec);\n\tassertNotTraitAndContract(\"Index events\", spec);\n\tconst out: Record<string, unknown> = {\n\t\teventType: spec.type === \"print_event\" ? \"print\" : spec.type,\n\t};\n\tfor (const [key, value] of specEntries(spec)) {\n\t\tif (DECORATIVE_FIELDS.has(key)) continue;\n\t\tif (key === \"factory\") {\n\t\t\tunsupported(\n\t\t\t\t\"Index events\",\n\t\t\t\t\"factory\",\n\t\t\t\t\"dynamic factory discovery is a Subgraphs-only concept\",\n\t\t\t);\n\t\t}\n\t\tif (AMOUNT_FIELDS.has(key)) {\n\t\t\tunsupported(\n\t\t\t\t\"Index events\",\n\t\t\t\tkey,\n\t\t\t\t\"amount predicates are Webhooks/Subgraphs-only; filter client-side on the decoded rows\",\n\t\t\t);\n\t\t}\n\t\tif (key === \"topic\" || key === \"where\") {\n\t\t\tunsupported(\n\t\t\t\t\"Index events\",\n\t\t\t\tkey,\n\t\t\t\t\"print field matching is Subgraphs/Webhooks-only (or read the contract's print feed and filter the decoded rows)\",\n\t\t\t);\n\t\t}\n\t\tif (key === \"lockedAddress\") {\n\t\t\t// Index normalizes stx_lock's locked_address INTO the `sender` column\n\t\t\t// (the row's sender IS the locked address) — a rename, not a gap.\n\t\t\tout.sender = value;\n\t\t\tcontinue;\n\t\t}\n\t\tif (key === \"caller\" && spec.type !== \"nested_contract_call\") {\n\t\t\tunsupported(\n\t\t\t\t\"Index events\",\n\t\t\t\t\"caller\",\n\t\t\t\t\"outer contract-call fields live on index.contractCalls\",\n\t\t\t);\n\t\t}\n\t\tout[key] = value;\n\t}\n\treturn { ...out, ...extra } as IndexEventsParamsShape;\n}\n\nconst VM_MEMBERS = new Set<ChainEventFilterType>([\n\t\"nested_contract_call\",\n\t\"var_set\",\n\t\"map_set\",\n\t\"map_insert\",\n\t\"map_delete\",\n]);\n\nconst VM_INDEX_ONLY_FIELDS = new Set([\n\t\"functionName\",\n\t\"caller\",\n\t\"sender\",\n\t\"map\",\n\t\"varName\",\n]);\n\nfunction toStreamsParams(\n\tspec: ChainEventFilterSpec,\n\textra: Record<string, unknown> = {},\n): StreamsParamsShape | StreamsVmParamsShape {\n\tassertNoWildcards(\"Streams\", spec);\n\tconst out: Record<string, unknown> = {\n\t\ttypes: [spec.type === \"print_event\" ? \"print\" : spec.type],\n\t};\n\tconst isVm = VM_MEMBERS.has(spec.type);\n\tif (isVm) out.clock = \"vm\";\n\tfor (const [key, value] of specEntries(spec)) {\n\t\tif (DECORATIVE_FIELDS.has(key)) continue;\n\t\t// Streams clock=vm has no payload predicates beyond contract_id (the\n\t\t// server rejects sender on clock=vm; function/map/var live on Index).\n\t\tif (isVm && VM_INDEX_ONLY_FIELDS.has(key)) {\n\t\t\tunsupported(\n\t\t\t\t\"Streams\",\n\t\t\t\tkey,\n\t\t\t\t\"vm payload predicates are Index/Subgraphs/Subscriptions-only; Streams clock=vm narrows by types and contractId\",\n\t\t\t);\n\t\t}\n\t\tif (key === \"factory\") {\n\t\t\tunsupported(\n\t\t\t\t\"Streams\",\n\t\t\t\t\"factory\",\n\t\t\t\t\"dynamic factory discovery is a Subgraphs-only concept\",\n\t\t\t);\n\t\t}\n\t\tif (AMOUNT_FIELDS.has(key)) {\n\t\t\tunsupported(\n\t\t\t\t\"Streams\",\n\t\t\t\tkey,\n\t\t\t\t\"amount predicates are Webhooks/Subgraphs-only\",\n\t\t\t);\n\t\t}\n\t\tif (key === \"trait\") {\n\t\t\tunsupported(\n\t\t\t\t\"Streams\",\n\t\t\t\t\"trait\",\n\t\t\t\t\"Streams has no trait resolution — Index and Subgraphs do\",\n\t\t\t);\n\t\t}\n\t\tif (key === \"topic\" || key === \"where\") {\n\t\t\tunsupported(\n\t\t\t\t\"Streams\",\n\t\t\t\tkey,\n\t\t\t\t\"print field matching is Subgraphs/Webhooks-only\",\n\t\t\t);\n\t\t}\n\t\tif (key === \"lockedAddress\") {\n\t\t\tunsupported(\n\t\t\t\t\"Streams\",\n\t\t\t\t\"lockedAddress\",\n\t\t\t\t\"stx_lock address filtering is Webhooks/Subgraphs-only\",\n\t\t\t);\n\t\t}\n\t\tout[key] = value;\n\t}\n\treturn { ...out, ...extra } as StreamsParamsShape | StreamsVmParamsShape;\n}\n\nfunction toContractCallsParams(\n\tspec: ChainEventFilterSpec,\n\textra: Record<string, unknown> = {},\n): ContractCallsParamsShape {\n\tassertNoWildcards(\"Index contract-calls\", spec);\n\tassertNotTraitAndContract(\"Index contract-calls\", spec);\n\tconst out: Record<string, unknown> = {};\n\tfor (const [key, value] of specEntries(spec)) {\n\t\tif (DECORATIVE_FIELDS.has(key)) continue;\n\t\tif (key === \"factory\") {\n\t\t\tunsupported(\n\t\t\t\t\"Index contract-calls\",\n\t\t\t\t\"factory\",\n\t\t\t\t\"dynamic factory discovery is a Subgraphs-only concept\",\n\t\t\t);\n\t\t}\n\t\tif (key === \"caller\") {\n\t\t\t// The endpoint filters by tx sender, which IS the caller — a rename,\n\t\t\t// not a gap.\n\t\t\tout.sender = value;\n\t\t\tcontinue;\n\t\t}\n\t\tout[key] = value;\n\t}\n\treturn { ...out, ...extra } as ContractCallsParamsShape;\n}\n\nfunction toSubgraphSource(spec: ChainEventFilterSpec): ChainEventFilterSpec {\n\t// The spec IS the subgraph source shape (camelCase, bigint amounts,\n\t// literal prints/abi preserved). Strip the projection methods by copying\n\t// data fields only.\n\treturn Object.fromEntries([\n\t\t[\"type\", spec.type],\n\t\t...specEntries(spec),\n\t]) as unknown as ChainEventFilterSpec;\n}\n\n// ── Factory ──────────────────────────────────────────────────────────────\n\nconst DECODED_MEMBERS = new Set<ChainEventFilterType>([\n\t\"stx_transfer\",\n\t\"stx_mint\",\n\t\"stx_burn\",\n\t\"stx_lock\",\n\t\"ft_transfer\",\n\t\"ft_mint\",\n\t\"ft_burn\",\n\t\"nft_transfer\",\n\t\"nft_mint\",\n\t\"nft_burn\",\n\t\"print_event\",\n]);\n\n/**\n * Builds a canonical filter from a member type and its fields.\n *\n * It validates the spec and attaches the projections its member supports.\n * Methods are attached per member at runtime, matching the type-level gating\n * exactly. `const F` preserves field literals, so a `prints` or `abi`\n * declaration keeps its exact type through `toSubgraphSource()`, which is what\n * feeds `defineSubgraph` narrowing.\n */\nexport function makeChainEventFilter<\n\tT extends ChainEventFilterType,\n\tconst F extends Omit<SpecFor<T>, \"type\">,\n>(type: T, fields: F): ChainEventFilter<T, { type: T } & F> {\n\tconst spec = { type, ...fields } as unknown as SpecFor<T>;\n\tvalidateSpec(spec);\n\n\tconst filter = { ...spec } as unknown as Record<string, unknown>;\n\tfilter.toChainTrigger = () => toChainTrigger(spec);\n\tif (DECODED_MEMBERS.has(type) || VM_MEMBERS.has(type)) {\n\t\tfilter.toIndexParams = (extra?: Record<string, unknown>) =>\n\t\t\ttoIndexParams(spec, extra);\n\t\tfilter.toStreamsParams = (extra?: Record<string, unknown>) =>\n\t\t\ttoStreamsParams(spec, extra);\n\t}\n\tif (type === \"contract_call\") {\n\t\tfilter.toContractCallsParams = (extra?: Record<string, unknown>) =>\n\t\t\ttoContractCallsParams(spec, extra);\n\t}\n\tif (!type.startsWith(\"sbtc_\")) {\n\t\tfilter.toSubgraphSource = () => toSubgraphSource(spec);\n\t}\n\treturn filter as unknown as ChainEventFilter<T, { type: T } & F>;\n}\n\n/**\n * Rebuilds a canonical filter from a subgraph source object.\n *\n * It is the inverse of `toSubgraphSource`. It powers migration and the\n * round-trip property gate: `toSubgraphSource(fromSubgraphSource(f))` must\n * deep-equal `f` for every production subgraph source.\n */\nexport function fromSubgraphSource(\n\tsource: SubgraphSourceSpec,\n): ChainEventFilter<SubgraphMemberType> {\n\tconst { type, ...fields } = source;\n\treturn makeChainEventFilter(\n\t\ttype,\n\t\tfields as Omit<SpecFor<typeof type>, \"type\">,\n\t) as unknown as ChainEventFilter<SubgraphMemberType>;\n}\n\n/** The fields a filter factory takes for one event type, without `type`. */\ntype Fields<T extends ChainEventFilterType> = Omit<SpecFor<T>, \"type\">;\n\n/** The `on.*` namespace, annotated explicitly — bunup's dts emitter needs an\n * annotation on exported values (an inferred object of generic factories\n * collapses to `{}` in the emitted declarations). */\nexport interface OnNamespace {\n\t/**\n\t * Matches STX transfers.\n\t *\n\t * @param fields The members of {@link StxTransferSpec}, without `type`.\n\t */\n\tstxTransfer(\n\t\tfields?: Fields<\"stx_transfer\">,\n\t): ChainEventFilter<\"stx_transfer\">;\n\t/**\n\t * Matches STX mints.\n\t *\n\t * @param fields The members of {@link StxMintSpec}, without `type`.\n\t */\n\tstxMint(fields?: Fields<\"stx_mint\">): ChainEventFilter<\"stx_mint\">;\n\t/**\n\t * Matches STX burns.\n\t *\n\t * @param fields The members of {@link StxBurnSpec}, without `type`.\n\t */\n\tstxBurn(fields?: Fields<\"stx_burn\">): ChainEventFilter<\"stx_burn\">;\n\t/**\n\t * Matches STX lock events.\n\t *\n\t * @param fields The members of {@link StxLockSpec}, without `type`.\n\t */\n\tstxLock(fields?: Fields<\"stx_lock\">): ChainEventFilter<\"stx_lock\">;\n\t/**\n\t * Matches fungible token transfers.\n\t *\n\t * @param fields The members of {@link FtTransferSpec}, without `type`.\n\t */\n\tftTransfer(fields?: Fields<\"ft_transfer\">): ChainEventFilter<\"ft_transfer\">;\n\t/**\n\t * Matches fungible token mints.\n\t *\n\t * @param fields The members of {@link FtMintSpec}, without `type`.\n\t */\n\tftMint(fields?: Fields<\"ft_mint\">): ChainEventFilter<\"ft_mint\">;\n\t/**\n\t * Matches fungible token burns.\n\t *\n\t * @param fields The members of {@link FtBurnSpec}, without `type`.\n\t */\n\tftBurn(fields?: Fields<\"ft_burn\">): ChainEventFilter<\"ft_burn\">;\n\t/**\n\t * Matches NFT transfers.\n\t *\n\t * @param fields The members of {@link NftTransferSpec}, without `type`.\n\t */\n\tnftTransfer(\n\t\tfields?: Fields<\"nft_transfer\">,\n\t): ChainEventFilter<\"nft_transfer\">;\n\t/**\n\t * Matches NFT mints.\n\t *\n\t * @param fields The members of {@link NftMintSpec}, without `type`.\n\t */\n\tnftMint(fields?: Fields<\"nft_mint\">): ChainEventFilter<\"nft_mint\">;\n\t/**\n\t * Matches NFT burns.\n\t *\n\t * @param fields The members of {@link NftBurnSpec}, without `type`.\n\t */\n\tnftBurn(fields?: Fields<\"nft_burn\">): ChainEventFilter<\"nft_burn\">;\n\t/**\n\t * Matches contract calls.\n\t *\n\t * `abi` literals are preserved (`const A`), so `toSubgraphSource()` keeps\n\t * typing `event.input` inside `defineSubgraph`.\n\t *\n\t * @param fields The members of {@link ContractCallSpec}, without `type`.\n\t */\n\tcontractCall<const A extends AbiContract | undefined = undefined>(\n\t\tfields?: Omit<SpecFor<\"contract_call\">, \"type\" | \"abi\"> & { abi?: A },\n\t): ChainEventFilter<\n\t\t\"contract_call\",\n\t\t{ type: \"contract_call\" } & Omit<\n\t\t\tSpecFor<\"contract_call\">,\n\t\t\t\"type\" | \"abi\"\n\t\t> & {\n\t\t\t\tabi?: A;\n\t\t\t}\n\t>;\n\t/**\n\t * Matches contract deployments.\n\t *\n\t * @param fields The members of {@link ContractDeploySpec}, without `type`.\n\t */\n\tcontractDeploy(\n\t\tfields?: Fields<\"contract_deploy\">,\n\t): ChainEventFilter<\"contract_deploy\">;\n\t/**\n\t * Matches `print` events.\n\t *\n\t * The canonical member is `print_event`, as Subgraphs and Webhooks spell it;\n\t * `toIndexParams` and `toStreamsParams` project to `print`. `prints` literals\n\t * are preserved (`const P`), so `event.data` narrows per topic.\n\t *\n\t * @param fields The members of {@link PrintEventSpec}, without `type`.\n\t */\n\tprint<\n\t\tconst P extends\n\t\t\t| Record<string, Record<string, PrintFieldType>>\n\t\t\t| undefined = undefined,\n\t>(\n\t\tfields?: Omit<SpecFor<\"print_event\">, \"type\" | \"prints\"> & { prints?: P },\n\t): ChainEventFilter<\n\t\t\"print_event\",\n\t\t{ type: \"print_event\" } & Omit<\n\t\t\tSpecFor<\"print_event\">,\n\t\t\t\"type\" | \"prints\"\n\t\t> & {\n\t\t\t\tprints?: P;\n\t\t\t}\n\t>;\n\t/**\n\t * Matches contract calls made from inside another contract.\n\t *\n\t * @param fields The members of {@link NestedContractCallSpec}, without `type`.\n\t */\n\tnestedCall(\n\t\tfields?: Fields<\"nested_contract_call\">,\n\t): ChainEventFilter<\"nested_contract_call\">;\n\t/**\n\t * Matches data variable writes.\n\t *\n\t * @param fields The members of {@link VarSetSpec}, without `type`.\n\t */\n\tvarSet(fields?: Fields<\"var_set\">): ChainEventFilter<\"var_set\">;\n\t/**\n\t * Matches `map-set` writes.\n\t *\n\t * @param fields The members of {@link MapSetSpec}, without `type`.\n\t */\n\tmapSet(fields?: Fields<\"map_set\">): ChainEventFilter<\"map_set\">;\n\t/**\n\t * Matches `map-insert` writes.\n\t *\n\t * @param fields The members of {@link MapInsertSpec}, without `type`.\n\t */\n\tmapInsert(fields?: Fields<\"map_insert\">): ChainEventFilter<\"map_insert\">;\n\t/**\n\t * Matches `map-delete` writes.\n\t *\n\t * @param fields The members of {@link MapDeleteSpec}, without `type`.\n\t */\n\tmapDelete(fields?: Fields<\"map_delete\">): ChainEventFilter<\"map_delete\">;\n\t/**\n\t * Matches sBTC deposits.\n\t *\n\t * Webhooks only: it has no Index, Streams or subgraph projection.\n\t *\n\t * @param fields The members of {@link SbtcDepositSpec}, without `type`.\n\t */\n\tsbtcDeposit(\n\t\tfields?: Fields<\"sbtc_deposit\">,\n\t): ChainEventFilter<\"sbtc_deposit\">;\n\t/**\n\t * Matches sBTC withdrawal requests.\n\t *\n\t * Webhooks only: it has no Index, Streams or subgraph projection.\n\t *\n\t * @param fields The members of {@link SbtcWithdrawalCreateSpec}, without `type`.\n\t */\n\tsbtcWithdrawalCreate(\n\t\tfields?: Fields<\"sbtc_withdrawal_create\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_create\">;\n\t/**\n\t * Matches accepted sBTC withdrawals.\n\t *\n\t * Webhooks only: it has no Index, Streams or subgraph projection.\n\t *\n\t * @param fields The members of {@link SbtcWithdrawalAcceptSpec}, without `type`.\n\t */\n\tsbtcWithdrawalAccept(\n\t\tfields?: Fields<\"sbtc_withdrawal_accept\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_accept\">;\n\t/**\n\t * Matches rejected sBTC withdrawals.\n\t *\n\t * Webhooks only: it has no Index, Streams or subgraph projection.\n\t *\n\t * @param fields The members of {@link SbtcWithdrawalRejectSpec}, without `type`.\n\t */\n\tsbtcWithdrawalReject(\n\t\tfields?: Fields<\"sbtc_withdrawal_reject\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_reject\">;\n\t/**\n\t * Matches sBTC withdrawals whose sweep has confirmed.\n\t *\n\t * Webhooks only: it has no Index, Streams or subgraph projection.\n\t *\n\t * @param fields The members of {@link SbtcWithdrawalSweptConfirmedSpec}, without `type`.\n\t */\n\tsbtcWithdrawalSweptConfirmed(\n\t\tfields?: Fields<\"sbtc_withdrawal_swept_confirmed\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_swept_confirmed\">;\n}\n\n/**\n * `on.*` — one filter vocabulary for every surface.\n *\n * ```ts\n * import { on } from \"@secondlayer/stacks/filters\";\n *\n * const usdc = on.ftTransfer({ assetIdentifier: USDC, minAmount: 1_000_000n });\n *\n * sl.index.events.list(usdc.toIndexParams({ limit: 100 })); // pull\n * sl.streams.events.consume({ ...usdc.toStreamsParams(), onBatch });\n * sl.webhooks.create({ name, url, triggers: [usdc.toChainTrigger()] });\n * defineSubgraph({ sources: { usdc: usdc.toSubgraphSource() }, schema, handlers });\n * ```\n *\n * A surface a member can't reach is a missing method (compile error), and a\n * field a surface can't express throws at projection time — never a silent\n * zero-row or over-wide match.\n */\nexport const on: OnNamespace = {\n\tstxTransfer: (fields: Fields<\"stx_transfer\"> = {}) =>\n\t\tmakeChainEventFilter(\"stx_transfer\", fields),\n\tstxMint: (fields: Fields<\"stx_mint\"> = {}) =>\n\t\tmakeChainEventFilter(\"stx_mint\", fields),\n\tstxBurn: (fields: Fields<\"stx_burn\"> = {}) =>\n\t\tmakeChainEventFilter(\"stx_burn\", fields),\n\tstxLock: (fields: Fields<\"stx_lock\"> = {}) =>\n\t\tmakeChainEventFilter(\"stx_lock\", fields),\n\tftTransfer: (fields: Fields<\"ft_transfer\"> = {}) =>\n\t\tmakeChainEventFilter(\"ft_transfer\", fields),\n\tftMint: (fields: Fields<\"ft_mint\"> = {}) =>\n\t\tmakeChainEventFilter(\"ft_mint\", fields),\n\tftBurn: (fields: Fields<\"ft_burn\"> = {}) =>\n\t\tmakeChainEventFilter(\"ft_burn\", fields),\n\tnftTransfer: (fields: Fields<\"nft_transfer\"> = {}) =>\n\t\tmakeChainEventFilter(\"nft_transfer\", fields),\n\tnftMint: (fields: Fields<\"nft_mint\"> = {}) =>\n\t\tmakeChainEventFilter(\"nft_mint\", fields),\n\tnftBurn: (fields: Fields<\"nft_burn\"> = {}) =>\n\t\tmakeChainEventFilter(\"nft_burn\", fields),\n\tcontractCall: <const A extends AbiContract | undefined = undefined>(\n\t\tfields: Omit<SpecFor<\"contract_call\">, \"type\" | \"abi\"> & { abi?: A } = {},\n\t) => makeChainEventFilter(\"contract_call\", fields),\n\tcontractDeploy: (fields: Fields<\"contract_deploy\"> = {}) =>\n\t\tmakeChainEventFilter(\"contract_deploy\", fields),\n\t/** Canonical member is `print_event` (as Subgraphs and Webhooks spell\n\t * it); `toIndexParams`/`toStreamsParams` project to `print`. */\n\tprint: <\n\t\tconst P extends\n\t\t\t| Record<string, Record<string, PrintFieldType>>\n\t\t\t| undefined = undefined,\n\t>(\n\t\tfields: Omit<SpecFor<\"print_event\">, \"type\" | \"prints\"> & {\n\t\t\tprints?: P;\n\t\t} = {},\n\t) => makeChainEventFilter(\"print_event\", fields),\n\tnestedCall: (fields: Fields<\"nested_contract_call\"> = {}) =>\n\t\tmakeChainEventFilter(\"nested_contract_call\", fields),\n\tvarSet: (fields: Fields<\"var_set\"> = {}) =>\n\t\tmakeChainEventFilter(\"var_set\", fields),\n\tmapSet: (fields: Fields<\"map_set\"> = {}) =>\n\t\tmakeChainEventFilter(\"map_set\", fields),\n\tmapInsert: (fields: Fields<\"map_insert\"> = {}) =>\n\t\tmakeChainEventFilter(\"map_insert\", fields),\n\tmapDelete: (fields: Fields<\"map_delete\"> = {}) =>\n\t\tmakeChainEventFilter(\"map_delete\", fields),\n\tsbtcDeposit: (fields: Fields<\"sbtc_deposit\"> = {}) =>\n\t\tmakeChainEventFilter(\"sbtc_deposit\", fields),\n\tsbtcWithdrawalCreate: (fields: Fields<\"sbtc_withdrawal_create\"> = {}) =>\n\t\tmakeChainEventFilter(\"sbtc_withdrawal_create\", fields),\n\tsbtcWithdrawalAccept: (fields: Fields<\"sbtc_withdrawal_accept\"> = {}) =>\n\t\tmakeChainEventFilter(\"sbtc_withdrawal_accept\", fields),\n\tsbtcWithdrawalReject: (fields: Fields<\"sbtc_withdrawal_reject\"> = {}) =>\n\t\tmakeChainEventFilter(\"sbtc_withdrawal_reject\", fields),\n\tsbtcWithdrawalSweptConfirmed: (\n\t\tfields: Fields<\"sbtc_withdrawal_swept_confirmed\"> = {},\n\t) => makeChainEventFilter(\"sbtc_withdrawal_swept_confirmed\", fields),\n};\n"
8
+ ],
9
+ "mappings": "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",
10
+ "debugId": "24E6C97F2709378864756E2164756E21",
11
+ "names": []
12
+ }
@@ -18,7 +18,7 @@ import {
18
18
  stringAsciiCV2,
19
19
  stringUtf8CV2,
20
20
  Cl2
21
- } from "./stacks-esm-hkw1kvd4.js";
21
+ } from "./stacks-esm-gs60rd15.js";
22
22
  // src/clarity/abi/guards.ts
23
23
  function isUint1282(value) {
24
24
  return typeof value === "bigint" && value >= 0n && value <= MAX_U1282;
@@ -287,4 +287,4 @@ function clarityValueToJSInner(abiType, cv) {
287
287
  export { isUint1282, isInt1282, isBool2, isPrincipal3, isStandardPrincipal2, isContractPrincipal2, isTraitReference2, isString2, isUint8Array2, isArray2, isOptional2, isOkResponse2, isErrResponse2, isResponse2, isAbiList2, isAbiTuple2, isAbiOptional2, isAbiResponse2, isAbiBuffer2, isAbiStringAscii2, isAbiStringUtf82, isAbiTraitReference2, toCamelCase2, isClarityValue2, jsToClarityValue2, clarityValueToJS2, clarityValueToJSUntyped2 };
288
288
 
289
289
  //# debugId=24A34C3ABD1FC51B64756E2164756E21
290
- //# sourceMappingURL=stacks-esm-a20wyky3.js.map
290
+ //# sourceMappingURL=stacks-esm-896kv9yv.js.map
@@ -13,14 +13,14 @@ import {
13
13
  serializeCVBytes2,
14
14
  Cl2,
15
15
  deserializeCVBytes2
16
- } from "./stacks-esm-hkw1kvd4.js";
16
+ } from "./stacks-esm-gs60rd15.js";
17
17
  import {
18
18
  AuthType2,
19
19
  PayloadType2,
20
20
  AddressHashMode2,
21
21
  serializeTransactionHex2,
22
22
  deserializeTransaction2
23
- } from "./stacks-esm-p3zypwsw.js";
23
+ } from "./stacks-esm-zwbhghxb.js";
24
24
  import {
25
25
  createSingleSigSpendingCondition2,
26
26
  signMultiSigWithAccount2,
@@ -28,10 +28,10 @@ import {
28
28
  buildContractDeploy2,
29
29
  signTransactionWithAccount2,
30
30
  signSponsorWithAccount2
31
- } from "./stacks-esm-pq0e379d.js";
31
+ } from "./stacks-esm-hv11fdgy.js";
32
32
  import {
33
33
  structuredDataHash2
34
- } from "./stacks-esm-tdrdye4y.js";
34
+ } from "./stacks-esm-4ja7b0px.js";
35
35
  import {
36
36
  estimateFee2,
37
37
  HttpRequestError2,
@@ -43,10 +43,10 @@ import {
43
43
  resolveFee2,
44
44
  setUnsignedFee,
45
45
  assertNoFeeTierForProvider
46
- } from "./stacks-esm-xcd4sv1h.js";
46
+ } from "./stacks-esm-hcjqgrtm.js";
47
47
  import {
48
48
  MalformedResponseError2
49
- } from "./stacks-esm-0pc6tmf0.js";
49
+ } from "./stacks-esm-x8gjr2v6.js";
50
50
  import {
51
51
  BaseError2
52
52
  } from "./stacks-esm-7v18h5dk.js";
@@ -388,4 +388,4 @@ async function transferStx2(client, params) {
388
388
  export { getAccountHistory2, getAccountInfo2, getBlock2, getContractAbi2, getContractSource2, getMempoolStats2, getNftHoldings2, getRawBlock2, SimulationError2, simulateCall2, simulateTransaction2, deployContract2, signMessage2, signTransactionAction2, sponsorTransaction2, transferStx2 };
389
389
 
390
390
  //# debugId=A9516B8833B4AB8564756E2164756E21
391
- //# sourceMappingURL=stacks-esm-exgw8j2j.js.map
391
+ //# sourceMappingURL=stacks-esm-bragecm9.js.map
@@ -277,11 +277,14 @@ function readCV(reader, depth = 0) {
277
277
  case "err":
278
278
  return responseErrorCV2(readCV(reader, depth + 1));
279
279
  case "address":
280
- return standardPrincipalCV2(readAddress(reader));
280
+ return { type: "address", value: readAddress(reader) };
281
281
  case "contract": {
282
282
  const addr = readAddress(reader);
283
283
  const name = readLPString(reader);
284
- return contractPrincipalCV2(addr, name);
284
+ if (new TextEncoder().encode(name).byteLength >= 128) {
285
+ throw new Error("Contract name must be less than 128 bytes");
286
+ }
287
+ return { type: "contract", value: `${addr}.${name}` };
285
288
  }
286
289
  case "list": {
287
290
  const len = reader.readUInt32BE();
@@ -434,5 +437,5 @@ var Cl2 = {
434
437
 
435
438
  export { ClarityWireType2, clarityTypeFromByte2, serializeCVBytes2, serializeCV2, TransactionError2, BroadcastError2, TransactionAbortedError2, TransactionDroppedError2, WaitForTransactionTimeoutError2, SerializationError2, SigningError2, BytesReader, intCV2, uintCV2, trueCV2, falseCV2, boolCV2, bufferCV2, standardPrincipalCV2, contractPrincipalCV2, noneCV2, someCV2, responseOkCV2, responseErrorCV2, listCV2, tupleCV2, stringAsciiCV2, stringUtf8CV2, Cl2, readAddress, readLPString, readCV, deserializeCVBytes2, deserializeCV2 };
436
439
 
437
- //# debugId=F04C39C74E1565FE64756E2164756E21
438
- //# sourceMappingURL=stacks-esm-hkw1kvd4.js.map
440
+ //# debugId=FE4491FE3884BCFC64756E2164756E21
441
+ //# sourceMappingURL=stacks-esm-gs60rd15.js.map
@@ -6,10 +6,10 @@
6
6
  "import { c32addressDecode } from \"../utils/c32.ts\";\nimport {\n\tasciiToBytes,\n\tbigIntToBytes,\n\tbytesToHex,\n\tconcatBytes,\n\thexToBytes,\n\tintToHex,\n\ttoTwos,\n\tutf8ToBytes,\n\twriteUInt32BE,\n} from \"../utils/encoding.ts\";\nimport {\n\ttype ClarityType,\n\ttype ClarityValue,\n\tClarityWireType,\n} from \"./types.ts\";\n\nconst CLARITY_INT_SIZE = 128n;\nconst CLARITY_INT_BYTE_SIZE = 16;\n\nfunction typeIdByte(type: ClarityType): number {\n\treturn ClarityWireType[type];\n}\n\nfunction withTypeId(type: ClarityType, bytes: Uint8Array): Uint8Array {\n\treturn concatBytes(new Uint8Array([typeIdByte(type)]), bytes);\n}\n\nfunction serializeAddress(c32Address: string): Uint8Array {\n\tconst [version, hash160] = c32addressDecode(c32Address);\n\treturn concatBytes(new Uint8Array([version]), hexToBytes(hash160));\n}\n\nfunction serializeLPString(str: string, prefixBytes = 1): Uint8Array {\n\tconst content = utf8ToBytes(str);\n\tconst lengthPrefix = hexToBytes(intToHex(content.byteLength, prefixBytes));\n\treturn concatBytes(lengthPrefix, content);\n}\n\nexport function serializeCVBytes(value: ClarityValue): Uint8Array {\n\tswitch (value.type) {\n\t\tcase \"true\":\n\t\tcase \"false\":\n\t\t\treturn new Uint8Array([typeIdByte(value.type)]);\n\n\t\tcase \"int\": {\n\t\t\tconst bytes = bigIntToBytes(\n\t\t\t\ttoTwos(BigInt(value.value), CLARITY_INT_SIZE),\n\t\t\t\tCLARITY_INT_BYTE_SIZE,\n\t\t\t);\n\t\t\treturn withTypeId(value.type, bytes);\n\t\t}\n\n\t\tcase \"uint\": {\n\t\t\tconst bytes = bigIntToBytes(BigInt(value.value), CLARITY_INT_BYTE_SIZE);\n\t\t\treturn withTypeId(value.type, bytes);\n\t\t}\n\n\t\tcase \"buffer\": {\n\t\t\tconst bufBytes = hexToBytes(value.value);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(writeUInt32BE(bufBytes.length), bufBytes),\n\t\t\t);\n\t\t}\n\n\t\tcase \"none\":\n\t\t\treturn new Uint8Array([typeIdByte(value.type)]);\n\n\t\tcase \"some\":\n\t\t\treturn withTypeId(value.type, serializeCVBytes(value.value));\n\n\t\tcase \"ok\":\n\t\tcase \"err\":\n\t\t\treturn withTypeId(value.type, serializeCVBytes(value.value));\n\n\t\tcase \"address\":\n\t\t\treturn withTypeId(value.type, serializeAddress(value.value));\n\n\t\tcase \"contract\": {\n\t\t\tconst [addr, name] = value.value.split(\".\");\n\t\t\tif (!addr || !name)\n\t\t\t\tthrow new Error(`Invalid contract principal: ${value.value}`);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(serializeAddress(addr), serializeLPString(name)),\n\t\t\t);\n\t\t}\n\n\t\tcase \"list\": {\n\t\t\tconst parts: Uint8Array[] = [writeUInt32BE(value.value.length)];\n\t\t\tfor (const item of value.value) {\n\t\t\t\tparts.push(serializeCVBytes(item));\n\t\t\t}\n\t\t\treturn withTypeId(value.type, concatBytes(...parts));\n\t\t}\n\n\t\tcase \"tuple\": {\n\t\t\t// Clarity orders tuple fields as a BTreeMap over the raw name bytes.\n\t\t\t// Code-unit comparison equals byte order for the ASCII name grammar;\n\t\t\t// localeCompare does not, and would change the SIP-018 hash.\n\t\t\tconst keys = Object.keys(value.value).sort((a, b) =>\n\t\t\t\ta < b ? -1 : a > b ? 1 : 0,\n\t\t\t);\n\t\t\tconst parts: Uint8Array[] = [writeUInt32BE(keys.length)];\n\t\t\tfor (const key of keys) {\n\t\t\t\tparts.push(serializeLPString(key));\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\tparts.push(serializeCVBytes(value.value[key]!));\n\t\t\t}\n\t\t\treturn withTypeId(value.type, concatBytes(...parts));\n\t\t}\n\n\t\tcase \"ascii\": {\n\t\t\tconst strBytes = asciiToBytes(value.value);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(writeUInt32BE(strBytes.length), strBytes),\n\t\t\t);\n\t\t}\n\n\t\tcase \"utf8\": {\n\t\t\tconst strBytes = utf8ToBytes(value.value);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(writeUInt32BE(strBytes.length), strBytes),\n\t\t\t);\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new Error(\"Cannot serialize unknown clarity type\");\n\t}\n}\n\nexport function serializeCV(value: ClarityValue): string {\n\treturn bytesToHex(serializeCVBytes(value));\n}\n",
7
7
  "import { BaseError } from \"./base.ts\";\n\nexport class TransactionError extends BaseError {\n\toverride name = \"TransactionError\";\n}\n\n/**\n * Rejection reasons a stacks-node returns from `POST /v2/transactions`.\n * Wire strings from stacks-core `MemPoolRejection::into_json`\n * (`stackslib/src/chainstate/stacks/db/blocks.rs`).\n */\nexport type TxRejectionReason =\n\t| \"Serialization\"\n\t| \"Deserialization\"\n\t| \"SignatureValidation\"\n\t| \"BadNonce\"\n\t| \"ConflictingNonceInMempool\"\n\t| \"TooMuchChaining\"\n\t| \"FeeTooLow\"\n\t| \"NotEnoughFunds\"\n\t| \"NoSuchContract\"\n\t| \"NoSuchPublicFunction\"\n\t| \"BadFunctionArgument\"\n\t| \"ContractAlreadyExists\"\n\t| \"BadTransactionVersion\"\n\t| \"TransferRecipientCannotEqualSender\"\n\t| \"TransferAmountMustBePositive\"\n\t| \"PoisonMicroblocksDoNotConflict\"\n\t| \"PoisonMicroblockHasUnknownPubKeyHash\"\n\t| \"PoisonMicroblockIsInvalid\"\n\t| \"BadAddressVersionByte\"\n\t| \"NoCoinbaseViaMempool\"\n\t| \"NoTenureChangeViaMempool\"\n\t| \"EstimatorError\"\n\t| \"TemporarilyBlacklisted\"\n\t| \"ServerFailureNoSuchChainTip\"\n\t| \"ServerFailureDatabase\"\n\t| \"ServerFailureOther\";\n\nexport class BroadcastError extends BaseError {\n\toverride name = \"BroadcastError\";\n\ttxid?: string;\n\t// `(string & {})` keeps forward-compat with reasons newer nodes may add\n\t// while preserving literal-union completions.\n\treason?: TxRejectionReason | (string & {});\n\t/** Node-provided detail; shape varies per reason (see stacks-core RPC docs). */\n\treasonData?: unknown;\n\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tcause?: Error;\n\t\t\ttxid?: string;\n\t\t\treason?: string;\n\t\t\treasonData?: unknown;\n\t\t},\n\t) {\n\t\tsuper(message, options);\n\t\tthis.txid = options?.txid;\n\t\tthis.reason = options?.reason;\n\t\tthis.reasonData = options?.reasonData;\n\t}\n}\n\n/** The transaction was mined but its execution aborted (runtime error or failed post-condition). */\nexport class TransactionAbortedError extends BaseError {\n\toverride name = \"TransactionAbortedError\";\n\t/** The abort receipt (status, block info, raw source response). */\n\treceipt: unknown;\n\n\tconstructor(message: string, options: { receipt: unknown; cause?: Error }) {\n\t\tsuper(message, options);\n\t\tthis.receipt = options.receipt;\n\t}\n}\n\n/** The transaction left the mempool without being mined (dropped/replaced). */\nexport class TransactionDroppedError extends BaseError {\n\toverride name = \"TransactionDroppedError\";\n\ttxid: string;\n\n\tconstructor(message: string, options: { txid: string; cause?: Error }) {\n\t\tsuper(message, options);\n\t\tthis.txid = options.txid;\n\t}\n}\n\n/** waitForTransactionReceipt gave up before the tx reached the requested state. */\nexport class WaitForTransactionTimeoutError extends BaseError {\n\toverride name = \"WaitForTransactionTimeoutError\";\n\ttxid: string;\n\n\tconstructor(message: string, options: { txid: string; cause?: Error }) {\n\t\tsuper(message, options);\n\t\tthis.txid = options.txid;\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
8
  "import { SerializationError } from \"../errors/transaction.ts\";\nimport { bytesToHex } from \"./encoding.ts\";\n\nexport class BytesReader {\n\tprivate data: Uint8Array;\n\tpublic offset = 0;\n\n\tconstructor(data: Uint8Array) {\n\t\tthis.data = data;\n\t}\n\n\t/** Bytes left after the cursor. */\n\tremaining(): number {\n\t\treturn this.data.length - this.offset;\n\t}\n\n\tprivate ensure(length: number): void {\n\t\tif (this.offset + length > this.data.length) {\n\t\t\tthrow new SerializationError(\n\t\t\t\t`Buffer underflow: need ${length} bytes at offset ${this.offset}, have ${this.data.length}`,\n\t\t\t);\n\t\t}\n\t}\n\n\treadUInt8(): number {\n\t\tthis.ensure(1);\n\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\treturn this.data[this.offset++]!;\n\t}\n\n\treadUInt16BE(): number {\n\t\tthis.ensure(2);\n\t\tconst val =\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t((this.data[this.offset]! << 8) | this.data[this.offset + 1]!) >>> 0;\n\t\tthis.offset += 2;\n\t\treturn val;\n\t}\n\n\treadUInt32BE(): number {\n\t\tthis.ensure(4);\n\t\tconst val =\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t((this.data[this.offset]! << 24) |\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t\t(this.data[this.offset + 1]! << 16) |\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t\t(this.data[this.offset + 2]! << 8) |\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t\tthis.data[this.offset + 3]!) >>>\n\t\t\t0;\n\t\tthis.offset += 4;\n\t\treturn val;\n\t}\n\n\treadBytes(length: number): Uint8Array {\n\t\tthis.ensure(length);\n\t\tconst slice = this.data.slice(this.offset, this.offset + length);\n\t\tthis.offset += length;\n\t\treturn slice;\n\t}\n\n\treadBigUInt64BE(): bigint {\n\t\tconst hex = bytesToHex(this.readBytes(8));\n\t\treturn hex.length > 0 ? BigInt(`0x${hex}`) : 0n;\n\t}\n}\n",
9
- "import { SerializationError } from \"../errors/transaction.ts\";\nimport { BytesReader } from \"../utils/bytes-reader.ts\";\nimport { c32address } from \"../utils/c32.ts\";\nimport {\n\tbytesToAscii,\n\tbytesToHex,\n\tbytesToTwosBigInt,\n\tbytesToUtf8,\n\thexToBytes,\n\twithout0x,\n} from \"../utils/encoding.ts\";\nimport { type ClarityValue, clarityTypeFromByte } from \"./types.ts\";\nimport {\n\tbufferCV,\n\tcontractPrincipalCV,\n\tfalseCV,\n\tintCV,\n\tlistCV,\n\tnoneCV,\n\tresponseErrorCV,\n\tresponseOkCV,\n\tsomeCV,\n\tstandardPrincipalCV,\n\tstringAsciiCV,\n\tstringUtf8CV,\n\ttrueCV,\n\ttupleCV,\n\tuintCV,\n} from \"./values.ts\";\n\nexport function readAddress(reader: BytesReader): string {\n\tconst version = reader.readUInt8();\n\tconst hash160 = bytesToHex(reader.readBytes(20));\n\treturn c32address(version, hash160);\n}\n\nexport function readLPString(reader: BytesReader, prefixBytes = 1): string {\n\tlet length = 0;\n\tfor (let i = 0; i < prefixBytes; i++) {\n\t\tlength = (length << 8) | reader.readUInt8();\n\t}\n\treturn bytesToUtf8(reader.readBytes(length));\n}\n\n/** Deepest nesting the deserializer follows before refusing the input. Clarity\n * itself caps value nesting far below this, so honest data never hits it;\n * hostile bytes that repeat `some`/`ok`/`list` would otherwise blow the stack. */\nexport const MAX_CV_DEPTH = 64;\n\n/** Every list item and tuple entry costs at least this many bytes on the wire\n * (a type byte, plus a name-length byte for tuple entries), so a declared\n * count that outruns the remaining bytes is corrupt before any allocation. */\nconst MIN_LIST_ITEM_BYTES = 1;\nconst MIN_TUPLE_ENTRY_BYTES = 2;\n\nfunction checkCount(reader: BytesReader, count: number, minBytes: number) {\n\tif (count * minBytes > reader.remaining()) {\n\t\tthrow new SerializationError(\n\t\t\t`Clarity value declares ${count} elements but only ${reader.remaining()} bytes remain`,\n\t\t);\n\t}\n}\n\nexport function readCV(reader: BytesReader, depth = 0): ClarityValue {\n\tif (depth > MAX_CV_DEPTH) {\n\t\tthrow new SerializationError(\n\t\t\t`Clarity value nests deeper than ${MAX_CV_DEPTH} levels`,\n\t\t);\n\t}\n\tconst typeByte = reader.readUInt8();\n\tconst type = clarityTypeFromByte(typeByte);\n\n\tswitch (type) {\n\t\tcase \"int\":\n\t\t\treturn intCV(bytesToTwosBigInt(reader.readBytes(16)));\n\n\t\tcase \"uint\":\n\t\t\treturn uintCV(reader.readBytes(16));\n\n\t\tcase \"true\":\n\t\t\treturn trueCV();\n\n\t\tcase \"false\":\n\t\t\treturn falseCV();\n\n\t\tcase \"buffer\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\treturn bufferCV(reader.readBytes(len));\n\t\t}\n\n\t\tcase \"none\":\n\t\t\treturn noneCV();\n\n\t\tcase \"some\":\n\t\t\treturn someCV(readCV(reader, depth + 1));\n\n\t\tcase \"ok\":\n\t\t\treturn responseOkCV(readCV(reader, depth + 1));\n\n\t\tcase \"err\":\n\t\t\treturn responseErrorCV(readCV(reader, depth + 1));\n\n\t\tcase \"address\":\n\t\t\treturn standardPrincipalCV(readAddress(reader));\n\n\t\tcase \"contract\": {\n\t\t\tconst addr = readAddress(reader);\n\t\t\tconst name = readLPString(reader);\n\t\t\treturn contractPrincipalCV(addr, name);\n\t\t}\n\n\t\tcase \"list\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\tcheckCount(reader, len, MIN_LIST_ITEM_BYTES);\n\t\t\tconst items: ClarityValue[] = [];\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\titems.push(readCV(reader, depth + 1));\n\t\t\t}\n\t\t\treturn listCV(items);\n\t\t}\n\n\t\tcase \"tuple\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\tcheckCount(reader, len, MIN_TUPLE_ENTRY_BYTES);\n\t\t\tconst data: Record<string, ClarityValue> = {};\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tconst key = readLPString(reader);\n\t\t\t\tdata[key] = readCV(reader, depth + 1);\n\t\t\t}\n\t\t\treturn tupleCV(data);\n\t\t}\n\n\t\tcase \"ascii\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\treturn stringAsciiCV(bytesToAscii(reader.readBytes(len)));\n\t\t}\n\n\t\tcase \"utf8\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\treturn stringUtf8CV(bytesToUtf8(reader.readBytes(len)));\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new SerializationError(\n\t\t\t\t`Cannot deserialize unknown clarity type: ${type}`,\n\t\t\t);\n\t}\n}\n\nexport function deserializeCVBytes<T extends ClarityValue = ClarityValue>(\n\tinput: Uint8Array | string,\n): T {\n\tconst bytes =\n\t\ttypeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n\treturn readCV(new BytesReader(bytes)) as T;\n}\n\nexport function deserializeCV<T extends ClarityValue = ClarityValue>(\n\tinput: Uint8Array | string,\n): T {\n\treturn deserializeCVBytes(input);\n}\n",
9
+ "import { SerializationError } from \"../errors/transaction.ts\";\nimport { BytesReader } from \"../utils/bytes-reader.ts\";\nimport { c32address } from \"../utils/c32.ts\";\nimport {\n\tbytesToAscii,\n\tbytesToHex,\n\tbytesToTwosBigInt,\n\tbytesToUtf8,\n\thexToBytes,\n\twithout0x,\n} from \"../utils/encoding.ts\";\nimport { type ClarityValue, clarityTypeFromByte } from \"./types.ts\";\nimport {\n\tbufferCV,\n\tfalseCV,\n\tintCV,\n\tlistCV,\n\tnoneCV,\n\tresponseErrorCV,\n\tresponseOkCV,\n\tsomeCV,\n\tstringAsciiCV,\n\tstringUtf8CV,\n\ttrueCV,\n\ttupleCV,\n\tuintCV,\n} from \"./values.ts\";\n\nexport function readAddress(reader: BytesReader): string {\n\tconst version = reader.readUInt8();\n\tconst hash160 = bytesToHex(reader.readBytes(20));\n\treturn c32address(version, hash160);\n}\n\nexport function readLPString(reader: BytesReader, prefixBytes = 1): string {\n\tlet length = 0;\n\tfor (let i = 0; i < prefixBytes; i++) {\n\t\tlength = (length << 8) | reader.readUInt8();\n\t}\n\treturn bytesToUtf8(reader.readBytes(length));\n}\n\n/** Deepest nesting the deserializer follows before refusing the input. Clarity\n * itself caps value nesting far below this, so honest data never hits it;\n * hostile bytes that repeat `some`/`ok`/`list` would otherwise blow the stack. */\nexport const MAX_CV_DEPTH = 64;\n\n/** Every list item and tuple entry costs at least this many bytes on the wire\n * (a type byte, plus a name-length byte for tuple entries), so a declared\n * count that outruns the remaining bytes is corrupt before any allocation. */\nconst MIN_LIST_ITEM_BYTES = 1;\nconst MIN_TUPLE_ENTRY_BYTES = 2;\n\nfunction checkCount(reader: BytesReader, count: number, minBytes: number) {\n\tif (count * minBytes > reader.remaining()) {\n\t\tthrow new SerializationError(\n\t\t\t`Clarity value declares ${count} elements but only ${reader.remaining()} bytes remain`,\n\t\t);\n\t}\n}\n\nexport function readCV(reader: BytesReader, depth = 0): ClarityValue {\n\tif (depth > MAX_CV_DEPTH) {\n\t\tthrow new SerializationError(\n\t\t\t`Clarity value nests deeper than ${MAX_CV_DEPTH} levels`,\n\t\t);\n\t}\n\tconst typeByte = reader.readUInt8();\n\tconst type = clarityTypeFromByte(typeByte);\n\n\tswitch (type) {\n\t\tcase \"int\":\n\t\t\treturn intCV(bytesToTwosBigInt(reader.readBytes(16)));\n\n\t\tcase \"uint\":\n\t\t\treturn uintCV(reader.readBytes(16));\n\n\t\tcase \"true\":\n\t\t\treturn trueCV();\n\n\t\tcase \"false\":\n\t\t\treturn falseCV();\n\n\t\tcase \"buffer\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\treturn bufferCV(reader.readBytes(len));\n\t\t}\n\n\t\tcase \"none\":\n\t\t\treturn noneCV();\n\n\t\tcase \"some\":\n\t\t\treturn someCV(readCV(reader, depth + 1));\n\n\t\tcase \"ok\":\n\t\t\treturn responseOkCV(readCV(reader, depth + 1));\n\n\t\tcase \"err\":\n\t\t\treturn responseErrorCV(readCV(reader, depth + 1));\n\n\t\t// readAddress c32-encodes canonical bytes, so the address is already\n\t\t// normalized. Building the CV directly skips the constructors'\n\t\t// decode→re-encode round trip (two more double-sha256 checksums per\n\t\t// principal), which dominated print decoding.\n\t\tcase \"address\":\n\t\t\treturn { type: \"address\", value: readAddress(reader) };\n\n\t\tcase \"contract\": {\n\t\t\tconst addr = readAddress(reader);\n\t\t\tconst name = readLPString(reader);\n\t\t\tif (new TextEncoder().encode(name).byteLength >= 128) {\n\t\t\t\tthrow new Error(\"Contract name must be less than 128 bytes\");\n\t\t\t}\n\t\t\treturn { type: \"contract\", value: `${addr}.${name}` };\n\t\t}\n\n\t\tcase \"list\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\tcheckCount(reader, len, MIN_LIST_ITEM_BYTES);\n\t\t\tconst items: ClarityValue[] = [];\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\titems.push(readCV(reader, depth + 1));\n\t\t\t}\n\t\t\treturn listCV(items);\n\t\t}\n\n\t\tcase \"tuple\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\tcheckCount(reader, len, MIN_TUPLE_ENTRY_BYTES);\n\t\t\tconst data: Record<string, ClarityValue> = {};\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tconst key = readLPString(reader);\n\t\t\t\tdata[key] = readCV(reader, depth + 1);\n\t\t\t}\n\t\t\treturn tupleCV(data);\n\t\t}\n\n\t\tcase \"ascii\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\treturn stringAsciiCV(bytesToAscii(reader.readBytes(len)));\n\t\t}\n\n\t\tcase \"utf8\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\treturn stringUtf8CV(bytesToUtf8(reader.readBytes(len)));\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new SerializationError(\n\t\t\t\t`Cannot deserialize unknown clarity type: ${type}`,\n\t\t\t);\n\t}\n}\n\nexport function deserializeCVBytes<T extends ClarityValue = ClarityValue>(\n\tinput: Uint8Array | string,\n): T {\n\tconst bytes =\n\t\ttypeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n\treturn readCV(new BytesReader(bytes)) as T;\n}\n\nexport function deserializeCV<T extends ClarityValue = ClarityValue>(\n\tinput: Uint8Array | string,\n): T {\n\treturn deserializeCVBytes(input);\n}\n",
10
10
  "import { isClarityName, parsePrincipal } from \"../utils/address.ts\";\nimport { c32address, c32addressDecode } from \"../utils/c32.ts\";\nimport {\n\ttype IntegerType,\n\tasciiToBytes,\n\tbytesToHex,\n\tbytesToTwosBigInt,\n\thexToBytes,\n\tintToBigInt,\n\tutf8ToBytes,\n} from \"../utils/encoding.ts\";\nimport { deserializeCVBytes } from \"./deserialize.ts\";\nimport { serializeCVBytes } from \"./serialize.ts\";\nimport type {\n\tBooleanCV,\n\tBufferCV,\n\tClarityValue,\n\tContractPrincipalCV,\n\tFalseCV,\n\tIntCV,\n\tListCV,\n\tNoneCV,\n\tResponseErrorCV,\n\tResponseOkCV,\n\tSomeCV,\n\tStandardPrincipalCV,\n\tStringAsciiCV,\n\tStringUtf8CV,\n\tTrueCV,\n\tTupleCV,\n\tTupleData,\n\tUIntCV,\n} from \"./types.ts\";\n\nconst MAX_U128 = BigInt(\"0xffffffffffffffffffffffffffffffff\");\nconst MIN_I128 = BigInt(\"-170141183460469231731687303715884105728\");\nconst MAX_I128 = BigInt(\"0x7fffffffffffffffffffffffffffffff\");\n\n// Primitives\n\nexport function intCV(value: IntegerType): IntCV {\n\tlet v: IntegerType = value;\n\tif (typeof v === \"string\" && v.toLowerCase().startsWith(\"0x\")) {\n\t\tv = bytesToTwosBigInt(hexToBytes(v));\n\t}\n\tif (v instanceof Uint8Array) v = bytesToTwosBigInt(v);\n\tconst n = intToBigInt(v);\n\tif (n > MAX_I128) throw new RangeError(`Int exceeds max i128: ${MAX_I128}`);\n\tif (n < MIN_I128) throw new RangeError(`Int below min i128: ${MIN_I128}`);\n\treturn { type: \"int\", value: n };\n}\n\nexport function uintCV(value: IntegerType): UIntCV {\n\tconst n = intToBigInt(value);\n\tif (n < 0n)\n\t\tthrow new RangeError(\"Cannot construct unsigned int from negative value\");\n\tif (n > MAX_U128) throw new RangeError(`UInt exceeds max u128: ${MAX_U128}`);\n\treturn { type: \"uint\", value: n };\n}\n\nexport const trueCV = (): TrueCV => ({ type: \"true\" });\nexport const falseCV = (): FalseCV => ({ type: \"false\" });\nexport const boolCV = (v: boolean): BooleanCV => (v ? trueCV() : falseCV());\n\nexport function bufferCV(buffer: Uint8Array): BufferCV {\n\tif (buffer.byteLength > 1_048_576) {\n\t\tthrow new Error(\"Buffer exceeds max size of 1MB\");\n\t}\n\treturn { type: \"buffer\", value: bytesToHex(buffer) };\n}\n\nexport function standardPrincipalCV(address: string): StandardPrincipalCV {\n\t// Validate by decoding\n\tconst [version, hash160] = c32addressDecode(address);\n\tconst normalized = c32address(version, hash160);\n\treturn { type: \"address\", value: normalized };\n}\n\nexport function contractPrincipalCV(\n\taddress: string,\n\tcontractName: string,\n): ContractPrincipalCV {\n\tconst [version, hash160] = c32addressDecode(address);\n\tconst normalized = c32address(version, hash160);\n\tif (utf8ToBytes(contractName).byteLength >= 128) {\n\t\tthrow new Error(\"Contract name must be less than 128 bytes\");\n\t}\n\treturn { type: \"contract\", value: `${normalized}.${contractName}` };\n}\n\nexport function noneCV(): NoneCV {\n\treturn { type: \"none\" };\n}\n\nexport function someCV(value: ClarityValue): SomeCV {\n\treturn { type: \"some\", value };\n}\n\nexport function responseOkCV(value: ClarityValue): ResponseOkCV {\n\treturn { type: \"ok\", value };\n}\n\nexport function responseErrorCV(value: ClarityValue): ResponseErrorCV {\n\treturn { type: \"err\", value };\n}\n\nexport function listCV(values: ClarityValue[]): ListCV {\n\treturn { type: \"list\", value: values };\n}\n\nexport function tupleCV(data: TupleData): TupleCV {\n\tfor (const key in data) {\n\t\tif (!isClarityName(key)) {\n\t\t\tthrow new Error(`\"${key}\" is not a valid Clarity name`);\n\t\t}\n\t}\n\treturn { type: \"tuple\", value: data };\n}\n\nexport function stringAsciiCV(value: string): StringAsciiCV {\n\treturn { type: \"ascii\", value };\n}\n\nexport function stringUtf8CV(value: string): StringUtf8CV {\n\treturn { type: \"utf8\", value };\n}\n\n// Cl namespace — clean API\n\nexport const Cl: {\n\treadonly int: (value: IntegerType) => IntCV;\n\treadonly uint: (value: IntegerType) => UIntCV;\n\treadonly bool: (v: boolean) => BooleanCV;\n\tprincipal(address: string): StandardPrincipalCV | ContractPrincipalCV;\n\taddress(address: string): StandardPrincipalCV | ContractPrincipalCV;\n\treadonly contractPrincipal: (\n\t\taddress: string,\n\t\tcontractName: string,\n\t) => ContractPrincipalCV;\n\treadonly standardPrincipal: (address: string) => StandardPrincipalCV;\n\treadonly buffer: (buffer: Uint8Array) => BufferCV;\n\treadonly bufferFromHex: (hex: string) => BufferCV;\n\treadonly bufferFromAscii: (ascii: string) => BufferCV;\n\treadonly bufferFromUtf8: (utf8: string) => BufferCV;\n\treadonly none: () => NoneCV;\n\treadonly some: (value: ClarityValue) => SomeCV;\n\treadonly ok: (value: ClarityValue) => ResponseOkCV;\n\treadonly error: (value: ClarityValue) => ResponseErrorCV;\n\treadonly list: (values: ClarityValue[]) => ListCV;\n\treadonly tuple: (data: TupleData) => TupleCV;\n\treadonly stringAscii: (value: string) => StringAsciiCV;\n\treadonly stringUtf8: (value: string) => StringUtf8CV;\n\tserialize(value: ClarityValue): string;\n\treadonly deserialize: (bytes: Uint8Array) => ClarityValue;\n} = {\n\tint: intCV,\n\tuint: uintCV,\n\tbool: boolCV,\n\tprincipal(address: string): StandardPrincipalCV | ContractPrincipalCV {\n\t\tconst parsed = parsePrincipal(address);\n\t\tif (!parsed) throw new Error(`Invalid principal: ${address}`);\n\t\treturn parsed.contractName\n\t\t\t? contractPrincipalCV(parsed.address, parsed.contractName)\n\t\t\t: standardPrincipalCV(parsed.address);\n\t},\n\taddress(address: string): StandardPrincipalCV | ContractPrincipalCV {\n\t\treturn Cl.principal(address);\n\t},\n\tcontractPrincipal: contractPrincipalCV,\n\tstandardPrincipal: standardPrincipalCV,\n\tbuffer: bufferCV,\n\tbufferFromHex: (hex: string): BufferCV => bufferCV(hexToBytes(hex)),\n\tbufferFromAscii: (ascii: string): BufferCV => bufferCV(asciiToBytes(ascii)),\n\tbufferFromUtf8: (utf8: string): BufferCV => bufferCV(utf8ToBytes(utf8)),\n\tnone: noneCV,\n\tsome: someCV,\n\tok: responseOkCV,\n\terror: responseErrorCV,\n\tlist: listCV,\n\ttuple: tupleCV,\n\tstringAscii: stringAsciiCV,\n\tstringUtf8: stringUtf8CV,\n\tserialize(value: ClarityValue): string {\n\t\treturn bytesToHex(serializeCVBytes(value));\n\t},\n\tdeserialize: deserializeCVBytes,\n} as const;\n"
11
11
  ],
12
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,IAAM,mBAAkB;AAAA,EAC9B,KAAK;AAAA,EACL,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AACP;AAGA,IAAM,oBAAoB,OAAO,YAChC,OAAO,QAAQ,gBAAe,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CACvD;AAEO,SAAS,oBAAmB,CAAC,MAA2B;AAAA,EAC9D,MAAM,OAAO,kBAAkB;AAAA,EAC/B,IAAI,CAAC;AAAA,IAAM,MAAM,IAAI,MAAM,8BAA8B,MAAM;AAAA,EAC/D,OAAO;AAAA;;;AC1BR,IAAM,mBAAmB;AACzB,IAAM,wBAAwB;AAE9B,SAAS,UAAU,CAAC,MAA2B;AAAA,EAC9C,OAAO,iBAAgB;AAAA;AAGxB,SAAS,UAAU,CAAC,MAAmB,OAA+B;AAAA,EACrE,OAAO,aAAY,IAAI,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK;AAAA;AAG7D,SAAS,gBAAgB,CAAC,YAAgC;AAAA,EACzD,OAAO,SAAS,WAAW,kBAAiB,UAAU;AAAA,EACtD,OAAO,aAAY,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,YAAW,OAAO,CAAC;AAAA;AAGlE,SAAS,iBAAiB,CAAC,KAAa,cAAc,GAAe;AAAA,EACpE,MAAM,UAAU,aAAY,GAAG;AAAA,EAC/B,MAAM,eAAe,YAAW,UAAS,QAAQ,YAAY,WAAW,CAAC;AAAA,EACzE,OAAO,aAAY,cAAc,OAAO;AAAA;AAGlC,SAAS,iBAAgB,CAAC,OAAiC;AAAA,EACjE,QAAQ,MAAM;AAAA,SACR;AAAA,SACA;AAAA,MACJ,OAAO,IAAI,WAAW,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC;AAAA,SAE1C,OAAO;AAAA,MACX,MAAM,QAAQ,eACb,QAAO,OAAO,MAAM,KAAK,GAAG,gBAAgB,GAC5C,qBACD;AAAA,MACA,OAAO,WAAW,MAAM,MAAM,KAAK;AAAA,IACpC;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,QAAQ,eAAc,OAAO,MAAM,KAAK,GAAG,qBAAqB;AAAA,MACtE,OAAO,WAAW,MAAM,MAAM,KAAK;AAAA,IACpC;AAAA,SAEK,UAAU;AAAA,MACd,MAAM,WAAW,YAAW,MAAM,KAAK;AAAA,MACvC,OAAO,WACN,MAAM,MACN,aAAY,eAAc,SAAS,MAAM,GAAG,QAAQ,CACrD;AAAA,IACD;AAAA,SAEK;AAAA,MACJ,OAAO,IAAI,WAAW,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC;AAAA,SAE1C;AAAA,MACJ,OAAO,WAAW,MAAM,MAAM,kBAAiB,MAAM,KAAK,CAAC;AAAA,SAEvD;AAAA,SACA;AAAA,MACJ,OAAO,WAAW,MAAM,MAAM,kBAAiB,MAAM,KAAK,CAAC;AAAA,SAEvD;AAAA,MACJ,OAAO,WAAW,MAAM,MAAM,iBAAiB,MAAM,KAAK,CAAC;AAAA,SAEvD,YAAY;AAAA,MAChB,OAAO,MAAM,QAAQ,MAAM,MAAM,MAAM,GAAG;AAAA,MAC1C,IAAI,CAAC,QAAQ,CAAC;AAAA,QACb,MAAM,IAAI,MAAM,+BAA+B,MAAM,OAAO;AAAA,MAC7D,OAAO,WACN,MAAM,MACN,aAAY,iBAAiB,IAAI,GAAG,kBAAkB,IAAI,CAAC,CAC5D;AAAA,IACD;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,QAAsB,CAAC,eAAc,MAAM,MAAM,MAAM,CAAC;AAAA,MAC9D,WAAW,QAAQ,MAAM,OAAO;AAAA,QAC/B,MAAM,KAAK,kBAAiB,IAAI,CAAC;AAAA,MAClC;AAAA,MACA,OAAO,WAAW,MAAM,MAAM,aAAY,GAAG,KAAK,CAAC;AAAA,IACpD;AAAA,SAEK,SAAS;AAAA,MAIb,MAAM,OAAO,OAAO,KAAK,MAAM,KAAK,EAAE,KAAK,CAAC,GAAG,MAC9C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAC1B;AAAA,MACA,MAAM,QAAsB,CAAC,eAAc,KAAK,MAAM,CAAC;AAAA,MACvD,WAAW,OAAO,MAAM;AAAA,QACvB,MAAM,KAAK,kBAAkB,GAAG,CAAC;AAAA,QAEjC,MAAM,KAAK,kBAAiB,MAAM,MAAM,IAAK,CAAC;AAAA,MAC/C;AAAA,MACA,OAAO,WAAW,MAAM,MAAM,aAAY,GAAG,KAAK,CAAC;AAAA,IACpD;AAAA,SAEK,SAAS;AAAA,MACb,MAAM,WAAW,cAAa,MAAM,KAAK;AAAA,MACzC,OAAO,WACN,MAAM,MACN,aAAY,eAAc,SAAS,MAAM,GAAG,QAAQ,CACrD;AAAA,IACD;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,WAAW,aAAY,MAAM,KAAK;AAAA,MACxC,OAAO,WACN,MAAM,MACN,aAAY,eAAc,SAAS,MAAM,GAAG,QAAQ,CACrD;AAAA,IACD;AAAA;AAAA,MAGC,MAAM,IAAI,MAAM,uCAAuC;AAAA;AAAA;AAInD,SAAS,YAAW,CAAC,OAA6B;AAAA,EACxD,OAAO,YAAW,kBAAiB,KAAK,CAAC;AAAA;;;ACtInC,MAAM,0BAAyB,WAAU;AAAA,EACtC,OAAO;AACjB;AAAA;AAmCO,MAAM,wBAAuB,WAAU;AAAA,EACpC,OAAO;AAAA,EAChB;AAAA,EAGA;AAAA,EAEA;AAAA,EAEA,WAAW,CACV,SACA,SAMC;AAAA,IACD,MAAM,SAAS,OAAO;AAAA,IACtB,KAAK,OAAO,SAAS;AAAA,IACrB,KAAK,SAAS,SAAS;AAAA,IACvB,KAAK,aAAa,SAAS;AAAA;AAE7B;AAAA;AAGO,MAAM,iCAAgC,WAAU;AAAA,EAC7C,OAAO;AAAA,EAEhB;AAAA,EAEA,WAAW,CAAC,SAAiB,SAA8C;AAAA,IAC1E,MAAM,SAAS,OAAO;AAAA,IACtB,KAAK,UAAU,QAAQ;AAAA;AAEzB;AAAA;AAGO,MAAM,iCAAgC,WAAU;AAAA,EAC7C,OAAO;AAAA,EAChB;AAAA,EAEA,WAAW,CAAC,SAAiB,SAA0C;AAAA,IACtE,MAAM,SAAS,OAAO;AAAA,IACtB,KAAK,OAAO,QAAQ;AAAA;AAEtB;AAAA;AAGO,MAAM,wCAAuC,WAAU;AAAA,EACpD,OAAO;AAAA,EAChB;AAAA,EAEA,WAAW,CAAC,SAAiB,SAA0C;AAAA,IACtE,MAAM,SAAS,OAAO;AAAA,IACtB,KAAK,OAAO,QAAQ;AAAA;AAEtB;AAAA;AAEO,MAAM,4BAA2B,WAAU;AAAA,EACxC,OAAO;AACjB;AAAA;AAEO,MAAM,sBAAqB,WAAU;AAAA,EAClC,OAAO;AACjB;;;ACrGO,MAAM,YAAY;AAAA,EAChB;AAAA,EACD,SAAS;AAAA,EAEhB,WAAW,CAAC,MAAkB;AAAA,IAC7B,KAAK,OAAO;AAAA;AAAA,EAIb,SAAS,GAAW;AAAA,IACnB,OAAO,KAAK,KAAK,SAAS,KAAK;AAAA;AAAA,EAGxB,MAAM,CAAC,QAAsB;AAAA,IACpC,IAAI,KAAK,SAAS,SAAS,KAAK,KAAK,QAAQ;AAAA,MAC5C,MAAM,IAAI,oBACT,0BAA0B,0BAA0B,KAAK,gBAAgB,KAAK,KAAK,QACpF;AAAA,IACD;AAAA;AAAA,EAGD,SAAS,GAAW;AAAA,IACnB,KAAK,OAAO,CAAC;AAAA,IAEb,OAAO,KAAK,KAAK,KAAK;AAAA;AAAA,EAGvB,YAAY,GAAW;AAAA,IACtB,KAAK,OAAO,CAAC;AAAA,IACb,MAAM,OAEH,KAAK,KAAK,KAAK,WAAY,IAAK,KAAK,KAAK,KAAK,SAAS,QAAS;AAAA,IACpE,KAAK,UAAU;AAAA,IACf,OAAO;AAAA;AAAA,EAGR,YAAY,GAAW;AAAA,IACtB,KAAK,OAAO,CAAC;AAAA,IACb,MAAM,OAEH,KAAK,KAAK,KAAK,WAAY,KAE3B,KAAK,KAAK,KAAK,SAAS,MAAO,KAE/B,KAAK,KAAK,KAAK,SAAS,MAAO,IAEhC,KAAK,KAAK,KAAK,SAAS,QACzB;AAAA,IACD,KAAK,UAAU;AAAA,IACf,OAAO;AAAA;AAAA,EAGR,SAAS,CAAC,QAA4B;AAAA,IACrC,KAAK,OAAO,MAAM;AAAA,IAClB,MAAM,QAAQ,KAAK,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,MAAM;AAAA,IAC/D,KAAK,UAAU;AAAA,IACf,OAAO;AAAA;AAAA,EAGR,eAAe,GAAW;AAAA,IACzB,MAAM,MAAM,YAAW,KAAK,UAAU,CAAC,CAAC;AAAA,IACxC,OAAO,IAAI,SAAS,IAAI,OAAO,KAAK,KAAK,IAAI;AAAA;AAE/C;;;ACpCO,SAAS,WAAW,CAAC,QAA6B;AAAA,EACxD,MAAM,UAAU,OAAO,UAAU;AAAA,EACjC,MAAM,UAAU,YAAW,OAAO,UAAU,EAAE,CAAC;AAAA,EAC/C,OAAO,YAAW,SAAS,OAAO;AAAA;AAG5B,SAAS,YAAY,CAAC,QAAqB,cAAc,GAAW;AAAA,EAC1E,IAAI,SAAS;AAAA,EACb,SAAS,IAAI,EAAG,IAAI,aAAa,KAAK;AAAA,IACrC,SAAU,UAAU,IAAK,OAAO,UAAU;AAAA,EAC3C;AAAA,EACA,OAAO,aAAY,OAAO,UAAU,MAAM,CAAC;AAAA;AAMrC,IAAM,eAAe;AAK5B,IAAM,sBAAsB;AAC5B,IAAM,wBAAwB;AAE9B,SAAS,UAAU,CAAC,QAAqB,OAAe,UAAkB;AAAA,EACzE,IAAI,QAAQ,WAAW,OAAO,UAAU,GAAG;AAAA,IAC1C,MAAM,IAAI,oBACT,0BAA0B,2BAA2B,OAAO,UAAU,gBACvE;AAAA,EACD;AAAA;AAGM,SAAS,MAAM,CAAC,QAAqB,QAAQ,GAAiB;AAAA,EACpE,IAAI,QAAQ,cAAc;AAAA,IACzB,MAAM,IAAI,oBACT,mCAAmC,qBACpC;AAAA,EACD;AAAA,EACA,MAAM,WAAW,OAAO,UAAU;AAAA,EAClC,MAAM,OAAO,qBAAoB,QAAQ;AAAA,EAEzC,QAAQ;AAAA,SACF;AAAA,MACJ,OAAO,OAAM,mBAAkB,OAAO,UAAU,EAAE,CAAC,CAAC;AAAA,SAEhD;AAAA,MACJ,OAAO,QAAO,OAAO,UAAU,EAAE,CAAC;AAAA,SAE9B;AAAA,MACJ,OAAO,QAAO;AAAA,SAEV;AAAA,MACJ,OAAO,SAAQ;AAAA,SAEX,UAAU;AAAA,MACd,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,OAAO,UAAS,OAAO,UAAU,GAAG,CAAC;AAAA,IACtC;AAAA,SAEK;AAAA,MACJ,OAAO,QAAO;AAAA,SAEV;AAAA,MACJ,OAAO,QAAO,OAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,SAEnC;AAAA,MACJ,OAAO,cAAa,OAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,SAEzC;AAAA,MACJ,OAAO,iBAAgB,OAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,SAE5C;AAAA,MACJ,OAAO,qBAAoB,YAAY,MAAM,CAAC;AAAA,SAE1C,YAAY;AAAA,MAChB,MAAM,OAAO,YAAY,MAAM;AAAA,MAC/B,MAAM,OAAO,aAAa,MAAM;AAAA,MAChC,OAAO,qBAAoB,MAAM,IAAI;AAAA,IACtC;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,WAAW,QAAQ,KAAK,mBAAmB;AAAA,MAC3C,MAAM,QAAwB,CAAC;AAAA,MAC/B,SAAS,IAAI,EAAG,IAAI,KAAK,KAAK;AAAA,QAC7B,MAAM,KAAK,OAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,MACrC;AAAA,MACA,OAAO,QAAO,KAAK;AAAA,IACpB;AAAA,SAEK,SAAS;AAAA,MACb,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,WAAW,QAAQ,KAAK,qBAAqB;AAAA,MAC7C,MAAM,OAAqC,CAAC;AAAA,MAC5C,SAAS,IAAI,EAAG,IAAI,KAAK,KAAK;AAAA,QAC7B,MAAM,MAAM,aAAa,MAAM;AAAA,QAC/B,KAAK,OAAO,OAAO,QAAQ,QAAQ,CAAC;AAAA,MACrC;AAAA,MACA,OAAO,SAAQ,IAAI;AAAA,IACpB;AAAA,SAEK,SAAS;AAAA,MACb,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,OAAO,eAAc,cAAa,OAAO,UAAU,GAAG,CAAC,CAAC;AAAA,IACzD;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,OAAO,cAAa,aAAY,OAAO,UAAU,GAAG,CAAC,CAAC;AAAA,IACvD;AAAA;AAAA,MAGC,MAAM,IAAI,oBACT,4CAA4C,MAC7C;AAAA;AAAA;AAII,SAAS,mBAAyD,CACxE,OACI;AAAA,EACJ,MAAM,QACL,OAAO,UAAU,WAAW,YAAW,WAAU,KAAK,CAAC,IAAI;AAAA,EAC5D,OAAO,OAAO,IAAI,YAAY,KAAK,CAAC;AAAA;AAG9B,SAAS,cAAoD,CACnE,OACI;AAAA,EACJ,OAAO,oBAAmB,KAAK;AAAA;;;AC9HhC,IAAM,WAAW,OAAO,oCAAoC;AAC5D,IAAM,WAAW,OAAO,0CAA0C;AAClE,IAAM,WAAW,OAAO,oCAAoC;AAIrD,SAAS,MAAK,CAAC,OAA2B;AAAA,EAChD,IAAI,IAAiB;AAAA,EACrB,IAAI,OAAO,MAAM,YAAY,EAAE,YAAY,EAAE,WAAW,IAAI,GAAG;AAAA,IAC9D,IAAI,mBAAkB,YAAW,CAAC,CAAC;AAAA,EACpC;AAAA,EACA,IAAI,aAAa;AAAA,IAAY,IAAI,mBAAkB,CAAC;AAAA,EACpD,MAAM,IAAI,aAAY,CAAC;AAAA,EACvB,IAAI,IAAI;AAAA,IAAU,MAAM,IAAI,WAAW,yBAAyB,UAAU;AAAA,EAC1E,IAAI,IAAI;AAAA,IAAU,MAAM,IAAI,WAAW,uBAAuB,UAAU;AAAA,EACxE,OAAO,EAAE,MAAM,OAAO,OAAO,EAAE;AAAA;AAGzB,SAAS,OAAM,CAAC,OAA4B;AAAA,EAClD,MAAM,IAAI,aAAY,KAAK;AAAA,EAC3B,IAAI,IAAI;AAAA,IACP,MAAM,IAAI,WAAW,mDAAmD;AAAA,EACzE,IAAI,IAAI;AAAA,IAAU,MAAM,IAAI,WAAW,0BAA0B,UAAU;AAAA,EAC3E,OAAO,EAAE,MAAM,QAAQ,OAAO,EAAE;AAAA;AAG1B,IAAM,UAAS,OAAe,EAAE,MAAM,OAAO;AAC7C,IAAM,WAAU,OAAgB,EAAE,MAAM,QAAQ;AAChD,IAAM,UAAS,CAAC,MAA2B,IAAI,QAAO,IAAI,SAAQ;AAElE,SAAS,SAAQ,CAAC,QAA8B;AAAA,EACtD,IAAI,OAAO,aAAa,SAAW;AAAA,IAClC,MAAM,IAAI,MAAM,gCAAgC;AAAA,EACjD;AAAA,EACA,OAAO,EAAE,MAAM,UAAU,OAAO,YAAW,MAAM,EAAE;AAAA;AAG7C,SAAS,oBAAmB,CAAC,SAAsC;AAAA,EAEzE,OAAO,SAAS,WAAW,kBAAiB,OAAO;AAAA,EACnD,MAAM,aAAa,YAAW,SAAS,OAAO;AAAA,EAC9C,OAAO,EAAE,MAAM,WAAW,OAAO,WAAW;AAAA;AAGtC,SAAS,oBAAmB,CAClC,SACA,cACsB;AAAA,EACtB,OAAO,SAAS,WAAW,kBAAiB,OAAO;AAAA,EACnD,MAAM,aAAa,YAAW,SAAS,OAAO;AAAA,EAC9C,IAAI,aAAY,YAAY,EAAE,cAAc,KAAK;AAAA,IAChD,MAAM,IAAI,MAAM,2CAA2C;AAAA,EAC5D;AAAA,EACA,OAAO,EAAE,MAAM,YAAY,OAAO,GAAG,cAAc,eAAe;AAAA;AAG5D,SAAS,OAAM,GAAW;AAAA,EAChC,OAAO,EAAE,MAAM,OAAO;AAAA;AAGhB,SAAS,OAAM,CAAC,OAA6B;AAAA,EACnD,OAAO,EAAE,MAAM,QAAQ,MAAM;AAAA;AAGvB,SAAS,aAAY,CAAC,OAAmC;AAAA,EAC/D,OAAO,EAAE,MAAM,MAAM,MAAM;AAAA;AAGrB,SAAS,gBAAe,CAAC,OAAsC;AAAA,EACrE,OAAO,EAAE,MAAM,OAAO,MAAM;AAAA;AAGtB,SAAS,OAAM,CAAC,QAAgC;AAAA,EACtD,OAAO,EAAE,MAAM,QAAQ,OAAO,OAAO;AAAA;AAG/B,SAAS,QAAO,CAAC,MAA0B;AAAA,EACjD,WAAW,OAAO,MAAM;AAAA,IACvB,IAAI,CAAC,eAAc,GAAG,GAAG;AAAA,MACxB,MAAM,IAAI,MAAM,IAAI,kCAAkC;AAAA,IACvD;AAAA,EACD;AAAA,EACA,OAAO,EAAE,MAAM,SAAS,OAAO,KAAK;AAAA;AAG9B,SAAS,cAAa,CAAC,OAA8B;AAAA,EAC3D,OAAO,EAAE,MAAM,SAAS,MAAM;AAAA;AAGxB,SAAS,aAAY,CAAC,OAA6B;AAAA,EACzD,OAAO,EAAE,MAAM,QAAQ,MAAM;AAAA;AAKvB,IAAM,MAyBT;AAAA,EACH,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,CAAC,SAA4D;AAAA,IACrE,MAAM,SAAS,gBAAe,OAAO;AAAA,IACrC,IAAI,CAAC;AAAA,MAAQ,MAAM,IAAI,MAAM,sBAAsB,SAAS;AAAA,IAC5D,OAAO,OAAO,eACX,qBAAoB,OAAO,SAAS,OAAO,YAAY,IACvD,qBAAoB,OAAO,OAAO;AAAA;AAAA,EAEtC,OAAO,CAAC,SAA4D;AAAA,IACnE,OAAO,IAAG,UAAU,OAAO;AAAA;AAAA,EAE5B,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,QAAQ;AAAA,EACR,eAAe,CAAC,QAA0B,UAAS,YAAW,GAAG,CAAC;AAAA,EAClE,iBAAiB,CAAC,UAA4B,UAAS,cAAa,KAAK,CAAC;AAAA,EAC1E,gBAAgB,CAAC,SAA2B,UAAS,aAAY,IAAI,CAAC;AAAA,EACtE,MAAM;AAAA,EACN,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,SAAS,CAAC,OAA6B;AAAA,IACtC,OAAO,YAAW,kBAAiB,KAAK,CAAC;AAAA;AAAA,EAE1C,aAAa;AACd;",
13
- "debugId": "F04C39C74E1565FE64756E2164756E21",
12
+ "mappings": "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",
13
+ "debugId": "FE4491FE3884BCFC64756E2164756E21",
14
14
  "names": []
15
15
  }
@@ -10,12 +10,12 @@ import {
10
10
  TransactionDroppedError2,
11
11
  WaitForTransactionTimeoutError2,
12
12
  deserializeCVBytes2
13
- } from "./stacks-esm-hkw1kvd4.js";
13
+ } from "./stacks-esm-gs60rd15.js";
14
14
  import {
15
15
  serializePayload,
16
16
  clearTxCache,
17
17
  serializeTransaction2
18
- } from "./stacks-esm-p3zypwsw.js";
18
+ } from "./stacks-esm-zwbhghxb.js";
19
19
  import {
20
20
  parseContractId2
21
21
  } from "./stacks-esm-kbz5s6v8.js";
@@ -23,10 +23,10 @@ import {
23
23
  buildContractCall2,
24
24
  signTransactionWithAccount2,
25
25
  getTransactionId2
26
- } from "./stacks-esm-pq0e379d.js";
26
+ } from "./stacks-esm-hv11fdgy.js";
27
27
  import {
28
28
  MalformedResponseError2
29
- } from "./stacks-esm-0pc6tmf0.js";
29
+ } from "./stacks-esm-x8gjr2v6.js";
30
30
  import {
31
31
  BaseError2
32
32
  } from "./stacks-esm-7v18h5dk.js";
@@ -796,4 +796,4 @@ async function callContract2(client, params) {
796
796
  export { estimateFee2, getBlockHeight2, HttpRequestError2, getMapEntry2, getNonce2, TimeoutError2, createTransport, buildRequestFn, IndexSourceConfigError2, indexRequestFn, indexNotFound, extendedApiSource2, indexTxSource2, getTransaction2, waitForTransactionReceipt2, sendTransaction2, jsonRpcSource2, memoryStore2, createNonceManager2, resolveNonce2, releaseNonce, reconcileNonce2, startNonceReconciler2, isNonceConflictError2, broadcastWithNonceReset2, isProviderAccount2, isFeeTier2, minimumFee2, isNoEstimateAvailable2, resolveFee2, setUnsignedFee, assertNoFeeTierForProvider, callContract2 };
797
797
 
798
798
  //# debugId=863F4AC28F71513464756E2164756E21
799
- //# sourceMappingURL=stacks-esm-xcd4sv1h.js.map
799
+ //# sourceMappingURL=stacks-esm-hcjqgrtm.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./stacks-esm-7a0ehykf.js";
13
13
  import {
14
14
  Cl2
15
- } from "./stacks-esm-hkw1kvd4.js";
15
+ } from "./stacks-esm-gs60rd15.js";
16
16
  import {
17
17
  AuthType2,
18
18
  PayloadType2,
@@ -25,7 +25,7 @@ import {
25
25
  serializeTransaction2,
26
26
  convertPostCondition,
27
27
  fromHex2
28
- } from "./stacks-esm-p3zypwsw.js";
28
+ } from "./stacks-esm-zwbhghxb.js";
29
29
 
30
30
  // src/transactions/authorization.ts
31
31
  import { hmac } from "@noble/hashes/hmac.js";
@@ -600,4 +600,4 @@ async function signSponsorWithAccount2(tx, account) {
600
600
  export { createSingleSigSpendingCondition2, createStandardAuth2, createSponsoredAuth2, sigHashPreSign2, sigHashPostSign2, nextSignature2, isNonSequential2, makeMultiSigAddress2, createMultiSigSpendingCondition2, replayMultiSigSigHash2, signMultiSig2, signMultiSigWithAccount2, finalizeMultiSig2, combineMultiSigSignatures2, buildTokenTransfer2, buildContractCall2, buildContractDeploy2, signBegin2, signTransaction2, signTransactionWithAccount2, getTransactionId2, getOriginSigHash2, signSponsor2, signSponsorWithAccount2 };
601
601
 
602
602
  //# debugId=603A3254758ACC9C64756E2164756E21
603
- //# sourceMappingURL=stacks-esm-pq0e379d.js.map
603
+ //# sourceMappingURL=stacks-esm-hv11fdgy.js.map
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  parsePostConditionAmount2,
7
7
  fromHex2
8
- } from "./stacks-esm-p3zypwsw.js";
8
+ } from "./stacks-esm-zwbhghxb.js";
9
9
 
10
10
  // src/postconditions/builder.ts
11
11
  class PartialPcWithPrincipal {
@@ -152,4 +152,4 @@ var Pc2 = {
152
152
  export { Pc2 };
153
153
 
154
154
  //# debugId=4A4139991457AA7164756E2164756E21
155
- //# sourceMappingURL=stacks-esm-1b2rhv6y.js.map
155
+ //# sourceMappingURL=stacks-esm-w36fvdxx.js.map
@@ -5,20 +5,20 @@ import {
5
5
  toCamelCase2,
6
6
  jsToClarityValue2,
7
7
  clarityValueToJSUntyped2
8
- } from "./stacks-esm-a20wyky3.js";
8
+ } from "./stacks-esm-896kv9yv.js";
9
9
  import {
10
10
  buildContractCall2
11
- } from "./stacks-esm-pq0e379d.js";
11
+ } from "./stacks-esm-hv11fdgy.js";
12
12
  import {
13
13
  getMapEntry2,
14
14
  getNonce2,
15
15
  resolveFee2,
16
16
  setUnsignedFee,
17
17
  callContract2
18
- } from "./stacks-esm-xcd4sv1h.js";
18
+ } from "./stacks-esm-hcjqgrtm.js";
19
19
  import {
20
20
  readContract2
21
- } from "./stacks-esm-0pc6tmf0.js";
21
+ } from "./stacks-esm-x8gjr2v6.js";
22
22
 
23
23
  // src/actions/getContract.ts
24
24
  function getContract2(params) {
@@ -185,4 +185,4 @@ class ContractResponseError2 extends Error {
185
185
  export { getContract2, resolveNetworkContract, buildFunctionArgs2, isResponseOutput2, ContractResponseError2 };
186
186
 
187
187
  //# debugId=2DD0E44CC61A61FD64756E2164756E21
188
- //# sourceMappingURL=stacks-esm-7n5wd5md.js.map
188
+ //# sourceMappingURL=stacks-esm-w8kswk0r.js.map
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  serializeCVBytes2,
7
7
  deserializeCVBytes2
8
- } from "./stacks-esm-hkw1kvd4.js";
8
+ } from "./stacks-esm-gs60rd15.js";
9
9
  import {
10
10
  parseContractId2
11
11
  } from "./stacks-esm-kbz5s6v8.js";
@@ -47,4 +47,4 @@ async function readContract2(client, params) {
47
47
  export { MalformedResponseError2, ReadContractError2, readContract2 };
48
48
 
49
49
  //# debugId=E7EFD192BC5CBEC664756E2164756E21
50
- //# sourceMappingURL=stacks-esm-0pc6tmf0.js.map
50
+ //# sourceMappingURL=stacks-esm-x8gjr2v6.js.map
@@ -20,7 +20,7 @@ import {
20
20
  readAddress,
21
21
  readLPString,
22
22
  readCV
23
- } from "./stacks-esm-hkw1kvd4.js";
23
+ } from "./stacks-esm-gs60rd15.js";
24
24
  import {
25
25
  parseContractId2
26
26
  } from "./stacks-esm-kbz5s6v8.js";
@@ -769,4 +769,4 @@ function postConditionToHex2(pc) {
769
769
  export { AuthType2, PayloadType2, ClarityVersion2, AnchorMode2, PostConditionModeWire2, AddressHashMode2, PubKeyEncoding2, FungibleConditionCode2, NonFungibleConditionCode2, PoxConditionCode2, PostConditionPrincipalId2, AssetType2, AuthFieldType2, RECOVERABLE_ECDSA_SIG_LENGTH_BYTES2, MEMO_MAX_LENGTH_BYTES2, MAX_STRING_LENGTH_BYTES2, COINBASE_BYTES_LENGTH2, VRF_PROOF_BYTES_LENGTH2, MICROBLOCK_HEADER_BYTES_LENGTH2, TenureChangeCause2, serializePostConditionWire2, serializePayload, clearTxCache, serializeTransaction2, serializeTransactionHex2, deserializePostConditionWire2, deserializeTransaction2, splitTransactions2, parsePostConditionAmount2, convertPostCondition, wireToPostCondition2, fromHex2, postConditionToHex2 };
770
770
 
771
771
  //# debugId=C83043AAB51B9B7764756E2164756E21
772
- //# sourceMappingURL=stacks-esm-p3zypwsw.js.map
772
+ //# sourceMappingURL=stacks-esm-zwbhghxb.js.map
@@ -940,11 +940,14 @@ function readCV(reader, depth = 0) {
940
940
  case "err":
941
941
  return responseErrorCV(readCV(reader, depth + 1));
942
942
  case "address":
943
- return standardPrincipalCV(readAddress(reader));
943
+ return { type: "address", value: readAddress(reader) };
944
944
  case "contract": {
945
945
  const addr = readAddress(reader);
946
946
  const name = readLPString(reader);
947
- return contractPrincipalCV(addr, name);
947
+ if (new TextEncoder().encode(name).byteLength >= 128) {
948
+ throw new Error("Contract name must be less than 128 bytes");
949
+ }
950
+ return { type: "contract", value: `${addr}.${name}` };
948
951
  }
949
952
  case "list": {
950
953
  const len = reader.readUInt32BE();
@@ -3876,5 +3879,5 @@ class ContractResponseError extends Error {
3876
3879
  }
3877
3880
  }
3878
3881
 
3879
- //# debugId=84860DE9BEE0161F64756E2164756E21
3882
+ //# debugId=96D39CF7E3A639F164756E2164756E21
3880
3883
  //# sourceMappingURL=index.cjs.map