@secondlayer/stacks 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/shared/{stacks-shh3gp0x.js → stacks-43cxvnr7.js} +4 -3
  2. package/dist/shared/{stacks-shh3gp0x.js.map → stacks-43cxvnr7.js.map} +3 -3
  3. package/dist/shared/{stacks-kmnthgj7.js → stacks-4trgpb5a.js} +13 -3
  4. package/dist/shared/{stacks-kmnthgj7.js.map → stacks-4trgpb5a.js.map} +3 -3
  5. package/dist/shared/stacks-4z1jhw6y.js +51 -0
  6. package/dist/shared/stacks-4z1jhw6y.js.map +10 -0
  7. package/dist/shared/{stacks-fy5h5qyx.js → stacks-5th5dffx.js} +9 -44
  8. package/dist/shared/{stacks-fy5h5qyx.js.map → stacks-5th5dffx.js.map} +3 -4
  9. package/dist/shared/stacks-7wfdkhj6.cjs +70 -0
  10. package/dist/shared/stacks-7wfdkhj6.cjs.map +12 -0
  11. package/dist/shared/stacks-7wqprfrm.cjs +35 -0
  12. package/dist/shared/stacks-7wqprfrm.cjs.map +10 -0
  13. package/dist/shared/{stacks-dr5en54r.cjs → stacks-8e5atbps.cjs} +2 -9
  14. package/dist/shared/{stacks-dr5en54r.cjs.map → stacks-8e5atbps.cjs.map} +2 -2
  15. package/dist/shared/{stacks-kmshch4q.js → stacks-a36n7sjz.js} +3 -2
  16. package/dist/shared/{stacks-kmshch4q.js.map → stacks-a36n7sjz.js.map} +1 -1
  17. package/dist/shared/stacks-d6pgp4qk.cjs +9 -0
  18. package/dist/shared/stacks-d6pgp4qk.cjs.map +9 -0
  19. package/dist/shared/{stacks-xxvz1x0f.cjs → stacks-ertyhttt.cjs} +13 -3
  20. package/dist/shared/{stacks-xxvz1x0f.cjs.map → stacks-ertyhttt.cjs.map} +3 -3
  21. package/dist/shared/{stacks-7tn3zsbe.js → stacks-hyz7zgdk.js} +2 -2
  22. package/dist/shared/{stacks-14pgpkrr.cjs → stacks-jevhg39n.cjs} +2 -35
  23. package/dist/shared/{stacks-14pgpkrr.cjs.map → stacks-jevhg39n.cjs.map} +3 -4
  24. package/dist/shared/stacks-qk8pdyjy.cjs +76 -0
  25. package/dist/shared/stacks-qk8pdyjy.cjs.map +14 -0
  26. package/dist/shared/{stacks-9a0xebgq.cjs → stacks-vk8fwz0t.cjs} +4 -2
  27. package/dist/shared/{stacks-9a0xebgq.cjs.map → stacks-vk8fwz0t.cjs.map} +3 -3
  28. package/dist/shared/{stacks-y2p4h5ks.js → stacks-wqgepfab.js} +2 -2
  29. package/dist/shared/stacks-y8e3gx6w.js +90 -0
  30. package/dist/shared/stacks-y8e3gx6w.js.map +14 -0
  31. package/dist/shared/{stacks-y3nbm8bw.cjs → stacks-yq5a5cda.js} +25 -75
  32. package/dist/shared/stacks-yq5a5cda.js.map +12 -0
  33. package/dist/shared/stacks-z53fwfcm.js +3 -0
  34. package/dist/shared/stacks-z53fwfcm.js.map +9 -0
  35. package/dist/src/actions/index.js +16 -12
  36. package/dist/src/actions/index.js.map +1 -1
  37. package/dist/src/bns/index.js +8 -6
  38. package/dist/src/bns/index.js.map +2 -2
  39. package/dist/src/clarity/index.d.cts +6 -2
  40. package/dist/src/clarity/index.d.ts +6 -2
  41. package/dist/src/clarity/index.js +4 -2
  42. package/dist/src/clarity/index.js.map +1 -1
  43. package/dist/src/index.cjs.map +4 -4
  44. package/dist/src/index.d.cts +4 -4
  45. package/dist/src/index.d.ts +4 -4
  46. package/dist/src/index.js +18 -14
  47. package/dist/src/index.js.map +6 -6
  48. package/dist/src/postconditions/index.js +3 -2
  49. package/dist/src/postconditions/index.js.map +1 -1
  50. package/dist/src/pox/index.js +7 -5
  51. package/dist/src/pox/index.js.map +2 -2
  52. package/dist/src/sbtc/index.js +5 -4
  53. package/dist/src/sbtc/index.js.map +2 -2
  54. package/dist/src/stackingdao/index.js +7 -5
  55. package/dist/src/stackingdao/index.js.map +2 -2
  56. package/dist/src/tools/index.cjs +12 -2
  57. package/dist/src/tools/index.cjs.map +4 -4
  58. package/dist/src/tools/index.js +12 -2
  59. package/dist/src/tools/index.js.map +4 -4
  60. package/dist/src/transactions/index.js +2 -2
  61. package/dist/src/x402/index.cjs +62 -0
  62. package/dist/src/x402/index.cjs.map +11 -0
  63. package/dist/src/x402/index.d.cts +424 -0
  64. package/dist/src/x402/index.d.ts +424 -0
  65. package/dist/src/x402/index.js +88 -0
  66. package/dist/src/x402/index.js.map +11 -0
  67. package/package.json +7 -1
  68. package/dist/shared/stacks-g7ys594x.js +0 -168
  69. package/dist/shared/stacks-g7ys594x.js.map +0 -17
  70. package/dist/shared/stacks-y3nbm8bw.cjs.map +0 -17
  71. /package/dist/shared/{stacks-7tn3zsbe.js.map → stacks-hyz7zgdk.js.map} +0 -0
  72. /package/dist/shared/{stacks-y2p4h5ks.js.map → stacks-wqgepfab.js.map} +0 -0
@@ -838,7 +838,11 @@ declare const sip013Abi: AbiContract;
838
838
  * types to catch real-world variants; consumers wanting certainty use the
839
839
  * `declared` traits parsed from source instead.
840
840
  */
841
- type SipStandard = "sip-009" | "sip-010" | "sip-013";
841
+ /** The canonical SIP trait standards this package can classify/scaffold against.
842
+ * Single source of truth — the `SipStandard` type, CLI `--trait` validation, and
843
+ * the MCP traits resource all derive from this so the vocabulary can't drift. */
844
+ declare const TRAIT_STANDARDS: readonly ["sip-009", "sip-010", "sip-013"];
845
+ type SipStandard = (typeof TRAIT_STANDARDS)[number];
842
846
  /** Return the SIP standards a contract's ABI statically conforms to. */
843
847
  declare function classifyContract(abi: AbiContract): SipStandard[];
844
848
  /**
@@ -858,4 +862,4 @@ declare function jsToClarityValue(abiType: AbiType, value: unknown): ClarityValu
858
862
  * Convert a ClarityValue back to a typed JS value using ABI type information.
859
863
  */
860
864
  declare function clarityValueToJS<T extends AbiType>(abiType: T, cv: ClarityValue): AbiToTS<T>;
861
- export { validateArgsArray, validateArgs, uintCV, tupleCV, trueCV, toCamelCase, stringUtf8CV, stringAsciiCV, standardPrincipalCV, someCV, sip013Abi, sip010Abi, sip009Abi, serializeCVBytes, serializeCV, responseOkCV, responseErrorCV, prettyPrint, prepareArgs, parseDeclaredStandards, noneCV, listCV, jsToClarityValue, jsToClarity, isUint8Array, isUint128, isTraitReference, isString, isStandardPrincipal, isResponse, isPrincipal, isOptional, isOkResponse, isInt128, isErrResponse, isContractPrincipal, isBool, isArray, isAbiTuple, isAbiTraitReference, isAbiStringUtf8, isAbiStringAscii, isAbiResponse, isAbiOptional, isAbiList, isAbiBuffer, intCV, falseCV, deserializeCVBytes, deserializeCV, cvToValue, cvToJSON, contractPrincipalCV, classifyContract, clarityValueToJS, clarityTypeFromByte, bufferCV, boolCV, VariableAccess, UIntCV, TupleData, TupleCV, TrueCV, TraitFunctionAccess, ToCamelCase, StringUtf8CV, StringAsciiCV, StandardPrincipalCV, SomeCV, SipStandard, SIP013_ABI, SIP010_ABI, SIP009_ABI, ResponseOkCV, ResponseOk, ResponseErrorCV, ResponseErr, ResponseCV, Response, PrincipalCV, OptionalCV, NoneCV, ListCV, IntCV, FunctionArg, FunctionAccess, FalseCV, ExtractVariableType, ExtractVariableNames, ExtractVariable, ExtractReadOnlyFunctions, ExtractPublicFunctions, ExtractPrivateFunctions, ExtractNonFungibleTokenNames, ExtractNFTAssetType, ExtractMapValue, ExtractMapNames, ExtractMapKey, ExtractMap, ExtractImplementedTraits, ExtractFungibleTokenNames, ExtractFunctionOutput, ExtractFunctionNames, ExtractFunctionArgs, ExtractFunction, ExtractDefinedTraitNames, ExtractDataVars, ExtractConstants, ContractPrincipalCV, ClarityWireType, ClarityValue, ClarityType, ClarityConversionError, Cl, CONTRACT_NAME_REGEX, BufferCV, BooleanCV, AbiVariable, AbiUInt128, AbiType, AbiTupleType, AbiTuple, AbiTraitReference, AbiTraitFunction, AbiTraitDefinition, AbiToTS, AbiStringUtf8, AbiStringAscii, AbiResponseType, AbiResponse, AbiPrincipal, AbiPrimitiveType, AbiOptionalType, AbiOptional, AbiNone, AbiNonFungibleToken, AbiMap, AbiListType, AbiList, AbiInt128, AbiFungibleToken, AbiFunction, AbiContract, AbiBuffer, AbiBool };
865
+ export { validateArgsArray, validateArgs, uintCV, tupleCV, trueCV, toCamelCase, stringUtf8CV, stringAsciiCV, standardPrincipalCV, someCV, sip013Abi, sip010Abi, sip009Abi, serializeCVBytes, serializeCV, responseOkCV, responseErrorCV, prettyPrint, prepareArgs, parseDeclaredStandards, noneCV, listCV, jsToClarityValue, jsToClarity, isUint8Array, isUint128, isTraitReference, isString, isStandardPrincipal, isResponse, isPrincipal, isOptional, isOkResponse, isInt128, isErrResponse, isContractPrincipal, isBool, isArray, isAbiTuple, isAbiTraitReference, isAbiStringUtf8, isAbiStringAscii, isAbiResponse, isAbiOptional, isAbiList, isAbiBuffer, intCV, falseCV, deserializeCVBytes, deserializeCV, cvToValue, cvToJSON, contractPrincipalCV, classifyContract, clarityValueToJS, clarityTypeFromByte, bufferCV, boolCV, VariableAccess, UIntCV, TupleData, TupleCV, TrueCV, TraitFunctionAccess, ToCamelCase, TRAIT_STANDARDS, StringUtf8CV, StringAsciiCV, StandardPrincipalCV, SomeCV, SipStandard, SIP013_ABI, SIP010_ABI, SIP009_ABI, ResponseOkCV, ResponseOk, ResponseErrorCV, ResponseErr, ResponseCV, Response, PrincipalCV, OptionalCV, NoneCV, ListCV, IntCV, FunctionArg, FunctionAccess, FalseCV, ExtractVariableType, ExtractVariableNames, ExtractVariable, ExtractReadOnlyFunctions, ExtractPublicFunctions, ExtractPrivateFunctions, ExtractNonFungibleTokenNames, ExtractNFTAssetType, ExtractMapValue, ExtractMapNames, ExtractMapKey, ExtractMap, ExtractImplementedTraits, ExtractFungibleTokenNames, ExtractFunctionOutput, ExtractFunctionNames, ExtractFunctionArgs, ExtractFunction, ExtractDefinedTraitNames, ExtractDataVars, ExtractConstants, ContractPrincipalCV, ClarityWireType, ClarityValue, ClarityType, ClarityConversionError, Cl, CONTRACT_NAME_REGEX, BufferCV, BooleanCV, AbiVariable, AbiUInt128, AbiType, AbiTupleType, AbiTuple, AbiTraitReference, AbiTraitFunction, AbiTraitDefinition, AbiToTS, AbiStringUtf8, AbiStringAscii, AbiResponseType, AbiResponse, AbiPrincipal, AbiPrimitiveType, AbiOptionalType, AbiOptional, AbiNone, AbiNonFungibleToken, AbiMap, AbiListType, AbiList, AbiInt128, AbiFungibleToken, AbiFunction, AbiContract, AbiBuffer, AbiBool };
@@ -838,7 +838,11 @@ declare const sip013Abi: AbiContract;
838
838
  * types to catch real-world variants; consumers wanting certainty use the
839
839
  * `declared` traits parsed from source instead.
840
840
  */
841
- type SipStandard = "sip-009" | "sip-010" | "sip-013";
841
+ /** The canonical SIP trait standards this package can classify/scaffold against.
842
+ * Single source of truth — the `SipStandard` type, CLI `--trait` validation, and
843
+ * the MCP traits resource all derive from this so the vocabulary can't drift. */
844
+ declare const TRAIT_STANDARDS: readonly ["sip-009", "sip-010", "sip-013"];
845
+ type SipStandard = (typeof TRAIT_STANDARDS)[number];
842
846
  /** Return the SIP standards a contract's ABI statically conforms to. */
843
847
  declare function classifyContract(abi: AbiContract): SipStandard[];
844
848
  /**
@@ -858,4 +862,4 @@ declare function jsToClarityValue(abiType: AbiType, value: unknown): ClarityValu
858
862
  * Convert a ClarityValue back to a typed JS value using ABI type information.
859
863
  */
860
864
  declare function clarityValueToJS<T extends AbiType>(abiType: T, cv: ClarityValue): AbiToTS<T>;
861
- export { validateArgsArray, validateArgs, uintCV, tupleCV, trueCV, toCamelCase, stringUtf8CV, stringAsciiCV, standardPrincipalCV, someCV, sip013Abi, sip010Abi, sip009Abi, serializeCVBytes, serializeCV, responseOkCV, responseErrorCV, prettyPrint, prepareArgs, parseDeclaredStandards, noneCV, listCV, jsToClarityValue, jsToClarity, isUint8Array, isUint128, isTraitReference, isString, isStandardPrincipal, isResponse, isPrincipal, isOptional, isOkResponse, isInt128, isErrResponse, isContractPrincipal, isBool, isArray, isAbiTuple, isAbiTraitReference, isAbiStringUtf8, isAbiStringAscii, isAbiResponse, isAbiOptional, isAbiList, isAbiBuffer, intCV, falseCV, deserializeCVBytes, deserializeCV, cvToValue, cvToJSON, contractPrincipalCV, classifyContract, clarityValueToJS, clarityTypeFromByte, bufferCV, boolCV, VariableAccess, UIntCV, TupleData, TupleCV, TrueCV, TraitFunctionAccess, ToCamelCase, StringUtf8CV, StringAsciiCV, StandardPrincipalCV, SomeCV, SipStandard, SIP013_ABI, SIP010_ABI, SIP009_ABI, ResponseOkCV, ResponseOk, ResponseErrorCV, ResponseErr, ResponseCV, Response, PrincipalCV, OptionalCV, NoneCV, ListCV, IntCV, FunctionArg, FunctionAccess, FalseCV, ExtractVariableType, ExtractVariableNames, ExtractVariable, ExtractReadOnlyFunctions, ExtractPublicFunctions, ExtractPrivateFunctions, ExtractNonFungibleTokenNames, ExtractNFTAssetType, ExtractMapValue, ExtractMapNames, ExtractMapKey, ExtractMap, ExtractImplementedTraits, ExtractFungibleTokenNames, ExtractFunctionOutput, ExtractFunctionNames, ExtractFunctionArgs, ExtractFunction, ExtractDefinedTraitNames, ExtractDataVars, ExtractConstants, ContractPrincipalCV, ClarityWireType, ClarityValue, ClarityType, ClarityConversionError, Cl, CONTRACT_NAME_REGEX, BufferCV, BooleanCV, AbiVariable, AbiUInt128, AbiType, AbiTupleType, AbiTuple, AbiTraitReference, AbiTraitFunction, AbiTraitDefinition, AbiToTS, AbiStringUtf8, AbiStringAscii, AbiResponseType, AbiResponse, AbiPrincipal, AbiPrimitiveType, AbiOptionalType, AbiOptional, AbiNone, AbiNonFungibleToken, AbiMap, AbiListType, AbiList, AbiInt128, AbiFungibleToken, AbiFunction, AbiContract, AbiBuffer, AbiBool };
865
+ export { validateArgsArray, validateArgs, uintCV, tupleCV, trueCV, toCamelCase, stringUtf8CV, stringAsciiCV, standardPrincipalCV, someCV, sip013Abi, sip010Abi, sip009Abi, serializeCVBytes, serializeCV, responseOkCV, responseErrorCV, prettyPrint, prepareArgs, parseDeclaredStandards, noneCV, listCV, jsToClarityValue, jsToClarity, isUint8Array, isUint128, isTraitReference, isString, isStandardPrincipal, isResponse, isPrincipal, isOptional, isOkResponse, isInt128, isErrResponse, isContractPrincipal, isBool, isArray, isAbiTuple, isAbiTraitReference, isAbiStringUtf8, isAbiStringAscii, isAbiResponse, isAbiOptional, isAbiList, isAbiBuffer, intCV, falseCV, deserializeCVBytes, deserializeCV, cvToValue, cvToJSON, contractPrincipalCV, classifyContract, clarityValueToJS, clarityTypeFromByte, bufferCV, boolCV, VariableAccess, UIntCV, TupleData, TupleCV, TrueCV, TraitFunctionAccess, ToCamelCase, TRAIT_STANDARDS, StringUtf8CV, StringAsciiCV, StandardPrincipalCV, SomeCV, SipStandard, SIP013_ABI, SIP010_ABI, SIP009_ABI, ResponseOkCV, ResponseOk, ResponseErrorCV, ResponseErr, ResponseCV, Response, PrincipalCV, OptionalCV, NoneCV, ListCV, IntCV, FunctionArg, FunctionAccess, FalseCV, ExtractVariableType, ExtractVariableNames, ExtractVariable, ExtractReadOnlyFunctions, ExtractPublicFunctions, ExtractPrivateFunctions, ExtractNonFungibleTokenNames, ExtractNFTAssetType, ExtractMapValue, ExtractMapNames, ExtractMapKey, ExtractMap, ExtractImplementedTraits, ExtractFungibleTokenNames, ExtractFunctionOutput, ExtractFunctionNames, ExtractFunctionArgs, ExtractFunction, ExtractDefinedTraitNames, ExtractDataVars, ExtractConstants, ContractPrincipalCV, ClarityWireType, ClarityValue, ClarityType, ClarityConversionError, Cl, CONTRACT_NAME_REGEX, BufferCV, BooleanCV, AbiVariable, AbiUInt128, AbiType, AbiTupleType, AbiTuple, AbiTraitReference, AbiTraitFunction, AbiTraitDefinition, AbiToTS, AbiStringUtf8, AbiStringAscii, AbiResponseType, AbiResponse, AbiPrincipal, AbiPrimitiveType, AbiOptionalType, AbiOptional, AbiNone, AbiNonFungibleToken, AbiMap, AbiListType, AbiList, AbiInt128, AbiFungibleToken, AbiFunction, AbiContract, AbiBuffer, AbiBool };
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  ClarityConversionError,
3
+ TRAIT_STANDARDS,
3
4
  classifyContract,
4
5
  cvToJSON,
5
6
  cvToValue,
@@ -9,7 +10,7 @@ import {
9
10
  prettyPrint,
10
11
  validateArgs,
11
12
  validateArgsArray
12
- } from "../../shared/stacks-shh3gp0x.js";
13
+ } from "../../shared/stacks-43cxvnr7.js";
13
14
  import {
14
15
  SIP009_ABI,
15
16
  SIP010_ABI,
@@ -134,6 +135,7 @@ export {
134
135
  clarityTypeFromByte,
135
136
  bufferCV,
136
137
  boolCV,
138
+ TRAIT_STANDARDS,
137
139
  SIP013_ABI,
138
140
  SIP010_ABI,
139
141
  SIP009_ABI,
@@ -143,5 +145,5 @@ export {
143
145
  CONTRACT_NAME_REGEX
144
146
  };
145
147
 
146
- //# debugId=651D2776AF14C5D164756E2164756E21
148
+ //# debugId=54EA4D1AFF16FB1B64756E2164756E21
147
149
  //# sourceMappingURL=index.js.map
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "651D2776AF14C5D164756E2164756E21",
7
+ "debugId": "54EA4D1AFF16FB1B64756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -14,10 +14,10 @@
14
14
  "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",
15
15
  "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",
16
16
  "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\n\t\tconst transport: WebSocketTransport = {\n\t\t\ttype: \"webSocket\",\n\t\t\trequest: buildRequestFn(httpUrl, resolvedHttpConfig),\n\t\t\tconfig: resolvedHttpConfig,\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",
17
- "/**\n * Filter specs for `@secondlayer/sdk` subscriptions.\n *\n * Each `on.*` factory in this directory binds typed filter clauses to a\n * known table shape and returns a `SubscriptionFilterSpec`. Spread it into\n * a full subscription input alongside `name`, `url`, `format`, etc:\n *\n * const spec = on.transferTo(\n * { subgraph: \"my-watcher\", table: \"transfers\" },\n * \"SP1ABC...\",\n * );\n * await sdk.subscriptions.create({\n * ...spec,\n * name: \"watch-incoming\",\n * url: \"https://my-app.com/webhook\",\n * });\n *\n * The user supplies which subgraph + table to bind against — these factories\n * don't assume Foundation Datasets are subscribable. To watch FT transfers\n * to an address, build a subgraph with a `transfers` table (see\n * `sl subgraphs new --template sip-010-balances`) and bind here.\n */\n\n/**\n * What every factory takes as its first arg: which user-owned subgraph table\n * to filter against.\n */\nexport type FactoryTarget = {\n\tsubgraph: string;\n\ttable: string;\n};\n\n/**\n * A primitive value that can appear in a filter clause.\n * Mirrors `SubscriptionFilterPrimitive` in\n * `@secondlayer/shared/schemas/subscriptions` — duplicated here to keep\n * `@secondlayer/stacks` from importing the api/server schema package.\n */\nexport type FilterPrimitive = string | number | boolean;\n\n/** Operator forms a filter clause can take. */\nexport type FilterOperator =\n\t| { eq: FilterPrimitive }\n\t| { neq: FilterPrimitive }\n\t| { gt: string | number }\n\t| { gte: string | number }\n\t| { lt: string | number }\n\t| { lte: string | number }\n\t| { in: FilterPrimitive[] };\n\n/** A single column's filter: bare value (eq) or operator object. */\nexport type FilterClause = FilterPrimitive | FilterOperator;\n\n/** Map of column → filter clause. Empty `{}` matches every row. */\nexport type Filter = Record<string, FilterClause>;\n\n/**\n * Output of every `on.*` factory. Use directly as a partial input to\n * `sdk.subscriptions.create` — the SDK's existing `CreateSubscriptionRequest`\n * already accepts these three fields.\n */\nexport type SubscriptionFilterSpec = {\n\tsubgraphName: string;\n\ttableName: string;\n\tfilter: Filter;\n};\n\n/** Thin helper to build a spec without restating the field-name mapping. */\nexport function makeSpec(\n\ttarget: FactoryTarget,\n\tfilter: Filter,\n): SubscriptionFilterSpec {\n\treturn {\n\t\tsubgraphName: target.subgraph,\n\t\ttableName: target.table,\n\t\tfilter,\n\t};\n}\n",
18
- "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\nexport type BnsAction =\n\t| \"new-name\"\n\t| \"transfer-name\"\n\t| \"renew-name\"\n\t| \"burn-name\"\n\t| \"new-airdrop\";\n\n/**\n * Match BNS-V2 name lifecycle events.\n *\n * Bind against a subgraph table that mirrors the `bns_name_events` shape\n * (topic, namespace, name, owner, ...). Easiest path: scaffold via\n * `sl subgraphs new --template bns-names`.\n *\n * @param action restrict to one topic; omit to fire on every name event\n */\nexport function bnsName(\n\ttarget: FactoryTarget,\n\taction?: BnsAction,\n\topts?: { namespace?: string; owner?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(action && { topic: action }),\n\t\t...(opts?.namespace && { namespace: opts.namespace }),\n\t\t...(opts?.owner && { owner: opts.owner }),\n\t});\n}\n",
19
- "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\nexport type PoxFunction =\n\t| \"stack-stx\"\n\t| \"stack-extend\"\n\t| \"stack-increase\"\n\t| \"delegate-stx\"\n\t| \"revoke-delegate-stx\"\n\t| \"delegate-stack-stx\"\n\t| \"delegate-stack-extend\"\n\t| \"delegate-stack-increase\"\n\t| \"stack-aggregation-commit\"\n\t| \"stack-aggregation-commit-indexed\"\n\t| \"stack-aggregation-increase\"\n\t| \"set-signer-key-authorization\";\n\n/**\n * Match PoX-4 stacking calls. Bind against a subgraph table mirroring\n * `pox4_calls` (function_name, stacker, caller, ...). Scaffold via\n * `sl subgraphs new --template pox-stacking`.\n *\n * @param fn restrict to one PoX-4 function; omit to fire on every call\n */\nexport function poxStack(\n\ttarget: FactoryTarget,\n\tfn?: PoxFunction,\n\topts?: { stacker?: string; signerKey?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(fn && { function_name: fn }),\n\t\t...(opts?.stacker && { stacker: opts.stacker }),\n\t\t...(opts?.signerKey && { signer_key: opts.signerKey }),\n\t});\n}\n",
20
- "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\n/**\n * Match sBTC deposit completion events. Bind against a subgraph table\n * mirroring `sbtc_events` (topic, amount, sender, bitcoin_txid, ...).\n * Scaffold via `sl subgraphs new --template sbtc-flows`.\n */\nexport function sbtcDeposit(\n\ttarget: FactoryTarget,\n\topts?: { sender?: string; bitcoinTxid?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\ttopic: \"completed-deposit\",\n\t\t...(opts?.sender && { sender: opts.sender }),\n\t\t...(opts?.bitcoinTxid && { bitcoin_txid: opts.bitcoinTxid }),\n\t});\n}\n\n/**\n * Match sBTC withdrawal lifecycle events. Phase defaults to all three\n * (`create` / `accept` / `reject`); pass an explicit `phase` to narrow.\n */\nexport function sbtcWithdrawal(\n\ttarget: FactoryTarget,\n\topts?: {\n\t\tphase?: \"create\" | \"accept\" | \"reject\";\n\t\tsender?: string;\n\t\trequestId?: number;\n\t},\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\ttopic: opts?.phase\n\t\t\t? { eq: `withdrawal-${opts.phase}` }\n\t\t\t: { in: [\"withdrawal-create\", \"withdrawal-accept\", \"withdrawal-reject\"] },\n\t\t...(opts?.sender && { sender: opts.sender }),\n\t\t...(opts?.requestId !== undefined && { request_id: opts.requestId }),\n\t});\n}\n",
17
+ "/**\n * Filter specs for `@secondlayer/sdk` subscriptions.\n *\n * Each `on.*` factory in this directory binds typed filter clauses to a\n * known table shape and returns a `SubscriptionFilterSpec`. Spread it into\n * a full subscription input alongside `name`, `url`, `format`, etc:\n *\n * const spec = on.transferTo(\n * { subgraph: \"my-watcher\", table: \"transfers\" },\n * \"SP1ABC...\",\n * );\n * await sdk.subscriptions.create({\n * ...spec,\n * name: \"watch-incoming\",\n * url: \"https://my-app.com/webhook\",\n * });\n *\n * The user supplies which subgraph + table to bind against — these factories\n * don't assume Foundation Datasets are subscribable. To watch FT transfers\n * to an address, build a subgraph with a `transfers` table (see\n * `sl subgraphs create --template sip-010-balances`) and bind here.\n */\n\n/**\n * What every factory takes as its first arg: which user-owned subgraph table\n * to filter against.\n */\nexport type FactoryTarget = {\n\tsubgraph: string;\n\ttable: string;\n};\n\n/**\n * A primitive value that can appear in a filter clause.\n * Mirrors `SubscriptionFilterPrimitive` in\n * `@secondlayer/shared/schemas/subscriptions` — duplicated here to keep\n * `@secondlayer/stacks` from importing the api/server schema package.\n */\nexport type FilterPrimitive = string | number | boolean;\n\n/** Operator forms a filter clause can take. */\nexport type FilterOperator =\n\t| { eq: FilterPrimitive }\n\t| { neq: FilterPrimitive }\n\t| { gt: string | number }\n\t| { gte: string | number }\n\t| { lt: string | number }\n\t| { lte: string | number }\n\t| { in: FilterPrimitive[] };\n\n/** A single column's filter: bare value (eq) or operator object. */\nexport type FilterClause = FilterPrimitive | FilterOperator;\n\n/** Map of column → filter clause. Empty `{}` matches every row. */\nexport type Filter = Record<string, FilterClause>;\n\n/**\n * Output of every `on.*` factory. Use directly as a partial input to\n * `sdk.subscriptions.create` — the SDK's existing `CreateSubscriptionRequest`\n * already accepts these three fields.\n */\nexport type SubscriptionFilterSpec = {\n\tsubgraphName: string;\n\ttableName: string;\n\tfilter: Filter;\n};\n\n/** Thin helper to build a spec without restating the field-name mapping. */\nexport function makeSpec(\n\ttarget: FactoryTarget,\n\tfilter: Filter,\n): SubscriptionFilterSpec {\n\treturn {\n\t\tsubgraphName: target.subgraph,\n\t\ttableName: target.table,\n\t\tfilter,\n\t};\n}\n",
18
+ "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\nexport type BnsAction =\n\t| \"new-name\"\n\t| \"transfer-name\"\n\t| \"renew-name\"\n\t| \"burn-name\"\n\t| \"new-airdrop\";\n\n/**\n * Match BNS-V2 name lifecycle events.\n *\n * Bind against a subgraph table that mirrors the `bns_name_events` shape\n * (topic, namespace, name, owner, ...). Easiest path: scaffold via\n * `sl subgraphs create --template bns-names`.\n *\n * @param action restrict to one topic; omit to fire on every name event\n */\nexport function bnsName(\n\ttarget: FactoryTarget,\n\taction?: BnsAction,\n\topts?: { namespace?: string; owner?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(action && { topic: action }),\n\t\t...(opts?.namespace && { namespace: opts.namespace }),\n\t\t...(opts?.owner && { owner: opts.owner }),\n\t});\n}\n",
19
+ "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\nexport type PoxFunction =\n\t| \"stack-stx\"\n\t| \"stack-extend\"\n\t| \"stack-increase\"\n\t| \"delegate-stx\"\n\t| \"revoke-delegate-stx\"\n\t| \"delegate-stack-stx\"\n\t| \"delegate-stack-extend\"\n\t| \"delegate-stack-increase\"\n\t| \"stack-aggregation-commit\"\n\t| \"stack-aggregation-commit-indexed\"\n\t| \"stack-aggregation-increase\"\n\t| \"set-signer-key-authorization\";\n\n/**\n * Match PoX-4 stacking calls. Bind against a subgraph table mirroring\n * `pox4_calls` (function_name, stacker, caller, ...). Scaffold via\n * `sl subgraphs create --template pox-stacking`.\n *\n * @param fn restrict to one PoX-4 function; omit to fire on every call\n */\nexport function poxStack(\n\ttarget: FactoryTarget,\n\tfn?: PoxFunction,\n\topts?: { stacker?: string; signerKey?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(fn && { function_name: fn }),\n\t\t...(opts?.stacker && { stacker: opts.stacker }),\n\t\t...(opts?.signerKey && { signer_key: opts.signerKey }),\n\t});\n}\n",
20
+ "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\n/**\n * Match sBTC deposit completion events. Bind against a subgraph table\n * mirroring `sbtc_events` (topic, amount, sender, bitcoin_txid, ...).\n * Scaffold via `sl subgraphs create --template sbtc-flows`.\n */\nexport function sbtcDeposit(\n\ttarget: FactoryTarget,\n\topts?: { sender?: string; bitcoinTxid?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\ttopic: \"completed-deposit\",\n\t\t...(opts?.sender && { sender: opts.sender }),\n\t\t...(opts?.bitcoinTxid && { bitcoin_txid: opts.bitcoinTxid }),\n\t});\n}\n\n/**\n * Match sBTC withdrawal lifecycle events. Phase defaults to all three\n * (`create` / `accept` / `reject`); pass an explicit `phase` to narrow.\n */\nexport function sbtcWithdrawal(\n\ttarget: FactoryTarget,\n\topts?: {\n\t\tphase?: \"create\" | \"accept\" | \"reject\";\n\t\tsender?: string;\n\t\trequestId?: number;\n\t},\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\ttopic: opts?.phase\n\t\t\t? { eq: `withdrawal-${opts.phase}` }\n\t\t\t: { in: [\"withdrawal-create\", \"withdrawal-accept\", \"withdrawal-reject\"] },\n\t\t...(opts?.sender && { sender: opts.sender }),\n\t\t...(opts?.requestId !== undefined && { request_id: opts.requestId }),\n\t});\n}\n",
21
21
  "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\n/**\n * Match transfer events into a recipient address.\n *\n * Works against any subgraph table that has a `recipient` column (and\n * optionally `asset_identifier`). Templates that scaffold this shape:\n * `sip-010-balances`, `sbtc-flows`.\n *\n * @param target the user's subgraph + table to bind against\n * @param recipient stx principal that should receive the transfer\n * @param opts.asset optional asset identifier (e.g. `\"SP1...usdc::usdc-token\"`)\n * to filter to a specific FT/NFT contract\n */\nexport function transferTo(\n\ttarget: FactoryTarget,\n\trecipient: string,\n\topts?: { asset?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\trecipient,\n\t\t...(opts?.asset && { asset_identifier: opts.asset }),\n\t});\n}\n\n/**\n * SIP-010 (fungible token) transfer sugar — alias for `transferTo` that\n * makes the asset filter intent explicit at the call site. Same backing\n * filter; the `asset` param is optional (omit to match every SIP-010\n * transfer in the bound table).\n */\nexport function sip010Transfer(\n\ttarget: FactoryTarget,\n\tasset?: string,\n\topts?: { recipient?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(asset && { asset_identifier: asset }),\n\t\t...(opts?.recipient && { recipient: opts.recipient }),\n\t});\n}\n\n/**\n * SIP-009 (non-fungible token) transfer sugar — same pattern as\n * `sip010Transfer`. Bind against an NFT-shaped table (see template\n * `nft-transfers` if/when published).\n */\nexport function sip009Transfer(\n\ttarget: FactoryTarget,\n\tasset?: string,\n\topts?: { recipient?: string; tokenId?: string | number },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(asset && { asset_identifier: asset }),\n\t\t...(opts?.recipient && { recipient: opts.recipient }),\n\t\t...(opts?.tokenId !== undefined && { token_id: String(opts.tokenId) }),\n\t});\n}\n",
22
22
  "import { BaseError } from \"./base.ts\";\n\nexport class ContractCallError extends BaseError {\n\toverride name = \"ContractCallError\";\n}\n\nexport class ReadOnlyCallError extends BaseError {\n\toverride name = \"ReadOnlyCallError\";\n}\n"
23
23
  ],
@@ -867,7 +867,7 @@ declare namespace exports_on {
867
867
  * The user supplies which subgraph + table to bind against — these factories
868
868
  * don't assume Foundation Datasets are subscribable. To watch FT transfers
869
869
  * to an address, build a subgraph with a `transfers` table (see
870
- * `sl subgraphs new --template sip-010-balances`) and bind here.
870
+ * `sl subgraphs create --template sip-010-balances`) and bind here.
871
871
  */
872
872
  /**
873
873
  * What every factory takes as its first arg: which user-owned subgraph table
@@ -922,7 +922,7 @@ type BnsAction = "new-name" | "transfer-name" | "renew-name" | "burn-name" | "ne
922
922
  *
923
923
  * Bind against a subgraph table that mirrors the `bns_name_events` shape
924
924
  * (topic, namespace, name, owner, ...). Easiest path: scaffold via
925
- * `sl subgraphs new --template bns-names`.
925
+ * `sl subgraphs create --template bns-names`.
926
926
  *
927
927
  * @param action restrict to one topic; omit to fire on every name event
928
928
  */
@@ -934,7 +934,7 @@ type PoxFunction = "stack-stx" | "stack-extend" | "stack-increase" | "delegate-s
934
934
  /**
935
935
  * Match PoX-4 stacking calls. Bind against a subgraph table mirroring
936
936
  * `pox4_calls` (function_name, stacker, caller, ...). Scaffold via
937
- * `sl subgraphs new --template pox-stacking`.
937
+ * `sl subgraphs create --template pox-stacking`.
938
938
  *
939
939
  * @param fn restrict to one PoX-4 function; omit to fire on every call
940
940
  */
@@ -945,7 +945,7 @@ declare function poxStack(target: FactoryTarget, fn?: PoxFunction, opts?: {
945
945
  /**
946
946
  * Match sBTC deposit completion events. Bind against a subgraph table
947
947
  * mirroring `sbtc_events` (topic, amount, sender, bitcoin_txid, ...).
948
- * Scaffold via `sl subgraphs new --template sbtc-flows`.
948
+ * Scaffold via `sl subgraphs create --template sbtc-flows`.
949
949
  */
950
950
  declare function sbtcDeposit(target: FactoryTarget, opts?: {
951
951
  sender?: string
@@ -867,7 +867,7 @@ declare namespace exports_on {
867
867
  * The user supplies which subgraph + table to bind against — these factories
868
868
  * don't assume Foundation Datasets are subscribable. To watch FT transfers
869
869
  * to an address, build a subgraph with a `transfers` table (see
870
- * `sl subgraphs new --template sip-010-balances`) and bind here.
870
+ * `sl subgraphs create --template sip-010-balances`) and bind here.
871
871
  */
872
872
  /**
873
873
  * What every factory takes as its first arg: which user-owned subgraph table
@@ -922,7 +922,7 @@ type BnsAction = "new-name" | "transfer-name" | "renew-name" | "burn-name" | "ne
922
922
  *
923
923
  * Bind against a subgraph table that mirrors the `bns_name_events` shape
924
924
  * (topic, namespace, name, owner, ...). Easiest path: scaffold via
925
- * `sl subgraphs new --template bns-names`.
925
+ * `sl subgraphs create --template bns-names`.
926
926
  *
927
927
  * @param action restrict to one topic; omit to fire on every name event
928
928
  */
@@ -934,7 +934,7 @@ type PoxFunction = "stack-stx" | "stack-extend" | "stack-increase" | "delegate-s
934
934
  /**
935
935
  * Match PoX-4 stacking calls. Bind against a subgraph table mirroring
936
936
  * `pox4_calls` (function_name, stacker, caller, ...). Scaffold via
937
- * `sl subgraphs new --template pox-stacking`.
937
+ * `sl subgraphs create --template pox-stacking`.
938
938
  *
939
939
  * @param fn restrict to one PoX-4 function; omit to fire on every call
940
940
  */
@@ -945,7 +945,7 @@ declare function poxStack(target: FactoryTarget, fn?: PoxFunction, opts?: {
945
945
  /**
946
946
  * Match sBTC deposit completion events. Bind against a subgraph table
947
947
  * mirroring `sbtc_events` (topic, amount, sender, bitcoin_txid, ...).
948
- * Scaffold via `sl subgraphs new --template sbtc-flows`.
948
+ * Scaffold via `sl subgraphs create --template sbtc-flows`.
949
949
  */
950
950
  declare function sbtcDeposit(target: FactoryTarget, opts?: {
951
951
  sender?: string
package/dist/src/index.js CHANGED
@@ -21,21 +21,13 @@ import {
21
21
  signTransactionAction,
22
22
  simulateCall,
23
23
  simulateTransaction,
24
- sponsorTransaction,
25
24
  transferStx
26
- } from "../shared/stacks-fy5h5qyx.js";
25
+ } from "../shared/stacks-5th5dffx.js";
27
26
  import {
28
- BroadcastError,
29
- SerializationError,
30
- SigningError,
31
- TransactionError,
32
27
  callContract,
33
- estimateFee,
34
28
  getMapEntry,
35
- getNonce,
36
- readContract,
37
- sendTransaction
38
- } from "../shared/stacks-g7ys594x.js";
29
+ readContract
30
+ } from "../shared/stacks-yq5a5cda.js";
39
31
  import {
40
32
  WebSocketError,
41
33
  watchAddress,
@@ -45,17 +37,29 @@ import {
45
37
  watchNftEvent,
46
38
  watchTransaction
47
39
  } from "../shared/stacks-tjjnkt3r.js";
40
+ import {
41
+ sponsorTransaction
42
+ } from "../shared/stacks-4z1jhw6y.js";
43
+ import {
44
+ BroadcastError,
45
+ SerializationError,
46
+ SigningError,
47
+ TransactionError,
48
+ estimateFee,
49
+ getNonce,
50
+ sendTransaction
51
+ } from "../shared/stacks-y8e3gx6w.js";
48
52
  import {
49
53
  BaseError
50
54
  } from "../shared/stacks-709tra19.js";
51
- import"../shared/stacks-y2p4h5ks.js";
55
+ import"../shared/stacks-wqgepfab.js";
52
56
  import {
53
57
  buildContractCall,
54
58
  buildContractDeploy,
55
59
  buildTokenTransfer,
56
60
  finalizeMultiSig,
57
61
  makeMultiSigAddress
58
- } from "../shared/stacks-kmnthgj7.js";
62
+ } from "../shared/stacks-4trgpb5a.js";
59
63
  import"../shared/stacks-0zysn74p.js";
60
64
  import {
61
65
  formatStx,
@@ -720,5 +724,5 @@ export {
720
724
  AddressVersion
721
725
  };
722
726
 
723
- //# debugId=EE5C65C7ED72178764756E2164756E21
727
+ //# debugId=8C2A991E317B310264756E2164756E21
724
728
  //# sourceMappingURL=index.js.map
@@ -14,14 +14,14 @@
14
14
  "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",
15
15
  "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",
16
16
  "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\n\t\tconst transport: WebSocketTransport = {\n\t\t\ttype: \"webSocket\",\n\t\t\trequest: buildRequestFn(httpUrl, resolvedHttpConfig),\n\t\t\tconfig: resolvedHttpConfig,\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",
17
- "/**\n * Filter specs for `@secondlayer/sdk` subscriptions.\n *\n * Each `on.*` factory in this directory binds typed filter clauses to a\n * known table shape and returns a `SubscriptionFilterSpec`. Spread it into\n * a full subscription input alongside `name`, `url`, `format`, etc:\n *\n * const spec = on.transferTo(\n * { subgraph: \"my-watcher\", table: \"transfers\" },\n * \"SP1ABC...\",\n * );\n * await sdk.subscriptions.create({\n * ...spec,\n * name: \"watch-incoming\",\n * url: \"https://my-app.com/webhook\",\n * });\n *\n * The user supplies which subgraph + table to bind against — these factories\n * don't assume Foundation Datasets are subscribable. To watch FT transfers\n * to an address, build a subgraph with a `transfers` table (see\n * `sl subgraphs new --template sip-010-balances`) and bind here.\n */\n\n/**\n * What every factory takes as its first arg: which user-owned subgraph table\n * to filter against.\n */\nexport type FactoryTarget = {\n\tsubgraph: string;\n\ttable: string;\n};\n\n/**\n * A primitive value that can appear in a filter clause.\n * Mirrors `SubscriptionFilterPrimitive` in\n * `@secondlayer/shared/schemas/subscriptions` — duplicated here to keep\n * `@secondlayer/stacks` from importing the api/server schema package.\n */\nexport type FilterPrimitive = string | number | boolean;\n\n/** Operator forms a filter clause can take. */\nexport type FilterOperator =\n\t| { eq: FilterPrimitive }\n\t| { neq: FilterPrimitive }\n\t| { gt: string | number }\n\t| { gte: string | number }\n\t| { lt: string | number }\n\t| { lte: string | number }\n\t| { in: FilterPrimitive[] };\n\n/** A single column's filter: bare value (eq) or operator object. */\nexport type FilterClause = FilterPrimitive | FilterOperator;\n\n/** Map of column → filter clause. Empty `{}` matches every row. */\nexport type Filter = Record<string, FilterClause>;\n\n/**\n * Output of every `on.*` factory. Use directly as a partial input to\n * `sdk.subscriptions.create` — the SDK's existing `CreateSubscriptionRequest`\n * already accepts these three fields.\n */\nexport type SubscriptionFilterSpec = {\n\tsubgraphName: string;\n\ttableName: string;\n\tfilter: Filter;\n};\n\n/** Thin helper to build a spec without restating the field-name mapping. */\nexport function makeSpec(\n\ttarget: FactoryTarget,\n\tfilter: Filter,\n): SubscriptionFilterSpec {\n\treturn {\n\t\tsubgraphName: target.subgraph,\n\t\ttableName: target.table,\n\t\tfilter,\n\t};\n}\n",
18
- "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\nexport type BnsAction =\n\t| \"new-name\"\n\t| \"transfer-name\"\n\t| \"renew-name\"\n\t| \"burn-name\"\n\t| \"new-airdrop\";\n\n/**\n * Match BNS-V2 name lifecycle events.\n *\n * Bind against a subgraph table that mirrors the `bns_name_events` shape\n * (topic, namespace, name, owner, ...). Easiest path: scaffold via\n * `sl subgraphs new --template bns-names`.\n *\n * @param action restrict to one topic; omit to fire on every name event\n */\nexport function bnsName(\n\ttarget: FactoryTarget,\n\taction?: BnsAction,\n\topts?: { namespace?: string; owner?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(action && { topic: action }),\n\t\t...(opts?.namespace && { namespace: opts.namespace }),\n\t\t...(opts?.owner && { owner: opts.owner }),\n\t});\n}\n",
19
- "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\nexport type PoxFunction =\n\t| \"stack-stx\"\n\t| \"stack-extend\"\n\t| \"stack-increase\"\n\t| \"delegate-stx\"\n\t| \"revoke-delegate-stx\"\n\t| \"delegate-stack-stx\"\n\t| \"delegate-stack-extend\"\n\t| \"delegate-stack-increase\"\n\t| \"stack-aggregation-commit\"\n\t| \"stack-aggregation-commit-indexed\"\n\t| \"stack-aggregation-increase\"\n\t| \"set-signer-key-authorization\";\n\n/**\n * Match PoX-4 stacking calls. Bind against a subgraph table mirroring\n * `pox4_calls` (function_name, stacker, caller, ...). Scaffold via\n * `sl subgraphs new --template pox-stacking`.\n *\n * @param fn restrict to one PoX-4 function; omit to fire on every call\n */\nexport function poxStack(\n\ttarget: FactoryTarget,\n\tfn?: PoxFunction,\n\topts?: { stacker?: string; signerKey?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(fn && { function_name: fn }),\n\t\t...(opts?.stacker && { stacker: opts.stacker }),\n\t\t...(opts?.signerKey && { signer_key: opts.signerKey }),\n\t});\n}\n",
20
- "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\n/**\n * Match sBTC deposit completion events. Bind against a subgraph table\n * mirroring `sbtc_events` (topic, amount, sender, bitcoin_txid, ...).\n * Scaffold via `sl subgraphs new --template sbtc-flows`.\n */\nexport function sbtcDeposit(\n\ttarget: FactoryTarget,\n\topts?: { sender?: string; bitcoinTxid?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\ttopic: \"completed-deposit\",\n\t\t...(opts?.sender && { sender: opts.sender }),\n\t\t...(opts?.bitcoinTxid && { bitcoin_txid: opts.bitcoinTxid }),\n\t});\n}\n\n/**\n * Match sBTC withdrawal lifecycle events. Phase defaults to all three\n * (`create` / `accept` / `reject`); pass an explicit `phase` to narrow.\n */\nexport function sbtcWithdrawal(\n\ttarget: FactoryTarget,\n\topts?: {\n\t\tphase?: \"create\" | \"accept\" | \"reject\";\n\t\tsender?: string;\n\t\trequestId?: number;\n\t},\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\ttopic: opts?.phase\n\t\t\t? { eq: `withdrawal-${opts.phase}` }\n\t\t\t: { in: [\"withdrawal-create\", \"withdrawal-accept\", \"withdrawal-reject\"] },\n\t\t...(opts?.sender && { sender: opts.sender }),\n\t\t...(opts?.requestId !== undefined && { request_id: opts.requestId }),\n\t});\n}\n",
17
+ "/**\n * Filter specs for `@secondlayer/sdk` subscriptions.\n *\n * Each `on.*` factory in this directory binds typed filter clauses to a\n * known table shape and returns a `SubscriptionFilterSpec`. Spread it into\n * a full subscription input alongside `name`, `url`, `format`, etc:\n *\n * const spec = on.transferTo(\n * { subgraph: \"my-watcher\", table: \"transfers\" },\n * \"SP1ABC...\",\n * );\n * await sdk.subscriptions.create({\n * ...spec,\n * name: \"watch-incoming\",\n * url: \"https://my-app.com/webhook\",\n * });\n *\n * The user supplies which subgraph + table to bind against — these factories\n * don't assume Foundation Datasets are subscribable. To watch FT transfers\n * to an address, build a subgraph with a `transfers` table (see\n * `sl subgraphs create --template sip-010-balances`) and bind here.\n */\n\n/**\n * What every factory takes as its first arg: which user-owned subgraph table\n * to filter against.\n */\nexport type FactoryTarget = {\n\tsubgraph: string;\n\ttable: string;\n};\n\n/**\n * A primitive value that can appear in a filter clause.\n * Mirrors `SubscriptionFilterPrimitive` in\n * `@secondlayer/shared/schemas/subscriptions` — duplicated here to keep\n * `@secondlayer/stacks` from importing the api/server schema package.\n */\nexport type FilterPrimitive = string | number | boolean;\n\n/** Operator forms a filter clause can take. */\nexport type FilterOperator =\n\t| { eq: FilterPrimitive }\n\t| { neq: FilterPrimitive }\n\t| { gt: string | number }\n\t| { gte: string | number }\n\t| { lt: string | number }\n\t| { lte: string | number }\n\t| { in: FilterPrimitive[] };\n\n/** A single column's filter: bare value (eq) or operator object. */\nexport type FilterClause = FilterPrimitive | FilterOperator;\n\n/** Map of column → filter clause. Empty `{}` matches every row. */\nexport type Filter = Record<string, FilterClause>;\n\n/**\n * Output of every `on.*` factory. Use directly as a partial input to\n * `sdk.subscriptions.create` — the SDK's existing `CreateSubscriptionRequest`\n * already accepts these three fields.\n */\nexport type SubscriptionFilterSpec = {\n\tsubgraphName: string;\n\ttableName: string;\n\tfilter: Filter;\n};\n\n/** Thin helper to build a spec without restating the field-name mapping. */\nexport function makeSpec(\n\ttarget: FactoryTarget,\n\tfilter: Filter,\n): SubscriptionFilterSpec {\n\treturn {\n\t\tsubgraphName: target.subgraph,\n\t\ttableName: target.table,\n\t\tfilter,\n\t};\n}\n",
18
+ "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\nexport type BnsAction =\n\t| \"new-name\"\n\t| \"transfer-name\"\n\t| \"renew-name\"\n\t| \"burn-name\"\n\t| \"new-airdrop\";\n\n/**\n * Match BNS-V2 name lifecycle events.\n *\n * Bind against a subgraph table that mirrors the `bns_name_events` shape\n * (topic, namespace, name, owner, ...). Easiest path: scaffold via\n * `sl subgraphs create --template bns-names`.\n *\n * @param action restrict to one topic; omit to fire on every name event\n */\nexport function bnsName(\n\ttarget: FactoryTarget,\n\taction?: BnsAction,\n\topts?: { namespace?: string; owner?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(action && { topic: action }),\n\t\t...(opts?.namespace && { namespace: opts.namespace }),\n\t\t...(opts?.owner && { owner: opts.owner }),\n\t});\n}\n",
19
+ "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\nexport type PoxFunction =\n\t| \"stack-stx\"\n\t| \"stack-extend\"\n\t| \"stack-increase\"\n\t| \"delegate-stx\"\n\t| \"revoke-delegate-stx\"\n\t| \"delegate-stack-stx\"\n\t| \"delegate-stack-extend\"\n\t| \"delegate-stack-increase\"\n\t| \"stack-aggregation-commit\"\n\t| \"stack-aggregation-commit-indexed\"\n\t| \"stack-aggregation-increase\"\n\t| \"set-signer-key-authorization\";\n\n/**\n * Match PoX-4 stacking calls. Bind against a subgraph table mirroring\n * `pox4_calls` (function_name, stacker, caller, ...). Scaffold via\n * `sl subgraphs create --template pox-stacking`.\n *\n * @param fn restrict to one PoX-4 function; omit to fire on every call\n */\nexport function poxStack(\n\ttarget: FactoryTarget,\n\tfn?: PoxFunction,\n\topts?: { stacker?: string; signerKey?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(fn && { function_name: fn }),\n\t\t...(opts?.stacker && { stacker: opts.stacker }),\n\t\t...(opts?.signerKey && { signer_key: opts.signerKey }),\n\t});\n}\n",
20
+ "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\n/**\n * Match sBTC deposit completion events. Bind against a subgraph table\n * mirroring `sbtc_events` (topic, amount, sender, bitcoin_txid, ...).\n * Scaffold via `sl subgraphs create --template sbtc-flows`.\n */\nexport function sbtcDeposit(\n\ttarget: FactoryTarget,\n\topts?: { sender?: string; bitcoinTxid?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\ttopic: \"completed-deposit\",\n\t\t...(opts?.sender && { sender: opts.sender }),\n\t\t...(opts?.bitcoinTxid && { bitcoin_txid: opts.bitcoinTxid }),\n\t});\n}\n\n/**\n * Match sBTC withdrawal lifecycle events. Phase defaults to all three\n * (`create` / `accept` / `reject`); pass an explicit `phase` to narrow.\n */\nexport function sbtcWithdrawal(\n\ttarget: FactoryTarget,\n\topts?: {\n\t\tphase?: \"create\" | \"accept\" | \"reject\";\n\t\tsender?: string;\n\t\trequestId?: number;\n\t},\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\ttopic: opts?.phase\n\t\t\t? { eq: `withdrawal-${opts.phase}` }\n\t\t\t: { in: [\"withdrawal-create\", \"withdrawal-accept\", \"withdrawal-reject\"] },\n\t\t...(opts?.sender && { sender: opts.sender }),\n\t\t...(opts?.requestId !== undefined && { request_id: opts.requestId }),\n\t});\n}\n",
21
21
  "import {\n\ttype FactoryTarget,\n\ttype SubscriptionFilterSpec,\n\tmakeSpec,\n} from \"./spec.ts\";\n\n/**\n * Match transfer events into a recipient address.\n *\n * Works against any subgraph table that has a `recipient` column (and\n * optionally `asset_identifier`). Templates that scaffold this shape:\n * `sip-010-balances`, `sbtc-flows`.\n *\n * @param target the user's subgraph + table to bind against\n * @param recipient stx principal that should receive the transfer\n * @param opts.asset optional asset identifier (e.g. `\"SP1...usdc::usdc-token\"`)\n * to filter to a specific FT/NFT contract\n */\nexport function transferTo(\n\ttarget: FactoryTarget,\n\trecipient: string,\n\topts?: { asset?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\trecipient,\n\t\t...(opts?.asset && { asset_identifier: opts.asset }),\n\t});\n}\n\n/**\n * SIP-010 (fungible token) transfer sugar — alias for `transferTo` that\n * makes the asset filter intent explicit at the call site. Same backing\n * filter; the `asset` param is optional (omit to match every SIP-010\n * transfer in the bound table).\n */\nexport function sip010Transfer(\n\ttarget: FactoryTarget,\n\tasset?: string,\n\topts?: { recipient?: string },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(asset && { asset_identifier: asset }),\n\t\t...(opts?.recipient && { recipient: opts.recipient }),\n\t});\n}\n\n/**\n * SIP-009 (non-fungible token) transfer sugar — same pattern as\n * `sip010Transfer`. Bind against an NFT-shaped table (see template\n * `nft-transfers` if/when published).\n */\nexport function sip009Transfer(\n\ttarget: FactoryTarget,\n\tasset?: string,\n\topts?: { recipient?: string; tokenId?: string | number },\n): SubscriptionFilterSpec {\n\treturn makeSpec(target, {\n\t\t...(asset && { asset_identifier: asset }),\n\t\t...(opts?.recipient && { recipient: opts.recipient }),\n\t\t...(opts?.tokenId !== undefined && { token_id: String(opts.tokenId) }),\n\t});\n}\n",
22
22
  "import { BaseError } from \"./base.ts\";\n\nexport class ContractCallError extends BaseError {\n\toverride name = \"ContractCallError\";\n}\n\nexport class ReadOnlyCallError extends BaseError {\n\toverride name = \"ReadOnlyCallError\";\n}\n"
23
23
  ],
24
- "mappings": "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",
25
- "debugId": "EE5C65C7ED72178764756E2164756E21",
24
+ "mappings": "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",
25
+ "debugId": "8C2A991E317B310264756E2164756E21",
26
26
  "names": []
27
27
  }
@@ -1,6 +1,7 @@
1
+ import"../../shared/stacks-z53fwfcm.js";
1
2
  import {
2
3
  Pc
3
- } from "../../shared/stacks-kmshch4q.js";
4
+ } from "../../shared/stacks-a36n7sjz.js";
4
5
  import"../../shared/stacks-6xmk24yw.js";
5
6
  import"../../shared/stacks-2h8d2y27.js";
6
7
  import"../../shared/stacks-cfazrteq.js";
@@ -8,5 +9,5 @@ export {
8
9
  Pc
9
10
  };
10
11
 
11
- //# debugId=95D55D9E2C43361E64756E2164756E21
12
+ //# debugId=A11C8CB5452407CD64756E2164756E21
12
13
  //# sourceMappingURL=index.js.map
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "95D55D9E2C43361E64756E2164756E21",
7
+ "debugId": "A11C8CB5452407CD64756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -4,14 +4,16 @@ import {
4
4
  } from "../../shared/stacks-9z833ww5.js";
5
5
  import {
6
6
  getContract
7
- } from "../../shared/stacks-7tn3zsbe.js";
8
- import"../../shared/stacks-g7ys594x.js";
7
+ } from "../../shared/stacks-hyz7zgdk.js";
8
+ import"../../shared/stacks-yq5a5cda.js";
9
+ import"../../shared/stacks-y8e3gx6w.js";
9
10
  import"../../shared/stacks-709tra19.js";
10
11
  import"../../shared/stacks-g7ffp8aj.js";
12
+ import"../../shared/stacks-z53fwfcm.js";
11
13
  import {
12
14
  Pc
13
- } from "../../shared/stacks-kmshch4q.js";
14
- import"../../shared/stacks-kmnthgj7.js";
15
+ } from "../../shared/stacks-a36n7sjz.js";
16
+ import"../../shared/stacks-4trgpb5a.js";
15
17
  import"../../shared/stacks-0zysn74p.js";
16
18
  import"../../shared/stacks-v9jqcpd4.js";
17
19
  import"../../shared/stacks-xxn5ma6g.js";
@@ -470,5 +472,5 @@ export {
470
472
  MAX_LOCK_PERIOD
471
473
  };
472
474
 
473
- //# debugId=CC304167ECD4235064756E2164756E21
475
+ //# debugId=B1A6E697DE011F5664756E2164756E21
474
476
  //# sourceMappingURL=index.js.map
@@ -8,7 +8,7 @@
8
8
  "import { getContract } from \"../actions/getContract.ts\";\nimport type { Client } from \"../clients/types.ts\";\nimport { Pc } from \"../postconditions/index.ts\";\nimport { POX_ABI } from \"./abi.ts\";\nimport { POX_CONTRACTS } from \"./constants.ts\";\nimport type {\n\tDelegateStxParams,\n\tDelegationInfo,\n\tPoxInfo,\n\tStackExtendParams,\n\tStackIncreaseParams,\n\tStackStxParams,\n\tStackerInfo,\n} from \"./types.ts\";\nimport { parseBtcAddress, validateLockPeriod } from \"./utils.ts\";\n\nfunction getPoxContract(client: Client) {\n\tif (!client.chain) {\n\t\tthrow new Error(\"Client must have a chain configured\");\n\t}\n\tconst network = client.chain.network;\n\tconst contract =\n\t\tnetwork === \"mainnet\" ? POX_CONTRACTS.mainnet : POX_CONTRACTS.testnet;\n\n\treturn getContract({\n\t\tclient,\n\t\taddress: contract.address,\n\t\tname: contract.name,\n\t\tabi: POX_ABI,\n\t});\n}\n\n/** Query current PoX network info (cycle, minimum, lengths). */\nexport async function getPoxInfo(client: Client): Promise<PoxInfo> {\n\tconst pox = getPoxContract(client);\n\treturn (await pox.read.getPoxInfo({})) as PoxInfo;\n}\n\n/** Get stacker info for an address. Returns null if not stacking. */\nexport async function getStackerInfo(\n\tclient: Client,\n\taddress: string,\n): Promise<StackerInfo | null> {\n\tconst pox = getPoxContract(client);\n\treturn (await pox.read.getStackerInfo({\n\t\tstacker: address,\n\t})) as StackerInfo | null;\n}\n\n/** Get delegation info for an address. Returns null if not delegating. */\nexport async function getDelegationInfo(\n\tclient: Client,\n\taddress: string,\n): Promise<DelegationInfo | null> {\n\tconst pox = getPoxContract(client);\n\treturn (await pox.read.getDelegationInfo({\n\t\tstacker: address,\n\t})) as DelegationInfo | null;\n}\n\n/** Check if an amount meets the minimum stacking threshold. */\nexport async function canStack(\n\tclient: Client,\n\tamount: bigint,\n): Promise<boolean> {\n\tconst info = await getPoxInfo(client);\n\treturn amount >= info.minAmountUstx;\n}\n\n/** Lock STX for stacking (solo). Requires wallet client. */\nexport async function stackStx(\n\tclient: Client,\n\tparams: StackStxParams,\n): Promise<string> {\n\tif (!client.account) throw new Error(\"Wallet client required\");\n\n\tif (!validateLockPeriod(params.lockPeriod)) {\n\t\tthrow new Error(\"Lock period must be 1-12 cycles\");\n\t}\n\n\tconst info = await getPoxInfo(client);\n\tif (params.amount < info.minAmountUstx) {\n\t\tthrow new Error(`Amount below minimum: ${info.minAmountUstx}`);\n\t}\n\n\tconst poxAddr = parseBtcAddress(params.btcAddress);\n\tconst pox = getPoxContract(client);\n\n\treturn pox.call.stackStx(\n\t\t{\n\t\t\tamountUstx: params.amount,\n\t\t\tpoxAddr,\n\t\t\tstartBurnHt: params.startBurnHeight,\n\t\t\tlockPeriod: BigInt(params.lockPeriod),\n\t\t\tsignerSig: params.signerSig,\n\t\t\tsignerKey: params.signerKey,\n\t\t\tmaxAmount: params.maxAmount,\n\t\t\tauthId: params.authId,\n\t\t},\n\t\t{\n\t\t\tpostConditions: [\n\t\t\t\tPc.principal(client.account.address).willSendEq(params.amount).ustx(),\n\t\t\t],\n\t\t},\n\t);\n}\n\n/** Delegate STX to a pool operator. Requires wallet client. */\nexport async function delegateStx(\n\tclient: Client,\n\tparams: DelegateStxParams,\n): Promise<string> {\n\tif (!client.account) throw new Error(\"Wallet client required\");\n\n\tconst poxAddr = params.poxAddr ? parseBtcAddress(params.poxAddr) : null;\n\tconst pox = getPoxContract(client);\n\n\treturn pox.call.delegateStx({\n\t\tamountUstx: params.amount,\n\t\tdelegateTo: params.delegateTo,\n\t\tuntilBurnHt: params.untilBurnHeight ?? null,\n\t\tpoxAddr,\n\t});\n}\n\n/** Revoke an active delegation. Requires wallet client. */\nexport async function revokeDelegateStx(client: Client): Promise<string> {\n\tif (!client.account) throw new Error(\"Wallet client required\");\n\tconst pox = getPoxContract(client);\n\treturn pox.call.revokeDelegateStx({});\n}\n\n/** Extend an active stacking lock. Requires wallet client. */\nexport async function stackExtend(\n\tclient: Client,\n\tparams: StackExtendParams,\n): Promise<string> {\n\tif (!client.account) throw new Error(\"Wallet client required\");\n\n\tif (!validateLockPeriod(params.extendCount)) {\n\t\tthrow new Error(\"Extend count must be 1-12 cycles\");\n\t}\n\n\tconst poxAddr = parseBtcAddress(params.btcAddress);\n\tconst pox = getPoxContract(client);\n\n\treturn pox.call.stackExtend({\n\t\textendCount: BigInt(params.extendCount),\n\t\tpoxAddr,\n\t\tsignerSig: params.signerSig,\n\t\tsignerKey: params.signerKey,\n\t\tmaxAmount: params.maxAmount,\n\t\tauthId: params.authId,\n\t});\n}\n\n/** Increase the amount of locked STX. Requires wallet client. */\nexport async function stackIncrease(\n\tclient: Client,\n\tparams: StackIncreaseParams,\n): Promise<string> {\n\tif (!client.account) throw new Error(\"Wallet client required\");\n\n\tconst pox = getPoxContract(client);\n\n\treturn pox.call.stackIncrease(\n\t\t{\n\t\t\tincreaseBy: params.increaseBy,\n\t\t\tsignerSig: params.signerSig,\n\t\t\tsignerKey: params.signerKey,\n\t\t\tmaxAmount: params.maxAmount,\n\t\t\tauthId: params.authId,\n\t\t},\n\t\t{\n\t\t\tpostConditions: [\n\t\t\t\tPc.principal(client.account.address)\n\t\t\t\t\t.willSendEq(params.increaseBy)\n\t\t\t\t\t.ustx(),\n\t\t\t],\n\t\t},\n\t);\n}\n",
9
9
  "import type { Client } from \"../clients/types.ts\";\nimport {\n\tcanStack,\n\tdelegateStx,\n\tgetDelegationInfo,\n\tgetPoxInfo,\n\tgetStackerInfo,\n\trevokeDelegateStx,\n\tstackExtend,\n\tstackIncrease,\n\tstackStx,\n} from \"./actions.ts\";\nimport type {\n\tDelegateStxParams,\n\tDelegationInfo,\n\tPoxInfo,\n\tStackExtendParams,\n\tStackIncreaseParams,\n\tStackStxParams,\n\tStackerInfo,\n} from \"./types.ts\";\n\nexport type {\n\tStackStxParams,\n\tDelegateStxParams,\n\tStackExtendParams,\n\tStackIncreaseParams,\n\tPoxInfo,\n\tStackerInfo,\n\tDelegationInfo,\n};\nexport type { PoxAddress } from \"./types.ts\";\n\n/** Actions provided by the PoX extension. */\nexport type PoxActions = {\n\tpox: {\n\t\tgetPoxInfo: () => Promise<PoxInfo>;\n\t\tgetStackerInfo: (address: string) => Promise<StackerInfo | null>;\n\t\tgetDelegationInfo: (address: string) => Promise<DelegationInfo | null>;\n\t\tcanStack: (amount: bigint) => Promise<boolean>;\n\t\tstackStx: (params: StackStxParams) => Promise<string>;\n\t\tdelegateStx: (params: DelegateStxParams) => Promise<string>;\n\t\trevokeDelegateStx: () => Promise<string>;\n\t\tstackExtend: (params: StackExtendParams) => Promise<string>;\n\t\tstackIncrease: (params: StackIncreaseParams) => Promise<string>;\n\t};\n};\n\nexport {\n\tPOX_CONTRACTS,\n\tPOX_ADDRESS_VERSION,\n\tMIN_LOCK_PERIOD,\n\tMAX_LOCK_PERIOD,\n} from \"./constants.ts\";\nexport {\n\tparseBtcAddress,\n\tvalidateLockPeriod,\n\tburnHeightToRewardCycle,\n\trewardCycleToBurnHeight,\n} from \"./utils.ts\";\n\n/**\n * PoX stacking extension for Stacks client.\n * Handles STX stacking for Bitcoin rewards (solo + pool delegation).\n *\n * @example\n * import { createWalletClient, http, mainnet } from \"stacks\";\n * import { pox } from \"stacks/pox\";\n *\n * const client = createWalletClient({ ... }).extend(pox());\n *\n * // Delegate to pool\n * await client.pox.delegateStx({\n * amount: 100_000n * 1_000_000n,\n * delegateTo: \"SP2...\",\n * });\n *\n * // Solo stack\n * await client.pox.stackStx({\n * amount: 100_000n * 1_000_000n,\n * btcAddress: \"bc1q...\",\n * lockPeriod: 12,\n * startBurnHeight: 860000n,\n * signerSig: signature,\n * signerKey: publicKey,\n * maxAmount: 100_000_000_000n,\n * authId: 1n,\n * });\n */\nexport function pox(): (client: Client) => PoxActions {\n\treturn (client: Client) => ({\n\t\tpox: {\n\t\t\t/** Query current PoX network info (cycle, minimum, lengths). */\n\t\t\tgetPoxInfo: () => getPoxInfo(client),\n\n\t\t\t/** Get stacker info for an address. Returns null if not stacking. */\n\t\t\tgetStackerInfo: (address: string) => getStackerInfo(client, address),\n\n\t\t\t/** Get delegation info for an address. Returns null if not delegating. */\n\t\t\tgetDelegationInfo: (address: string) =>\n\t\t\t\tgetDelegationInfo(client, address),\n\n\t\t\t/** Check if an amount meets the minimum stacking threshold. */\n\t\t\tcanStack: (amount: bigint) => canStack(client, amount),\n\n\t\t\t/** Lock STX for stacking (solo). */\n\t\t\tstackStx: (params: StackStxParams) => stackStx(client, params),\n\n\t\t\t/** Delegate STX to a pool operator. */\n\t\t\tdelegateStx: (params: DelegateStxParams) => delegateStx(client, params),\n\n\t\t\t/** Revoke an active delegation. */\n\t\t\trevokeDelegateStx: () => revokeDelegateStx(client),\n\n\t\t\t/** Extend an active stacking lock by additional cycles. */\n\t\t\tstackExtend: (params: StackExtendParams) => stackExtend(client, params),\n\n\t\t\t/** Increase the amount of locked STX. */\n\t\t\tstackIncrease: (params: StackIncreaseParams) =>\n\t\t\t\tstackIncrease(client, params),\n\t\t},\n\t});\n}\n"
10
10
  ],
11
- "mappings": "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",
12
- "debugId": "CC304167ECD4235064756E2164756E21",
11
+ "mappings": "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",
12
+ "debugId": "B1A6E697DE011F5664756E2164756E21",
13
13
  "names": []
14
14
  }
@@ -4,11 +4,12 @@ import {
4
4
  } from "../../shared/stacks-9z833ww5.js";
5
5
  import {
6
6
  getContract
7
- } from "../../shared/stacks-7tn3zsbe.js";
8
- import"../../shared/stacks-g7ys594x.js";
7
+ } from "../../shared/stacks-hyz7zgdk.js";
8
+ import"../../shared/stacks-yq5a5cda.js";
9
+ import"../../shared/stacks-y8e3gx6w.js";
9
10
  import"../../shared/stacks-709tra19.js";
10
11
  import"../../shared/stacks-g7ffp8aj.js";
11
- import"../../shared/stacks-kmnthgj7.js";
12
+ import"../../shared/stacks-4trgpb5a.js";
12
13
  import"../../shared/stacks-0zysn74p.js";
13
14
  import"../../shared/stacks-v9jqcpd4.js";
14
15
  import"../../shared/stacks-xxn5ma6g.js";
@@ -283,5 +284,5 @@ export {
283
284
  SBTC_ASSET_IDENTIFIER_MAINNET
284
285
  };
285
286
 
286
- //# debugId=4151C08309E0934A64756E2164756E21
287
+ //# debugId=B58AB3F69F8DA23D64756E2164756E21
287
288
  //# sourceMappingURL=index.js.map