@secondlayer/stacks 6.1.0 → 6.1.1

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 (166) hide show
  1. package/dist/shared/stacks-esm-0pc6tmf0.js +50 -0
  2. package/dist/shared/{stacks-esm-743jfh10.js.map → stacks-esm-0pc6tmf0.js.map} +2 -2
  3. package/dist/shared/{stacks-esm-0rdxcta7.js → stacks-esm-16d82wyc.js} +10 -10
  4. package/dist/shared/{stacks-esm-0rdxcta7.js.map → stacks-esm-16d82wyc.js.map} +2 -2
  5. package/dist/shared/{stacks-esm-cvhazvhd.js → stacks-esm-7a0ehykf.js} +43 -43
  6. package/dist/shared/{stacks-esm-cvhazvhd.js.map → stacks-esm-7a0ehykf.js.map} +2 -2
  7. package/dist/shared/{stacks-esm-1jae0a3r.js → stacks-esm-7v18h5dk.js} +4 -4
  8. package/dist/shared/{stacks-esm-1jae0a3r.js.map → stacks-esm-7v18h5dk.js.map} +2 -2
  9. package/dist/shared/{stacks-esm-9rnx0zxr.js → stacks-esm-8f5catbf.js} +126 -126
  10. package/dist/shared/{stacks-esm-9rnx0zxr.js.map → stacks-esm-8f5catbf.js.map} +2 -2
  11. package/dist/shared/{stacks-esm-7fpqgtyx.js → stacks-esm-8jt6k8p3.js} +13 -13
  12. package/dist/shared/{stacks-esm-7fpqgtyx.js.map → stacks-esm-8jt6k8p3.js.map} +2 -2
  13. package/dist/shared/{stacks-esm-hr7fpxtj.js → stacks-esm-a20wyky3.js} +92 -92
  14. package/dist/shared/{stacks-esm-hr7fpxtj.js.map → stacks-esm-a20wyky3.js.map} +2 -2
  15. package/dist/shared/{stacks-esm-3pv5avgr.js → stacks-esm-b54n1jdx.js} +54 -54
  16. package/dist/shared/{stacks-esm-3pv5avgr.js.map → stacks-esm-b54n1jdx.js.map} +2 -2
  17. package/dist/shared/{stacks-esm-r9q4wnyw.js → stacks-esm-cmtj5vky.js} +162 -162
  18. package/dist/shared/{stacks-esm-r9q4wnyw.js.map → stacks-esm-cmtj5vky.js.map} +2 -2
  19. package/dist/shared/{stacks-esm-wv67m4g6.js → stacks-esm-e2qhfgke.js} +36 -36
  20. package/dist/shared/{stacks-esm-wv67m4g6.js.map → stacks-esm-e2qhfgke.js.map} +2 -2
  21. package/dist/shared/{stacks-esm-qk0p9fr6.js → stacks-esm-ea4m4bk7.js} +117 -117
  22. package/dist/shared/{stacks-esm-qk0p9fr6.js.map → stacks-esm-ea4m4bk7.js.map} +2 -2
  23. package/dist/shared/{stacks-esm-fcfdn2zx.js → stacks-esm-hkw1kvd4.js} +140 -140
  24. package/dist/shared/{stacks-esm-fcfdn2zx.js.map → stacks-esm-hkw1kvd4.js.map} +2 -2
  25. package/dist/shared/{stacks-esm-qkj67g80.js → stacks-esm-k108pemv.js} +4 -4
  26. package/dist/shared/{stacks-esm-qkj67g80.js.map → stacks-esm-k108pemv.js.map} +2 -2
  27. package/dist/shared/stacks-esm-kbz5s6v8.js +84 -0
  28. package/dist/shared/{stacks-esm-2mc7ebrm.js.map → stacks-esm-kbz5s6v8.js.map} +2 -2
  29. package/dist/shared/{stacks-esm-n53kvwmt.js → stacks-esm-mt1thm7k.js} +9 -9
  30. package/dist/shared/{stacks-esm-n53kvwmt.js.map → stacks-esm-mt1thm7k.js.map} +2 -2
  31. package/dist/shared/{stacks-esm-v45990hx.js → stacks-esm-n1mekwnb.js} +9 -9
  32. package/dist/shared/{stacks-esm-v45990hx.js.map → stacks-esm-n1mekwnb.js.map} +2 -2
  33. package/dist/shared/{stacks-esm-r6dejrgr.js → stacks-esm-nt5hf8ht.js} +34 -34
  34. package/dist/shared/{stacks-esm-r6dejrgr.js.map → stacks-esm-nt5hf8ht.js.map} +2 -2
  35. package/dist/shared/{stacks-esm-skmcf5n2.js → stacks-esm-phgy8yqf.js} +210 -210
  36. package/dist/shared/{stacks-esm-skmcf5n2.js.map → stacks-esm-phgy8yqf.js.map} +2 -2
  37. package/dist/shared/{stacks-esm-kds4n82p.js → stacks-esm-pxv6ny92.js} +116 -116
  38. package/dist/shared/{stacks-esm-kds4n82p.js.map → stacks-esm-pxv6ny92.js.map} +2 -2
  39. package/dist/shared/{stacks-esm-3g33bqsm.js → stacks-esm-qfzxhdqz.js} +19 -19
  40. package/dist/shared/{stacks-esm-3g33bqsm.js.map → stacks-esm-qfzxhdqz.js.map} +2 -2
  41. package/dist/shared/{stacks-esm-aw2mj3sj.js → stacks-esm-snj9s2q8.js} +43 -43
  42. package/dist/shared/{stacks-esm-aw2mj3sj.js.map → stacks-esm-snj9s2q8.js.map} +2 -2
  43. package/dist/shared/{stacks-esm-q19a17fd.js → stacks-esm-ss9ap75h.js} +28 -28
  44. package/dist/shared/{stacks-esm-q19a17fd.js.map → stacks-esm-ss9ap75h.js.map} +2 -2
  45. package/dist/shared/{stacks-esm-x1r01353.js → stacks-esm-t88hc019.js} +18 -18
  46. package/dist/shared/{stacks-esm-x1r01353.js.map → stacks-esm-t88hc019.js.map} +2 -2
  47. package/dist/shared/stacks-esm-tdrdye4y.js +48 -0
  48. package/dist/shared/{stacks-esm-pxhfqfff.js.map → stacks-esm-tdrdye4y.js.map} +2 -2
  49. package/dist/src/accounts/index.cjs +15 -13
  50. package/dist/src/accounts/index.cjs.map +2 -2
  51. package/dist/src/accounts/index.d.cts +1 -1
  52. package/dist/src/accounts/index.d.ts +1 -1
  53. package/dist/src/accounts/index.js +26 -26
  54. package/dist/src/accounts/index.js.map +2 -2
  55. package/dist/src/actions/index.cjs +83 -81
  56. package/dist/src/actions/index.cjs.map +2 -2
  57. package/dist/src/actions/index.d.cts +1 -1
  58. package/dist/src/actions/index.d.ts +1 -1
  59. package/dist/src/actions/index.js +102 -103
  60. package/dist/src/actions/index.js.map +1 -1
  61. package/dist/src/bitcoin/index.cjs +2035 -2036
  62. package/dist/src/bitcoin/index.cjs.map +8 -8
  63. package/dist/src/bitcoin/index.d.cts +92 -92
  64. package/dist/src/bitcoin/index.d.ts +92 -92
  65. package/dist/src/bitcoin/index.js +88 -90
  66. package/dist/src/bitcoin/index.js.map +2 -2
  67. package/dist/src/bns/index.cjs +3313 -3310
  68. package/dist/src/bns/index.cjs.map +13 -13
  69. package/dist/src/bns/index.d.cts +1 -1
  70. package/dist/src/bns/index.d.ts +1 -1
  71. package/dist/src/bns/index.js +39 -41
  72. package/dist/src/bns/index.js.map +2 -2
  73. package/dist/src/chains/index.cjs +14 -12
  74. package/dist/src/chains/index.cjs.map +2 -2
  75. package/dist/src/chains/index.d.cts +1 -1
  76. package/dist/src/chains/index.d.ts +1 -1
  77. package/dist/src/chains/index.js +12 -12
  78. package/dist/src/chains/index.js.map +1 -1
  79. package/dist/src/clarity/index.cjs +98 -96
  80. package/dist/src/clarity/index.cjs.map +2 -2
  81. package/dist/src/clarity/index.d.cts +1 -1
  82. package/dist/src/clarity/index.d.ts +1 -1
  83. package/dist/src/clarity/index.js +170 -171
  84. package/dist/src/clarity/index.js.map +1 -1
  85. package/dist/src/connect/index.cjs +19 -19
  86. package/dist/src/connect/index.cjs.map +2 -2
  87. package/dist/src/connect/index.d.cts +1 -1
  88. package/dist/src/connect/index.d.ts +1 -1
  89. package/dist/src/connect/index.js +19 -19
  90. package/dist/src/connect/index.js.map +2 -2
  91. package/dist/src/connect/walletconnect/index.cjs +6 -46
  92. package/dist/src/connect/walletconnect/index.cjs.map +3 -4
  93. package/dist/src/connect/walletconnect/index.d.cts +1 -1
  94. package/dist/src/connect/walletconnect/index.d.ts +1 -1
  95. package/dist/src/connect/walletconnect/index.js +6 -46
  96. package/dist/src/connect/walletconnect/index.js.map +3 -4
  97. package/dist/src/filters/index.cjs +22 -20
  98. package/dist/src/filters/index.cjs.map +2 -2
  99. package/dist/src/filters/index.d.cts +1 -1
  100. package/dist/src/filters/index.d.ts +1 -1
  101. package/dist/src/filters/index.js +30 -30
  102. package/dist/src/filters/index.js.map +1 -1
  103. package/dist/src/index.cjs +1411 -1410
  104. package/dist/src/index.cjs.map +11 -11
  105. package/dist/src/index.d.cts +724 -724
  106. package/dist/src/index.d.ts +724 -724
  107. package/dist/src/index.js +219 -219
  108. package/dist/src/index.js.map +2 -2
  109. package/dist/src/postconditions/index.cjs +26 -24
  110. package/dist/src/postconditions/index.cjs.map +2 -2
  111. package/dist/src/postconditions/index.d.cts +1 -1
  112. package/dist/src/postconditions/index.d.ts +1 -1
  113. package/dist/src/postconditions/index.js +16 -17
  114. package/dist/src/postconditions/index.js.map +1 -1
  115. package/dist/src/pox/index.cjs +722 -721
  116. package/dist/src/pox/index.cjs.map +9 -9
  117. package/dist/src/pox/index.d.cts +1 -1
  118. package/dist/src/pox/index.d.ts +1 -1
  119. package/dist/src/pox/index.js +40 -41
  120. package/dist/src/pox/index.js.map +2 -2
  121. package/dist/src/pox5/index.cjs +141 -137
  122. package/dist/src/pox5/index.cjs.map +3 -3
  123. package/dist/src/pox5/index.d.cts +9 -1
  124. package/dist/src/pox5/index.d.ts +9 -1
  125. package/dist/src/pox5/index.js +210 -209
  126. package/dist/src/pox5/index.js.map +3 -3
  127. package/dist/src/sbtc/index.cjs +71 -69
  128. package/dist/src/sbtc/index.cjs.map +2 -2
  129. package/dist/src/sbtc/index.d.cts +1 -1
  130. package/dist/src/sbtc/index.d.ts +1 -1
  131. package/dist/src/sbtc/index.js +39 -40
  132. package/dist/src/sbtc/index.js.map +2 -2
  133. package/dist/src/simnet/index.cjs +16 -16
  134. package/dist/src/simnet/index.cjs.map +2 -2
  135. package/dist/src/simnet/index.d.cts +1 -1
  136. package/dist/src/simnet/index.d.ts +1 -1
  137. package/dist/src/simnet/index.js +16 -16
  138. package/dist/src/simnet/index.js.map +2 -2
  139. package/dist/src/stackingdao/index.cjs +716 -715
  140. package/dist/src/stackingdao/index.cjs.map +9 -9
  141. package/dist/src/stackingdao/index.d.cts +1 -1
  142. package/dist/src/stackingdao/index.d.ts +1 -1
  143. package/dist/src/stackingdao/index.js +26 -27
  144. package/dist/src/stackingdao/index.js.map +2 -2
  145. package/dist/src/subscriptions/index.cjs +15 -13
  146. package/dist/src/subscriptions/index.cjs.map +2 -2
  147. package/dist/src/subscriptions/index.d.cts +1 -1
  148. package/dist/src/subscriptions/index.d.ts +1 -1
  149. package/dist/src/subscriptions/index.js +14 -15
  150. package/dist/src/subscriptions/index.js.map +1 -1
  151. package/dist/src/transactions/index.cjs +79 -77
  152. package/dist/src/transactions/index.cjs.map +2 -2
  153. package/dist/src/transactions/index.d.cts +1 -1
  154. package/dist/src/transactions/index.d.ts +1 -1
  155. package/dist/src/transactions/index.js +104 -105
  156. package/dist/src/transactions/index.js.map +1 -1
  157. package/dist/src/utils/index.cjs +76 -74
  158. package/dist/src/utils/index.cjs.map +2 -2
  159. package/dist/src/utils/index.d.cts +1 -1
  160. package/dist/src/utils/index.d.ts +1 -1
  161. package/dist/src/utils/index.js +131 -131
  162. package/dist/src/utils/index.js.map +2 -2
  163. package/package.json +1 -1
  164. package/dist/shared/stacks-esm-2mc7ebrm.js +0 -84
  165. package/dist/shared/stacks-esm-743jfh10.js +0 -50
  166. package/dist/shared/stacks-esm-pxhfqfff.js +0 -48
@@ -1,18 +1,12 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/filters/event-types.ts", "../src/utils/c32.ts", "../src/utils/encoding.ts", "../src/utils/constants.ts", "../src/utils/hash.ts", "../src/utils/address.ts", "../src/filters/validate.ts", "../src/filters/factories.ts", "../src/clients/createClient.ts", "../src/errors/base.ts", "../src/errors/response.ts", "../src/clarity/types.ts", "../src/clarity/serialize.ts", "../src/transactions/types.ts", "../src/transactions/wire/serialize.ts", "../src/actions/public/estimateFee.ts", "../src/actions/public/getAccountHistory.ts", "../src/actions/public/getAccountInfo.ts", "../src/actions/public/getBalance.ts", "../src/actions/public/getBlock.ts", "../src/actions/public/getBlockHeight.ts", "../src/actions/public/getContractAbi.ts", "../src/errors/http.ts", "../src/actions/public/getContractSource.ts", "../src/errors/transaction.ts", "../src/utils/bytes-reader.ts", "../src/clarity/values.ts", "../src/clarity/deserialize.ts", "../src/actions/public/getDataVar.ts", "../src/actions/public/getMapEntry.ts", "../src/actions/public/getMempoolStats.ts", "../src/actions/public/getNftHoldings.ts", "../src/actions/public/getNonce.ts", "../src/actions/public/getRawBlock.ts", "../src/errors/transport.ts", "../src/transports/createTransport.ts", "../src/actions/public/txSources.ts", "../src/actions/public/getTransaction.ts", "../src/actions/public/readContract.ts", "../src/actions/public/multicall.ts", "../src/errors/simulation.ts", "../src/actions/public/simulateCall.ts", "../src/actions/public/simulateTransaction.ts", "../src/actions/public/waitForTransactionReceipt.ts", "../src/errors/websocket.ts", "../src/subscriptions/actions.ts", "../src/clients/decorators/public.ts", "../src/clients/createPublicClient.ts", "../src/transactions/wire/deserialize.ts", "../src/postconditions/convert.ts", "../src/transactions/authorization.ts", "../src/transactions/multisig.ts", "../src/transactions/build.ts", "../src/transactions/signer.ts", "../src/actions/wallet/sendTransaction.ts", "../src/actions/wallet/nonceManager.ts", "../src/actions/wallet/utils.ts", "../src/actions/wallet/callContract.ts", "../src/actions/wallet/deployContract.ts", "../src/actions/wallet/signMessage.ts", "../src/clarity/structuredData.ts", "../src/actions/wallet/signTransaction.ts", "../src/actions/wallet/sponsorTransaction.ts", "../src/actions/wallet/transferStx.ts", "../src/clients/decorators/wallet.ts", "../src/clients/createWalletClient.ts", "../src/clients/decorators/multisig.ts", "../src/clients/createMultiSigClient.ts", "../src/actions/wallet/nonceStores.ts", "../src/actions/wallet/nonceSources.ts", "../src/transports/http.ts", "../src/transports/custom.ts", "../src/transports/fallback.ts", "../src/transports/webSocket.ts", "../src/accounts/providerToAccount.ts", "../src/chains/definitions.ts", "../src/chains/defineChain.ts", "../src/utils/units.ts"],
3
+ "sources": ["../src/clients/createClient.ts", "../src/errors/base.ts", "../src/errors/response.ts", "../src/utils/c32.ts", "../src/utils/encoding.ts", "../src/clarity/types.ts", "../src/clarity/serialize.ts", "../src/transactions/types.ts", "../src/transactions/wire/serialize.ts", "../src/actions/public/estimateFee.ts", "../src/actions/public/getAccountHistory.ts", "../src/actions/public/getAccountInfo.ts", "../src/actions/public/getBalance.ts", "../src/actions/public/getBlock.ts", "../src/actions/public/getBlockHeight.ts", "../src/utils/constants.ts", "../src/utils/hash.ts", "../src/utils/address.ts", "../src/actions/public/getContractAbi.ts", "../src/errors/http.ts", "../src/actions/public/getContractSource.ts", "../src/errors/transaction.ts", "../src/utils/bytes-reader.ts", "../src/clarity/values.ts", "../src/clarity/deserialize.ts", "../src/actions/public/getDataVar.ts", "../src/actions/public/getMapEntry.ts", "../src/actions/public/getMempoolStats.ts", "../src/actions/public/getNftHoldings.ts", "../src/actions/public/getNonce.ts", "../src/actions/public/getRawBlock.ts", "../src/errors/transport.ts", "../src/transports/createTransport.ts", "../src/actions/public/txSources.ts", "../src/actions/public/getTransaction.ts", "../src/actions/public/readContract.ts", "../src/actions/public/multicall.ts", "../src/errors/simulation.ts", "../src/actions/public/simulateCall.ts", "../src/actions/public/simulateTransaction.ts", "../src/actions/public/waitForTransactionReceipt.ts", "../src/errors/websocket.ts", "../src/subscriptions/actions.ts", "../src/clients/decorators/public.ts", "../src/clients/createPublicClient.ts", "../src/transactions/wire/deserialize.ts", "../src/postconditions/convert.ts", "../src/transactions/authorization.ts", "../src/transactions/multisig.ts", "../src/transactions/build.ts", "../src/transactions/signer.ts", "../src/actions/wallet/sendTransaction.ts", "../src/actions/wallet/nonceManager.ts", "../src/actions/wallet/utils.ts", "../src/actions/wallet/callContract.ts", "../src/actions/wallet/deployContract.ts", "../src/actions/wallet/signMessage.ts", "../src/clarity/structuredData.ts", "../src/actions/wallet/signTransaction.ts", "../src/actions/wallet/sponsorTransaction.ts", "../src/actions/wallet/transferStx.ts", "../src/clients/decorators/wallet.ts", "../src/clients/createWalletClient.ts", "../src/clients/decorators/multisig.ts", "../src/clients/createMultiSigClient.ts", "../src/actions/wallet/nonceStores.ts", "../src/actions/wallet/nonceSources.ts", "../src/transports/http.ts", "../src/transports/custom.ts", "../src/transports/fallback.ts", "../src/transports/webSocket.ts", "../src/filters/event-types.ts", "../src/filters/validate.ts", "../src/filters/factories.ts", "../src/accounts/providerToAccount.ts", "../src/chains/definitions.ts", "../src/chains/defineChain.ts", "../src/utils/units.ts"],
4
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.\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 { sha256 } from \"@noble/hashes/sha2.js\";\nimport { bytesToHex, hexToBytes } from \"./encoding.ts\";\n\nconst C32 = \"0123456789ABCDEFGHJKMNPQRSTVWXYZ\";\nconst HEX = \"0123456789abcdef\";\n\nfunction c32normalize(input: string): string {\n\treturn input.toUpperCase().replace(/O/g, \"0\").replace(/L|I/g, \"1\");\n}\n\nfunction c32encode(inputHex: string): string {\n\tlet hex = inputHex;\n\tif (hex.length % 2 !== 0) hex = `0${hex}`;\n\thex = hex.toLowerCase();\n\n\tconst res: string[] = [];\n\tlet carry = 0;\n\tfor (let i = hex.length - 1; i >= 0; i--) {\n\t\tif (carry < 4) {\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tconst currentCode = HEX.indexOf(hex[i]!) >> carry;\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tconst nextCode = i !== 0 ? HEX.indexOf(hex[i - 1]!) : 0;\n\t\t\tconst nextBits = 1 + carry;\n\t\t\tconst nextLowBits = (nextCode % (1 << nextBits)) << (5 - nextBits);\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tres.unshift(C32[currentCode + nextLowBits]!);\n\t\t\tcarry = nextBits;\n\t\t} else {\n\t\t\tcarry = 0;\n\t\t}\n\t}\n\n\t// Strip leading c32 zeros\n\tlet leadingZeros = 0;\n\twhile (leadingZeros < res.length && res[leadingZeros] === \"0\") leadingZeros++;\n\tconst stripped = res.slice(leadingZeros);\n\n\t// Preserve leading zero bytes from hex\n\tconst bytes = hexToBytes(hex);\n\tlet zeroBytesCount = 0;\n\twhile (zeroBytesCount < bytes.length && bytes[zeroBytesCount] === 0)\n\t\tzeroBytesCount++;\n\tconst prefix = Array(zeroBytesCount).fill(C32[0]) as string[];\n\n\treturn [...prefix, ...stripped].join(\"\");\n}\n\nfunction c32decode(c32input: string): string {\n\tconst input = c32normalize(c32input);\n\tif (!input.match(`^[${C32}]*$`)) throw new Error(\"Not a c32-encoded string\");\n\n\tconst zeroPrefix = input.match(`^${C32[0]}*`);\n\tconst numLeadingZeroBytes = zeroPrefix ? zeroPrefix[0]?.length : 0;\n\n\tconst res: string[] = [];\n\tlet carry = 0;\n\tlet carryBits = 0;\n\tfor (let i = input.length - 1; i >= 0; i--) {\n\t\tif (carryBits === 4) {\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tres.unshift(HEX[carry]!);\n\t\t\tcarryBits = 0;\n\t\t\tcarry = 0;\n\t\t}\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\tconst currentValue = (C32.indexOf(input[i]!) << carryBits) + carry;\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\tres.unshift(HEX[currentValue % 16]!);\n\t\tcarryBits += 1;\n\t\tcarry = currentValue >> 4;\n\t\tif (carry > 1 << carryBits) throw new Error(\"Panic error in c32 decoding\");\n\t}\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tres.unshift(HEX[carry]!);\n\n\tif (res.length % 2 === 1) res.unshift(\"0\");\n\n\t// Strip leading hex zeros\n\tlet hexLeadingZeros = 0;\n\twhile (hexLeadingZeros < res.length && res[hexLeadingZeros] === \"0\")\n\t\thexLeadingZeros++;\n\tlet hexStr = res.slice(hexLeadingZeros - (hexLeadingZeros % 2)).join(\"\");\n\n\tfor (let i = 0; i < numLeadingZeroBytes; i++) hexStr = `00${hexStr}`;\n\n\treturn hexStr;\n}\n\nfunction c32checksum(dataHex: string): string {\n\treturn bytesToHex(sha256(sha256(hexToBytes(dataHex))).slice(0, 4));\n}\n\nfunction c32checkEncode(version: number, data: string): string {\n\tif (version < 0 || version >= 32)\n\t\tthrow new Error(\"Invalid version (must be between 0 and 31)\");\n\tif (!data.match(/^[0-9a-fA-F]*$/))\n\t\tthrow new Error(\"Invalid data (not a hex string)\");\n\n\tlet d = data.toLowerCase();\n\tif (d.length % 2 !== 0) d = `0${d}`;\n\n\tlet versionHex = version.toString(16);\n\tif (versionHex.length === 1) versionHex = `0${versionHex}`;\n\n\tconst checksumHex = c32checksum(`${versionHex}${d}`);\n\treturn `${C32[version]}${c32encode(`${d}${checksumHex}`)}`;\n}\n\nfunction c32checkDecode(c32data: string): [number, string] {\n\tconst normalized = c32normalize(c32data);\n\tconst dataHex = c32decode(normalized.slice(1));\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tconst version = C32.indexOf(normalized[0]!);\n\tconst checksum = dataHex.slice(-8);\n\n\tlet versionHex = version.toString(16);\n\tif (versionHex.length === 1) versionHex = `0${versionHex}`;\n\n\tif (\n\t\tc32checksum(`${versionHex}${dataHex.substring(0, dataHex.length - 8)}`) !==\n\t\tchecksum\n\t) {\n\t\tthrow new Error(\"Invalid c32check string: checksum mismatch\");\n\t}\n\n\treturn [version, dataHex.substring(0, dataHex.length - 8)];\n}\n\nexport function c32address(version: number, hash160hex: string): string {\n\tif (!hash160hex.match(/^[0-9a-fA-F]{40}$/)) {\n\t\tthrow new Error(\"Invalid argument: not a hash160 hex string\");\n\t}\n\treturn `S${c32checkEncode(version, hash160hex)}`;\n}\n\nexport function c32addressDecode(c32addr: string): [number, string] {\n\tif (c32addr.length <= 5)\n\t\tthrow new Error(\"Invalid c32 address: invalid length\");\n\tif (c32addr[0] !== \"S\")\n\t\tthrow new Error('Invalid c32 address: must start with \"S\"');\n\treturn c32checkDecode(c32addr.slice(1));\n}\n",
7
- "const hexes = Array.from({ length: 256 }, (_, i) =>\n\ti.toString(16).padStart(2, \"0\"),\n);\n\nexport function bytesToHex(bytes: Uint8Array): string {\n\tlet hex = \"\";\n\tfor (const b of bytes) {\n\t\thex += hexes[b];\n\t}\n\treturn hex;\n}\n\nexport function hexToBytes(hex: string): Uint8Array {\n\tlet h = without0x(hex);\n\tif (h.length % 2) h = `0${h}`;\n\n\tconst array = new Uint8Array(h.length / 2);\n\tfor (let i = 0; i < array.length; i++) {\n\t\tconst j = i * 2;\n\t\tconst byte = Number.parseInt(h.slice(j, j + 2), 16);\n\t\tif (Number.isNaN(byte) || byte < 0)\n\t\t\tthrow new Error(\"Invalid byte sequence\");\n\t\tarray[i] = byte;\n\t}\n\treturn array;\n}\n\nexport function with0x(value: string): string {\n\treturn /^0x/i.test(value) ? value : `0x${value}`;\n}\n\nexport function without0x(value: string): string {\n\treturn /^0x/i.test(value) ? value.slice(2) : value;\n}\n\nexport function utf8ToBytes(str: string): Uint8Array {\n\treturn new TextEncoder().encode(str);\n}\n\nexport function bytesToUtf8(bytes: Uint8Array): string {\n\treturn new TextDecoder().decode(bytes);\n}\n\nexport function asciiToBytes(str: string): Uint8Array {\n\tconst bytes = new Uint8Array(str.length);\n\tfor (let i = 0; i < str.length; i++) {\n\t\tbytes[i] = str.charCodeAt(i) & 0xff;\n\t}\n\treturn bytes;\n}\n\nexport function bytesToAscii(bytes: Uint8Array): string {\n\treturn String.fromCharCode(...bytes);\n}\n\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tif (arrays.length === 1) return arrays[0]!;\n\tconst length = arrays.reduce((a, arr) => a + arr.length, 0);\n\tconst result = new Uint8Array(length);\n\tlet pad = 0;\n\tfor (const arr of arrays) {\n\t\tresult.set(arr, pad);\n\t\tpad += arr.length;\n\t}\n\treturn result;\n}\n\nexport type IntegerType = number | string | bigint | Uint8Array;\n\nexport function intToBigInt(value: IntegerType): bigint {\n\tif (typeof value === \"bigint\") return value;\n\tif (typeof value === \"string\") return BigInt(value);\n\tif (typeof value === \"number\") {\n\t\tif (!Number.isInteger(value))\n\t\t\tthrow new RangeError(\"Values of type 'number' must be an integer.\");\n\t\tif (value > Number.MAX_SAFE_INTEGER)\n\t\t\tthrow new RangeError(\n\t\t\t\t`Values of type 'number' must be <= ${Number.MAX_SAFE_INTEGER}. Use BigInt instead.`,\n\t\t\t);\n\t\treturn BigInt(value);\n\t}\n\tif (value instanceof Uint8Array) return BigInt(`0x${bytesToHex(value)}`);\n\tthrow new TypeError(\"Must be a number, bigint, string, or Uint8Array.\");\n}\n\nexport function intToBytes(value: IntegerType, byteLength: number): Uint8Array {\n\treturn bigIntToBytes(intToBigInt(value), byteLength);\n}\n\nexport function bigIntToBytes(value: bigint, length = 16): Uint8Array {\n\tconst hex = value.toString(16).padStart(length * 2, \"0\");\n\treturn hexToBytes(hex);\n}\n\nexport function intToHex(integer: IntegerType, byteLength = 8): string {\n\tconst value = typeof integer === \"bigint\" ? integer : intToBigInt(integer);\n\treturn value.toString(16).padStart(byteLength * 2, \"0\");\n}\n\nexport function toTwos(value: bigint, width: bigint): bigint {\n\tconst limit = BigInt(1) << (width - BigInt(1));\n\tif (value < -limit || value > limit - BigInt(1)) {\n\t\tthrow new Error(`Unable to represent integer in width: ${width}`);\n\t}\n\tif (value >= BigInt(0)) return value;\n\treturn value + (BigInt(1) << width);\n}\n\nexport function fromTwos(value: bigint, width: bigint): bigint {\n\tif (value & (BigInt(1) << (width - BigInt(1)))) {\n\t\treturn value - (BigInt(1) << width);\n\t}\n\treturn value;\n}\n\nexport function bytesToTwosBigInt(bytes: Uint8Array): bigint {\n\tif (bytes.length === 0) return 0n;\n\tconst hex = bytesToHex(bytes);\n\tif (hex.length === 0) return 0n;\n\treturn fromTwos(BigInt(`0x${hex}`), BigInt(bytes.byteLength * 8));\n}\n\nexport function writeUInt32BE(value: number): Uint8Array {\n\tconst buf = new Uint8Array(4);\n\tbuf[0] = (value >>> 24) & 0xff;\n\tbuf[1] = (value >>> 16) & 0xff;\n\tbuf[2] = (value >>> 8) & 0xff;\n\tbuf[3] = value & 0xff;\n\treturn buf;\n}\n\nexport function readUInt32BE(bytes: Uint8Array, offset = 0): number {\n\treturn (\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t((bytes[offset]! << 24) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\t(bytes[offset + 1]! << 16) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\t(bytes[offset + 2]! << 8) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tbytes[offset + 3]!) >>>\n\t\t0\n\t);\n}\n\nexport function writeUInt16BE(value: number): Uint8Array {\n\tconst buf = new Uint8Array(2);\n\tbuf[0] = (value >>> 8) & 0xff;\n\tbuf[1] = value & 0xff;\n\treturn buf;\n}\n\nexport function readUInt16BE(bytes: Uint8Array, offset = 0): number {\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\treturn ((bytes[offset]! << 8) | bytes[offset + 1]!) >>> 0;\n}\n\nexport function writeUInt8(value: number): Uint8Array {\n\treturn new Uint8Array([value & 0xff]);\n}\n",
8
- "// Clarity integer bounds\nexport const MAX_U128: bigint = (1n << 128n) - 1n;\nexport const MAX_I128: bigint = (1n << 127n) - 1n;\nexport const MIN_I128: bigint = -(1n << 127n);\n\n/** C32-encoded address version bytes for single-sig and multi-sig on each network. */\nexport const AddressVersion = {\n\tMainnetSingleSig: 22,\n\tMainnetMultiSig: 20,\n\tTestnetSingleSig: 26,\n\tTestnetMultiSig: 21,\n} as const;\nexport type AddressVersion =\n\t(typeof AddressVersion)[keyof typeof AddressVersion];\n\n/** Mainnet burn address (all-zero hash160). */\nexport const ZERO_ADDRESS = \"SP000000000000000000002Q6VF78\";\n/** Testnet burn address (all-zero hash160). */\nexport const TESTNET_ZERO_ADDRESS = \"ST000000000000000000002AMW42H\";\n\n/** Number of microSTX per 1 STX (10^6). */\nexport const MICROSTX_PER_STX = 1_000_000n;\n",
9
- "import { ripemd160 } from \"@noble/hashes/legacy.js\";\nimport { sha256 } from \"@noble/hashes/sha2.js\";\nimport { sha512_256 } from \"@noble/hashes/sha2.js\";\nimport { bytesToHex } from \"./encoding.ts\";\n\nexport { sha256, sha512_256, ripemd160 };\n\n/** RIPEMD160(SHA256(input)) — standard Bitcoin/Stacks address hash */\nexport function hash160(input: Uint8Array): Uint8Array {\n\treturn ripemd160(sha256(input));\n}\n\n/** Hash used for transaction IDs */\nexport function txidFromBytes(data: Uint8Array): string {\n\treturn bytesToHex(sha512_256(data));\n}\n\n/** hash160 as hex — used for P2PKH address derivation */\nexport function hashP2PKH(input: Uint8Array): string {\n\treturn bytesToHex(hash160(input));\n}\n",
10
- "import { c32address, c32addressDecode } from \"./c32.ts\";\nimport { AddressVersion } from \"./constants.ts\";\nimport { bytesToHex, hexToBytes, without0x } from \"./encoding.ts\";\nimport { hash160 } from \"./hash.ts\";\n\nexport { c32address, c32addressDecode };\n\n/**\n * Derive the single-sig Stacks address for a compressed public key.\n */\nexport function publicKeyToAddress(\n\tpublicKey: string | Uint8Array,\n\tnetwork: \"mainnet\" | \"testnet\" = \"mainnet\",\n): string {\n\tconst bytes =\n\t\ttypeof publicKey === \"string\"\n\t\t\t? hexToBytes(without0x(publicKey))\n\t\t\t: publicKey;\n\tconst version =\n\t\tnetwork === \"mainnet\"\n\t\t\t? AddressVersion.MainnetSingleSig\n\t\t\t: AddressVersion.TestnetSingleSig;\n\treturn c32address(version, bytesToHex(hash160(bytes)));\n}\n\n/** Clarity contract-name grammar: leading letter, then letters/digits/`-`/`_`.\n * Underscore is legal (SIP-002) and deployed contracts use it — matches the\n * pattern the Index API already accepts for contract ids. */\nexport const CONTRACT_NAME_REGEX: RegExp = /^[a-zA-Z][a-zA-Z0-9_-]{0,127}$/;\n\nexport function validateStacksAddress(address: string): boolean {\n\ttry {\n\t\tc32addressDecode(address);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/** Alias for validateStacksAddress — matches future.md naming. */\nexport const isValidAddress: (address: string) => boolean =\n\tvalidateStacksAddress;\n\n/** Parse a principal into its parts, or null when malformed. The single\n * definition of \"valid principal\" for this package: exactly one optional\n * `.name` segment (never two), a c32-decodable address, and a contract name\n * matching the Clarity grammar. */\nexport function parsePrincipal(\n\tvalue: string,\n): { address: string; contractName?: string } | null {\n\tconst parts = value.split(\".\");\n\tif (parts.length > 2) return null;\n\tconst [address, contractName] = parts as [string, string | undefined];\n\tif (!validateStacksAddress(address)) return null;\n\tif (contractName === undefined) return { address };\n\tif (!CONTRACT_NAME_REGEX.test(contractName)) return null;\n\treturn { address, contractName };\n}\n\n/** Split `address.name` into its parts. Throws on anything `parsePrincipal`\n * rejects, and on a bare address with no contract name. */\nexport function parseContractId(contractId: string): [string, string] {\n\tconst parsed = parsePrincipal(contractId);\n\tif (!parsed?.contractName)\n\t\tthrow new Error(`Invalid contract identifier: ${contractId}`);\n\treturn [parsed.address, parsed.contractName];\n}\n\nexport function isClarityName(name: string): boolean {\n\tconst regex = /^[a-zA-Z]([a-zA-Z0-9]|[-_!?+<>=/*])*$|^[-+=/*]$|^[<>]=?$/;\n\treturn regex.test(name) && name.length < 128;\n}\n\n/**\n * Compare two Stacks addresses for equality (case-insensitive, version-aware).\n * Throws if either address is invalid.\n */\nexport function isAddressEqual(a: string, b: string): boolean {\n\tconst [versionA, hashA] = c32addressDecode(a);\n\tconst [versionB, hashB] = c32addressDecode(b);\n\treturn versionA === versionB && hashA.toLowerCase() === hashB.toLowerCase();\n}\n\n/** Extract the version byte from a Stacks address (22, 20, 26, or 21). */\nexport function addressToVersion(address: string): number {\n\treturn c32addressDecode(address)[0];\n}\n\n/**\n * Build a contract address from deployer + contract name.\n * Validates both parts; returns `deployer.contractName`.\n */\nexport function getContractAddress(\n\tdeployer: string,\n\tcontractName: string,\n): string {\n\tif (!validateStacksAddress(deployer)) {\n\t\tthrow new Error(`Invalid deployer address: ${deployer}`);\n\t}\n\tif (!isClarityName(contractName)) {\n\t\tthrow new Error(`Invalid contract name: ${contractName}`);\n\t}\n\treturn `${deployer}.${contractName}`;\n}\n",
11
- "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 * `<contract>::<asset-name>` — the shape a fungible/non-fungible asset filter\n * 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 — they\n * are legitimately not full identifiers (`SPB.*`), and the runtime validator\n * 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/** Webhooks and Subgraph sources match `*` wildcards in\n * principal/identifier patterns; every\n * other surface treats the value literally. */\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",
12
- "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\") {\n\t\t\tunsupported(\n\t\t\t\t\"Index events\",\n\t\t\t\t\"topic\",\n\t\t\t\t\"per-topic reads are Subgraphs/Webhooks-only (or read the contract's print feed and switch on topic)\",\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\") {\n\t\t\tunsupported(\n\t\t\t\t\"Streams\",\n\t\t\t\t\"topic\",\n\t\t\t\t\"per-topic filtering 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/** Build a canonical filter: validated spec + the projections its member\n * supports (methods are attached per member at runtime, matching the\n * type-level gating exactly). `const F` preserves field literals — a\n * `prints`/`abi` declaration keeps its exact type through\n * `toSubgraphSource()`, which is what feeds `defineSubgraph` narrowing. */\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 * Rehydrate a canonical filter from a subgraph-source-shaped object (the\n * inverse of `toSubgraphSource`). Powers migration and the round-trip\n * property gate: `toSubgraphSource(fromSubgraphSource(f))` must deep-equal\n * `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\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\tstxTransfer(\n\t\tfields?: Fields<\"stx_transfer\">,\n\t): ChainEventFilter<\"stx_transfer\">;\n\tstxMint(fields?: Fields<\"stx_mint\">): ChainEventFilter<\"stx_mint\">;\n\tstxBurn(fields?: Fields<\"stx_burn\">): ChainEventFilter<\"stx_burn\">;\n\tstxLock(fields?: Fields<\"stx_lock\">): ChainEventFilter<\"stx_lock\">;\n\tftTransfer(fields?: Fields<\"ft_transfer\">): ChainEventFilter<\"ft_transfer\">;\n\tftMint(fields?: Fields<\"ft_mint\">): ChainEventFilter<\"ft_mint\">;\n\tftBurn(fields?: Fields<\"ft_burn\">): ChainEventFilter<\"ft_burn\">;\n\tnftTransfer(\n\t\tfields?: Fields<\"nft_transfer\">,\n\t): ChainEventFilter<\"nft_transfer\">;\n\tnftMint(fields?: Fields<\"nft_mint\">): ChainEventFilter<\"nft_mint\">;\n\tnftBurn(fields?: Fields<\"nft_burn\">): ChainEventFilter<\"nft_burn\">;\n\t/** `abi` literals are preserved (`const A`) so `toSubgraphSource()` keeps\n\t * typing `event.input` inside `defineSubgraph`. */\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\tcontractDeploy(\n\t\tfields?: Fields<\"contract_deploy\">,\n\t): ChainEventFilter<\"contract_deploy\">;\n\t/** Canonical member is `print_event` (as Subgraphs and Webhooks spell\n\t * it); `toIndexParams`/`toStreamsParams` project to `print`. `prints`\n\t * literals are preserved (`const P`) for per-topic `event.data` narrowing. */\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\tnestedCall(\n\t\tfields?: Fields<\"nested_contract_call\">,\n\t): ChainEventFilter<\"nested_contract_call\">;\n\tvarSet(fields?: Fields<\"var_set\">): ChainEventFilter<\"var_set\">;\n\tmapSet(fields?: Fields<\"map_set\">): ChainEventFilter<\"map_set\">;\n\tmapInsert(fields?: Fields<\"map_insert\">): ChainEventFilter<\"map_insert\">;\n\tmapDelete(fields?: Fields<\"map_delete\">): ChainEventFilter<\"map_delete\">;\n\tsbtcDeposit(\n\t\tfields?: Fields<\"sbtc_deposit\">,\n\t): ChainEventFilter<\"sbtc_deposit\">;\n\tsbtcWithdrawalCreate(\n\t\tfields?: Fields<\"sbtc_withdrawal_create\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_create\">;\n\tsbtcWithdrawalAccept(\n\t\tfields?: Fields<\"sbtc_withdrawal_accept\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_accept\">;\n\tsbtcWithdrawalReject(\n\t\tfields?: Fields<\"sbtc_withdrawal_reject\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_reject\">;\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",
13
5
  "import type { Client, ClientConfig } from \"./types.ts\";\n\nconst BASE_KEYS = new Set([\n\t\"chain\",\n\t\"account\",\n\t\"transport\",\n\t\"request\",\n\t\"nonceManager\",\n\t\"extend\",\n]);\n\nfunction bindExtend(base: Client): Client[\"extend\"] {\n\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\treturn ((fn: any) => {\n\t\tconst extensions = fn(base);\n\t\tconst next = { ...base };\n\t\tfor (const [key, value] of Object.entries(extensions)) {\n\t\t\tif (BASE_KEYS.has(key)) continue;\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(next as any)[key] = value;\n\t\t}\n\t\tnext.extend = bindExtend(next);\n\t\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\t\treturn next as any;\n\t}) as Client[\"extend\"];\n}\n\n/**\n * Create a base client with transport and optional chain/account.\n * Use `.extend()` to compose action decorators (public, wallet, multisig).\n */\nexport function createClient<\n\tTExtended extends Record<string, unknown> = Record<string, unknown>,\n>(config: ClientConfig): Client<TExtended> {\n\tconst transport = config.transport({ chain: config.chain });\n\n\tconst client: Client = {\n\t\tchain: config.chain,\n\t\taccount: config.account,\n\t\ttransport,\n\t\trequest: transport.request,\n\t\tnonceManager: config.nonceManager,\n\t\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\t\textend: null as any,\n\t};\n\n\tclient.extend = bindExtend(client);\n\n\treturn client as Client<TExtended>;\n}\n",
14
6
  "/**\n * Derive a stable machine-readable code from an error's `name` field:\n * `HttpRequestError` becomes `HTTP_REQUEST_ERROR`. `name` is a string\n * literal each class sets, so the code survives a bundler that mangles\n * class names. Branch on `code` instead of parsing `message`, which is\n * free to change.\n */\nfunction codeFromName(name: string): string {\n\treturn name\n\t\t.replace(/([a-z0-9])([A-Z])/g, \"$1_$2\")\n\t\t.replace(/([A-Z]+)([A-Z][a-z])/g, \"$1_$2\")\n\t\t.toUpperCase();\n}\n\nexport class BaseError extends Error {\n\toverride name = \"StacksError\";\n\t#code?: string;\n\tshortMessage: string;\n\tdetails?: string;\n\n\tconstructor(\n\t\tshortMessage: string,\n\t\toptions?: { cause?: Error; details?: string; code?: string },\n\t) {\n\t\tconst message = [\n\t\t\tshortMessage,\n\t\t\toptions?.details ? `\\n${options.details}` : \"\",\n\t\t].join(\"\");\n\n\t\tsuper(message, { cause: options?.cause });\n\t\tif (options?.code !== undefined) this.#code = options.code;\n\t\tthis.shortMessage = shortMessage;\n\t\tthis.details = options?.details;\n\t}\n\n\t/**\n\t * Stable identifier for programmatic handling; survives message\n\t * rewording and minification. An explicit `code` option wins, else it\n\t * is derived from `name` (`TimeoutError` gives `TIMEOUT_ERROR`).\n\t */\n\tget code(): string {\n\t\treturn this.#code ?? codeFromName(this.name);\n\t}\n\n\tset code(value: string) {\n\t\tthis.#code = value;\n\t}\n\n\ttoJSON(): {\n\t\tname: string;\n\t\tcode: string;\n\t\tmessage: string;\n\t\tshortMessage: string;\n\t\tdetails: string | undefined;\n\t\tcause: string | undefined;\n\t} {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tcode: this.code,\n\t\t\tmessage: this.message,\n\t\t\tshortMessage: this.shortMessage,\n\t\t\tdetails: this.details,\n\t\t\tcause: this.cause instanceof Error ? this.cause.message : undefined,\n\t\t};\n\t}\n}\n",
15
7
  "import { BaseError } from \"./base.ts\";\n\n/** Thrown when a node/API response is missing an expected field. */\nexport class MalformedResponseError extends BaseError {\n\toverride name = \"MalformedResponseError\";\n}\n\n/** Thrown when `/v2/contracts/call-read` answers `okay: false`. */\nexport class ReadContractError extends BaseError {\n\toverride name = \"ReadContractError\";\n}\n",
8
+ "import { sha256 } from \"@noble/hashes/sha2.js\";\nimport { bytesToHex, hexToBytes } from \"./encoding.ts\";\n\nconst C32 = \"0123456789ABCDEFGHJKMNPQRSTVWXYZ\";\nconst HEX = \"0123456789abcdef\";\n\nfunction c32normalize(input: string): string {\n\treturn input.toUpperCase().replace(/O/g, \"0\").replace(/L|I/g, \"1\");\n}\n\nfunction c32encode(inputHex: string): string {\n\tlet hex = inputHex;\n\tif (hex.length % 2 !== 0) hex = `0${hex}`;\n\thex = hex.toLowerCase();\n\n\tconst res: string[] = [];\n\tlet carry = 0;\n\tfor (let i = hex.length - 1; i >= 0; i--) {\n\t\tif (carry < 4) {\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tconst currentCode = HEX.indexOf(hex[i]!) >> carry;\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tconst nextCode = i !== 0 ? HEX.indexOf(hex[i - 1]!) : 0;\n\t\t\tconst nextBits = 1 + carry;\n\t\t\tconst nextLowBits = (nextCode % (1 << nextBits)) << (5 - nextBits);\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tres.unshift(C32[currentCode + nextLowBits]!);\n\t\t\tcarry = nextBits;\n\t\t} else {\n\t\t\tcarry = 0;\n\t\t}\n\t}\n\n\t// Strip leading c32 zeros\n\tlet leadingZeros = 0;\n\twhile (leadingZeros < res.length && res[leadingZeros] === \"0\") leadingZeros++;\n\tconst stripped = res.slice(leadingZeros);\n\n\t// Preserve leading zero bytes from hex\n\tconst bytes = hexToBytes(hex);\n\tlet zeroBytesCount = 0;\n\twhile (zeroBytesCount < bytes.length && bytes[zeroBytesCount] === 0)\n\t\tzeroBytesCount++;\n\tconst prefix = Array(zeroBytesCount).fill(C32[0]) as string[];\n\n\treturn [...prefix, ...stripped].join(\"\");\n}\n\nfunction c32decode(c32input: string): string {\n\tconst input = c32normalize(c32input);\n\tif (!input.match(`^[${C32}]*$`)) throw new Error(\"Not a c32-encoded string\");\n\n\tconst zeroPrefix = input.match(`^${C32[0]}*`);\n\tconst numLeadingZeroBytes = zeroPrefix ? zeroPrefix[0]?.length : 0;\n\n\tconst res: string[] = [];\n\tlet carry = 0;\n\tlet carryBits = 0;\n\tfor (let i = input.length - 1; i >= 0; i--) {\n\t\tif (carryBits === 4) {\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tres.unshift(HEX[carry]!);\n\t\t\tcarryBits = 0;\n\t\t\tcarry = 0;\n\t\t}\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\tconst currentValue = (C32.indexOf(input[i]!) << carryBits) + carry;\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\tres.unshift(HEX[currentValue % 16]!);\n\t\tcarryBits += 1;\n\t\tcarry = currentValue >> 4;\n\t\tif (carry > 1 << carryBits) throw new Error(\"Panic error in c32 decoding\");\n\t}\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tres.unshift(HEX[carry]!);\n\n\tif (res.length % 2 === 1) res.unshift(\"0\");\n\n\t// Strip leading hex zeros\n\tlet hexLeadingZeros = 0;\n\twhile (hexLeadingZeros < res.length && res[hexLeadingZeros] === \"0\")\n\t\thexLeadingZeros++;\n\tlet hexStr = res.slice(hexLeadingZeros - (hexLeadingZeros % 2)).join(\"\");\n\n\tfor (let i = 0; i < numLeadingZeroBytes; i++) hexStr = `00${hexStr}`;\n\n\treturn hexStr;\n}\n\nfunction c32checksum(dataHex: string): string {\n\treturn bytesToHex(sha256(sha256(hexToBytes(dataHex))).slice(0, 4));\n}\n\nfunction c32checkEncode(version: number, data: string): string {\n\tif (version < 0 || version >= 32)\n\t\tthrow new Error(\"Invalid version (must be between 0 and 31)\");\n\tif (!data.match(/^[0-9a-fA-F]*$/))\n\t\tthrow new Error(\"Invalid data (not a hex string)\");\n\n\tlet d = data.toLowerCase();\n\tif (d.length % 2 !== 0) d = `0${d}`;\n\n\tlet versionHex = version.toString(16);\n\tif (versionHex.length === 1) versionHex = `0${versionHex}`;\n\n\tconst checksumHex = c32checksum(`${versionHex}${d}`);\n\treturn `${C32[version]}${c32encode(`${d}${checksumHex}`)}`;\n}\n\nfunction c32checkDecode(c32data: string): [number, string] {\n\tconst normalized = c32normalize(c32data);\n\tconst dataHex = c32decode(normalized.slice(1));\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tconst version = C32.indexOf(normalized[0]!);\n\tconst checksum = dataHex.slice(-8);\n\n\tlet versionHex = version.toString(16);\n\tif (versionHex.length === 1) versionHex = `0${versionHex}`;\n\n\tif (\n\t\tc32checksum(`${versionHex}${dataHex.substring(0, dataHex.length - 8)}`) !==\n\t\tchecksum\n\t) {\n\t\tthrow new Error(\"Invalid c32check string: checksum mismatch\");\n\t}\n\n\treturn [version, dataHex.substring(0, dataHex.length - 8)];\n}\n\nexport function c32address(version: number, hash160hex: string): string {\n\tif (!hash160hex.match(/^[0-9a-fA-F]{40}$/)) {\n\t\tthrow new Error(\"Invalid argument: not a hash160 hex string\");\n\t}\n\treturn `S${c32checkEncode(version, hash160hex)}`;\n}\n\nexport function c32addressDecode(c32addr: string): [number, string] {\n\tif (c32addr.length <= 5)\n\t\tthrow new Error(\"Invalid c32 address: invalid length\");\n\tif (c32addr[0] !== \"S\")\n\t\tthrow new Error('Invalid c32 address: must start with \"S\"');\n\treturn c32checkDecode(c32addr.slice(1));\n}\n",
9
+ "const hexes = Array.from({ length: 256 }, (_, i) =>\n\ti.toString(16).padStart(2, \"0\"),\n);\n\nexport function bytesToHex(bytes: Uint8Array): string {\n\tlet hex = \"\";\n\tfor (const b of bytes) {\n\t\thex += hexes[b];\n\t}\n\treturn hex;\n}\n\nexport function hexToBytes(hex: string): Uint8Array {\n\tlet h = without0x(hex);\n\tif (h.length % 2) h = `0${h}`;\n\n\tconst array = new Uint8Array(h.length / 2);\n\tfor (let i = 0; i < array.length; i++) {\n\t\tconst j = i * 2;\n\t\tconst byte = Number.parseInt(h.slice(j, j + 2), 16);\n\t\tif (Number.isNaN(byte) || byte < 0)\n\t\t\tthrow new Error(\"Invalid byte sequence\");\n\t\tarray[i] = byte;\n\t}\n\treturn array;\n}\n\nexport function with0x(value: string): string {\n\treturn /^0x/i.test(value) ? value : `0x${value}`;\n}\n\nexport function without0x(value: string): string {\n\treturn /^0x/i.test(value) ? value.slice(2) : value;\n}\n\nexport function utf8ToBytes(str: string): Uint8Array {\n\treturn new TextEncoder().encode(str);\n}\n\nexport function bytesToUtf8(bytes: Uint8Array): string {\n\treturn new TextDecoder().decode(bytes);\n}\n\nexport function asciiToBytes(str: string): Uint8Array {\n\tconst bytes = new Uint8Array(str.length);\n\tfor (let i = 0; i < str.length; i++) {\n\t\tbytes[i] = str.charCodeAt(i) & 0xff;\n\t}\n\treturn bytes;\n}\n\nexport function bytesToAscii(bytes: Uint8Array): string {\n\treturn String.fromCharCode(...bytes);\n}\n\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tif (arrays.length === 1) return arrays[0]!;\n\tconst length = arrays.reduce((a, arr) => a + arr.length, 0);\n\tconst result = new Uint8Array(length);\n\tlet pad = 0;\n\tfor (const arr of arrays) {\n\t\tresult.set(arr, pad);\n\t\tpad += arr.length;\n\t}\n\treturn result;\n}\n\nexport type IntegerType = number | string | bigint | Uint8Array;\n\nexport function intToBigInt(value: IntegerType): bigint {\n\tif (typeof value === \"bigint\") return value;\n\tif (typeof value === \"string\") return BigInt(value);\n\tif (typeof value === \"number\") {\n\t\tif (!Number.isInteger(value))\n\t\t\tthrow new RangeError(\"Values of type 'number' must be an integer.\");\n\t\tif (value > Number.MAX_SAFE_INTEGER)\n\t\t\tthrow new RangeError(\n\t\t\t\t`Values of type 'number' must be <= ${Number.MAX_SAFE_INTEGER}. Use BigInt instead.`,\n\t\t\t);\n\t\treturn BigInt(value);\n\t}\n\tif (value instanceof Uint8Array) return BigInt(`0x${bytesToHex(value)}`);\n\tthrow new TypeError(\"Must be a number, bigint, string, or Uint8Array.\");\n}\n\nexport function intToBytes(value: IntegerType, byteLength: number): Uint8Array {\n\treturn bigIntToBytes(intToBigInt(value), byteLength);\n}\n\nexport function bigIntToBytes(value: bigint, length = 16): Uint8Array {\n\tconst hex = value.toString(16).padStart(length * 2, \"0\");\n\treturn hexToBytes(hex);\n}\n\nexport function intToHex(integer: IntegerType, byteLength = 8): string {\n\tconst value = typeof integer === \"bigint\" ? integer : intToBigInt(integer);\n\treturn value.toString(16).padStart(byteLength * 2, \"0\");\n}\n\nexport function toTwos(value: bigint, width: bigint): bigint {\n\tconst limit = BigInt(1) << (width - BigInt(1));\n\tif (value < -limit || value > limit - BigInt(1)) {\n\t\tthrow new Error(`Unable to represent integer in width: ${width}`);\n\t}\n\tif (value >= BigInt(0)) return value;\n\treturn value + (BigInt(1) << width);\n}\n\nexport function fromTwos(value: bigint, width: bigint): bigint {\n\tif (value & (BigInt(1) << (width - BigInt(1)))) {\n\t\treturn value - (BigInt(1) << width);\n\t}\n\treturn value;\n}\n\nexport function bytesToTwosBigInt(bytes: Uint8Array): bigint {\n\tif (bytes.length === 0) return 0n;\n\tconst hex = bytesToHex(bytes);\n\tif (hex.length === 0) return 0n;\n\treturn fromTwos(BigInt(`0x${hex}`), BigInt(bytes.byteLength * 8));\n}\n\nexport function writeUInt32BE(value: number): Uint8Array {\n\tconst buf = new Uint8Array(4);\n\tbuf[0] = (value >>> 24) & 0xff;\n\tbuf[1] = (value >>> 16) & 0xff;\n\tbuf[2] = (value >>> 8) & 0xff;\n\tbuf[3] = value & 0xff;\n\treturn buf;\n}\n\nexport function readUInt32BE(bytes: Uint8Array, offset = 0): number {\n\treturn (\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t((bytes[offset]! << 24) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\t(bytes[offset + 1]! << 16) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\t(bytes[offset + 2]! << 8) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tbytes[offset + 3]!) >>>\n\t\t0\n\t);\n}\n\nexport function writeUInt16BE(value: number): Uint8Array {\n\tconst buf = new Uint8Array(2);\n\tbuf[0] = (value >>> 8) & 0xff;\n\tbuf[1] = value & 0xff;\n\treturn buf;\n}\n\nexport function readUInt16BE(bytes: Uint8Array, offset = 0): number {\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\treturn ((bytes[offset]! << 8) | bytes[offset + 1]!) >>> 0;\n}\n\nexport function writeUInt8(value: number): Uint8Array {\n\treturn new Uint8Array([value & 0xff]);\n}\n",
16
10
  "export type ClarityType =\n\t| \"int\"\n\t| \"uint\"\n\t| \"buffer\"\n\t| \"true\"\n\t| \"false\"\n\t| \"address\"\n\t| \"contract\"\n\t| \"ok\"\n\t| \"err\"\n\t| \"none\"\n\t| \"some\"\n\t| \"list\"\n\t| \"tuple\"\n\t| \"ascii\"\n\t| \"utf8\";\n\n/** Wire type IDs matching the Stacks binary format (SIP-005) */\nexport const ClarityWireType = {\n\tint: 0x00,\n\tuint: 0x01,\n\tbuffer: 0x02,\n\ttrue: 0x03,\n\tfalse: 0x04,\n\taddress: 0x05,\n\tcontract: 0x06,\n\tok: 0x07,\n\terr: 0x08,\n\tnone: 0x09,\n\tsome: 0x0a,\n\tlist: 0x0b,\n\ttuple: 0x0c,\n\tascii: 0x0d,\n\tutf8: 0x0e,\n} as const satisfies Record<ClarityType, number>;\n\n/** Reverse lookup: wire byte → ClarityType string */\nconst wireTypeToClarity = Object.fromEntries(\n\tObject.entries(ClarityWireType).map(([k, v]) => [v, k]),\n) as Record<number, ClarityType>;\n\nexport function clarityTypeFromByte(byte: number): ClarityType {\n\tconst type = wireTypeToClarity[byte];\n\tif (!type) throw new Error(`Unknown clarity wire type: ${byte}`);\n\treturn type;\n}\n\n// CV types\n\nexport type IntCV = { readonly type: \"int\"; readonly value: bigint };\nexport type UIntCV = { readonly type: \"uint\"; readonly value: bigint };\nexport type BooleanCV = TrueCV | FalseCV;\nexport type TrueCV = { readonly type: \"true\" };\nexport type FalseCV = { readonly type: \"false\" };\nexport type BufferCV = { readonly type: \"buffer\"; readonly value: string }; // hex\nexport type NoneCV = { readonly type: \"none\" };\nexport type SomeCV = {\n\treadonly type: \"some\";\n\treadonly value: ClarityValue;\n};\nexport type OptionalCV = NoneCV | SomeCV;\nexport type ResponseOkCV = {\n\treadonly type: \"ok\";\n\treadonly value: ClarityValue;\n};\nexport type ResponseErrorCV = {\n\treadonly type: \"err\";\n\treadonly value: ClarityValue;\n};\nexport type ResponseCV = ResponseOkCV | ResponseErrorCV;\nexport type StandardPrincipalCV = {\n\treadonly type: \"address\";\n\treadonly value: string;\n};\nexport type ContractPrincipalCV = {\n\treadonly type: \"contract\";\n\treadonly value: string; // \"address.name\"\n};\nexport type PrincipalCV = StandardPrincipalCV | ContractPrincipalCV;\nexport type ListCV = {\n\ttype: \"list\";\n\tvalue: ClarityValue[];\n};\nexport type TupleData = {\n\t[key: string]: ClarityValue;\n};\nexport type TupleCV = {\n\ttype: \"tuple\";\n\tvalue: TupleData;\n};\nexport type StringAsciiCV = {\n\treadonly type: \"ascii\";\n\treadonly value: string;\n};\nexport type StringUtf8CV = {\n\treadonly type: \"utf8\";\n\treadonly value: string;\n};\n\nexport type ClarityValue =\n\t| IntCV\n\t| UIntCV\n\t| BooleanCV\n\t| BufferCV\n\t| NoneCV\n\t| SomeCV\n\t| ResponseOkCV\n\t| ResponseErrorCV\n\t| StandardPrincipalCV\n\t| ContractPrincipalCV\n\t| ListCV\n\t| TupleCV\n\t| StringAsciiCV\n\t| StringUtf8CV;\n",
17
11
  "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",
18
12
  "import type { ClarityValue } from \"../clarity/types.ts\";\n\n// Auth types\nexport const AuthType = {\n\tStandard: 0x04,\n\tSponsored: 0x05,\n} as const;\nexport type AuthType = (typeof AuthType)[keyof typeof AuthType];\n\n// Payload types\nexport const PayloadType = {\n\tTokenTransfer: 0x00,\n\tSmartContract: 0x01,\n\tContractCall: 0x02,\n\tPoisonMicroblock: 0x03,\n\tCoinbase: 0x04,\n\tCoinbaseToAltRecipient: 0x05,\n\tVersionedSmartContract: 0x06,\n\tTenureChange: 0x07,\n\tNakamotoCoinbase: 0x08,\n} as const;\nexport type PayloadType = (typeof PayloadType)[keyof typeof PayloadType];\n\n// Clarity version\nexport const ClarityVersion = {\n\tClarity1: 1,\n\tClarity2: 2,\n\tClarity3: 3,\n\tClarity4: 4,\n\tClarity5: 5,\n\tClarity6: 6, // SIP-044, Epoch 4.0\n} as const;\nexport type ClarityVersion =\n\t(typeof ClarityVersion)[keyof typeof ClarityVersion];\n\n// Anchor mode (deprecated post-Nakamoto, but needed for wire format)\nexport const AnchorMode = {\n\tOnChainOnly: 0x01,\n\tOffChainOnly: 0x02,\n\tAny: 0x03,\n} as const;\nexport type AnchorMode = (typeof AnchorMode)[keyof typeof AnchorMode];\n\n// Post condition mode\nexport const PostConditionModeWire = {\n\tAllow: 0x01,\n\tDeny: 0x02,\n\tOriginator: 0x03, // SIP-040, Epoch 3.4\n} as const;\nexport type PostConditionModeWire =\n\t(typeof PostConditionModeWire)[keyof typeof PostConditionModeWire];\n\n// Address hash modes\nexport const AddressHashMode = {\n\tP2PKH: 0x00,\n\tP2SH: 0x01,\n\tP2WPKH: 0x02,\n\tP2WSH: 0x03,\n\tP2SH_NonSequential: 0x05, // SIP-027\n\tP2WSH_P2SH_NonSequential: 0x07, // SIP-027\n} as const;\nexport type AddressHashMode =\n\t(typeof AddressHashMode)[keyof typeof AddressHashMode];\n\n// Pub key encoding\nexport const PubKeyEncoding = {\n\tCompressed: 0x00,\n\tUncompressed: 0x01,\n} as const;\nexport type PubKeyEncoding =\n\t(typeof PubKeyEncoding)[keyof typeof PubKeyEncoding];\n\n// Fungible condition codes (wire format)\nexport const FungibleConditionCode = {\n\tEqual: 0x01,\n\tGreater: 0x02,\n\tGreaterEqual: 0x03,\n\tLess: 0x04,\n\tLessEqual: 0x05,\n} as const;\n\n// Non-fungible condition codes (wire format)\nexport const NonFungibleConditionCode = {\n\tSends: 0x10,\n\tDoesNotSend: 0x11,\n\tMaybeSent: 0x12, // SIP-040, Epoch 3.4\n} as const;\n\n// PoX condition codes (wire format, SIP-045)\nexport const PoxConditionCode = {\n\tWillNotPerform: 0x30,\n\tMayPerform: 0x31,\n\tWillPerform: 0x32,\n} as const;\nexport type PoxConditionCode =\n\t(typeof PoxConditionCode)[keyof typeof PoxConditionCode];\n\n// Post condition principal types\nexport const PostConditionPrincipalId = {\n\tOrigin: 0x01,\n\tStandard: 0x02,\n\tContract: 0x03,\n} as const;\n\n// Post condition asset types\nexport const AssetType = {\n\tSTX: 0x00,\n\tFungible: 0x01,\n\tNonFungible: 0x02,\n\tStaking: 0x03, // SIP-045\n\tPox: 0x04, // SIP-045\n} as const;\n\n// Auth field types\nexport const AuthFieldType = {\n\tPublicKeyCompressed: 0x00,\n\tPublicKeyUncompressed: 0x01,\n\tSignatureCompressed: 0x02,\n\tSignatureUncompressed: 0x03,\n} as const;\n\nexport const RECOVERABLE_ECDSA_SIG_LENGTH_BYTES = 65;\nexport const MEMO_MAX_LENGTH_BYTES = 34;\nexport const MAX_STRING_LENGTH_BYTES = 128;\nexport const COINBASE_BYTES_LENGTH = 32;\nexport const VRF_PROOF_BYTES_LENGTH = 80;\nexport const MICROBLOCK_HEADER_BYTES_LENGTH = 132; // 1 + 2 + 32 + 32 + 65\n\n// Tenure change cause\nexport const TenureChangeCause = {\n\tBlockFound: 0x00,\n\tExtended: 0x01,\n\tExtendedRuntime: 0x02,\n\tExtendedReadCount: 0x03,\n\tExtendedReadLength: 0x04,\n\tExtendedWriteCount: 0x05,\n\tExtendedWriteLength: 0x06,\n} as const;\nexport type TenureChangeCause =\n\t(typeof TenureChangeCause)[keyof typeof TenureChangeCause];\n\n// Token transfer payload\nexport type TokenTransferPayload = {\n\tpayloadType: typeof PayloadType.TokenTransfer;\n\trecipient: ClarityValue; // PrincipalCV\n\tamount: bigint;\n\tmemo: string;\n};\n\n// Contract call payload\nexport type ContractCallPayload = {\n\tpayloadType: typeof PayloadType.ContractCall;\n\tcontractAddress: string;\n\tcontractName: string;\n\tfunctionName: string;\n\tfunctionArgs: ClarityValue[];\n};\n\n// Smart contract deploy payload\nexport type SmartContractPayload = {\n\tpayloadType:\n\t\t| typeof PayloadType.SmartContract\n\t\t| typeof PayloadType.VersionedSmartContract;\n\tclarityVersion?: ClarityVersion;\n\tcontractName: string;\n\tcodeBody: string;\n};\n\n// Coinbase payload (appears in every pre-Nakamoto block)\nexport type CoinbasePayload = {\n\tpayloadType: typeof PayloadType.Coinbase;\n\tcoinbaseBuffer: string; // 32 bytes hex\n};\n\n// Coinbase to alt recipient payload\nexport type CoinbaseToAltRecipientPayload = {\n\tpayloadType: typeof PayloadType.CoinbaseToAltRecipient;\n\tcoinbaseBuffer: string; // 32 bytes hex\n\trecipient: ClarityValue; // PrincipalCV\n};\n\n// Poison microblock payload\nexport type PoisonMicroblockPayload = {\n\tpayloadType: typeof PayloadType.PoisonMicroblock;\n\theader1: string; // 132 bytes hex (raw microblock header)\n\theader2: string; // 132 bytes hex (raw microblock header)\n};\n\n// Tenure change payload (Nakamoto)\nexport type TenureChangePayload = {\n\tpayloadType: typeof PayloadType.TenureChange;\n\ttenureConsensusHash: string; // 20 bytes hex\n\tprevTenureConsensusHash: string; // 20 bytes hex\n\tburnViewConsensusHash: string; // 20 bytes hex\n\tpreviousTenureEnd: string; // 32 bytes hex\n\tpreviousTenureBlocks: number; // u32\n\tcause: TenureChangeCause;\n\tpubkeyHash: string; // 20 bytes hex\n};\n\n// Nakamoto coinbase payload\nexport type NakamotoCoinbasePayload = {\n\tpayloadType: typeof PayloadType.NakamotoCoinbase;\n\tcoinbaseBuffer: string; // 32 bytes hex\n\trecipient: ClarityValue | null; // Optional PrincipalCV\n\tvrfProof: string; // 80 bytes hex\n};\n\nexport type TransactionPayload =\n\t| TokenTransferPayload\n\t| ContractCallPayload\n\t| SmartContractPayload\n\t| CoinbasePayload\n\t| CoinbaseToAltRecipientPayload\n\t| PoisonMicroblockPayload\n\t| TenureChangePayload\n\t| NakamotoCoinbasePayload;\n\n// Spending condition\nexport type SingleSigSpendingCondition = {\n\thashMode: typeof AddressHashMode.P2PKH | typeof AddressHashMode.P2WPKH;\n\tsigner: string; // hash160 hex\n\tnonce: bigint;\n\tfee: bigint;\n\tkeyEncoding: PubKeyEncoding;\n\tsignature: string; // 65-byte recoverable sig hex\n};\n\nexport type TransactionAuthField = {\n\tpubKeyEncoding: PubKeyEncoding;\n\ttype: \"publicKey\" | \"signature\";\n\tdata: string; // hex\n};\n\nexport type MultiSigHashMode =\n\t| typeof AddressHashMode.P2SH\n\t| typeof AddressHashMode.P2WSH\n\t| typeof AddressHashMode.P2SH_NonSequential\n\t| typeof AddressHashMode.P2WSH_P2SH_NonSequential;\n\nexport type MultiSigSpendingCondition = {\n\thashMode: MultiSigHashMode;\n\tsigner: string;\n\tnonce: bigint;\n\tfee: bigint;\n\tfields: TransactionAuthField[];\n\tsignaturesRequired: number;\n};\n\nexport type SpendingCondition =\n\t| SingleSigSpendingCondition\n\t| MultiSigSpendingCondition;\n\nexport type StandardAuthorization = {\n\tauthType: typeof AuthType.Standard;\n\tspendingCondition: SpendingCondition;\n};\n\nexport type SponsoredAuthorization = {\n\tauthType: typeof AuthType.Sponsored;\n\tspendingCondition: SpendingCondition;\n\tsponsorSpendingCondition: SpendingCondition;\n};\n\nexport type Authorization = StandardAuthorization | SponsoredAuthorization;\n\n// Full transaction\nexport type StacksTransaction = {\n\tversion: number;\n\tchainId: number;\n\tauth: Authorization;\n\tanchorMode: AnchorMode;\n\tpostConditionMode: PostConditionModeWire;\n\tpostConditions: PostConditionWire[];\n\tpayload: TransactionPayload;\n\t/** Multi-sig signer metadata — not part of the wire format, preserved\n\t * through serialize/deserialize round-trip for auto-detection. */\n\t_multisig?: { publicKeys: string[] };\n};\n\n// Wire post condition types\nexport type PostConditionWire =\n\t| StxPostConditionWire\n\t| FtPostConditionWire\n\t| NftPostConditionWire\n\t| StakingPostConditionWire\n\t| PoxPostConditionWire;\n\nexport type StxPostConditionWire = {\n\ttype: \"stx\";\n\tprincipal: PostConditionPrincipalWire;\n\tconditionCode: number;\n\tamount: bigint;\n};\n\nexport type FtPostConditionWire = {\n\ttype: \"ft\";\n\tprincipal: PostConditionPrincipalWire;\n\tasset: AssetInfoWire;\n\tconditionCode: number;\n\tamount: bigint;\n};\n\nexport type NftPostConditionWire = {\n\ttype: \"nft\";\n\tprincipal: PostConditionPrincipalWire;\n\tasset: AssetInfoWire;\n\tconditionCode: number;\n\tassetId: ClarityValue;\n};\n\n// SIP-045: gates stake/register-for-bond/stake-update; same shape as STX\nexport type StakingPostConditionWire = {\n\ttype: \"staking\";\n\tprincipal: PostConditionPrincipalWire;\n\tconditionCode: number;\n\tamount: bigint;\n};\n\n// SIP-045: gates non-locking PoX state changes (unstake, announce-l1-early-exit, …); no amount\nexport type PoxPostConditionWire = {\n\ttype: \"pox\";\n\tprincipal: PostConditionPrincipalWire;\n\tconditionCode: PoxConditionCode;\n};\n\nexport type PostConditionPrincipalWire =\n\t| { type: \"origin\" }\n\t| { type: \"standard\"; address: string }\n\t| { type: \"contract\"; address: string; contractName: string };\n\nexport type AssetInfoWire = {\n\taddress: string;\n\tcontractName: string;\n\tassetName: string;\n};\n",
@@ -23,6 +17,9 @@
23
17
  "import type { Client } from \"../../clients/types.ts\";\nimport { MalformedResponseError } from \"../../errors/response.ts\";\n\nexport type GetBalanceParams = {\n\taddress: string;\n};\n\nexport async function getBalance(\n\tclient: Client,\n\tparams: GetBalanceParams,\n): Promise<bigint> {\n\tconst data = await client.request(\n\t\t`/v2/accounts/${encodeURIComponent(params.address)}`,\n\t\t{\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n\tconst balance = (data as { balance?: unknown })?.balance;\n\tif (typeof balance !== \"string\" && typeof balance !== \"number\") {\n\t\tthrow new MalformedResponseError(\n\t\t\t`getBalance: /v2/accounts/${params.address} response is missing \"balance\"`,\n\t\t);\n\t}\n\treturn BigInt(balance);\n}\n",
24
18
  "import type { Client } from \"../../clients/types.ts\";\n\nexport type GetBlockParams = {\n\theight?: number;\n\thash?: string;\n};\n\n/**\n * Fetch one block by hash or height, or the chain tip when both are omitted.\n * Every path resolves to a single block object: the tip read unwraps the\n * list envelope the extended API returns for `?limit=1`.\n */\nexport async function getBlock(\n\tclient: Client,\n\tparams?: GetBlockParams,\n\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n): Promise<any> {\n\tif (params?.hash) {\n\t\treturn client.request(\n\t\t\t`/extended/v2/blocks/${encodeURIComponent(params.hash)}`,\n\t\t\t{ method: \"GET\" },\n\t\t);\n\t}\n\tif (params?.height !== undefined) {\n\t\treturn client.request(\n\t\t\t`/extended/v2/blocks/${encodeURIComponent(String(params.height))}`,\n\t\t\t{ method: \"GET\" },\n\t\t);\n\t}\n\tconst data = await client.request(\"/extended/v2/blocks?limit=1\", {\n\t\tmethod: \"GET\",\n\t});\n\tconst results = (data as { results?: unknown[] } | null)?.results;\n\treturn Array.isArray(results) ? (results[0] ?? null) : data;\n}\n",
25
19
  "import type { Client } from \"../../clients/types.ts\";\nimport { MalformedResponseError } from \"../../errors/response.ts\";\n\nexport async function getBlockHeight(client: Client): Promise<number> {\n\tconst data = await client.request(\"/v2/info\", { method: \"GET\" });\n\tif (typeof data?.stacks_tip_height !== \"number\") {\n\t\tthrow new MalformedResponseError(\n\t\t\t'getBlockHeight: /v2/info response is missing \"stacks_tip_height\"',\n\t\t);\n\t}\n\treturn data.stacks_tip_height;\n}\n",
20
+ "// Clarity integer bounds\nexport const MAX_U128: bigint = (1n << 128n) - 1n;\nexport const MAX_I128: bigint = (1n << 127n) - 1n;\nexport const MIN_I128: bigint = -(1n << 127n);\n\n/** C32-encoded address version bytes for single-sig and multi-sig on each network. */\nexport const AddressVersion = {\n\tMainnetSingleSig: 22,\n\tMainnetMultiSig: 20,\n\tTestnetSingleSig: 26,\n\tTestnetMultiSig: 21,\n} as const;\nexport type AddressVersion =\n\t(typeof AddressVersion)[keyof typeof AddressVersion];\n\n/** Mainnet burn address (all-zero hash160). */\nexport const ZERO_ADDRESS = \"SP000000000000000000002Q6VF78\";\n/** Testnet burn address (all-zero hash160). */\nexport const TESTNET_ZERO_ADDRESS = \"ST000000000000000000002AMW42H\";\n\n/** Number of microSTX per 1 STX (10^6). */\nexport const MICROSTX_PER_STX = 1_000_000n;\n",
21
+ "import { ripemd160 } from \"@noble/hashes/legacy.js\";\nimport { sha256 } from \"@noble/hashes/sha2.js\";\nimport { sha512_256 } from \"@noble/hashes/sha2.js\";\nimport { bytesToHex } from \"./encoding.ts\";\n\nexport { sha256, sha512_256, ripemd160 };\n\n/** RIPEMD160(SHA256(input)) — standard Bitcoin/Stacks address hash */\nexport function hash160(input: Uint8Array): Uint8Array {\n\treturn ripemd160(sha256(input));\n}\n\n/** Hash used for transaction IDs */\nexport function txidFromBytes(data: Uint8Array): string {\n\treturn bytesToHex(sha512_256(data));\n}\n\n/** hash160 as hex — used for P2PKH address derivation */\nexport function hashP2PKH(input: Uint8Array): string {\n\treturn bytesToHex(hash160(input));\n}\n",
22
+ "import { c32address, c32addressDecode } from \"./c32.ts\";\nimport { AddressVersion } from \"./constants.ts\";\nimport { bytesToHex, hexToBytes, without0x } from \"./encoding.ts\";\nimport { hash160 } from \"./hash.ts\";\n\nexport { c32address, c32addressDecode };\n\n/**\n * Derive the single-sig Stacks address for a compressed public key.\n */\nexport function publicKeyToAddress(\n\tpublicKey: string | Uint8Array,\n\tnetwork: \"mainnet\" | \"testnet\" = \"mainnet\",\n): string {\n\tconst bytes =\n\t\ttypeof publicKey === \"string\"\n\t\t\t? hexToBytes(without0x(publicKey))\n\t\t\t: publicKey;\n\tconst version =\n\t\tnetwork === \"mainnet\"\n\t\t\t? AddressVersion.MainnetSingleSig\n\t\t\t: AddressVersion.TestnetSingleSig;\n\treturn c32address(version, bytesToHex(hash160(bytes)));\n}\n\n/** Clarity contract-name grammar: leading letter, then letters/digits/`-`/`_`.\n * Underscore is legal (SIP-002) and deployed contracts use it — matches the\n * pattern the Index API already accepts for contract ids. */\nexport const CONTRACT_NAME_REGEX: RegExp = /^[a-zA-Z][a-zA-Z0-9_-]{0,127}$/;\n\nexport function validateStacksAddress(address: string): boolean {\n\ttry {\n\t\tc32addressDecode(address);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/** Alias for validateStacksAddress — matches future.md naming. */\nexport const isValidAddress: (address: string) => boolean =\n\tvalidateStacksAddress;\n\n/** Parse a principal into its parts, or null when malformed. The single\n * definition of \"valid principal\" for this package: exactly one optional\n * `.name` segment (never two), a c32-decodable address, and a contract name\n * matching the Clarity grammar. */\nexport function parsePrincipal(\n\tvalue: string,\n): { address: string; contractName?: string } | null {\n\tconst parts = value.split(\".\");\n\tif (parts.length > 2) return null;\n\tconst [address, contractName] = parts as [string, string | undefined];\n\tif (!validateStacksAddress(address)) return null;\n\tif (contractName === undefined) return { address };\n\tif (!CONTRACT_NAME_REGEX.test(contractName)) return null;\n\treturn { address, contractName };\n}\n\n/** Split `address.name` into its parts. Throws on anything `parsePrincipal`\n * rejects, and on a bare address with no contract name. */\nexport function parseContractId(contractId: string): [string, string] {\n\tconst parsed = parsePrincipal(contractId);\n\tif (!parsed?.contractName)\n\t\tthrow new Error(`Invalid contract identifier: ${contractId}`);\n\treturn [parsed.address, parsed.contractName];\n}\n\nexport function isClarityName(name: string): boolean {\n\tconst regex = /^[a-zA-Z]([a-zA-Z0-9]|[-_!?+<>=/*])*$|^[-+=/*]$|^[<>]=?$/;\n\treturn regex.test(name) && name.length < 128;\n}\n\n/**\n * Compare two Stacks addresses for equality (case-insensitive, version-aware).\n * Throws if either address is invalid.\n */\nexport function isAddressEqual(a: string, b: string): boolean {\n\tconst [versionA, hashA] = c32addressDecode(a);\n\tconst [versionB, hashB] = c32addressDecode(b);\n\treturn versionA === versionB && hashA.toLowerCase() === hashB.toLowerCase();\n}\n\n/** Extract the version byte from a Stacks address (22, 20, 26, or 21). */\nexport function addressToVersion(address: string): number {\n\treturn c32addressDecode(address)[0];\n}\n\n/**\n * Build a contract address from deployer + contract name.\n * Validates both parts; returns `deployer.contractName`.\n */\nexport function getContractAddress(\n\tdeployer: string,\n\tcontractName: string,\n): string {\n\tif (!validateStacksAddress(deployer)) {\n\t\tthrow new Error(`Invalid deployer address: ${deployer}`);\n\t}\n\tif (!isClarityName(contractName)) {\n\t\tthrow new Error(`Invalid contract name: ${contractName}`);\n\t}\n\treturn `${deployer}.${contractName}`;\n}\n",
26
23
  "import type { Client } from \"../../clients/types.ts\";\nimport { parseContractId } from \"../../utils/address.ts\";\n\nexport type GetContractAbiParams = {\n\tcontract: string; // \"address.name\"\n};\n\nexport async function getContractAbi(\n\tclient: Client,\n\tparams: GetContractAbiParams,\n\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n): Promise<any> {\n\tconst [address, name] = parseContractId(params.contract);\n\treturn client.request(`/v2/contracts/interface/${address}/${name}`, {\n\t\tmethod: \"GET\",\n\t});\n}\n",
27
24
  "import { BaseError } from \"./base.ts\";\n\n/** Thrown by the HTTP transport when a response's status isn't 2xx. */\nexport class HttpRequestError extends BaseError {\n\toverride name = \"HttpRequestError\";\n\tstatus: number;\n\t/** Request URL, when the transport knows it. */\n\turl?: string;\n\t/** Request method, when the transport knows it. */\n\tmethod?: string;\n\n\tconstructor(\n\t\tstatus: number,\n\t\toptions?: {\n\t\t\tcause?: Error;\n\t\t\tdetails?: string;\n\t\t\turl?: string;\n\t\t\tmethod?: string;\n\t\t},\n\t) {\n\t\tconst where =\n\t\t\toptions?.url !== undefined\n\t\t\t\t? ` (${options.method ?? \"GET\"} ${options.url})`\n\t\t\t\t: \"\";\n\t\tsuper(`HTTP request failed with status ${status}${where}`, options);\n\t\tthis.status = status;\n\t\tthis.url = options?.url;\n\t\tthis.method = options?.method;\n\t}\n}\n",
28
25
  "import type { Client } from \"../../clients/types.ts\";\nimport { HttpRequestError } from \"../../errors/http.ts\";\nimport { parseContractId } from \"../../utils/address.ts\";\n\nexport type GetContractSourceParams = {\n\tcontract: string; // \"address.name\"\n};\n\nexport type ContractSourceResponse = {\n\tsource: string;\n\tpublish_height: number;\n\tmarf_proof?: string;\n};\n\n/**\n * Fetch a deployed contract's Clarity source. Node-RPC only (`/v2/contracts/source`)\n * — not available through Hiro's extended API or a tenant proxy, so `client`\n * must be configured against a direct node transport. Returns `null` when the\n * node has no source for the contract.\n */\nexport async function getContractSource(\n\tclient: Client,\n\tparams: GetContractSourceParams,\n): Promise<ContractSourceResponse | null> {\n\tconst [address, name] = parseContractId(params.contract);\n\ttry {\n\t\tconst data = (await client.request(\n\t\t\t`/v2/contracts/source/${address}/${name}`,\n\t\t\t{ method: \"GET\" },\n\t\t)) as Partial<ContractSourceResponse> | undefined;\n\t\treturn data?.source ? (data as ContractSourceResponse) : null;\n\t} catch (error) {\n\t\tif (error instanceof HttpRequestError && error.status === 404) return null;\n\t\tthrow error;\n\t}\n}\n",
@@ -76,12 +73,15 @@
76
73
  "import { createTransport } from \"./createTransport.ts\";\nimport type { RequestFn, TransportFactory } from \"./types.ts\";\n\n/** Create a transport backed by a user-provided request function. */\nexport function custom(params: { request: RequestFn }): TransportFactory {\n\treturn () => createTransport(\"custom\", { request: params.request });\n}\n",
77
74
  "import { createTransport } from \"./createTransport.ts\";\nimport type { TransportFactory } from \"./types.ts\";\n\n/** Create a transport that tries each transport in order until one succeeds. */\nexport function fallback(transports: TransportFactory[]): TransportFactory {\n\treturn (params) => {\n\t\tconst resolved = transports.map((t) => t(params));\n\n\t\treturn createTransport(\"fallback\", {\n\t\t\trequest: async (path, options) => {\n\t\t\t\tlet lastError: Error | undefined;\n\t\t\t\tfor (const transport of resolved) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn await transport.request(path, options);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tlastError =\n\t\t\t\t\t\t\terror instanceof Error ? error : new Error(String(error));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthrow lastError ?? new Error(\"All transports failed\");\n\t\t\t},\n\t\t});\n\t};\n}\n",
78
75
  "import { WebSocketError } from \"../errors/websocket.ts\";\nimport type {\n\tSubscription,\n\tWsSubscribeParams,\n} from \"../subscriptions/types.ts\";\nimport { buildRequestFn } from \"./createTransport.ts\";\nimport type { Transport, TransportConfig, TransportFactory } from \"./types.ts\";\n\n/** Configuration for the WebSocket transport, extending base {@link TransportConfig}. */\nexport type WebSocketTransportConfig = TransportConfig & {\n\t/** WebSocket URL (resolved from chain if omitted) */\n\turl?: string;\n\t/** Enable auto-reconnect (default: true) */\n\treconnect?: boolean;\n\t/** Max reconnect attempts (default: 10) */\n\treconnectMaxAttempts?: number;\n\t/** Base delay in ms for exponential backoff (default: 1000) */\n\treconnectBaseDelay?: number;\n};\n\n/** Transport with WebSocket subscription capabilities and auto-reconnect. */\nexport type WebSocketTransport = Transport & {\n\ttype: \"webSocket\";\n\tsubscribe: (\n\t\tparams: WsSubscribeParams,\n\t\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\t\tcallback: (data: any) => void,\n\t) => Promise<Subscription>;\n\tdestroy: () => void;\n};\n\ntype JsonRpcRequest = {\n\tjsonrpc: \"2.0\";\n\tid: number;\n\tmethod: string;\n\tparams: Record<string, unknown>;\n};\n\ntype JsonRpcResponse = {\n\tjsonrpc: \"2.0\";\n\tid: number;\n\tresult?: unknown;\n\terror?: { code: number; message: string };\n};\n\ntype JsonRpcNotification = {\n\tjsonrpc: \"2.0\";\n\tmethod: string;\n\tparams: unknown;\n};\n\ntype SubEntry = {\n\tparams: WsSubscribeParams;\n\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\tcallbacks: Set<(data: any) => void>;\n};\n\nfunction subKey(params: WsSubscribeParams): string {\n\tconst parts: string[] = [params.event];\n\tif (params.tx_id) parts.push(`tx_id:${params.tx_id}`);\n\tif (params.address) parts.push(`address:${params.address}`);\n\tif (params.asset_identifier) parts.push(`asset:${params.asset_identifier}`);\n\tif (params.value) parts.push(`value:${params.value}`);\n\treturn parts.join(\"|\");\n}\n\nexport class WebSocketChannel {\n\tprivate ws: WebSocket | null = null;\n\tprivate url: string;\n\tprivate nextId = 1;\n\tprivate pending = new Map<\n\t\tnumber,\n\t\t{ resolve: (v: unknown) => void; reject: (e: Error) => void }\n\t>();\n\tprivate subs = new Map<string, SubEntry>();\n\tprivate destroyed = false;\n\tprivate reconnecting = false;\n\tprivate reconnectAttempt = 0;\n\tprivate reconnectTimer: ReturnType<typeof setTimeout> | null = null;\n\n\tprivate reconnect: boolean;\n\tprivate reconnectMaxAttempts: number;\n\tprivate reconnectBaseDelay: number;\n\n\tconstructor(url: string, config?: WebSocketTransportConfig) {\n\t\tthis.url = url;\n\t\tthis.reconnect = config?.reconnect ?? true;\n\t\tthis.reconnectMaxAttempts = config?.reconnectMaxAttempts ?? 10;\n\t\tthis.reconnectBaseDelay = config?.reconnectBaseDelay ?? 1000;\n\t}\n\n\tprivate connect(): Promise<void> {\n\t\tif (this.ws?.readyState === WebSocket.OPEN) return Promise.resolve();\n\t\tif (this.ws?.readyState === WebSocket.CONNECTING) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst onOpen = () => {\n\t\t\t\t\tthis.ws?.removeEventListener(\"error\", onError);\n\t\t\t\t\tresolve();\n\t\t\t\t};\n\t\t\t\tconst onError = (e: Event) => {\n\t\t\t\t\tthis.ws?.removeEventListener(\"open\", onOpen);\n\t\t\t\t\treject(\n\t\t\t\t\t\tnew WebSocketError(\"WebSocket connection failed\", {\n\t\t\t\t\t\t\tdetails: String(e),\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t\tthis.ws?.addEventListener(\"open\", onOpen, { once: true });\n\t\t\t\tthis.ws?.addEventListener(\"error\", onError, { once: true });\n\t\t\t});\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.ws = new WebSocket(this.url);\n\n\t\t\tthis.ws.addEventListener(\n\t\t\t\t\"open\",\n\t\t\t\t() => {\n\t\t\t\t\tthis.reconnectAttempt = 0;\n\t\t\t\t\tthis.reconnecting = false;\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\t{ once: true },\n\t\t\t);\n\n\t\t\tthis.ws.addEventListener(\n\t\t\t\t\"error\",\n\t\t\t\t(e) => {\n\t\t\t\t\treject(\n\t\t\t\t\t\tnew WebSocketError(\"WebSocket connection failed\", {\n\t\t\t\t\t\t\tdetails: String(e),\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t{ once: true },\n\t\t\t);\n\n\t\t\tthis.ws.addEventListener(\"message\", (event) => {\n\t\t\t\tthis.handleMessage(event.data);\n\t\t\t});\n\n\t\t\tthis.ws.addEventListener(\"close\", () => {\n\t\t\t\tif (!this.destroyed) this.handleDisconnect();\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate handleMessage(raw: string | ArrayBuffer | Blob) {\n\t\tconst data =\n\t\t\ttypeof raw === \"string\"\n\t\t\t\t? raw\n\t\t\t\t: new TextDecoder().decode(raw as ArrayBuffer);\n\n\t\tlet msg: JsonRpcResponse | JsonRpcNotification;\n\t\ttry {\n\t\t\tmsg = JSON.parse(data);\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\n\t\t// RPC response\n\t\tif (\"id\" in msg && msg.id != null) {\n\t\t\tconst rpc = msg as JsonRpcResponse;\n\t\t\tconst p = this.pending.get(rpc.id);\n\t\t\tif (!p) return;\n\t\t\tthis.pending.delete(rpc.id);\n\t\t\tif (rpc.error) {\n\t\t\t\tp.reject(\n\t\t\t\t\tnew WebSocketError(rpc.error.message, {\n\t\t\t\t\t\tdetails: `JSON-RPC error ${rpc.error.code}`,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tp.resolve(rpc.result);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Notification\n\t\tconst notif = msg as JsonRpcNotification;\n\t\tif (!notif.method) return;\n\n\t\tfor (const [, entry] of this.subs) {\n\t\t\tif (entry.params.event === notif.method) {\n\t\t\t\tfor (const cb of entry.callbacks) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tcb(notif.params);\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t// subscriber error — don't crash channel\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleDisconnect() {\n\t\tthis.ws = null;\n\n\t\t// reject pending RPCs\n\t\tfor (const [, p] of this.pending) {\n\t\t\tp.reject(new WebSocketError(\"WebSocket disconnected\"));\n\t\t}\n\t\tthis.pending.clear();\n\n\t\tif (\n\t\t\tthis.reconnect &&\n\t\t\tthis.subs.size > 0 &&\n\t\t\tthis.reconnectAttempt < this.reconnectMaxAttempts\n\t\t) {\n\t\t\tthis.scheduleReconnect();\n\t\t}\n\t}\n\n\tprivate scheduleReconnect() {\n\t\tif (this.destroyed || this.reconnecting) return;\n\t\tthis.reconnecting = true;\n\t\tconst delay = this.reconnectBaseDelay * 2 ** this.reconnectAttempt;\n\t\tthis.reconnectAttempt++;\n\n\t\tthis.reconnectTimer = setTimeout(async () => {\n\t\t\tthis.reconnecting = false;\n\t\t\ttry {\n\t\t\t\tawait this.connect();\n\t\t\t\tawait this.resubscribeAll();\n\t\t\t} catch {\n\t\t\t\tif (!this.destroyed && this.subs.size > 0) {\n\t\t\t\t\tthis.handleDisconnect();\n\t\t\t\t}\n\t\t\t}\n\t\t}, delay);\n\t}\n\n\tprivate async resubscribeAll() {\n\t\tfor (const [, entry] of this.subs) {\n\t\t\tawait this.sendRpc(\"subscribe\", entry.params);\n\t\t}\n\t}\n\n\tprivate sendRpc(\n\t\tmethod: string,\n\t\tparams: Record<string, unknown>,\n\t): Promise<unknown> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (!this.ws || this.ws.readyState !== WebSocket.OPEN) {\n\t\t\t\treturn reject(new WebSocketError(\"WebSocket not connected\"));\n\t\t\t}\n\n\t\t\tconst id = this.nextId++;\n\t\t\tconst msg: JsonRpcRequest = {\n\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\tid,\n\t\t\t\tmethod,\n\t\t\t\tparams,\n\t\t\t};\n\n\t\t\tthis.pending.set(id, { resolve, reject });\n\t\t\tthis.ws.send(JSON.stringify(msg));\n\t\t});\n\t}\n\n\tasync subscribe(\n\t\tparams: WsSubscribeParams,\n\t\t// biome-ignore lint/suspicious/noExplicitAny: interop boundary or dynamic-shape value where typing adds friction without runtime safety\n\t\tcallback: (data: any) => void,\n\t): Promise<Subscription> {\n\t\tif (this.destroyed) {\n\t\t\tthrow new WebSocketError(\"WebSocket channel has been destroyed\");\n\t\t}\n\n\t\tawait this.connect();\n\n\t\tconst key = subKey(params);\n\t\tlet entry = this.subs.get(key);\n\n\t\tif (entry) {\n\t\t\t// Dedup: reuse existing WS subscription\n\t\t\tentry.callbacks.add(callback);\n\t\t} else {\n\t\t\t// New WS subscription\n\t\t\tentry = { params, callbacks: new Set([callback]) };\n\t\t\tthis.subs.set(key, entry);\n\t\t\tawait this.sendRpc(\"subscribe\", params);\n\t\t}\n\n\t\treturn {\n\t\t\tunsubscribe: () => {\n\t\t\t\tconst e = this.subs.get(key);\n\t\t\t\tif (!e) return;\n\t\t\t\te.callbacks.delete(callback);\n\t\t\t\tif (e.callbacks.size === 0) {\n\t\t\t\t\tthis.subs.delete(key);\n\t\t\t\t\t// Best-effort unsubscribe RPC\n\t\t\t\t\tif (this.ws?.readyState === WebSocket.OPEN) {\n\t\t\t\t\t\tthis.sendRpc(\"unsubscribe\", params).catch(() => {});\n\t\t\t\t\t}\n\t\t\t\t\t// Auto-close when no subscribers remain\n\t\t\t\t\tif (this.subs.size === 0) this.closeQuietly();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate closeQuietly() {\n\t\tif (this.ws) {\n\t\t\tthis.ws.close();\n\t\t\tthis.ws = null;\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\tthis.destroyed = true;\n\t\tif (this.reconnectTimer) clearTimeout(this.reconnectTimer);\n\n\t\tfor (const [, p] of this.pending) {\n\t\t\tp.reject(new WebSocketError(\"WebSocket channel destroyed\"));\n\t\t}\n\t\tthis.pending.clear();\n\t\tthis.subs.clear();\n\n\t\tif (this.ws) {\n\t\t\tthis.ws.close();\n\t\t\tthis.ws = null;\n\t\t}\n\t}\n}\n\nfunction deriveWsUrl(httpUrl: string): string {\n\treturn `${httpUrl.replace(/^http/, \"ws\").replace(/\\/$/, \"\")}/extended/v1/ws`;\n}\n\n/**\n * Create a WebSocket transport for real-time Stacks event subscriptions.\n * HTTP requests use the resolved RPC URL; subscriptions use the WS endpoint.\n */\nexport function webSocket(\n\turl?: string,\n\tconfig?: WebSocketTransportConfig,\n): TransportFactory {\n\treturn (params) => {\n\t\tconst httpUrl =\n\t\t\tconfig?.url ??\n\t\t\tparams?.chain?.rpcUrls.default.http[0] ??\n\t\t\t\"http://localhost:3999\";\n\n\t\tconst wsUrl =\n\t\t\turl ?? params?.chain?.rpcUrls.default.ws?.[0] ?? deriveWsUrl(httpUrl);\n\n\t\tconst resolvedHttpConfig: TransportConfig = {\n\t\t\t...config,\n\t\t\turl: httpUrl,\n\t\t};\n\n\t\tconst channel = new WebSocketChannel(wsUrl, config);\n\t\t// Same rule as createTransport: the key stays in the request closure.\n\t\tconst { apiKey: _apiKey, ...exposedConfig } = resolvedHttpConfig;\n\n\t\tconst transport: WebSocketTransport = {\n\t\t\ttype: \"webSocket\",\n\t\t\trequest: buildRequestFn(httpUrl, resolvedHttpConfig),\n\t\t\tconfig: exposedConfig,\n\t\t\tsubscribe: (subParams, callback) =>\n\t\t\t\tchannel.subscribe(subParams, callback),\n\t\t\tdestroy: () => channel.destroy(),\n\t\t};\n\n\t\treturn transport;\n\t};\n}\n",
76
+ "// 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.\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",
77
+ "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 * `<contract>::<asset-name>` — the shape a fungible/non-fungible asset filter\n * 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 — they\n * are legitimately not full identifiers (`SPB.*`), and the runtime validator\n * 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/** Webhooks and Subgraph sources match `*` wildcards in\n * principal/identifier patterns; every\n * other surface treats the value literally. */\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",
78
+ "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\") {\n\t\t\tunsupported(\n\t\t\t\t\"Index events\",\n\t\t\t\t\"topic\",\n\t\t\t\t\"per-topic reads are Subgraphs/Webhooks-only (or read the contract's print feed and switch on topic)\",\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\") {\n\t\t\tunsupported(\n\t\t\t\t\"Streams\",\n\t\t\t\t\"topic\",\n\t\t\t\t\"per-topic filtering 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/** Build a canonical filter: validated spec + the projections its member\n * supports (methods are attached per member at runtime, matching the\n * type-level gating exactly). `const F` preserves field literals — a\n * `prints`/`abi` declaration keeps its exact type through\n * `toSubgraphSource()`, which is what feeds `defineSubgraph` narrowing. */\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 * Rehydrate a canonical filter from a subgraph-source-shaped object (the\n * inverse of `toSubgraphSource`). Powers migration and the round-trip\n * property gate: `toSubgraphSource(fromSubgraphSource(f))` must deep-equal\n * `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\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\tstxTransfer(\n\t\tfields?: Fields<\"stx_transfer\">,\n\t): ChainEventFilter<\"stx_transfer\">;\n\tstxMint(fields?: Fields<\"stx_mint\">): ChainEventFilter<\"stx_mint\">;\n\tstxBurn(fields?: Fields<\"stx_burn\">): ChainEventFilter<\"stx_burn\">;\n\tstxLock(fields?: Fields<\"stx_lock\">): ChainEventFilter<\"stx_lock\">;\n\tftTransfer(fields?: Fields<\"ft_transfer\">): ChainEventFilter<\"ft_transfer\">;\n\tftMint(fields?: Fields<\"ft_mint\">): ChainEventFilter<\"ft_mint\">;\n\tftBurn(fields?: Fields<\"ft_burn\">): ChainEventFilter<\"ft_burn\">;\n\tnftTransfer(\n\t\tfields?: Fields<\"nft_transfer\">,\n\t): ChainEventFilter<\"nft_transfer\">;\n\tnftMint(fields?: Fields<\"nft_mint\">): ChainEventFilter<\"nft_mint\">;\n\tnftBurn(fields?: Fields<\"nft_burn\">): ChainEventFilter<\"nft_burn\">;\n\t/** `abi` literals are preserved (`const A`) so `toSubgraphSource()` keeps\n\t * typing `event.input` inside `defineSubgraph`. */\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\tcontractDeploy(\n\t\tfields?: Fields<\"contract_deploy\">,\n\t): ChainEventFilter<\"contract_deploy\">;\n\t/** Canonical member is `print_event` (as Subgraphs and Webhooks spell\n\t * it); `toIndexParams`/`toStreamsParams` project to `print`. `prints`\n\t * literals are preserved (`const P`) for per-topic `event.data` narrowing. */\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\tnestedCall(\n\t\tfields?: Fields<\"nested_contract_call\">,\n\t): ChainEventFilter<\"nested_contract_call\">;\n\tvarSet(fields?: Fields<\"var_set\">): ChainEventFilter<\"var_set\">;\n\tmapSet(fields?: Fields<\"map_set\">): ChainEventFilter<\"map_set\">;\n\tmapInsert(fields?: Fields<\"map_insert\">): ChainEventFilter<\"map_insert\">;\n\tmapDelete(fields?: Fields<\"map_delete\">): ChainEventFilter<\"map_delete\">;\n\tsbtcDeposit(\n\t\tfields?: Fields<\"sbtc_deposit\">,\n\t): ChainEventFilter<\"sbtc_deposit\">;\n\tsbtcWithdrawalCreate(\n\t\tfields?: Fields<\"sbtc_withdrawal_create\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_create\">;\n\tsbtcWithdrawalAccept(\n\t\tfields?: Fields<\"sbtc_withdrawal_accept\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_accept\">;\n\tsbtcWithdrawalReject(\n\t\tfields?: Fields<\"sbtc_withdrawal_reject\">,\n\t): ChainEventFilter<\"sbtc_withdrawal_reject\">;\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",
79
79
  "import type { ProviderAccount, StacksProvider } from \"./types.ts\";\n\n/** Create a ProviderAccount by querying the wallet for addresses */\nexport async function providerToAccount(\n\tprovider: StacksProvider,\n): Promise<ProviderAccount> {\n\tconst result = await provider.request(\"stx_getAddresses\");\n\n\tconst entry = result?.addresses?.[0];\n\tif (!entry?.address || !entry?.publicKey) {\n\t\tthrow new Error(\"Provider did not return a valid address\");\n\t}\n\n\treturn {\n\t\ttype: \"provider\",\n\t\taddress: entry.address,\n\t\tpublicKey: entry.publicKey,\n\t\tprovider,\n\t};\n}\n",
80
80
  "import type { StacksChain } from \"./types.ts\";\n\n/** Stacks mainnet chain definition (Hiro API). */\nexport const mainnet: StacksChain = {\n\tid: 0x00000001,\n\tname: \"Stacks Mainnet\",\n\tnetwork: \"mainnet\",\n\ttransactionVersion: 0x00,\n\tpeerNetworkId: 0x17000000,\n\taddressVersion: { singleSig: 22, multiSig: 20 },\n\tmagicBytes: \"X2\",\n\tbootAddress: \"SP000000000000000000002Q6VF78\",\n\tnativeCurrency: { name: \"Stacks\", symbol: \"STX\", decimals: 6 },\n\trpcUrls: {\n\t\tdefault: {\n\t\t\thttp: [\"https://api.mainnet.hiro.so\"],\n\t\t\tws: [\"wss://api.mainnet.hiro.so/extended/v1/ws\"],\n\t\t},\n\t},\n\tblockExplorers: {\n\t\tdefault: { name: \"Hiro Explorer\", url: \"https://explorer.hiro.so\" },\n\t},\n};\n\n/** Stacks testnet chain definition (Hiro API). */\nexport const testnet: StacksChain = {\n\tid: 0x80000000,\n\tname: \"Stacks Testnet\",\n\tnetwork: \"testnet\",\n\ttransactionVersion: 0x80,\n\tpeerNetworkId: 0xff000000,\n\taddressVersion: { singleSig: 26, multiSig: 21 },\n\tmagicBytes: \"T2\",\n\tbootAddress: \"ST000000000000000000002AMW42H\",\n\tnativeCurrency: { name: \"Stacks\", symbol: \"STX\", decimals: 6 },\n\trpcUrls: {\n\t\tdefault: {\n\t\t\thttp: [\"https://api.testnet.hiro.so\"],\n\t\t\tws: [\"wss://api.testnet.hiro.so/extended/v1/ws\"],\n\t\t},\n\t},\n\tblockExplorers: {\n\t\tdefault: {\n\t\t\tname: \"Hiro Explorer\",\n\t\t\turl: \"https://explorer.hiro.so/?chain=testnet\",\n\t\t},\n\t},\n};\n\n/** Local development chain definition (localhost:3999). */\nexport const devnet: StacksChain = {\n\tid: 0x80000000,\n\tname: \"Stacks Devnet\",\n\tnetwork: \"testnet\",\n\ttransactionVersion: 0x80,\n\tpeerNetworkId: 0xff000000,\n\taddressVersion: { singleSig: 26, multiSig: 21 },\n\tmagicBytes: \"id\",\n\tbootAddress: \"ST000000000000000000002AMW42H\",\n\tnativeCurrency: { name: \"Stacks\", symbol: \"STX\", decimals: 6 },\n\trpcUrls: {\n\t\tdefault: {\n\t\t\thttp: [\"http://localhost:3999\"],\n\t\t\tws: [\"ws://localhost:3999/extended/v1/ws\"],\n\t\t},\n\t},\n};\n\n/** Alias for devnet used in mock/test environments. */\nexport const mocknet: StacksChain = {\n\t...devnet,\n\tname: \"Stacks Mocknet\",\n\taddressVersion: { ...devnet.addressVersion },\n};\n",
81
81
  "import type { StacksChain } from \"./types.ts\";\n\n/** Identity helper for defining a custom {@link StacksChain} with full type inference. */\nexport function defineChain(chain: StacksChain): StacksChain {\n\treturn chain;\n}\n",
82
82
  "/**\n * Format a bigint value with decimal places.\n * @example formatUnits(1000000n, 6) → \"1.0\"\n * @example formatUnits(1500000n, 6) → \"1.5\"\n */\nexport function formatUnits(\n\tvalue: bigint | number | string,\n\tdecimals: number,\n): string {\n\tlet v = BigInt(value);\n\n\tconst negative = v < 0n;\n\tif (negative) v = -v;\n\n\tconst divisor = 10n ** BigInt(decimals);\n\tconst integer = (v / divisor).toString();\n\tlet fraction = (v % divisor).toString().padStart(decimals, \"0\");\n\n\t// Trim trailing zeros, but keep at least one decimal\n\tfraction = fraction.replace(/0+$/, \"\") || \"0\";\n\n\tconst result = `${integer}.${fraction}`;\n\treturn negative ? `-${result}` : result;\n}\n\n/**\n * Parse a decimal string into a bigint with the given number of decimals.\n * @example parseUnits(\"1.5\", 6) → 1500000n\n * @example parseUnits(\"1\", 6) → 1000000n\n */\nconst DECIMAL_STRING = /^-?\\d+(\\.\\d+)?$/;\n\nexport function parseUnits(value: string | number, decimals: number): bigint {\n\tif (typeof value === \"number\" && !Number.isFinite(value)) {\n\t\tthrow new RangeError(`Cannot parse ${value} as a decimal amount`);\n\t}\n\t// Numbers small or large enough to print in exponent form (1e-7, 1e21)\n\t// go through toFixed so the digits survive. A number the fixed form\n\t// cannot hold exactly (too many decimals, or too small for one unit) is\n\t// refused rather than rounded, so amounts never shrink silently.\n\tlet str = typeof value === \"number\" ? value.toFixed(decimals) : value.trim();\n\tif (!DECIMAL_STRING.test(str)) {\n\t\tthrow new RangeError(\n\t\t\t`Cannot parse \"${value}\" as a decimal amount: expected digits with an optional fraction, like \"1.5\"`,\n\t\t);\n\t}\n\tif (typeof value === \"number\" && Number(str) !== value) {\n\t\tthrow new RangeError(\n\t\t\t`Cannot parse ${value} with ${decimals} decimals: pass the amount as a string to keep every digit`,\n\t\t);\n\t}\n\n\tconst negative = str.startsWith(\"-\");\n\tif (negative) str = str.slice(1);\n\n\tconst [integer = \"\", fraction = \"\"] = str.split(\".\");\n\n\tif (fraction.length > decimals) {\n\t\tthrow new Error(\n\t\t\t`Too many decimal places: \"${value}\" has ${fraction.length} decimals, max is ${decimals}`,\n\t\t);\n\t}\n\n\tconst padded = fraction.padEnd(decimals, \"0\");\n\tconst result = BigInt(integer + padded);\n\treturn negative ? -result : result;\n}\n\n/**\n * Format microSTX to STX string (6 decimals).\n * @example formatStx(1000000n) → \"1.0\"\n */\nexport function formatStx(microStx: bigint | number | string): string {\n\treturn formatUnits(microStx, 6);\n}\n\n/**\n * Parse STX string to microSTX bigint (6 decimals).\n * @example parseStx(\"1.5\") → 1500000n\n */\nexport function parseStx(stx: string | number): bigint {\n\treturn parseUnits(stx, 6);\n}\n"
83
83
  ],
84
- "mappings": "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",
85
- "debugId": "3FA35CAE5C34437464756E2164756E21",
84
+ "mappings": "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",
85
+ "debugId": "BBEDE03C59EADB7164756E2164756E21",
86
86
  "names": []
87
87
  }