@secondlayer/stacks 6.0.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 (217) hide show
  1. package/dist/shared/stacks-esm-0pc6tmf0.js +50 -0
  2. package/dist/shared/{stacks-qex691bh.js.map → stacks-esm-0pc6tmf0.js.map} +2 -2
  3. package/dist/shared/{stacks-qt8ehebn.js → stacks-esm-16d82wyc.js} +10 -10
  4. package/dist/shared/{stacks-qt8ehebn.js.map → stacks-esm-16d82wyc.js.map} +2 -2
  5. package/dist/shared/{stacks-qs5fzts5.js → stacks-esm-7a0ehykf.js} +43 -43
  6. package/dist/shared/{stacks-qs5fzts5.js.map → stacks-esm-7a0ehykf.js.map} +2 -2
  7. package/dist/shared/{stacks-4hs8r4q2.js → stacks-esm-7v18h5dk.js} +4 -4
  8. package/dist/shared/{stacks-xjkn3en1.cjs.map → stacks-esm-7v18h5dk.js.map} +2 -2
  9. package/dist/shared/{stacks-71k0vmct.js → stacks-esm-8f5catbf.js} +126 -126
  10. package/dist/shared/{stacks-71k0vmct.js.map → stacks-esm-8f5catbf.js.map} +2 -2
  11. package/dist/shared/{stacks-wxfd6r4b.js → stacks-esm-8jt6k8p3.js} +13 -13
  12. package/dist/shared/{stacks-wxfd6r4b.js.map → stacks-esm-8jt6k8p3.js.map} +2 -2
  13. package/dist/shared/{stacks-x0qqwrev.js → stacks-esm-a20wyky3.js} +92 -92
  14. package/dist/shared/{stacks-agk106zs.cjs.map → stacks-esm-a20wyky3.js.map} +2 -2
  15. package/dist/shared/{stacks-gjz26k6b.js → stacks-esm-b54n1jdx.js} +102 -58
  16. package/dist/shared/stacks-esm-b54n1jdx.js.map +12 -0
  17. package/dist/shared/{stacks-9c1yam8b.js → stacks-esm-cmtj5vky.js} +162 -162
  18. package/dist/shared/{stacks-9c1yam8b.js.map → stacks-esm-cmtj5vky.js.map} +2 -2
  19. package/dist/shared/{stacks-z90xdr1x.js → stacks-esm-e2qhfgke.js} +36 -36
  20. package/dist/shared/{stacks-z90xdr1x.js.map → stacks-esm-e2qhfgke.js.map} +2 -2
  21. package/dist/shared/{stacks-v03zef3g.js → stacks-esm-ea4m4bk7.js} +117 -117
  22. package/dist/shared/{stacks-v03zef3g.js.map → stacks-esm-ea4m4bk7.js.map} +2 -2
  23. package/dist/shared/{stacks-69nq48jp.js → stacks-esm-hkw1kvd4.js} +140 -140
  24. package/dist/shared/{stacks-69nq48jp.js.map → stacks-esm-hkw1kvd4.js.map} +2 -2
  25. package/dist/shared/{stacks-qcae5852.js → stacks-esm-k108pemv.js} +4 -4
  26. package/dist/shared/{stacks-qcae5852.js.map → stacks-esm-k108pemv.js.map} +2 -2
  27. package/dist/shared/stacks-esm-kbz5s6v8.js +84 -0
  28. package/dist/shared/{stacks-4d7c3x27.js.map → stacks-esm-kbz5s6v8.js.map} +2 -2
  29. package/dist/shared/{stacks-kg1npstf.js → stacks-esm-mt1thm7k.js} +9 -9
  30. package/dist/shared/{stacks-kg1npstf.js.map → stacks-esm-mt1thm7k.js.map} +2 -2
  31. package/dist/shared/{stacks-yvb7rvwk.js → stacks-esm-n1mekwnb.js} +9 -9
  32. package/dist/shared/{stacks-8vzxax5e.cjs.map → stacks-esm-n1mekwnb.js.map} +2 -2
  33. package/dist/shared/{stacks-mftyrc60.js → stacks-esm-nt5hf8ht.js} +34 -34
  34. package/dist/shared/{stacks-mftyrc60.js.map → stacks-esm-nt5hf8ht.js.map} +2 -2
  35. package/dist/shared/{stacks-51ybf135.js → stacks-esm-phgy8yqf.js} +210 -210
  36. package/dist/shared/{stacks-51ybf135.js.map → stacks-esm-phgy8yqf.js.map} +2 -2
  37. package/dist/shared/{stacks-mbt36bzt.js → stacks-esm-pxv6ny92.js} +116 -116
  38. package/dist/shared/{stacks-mbt36bzt.js.map → stacks-esm-pxv6ny92.js.map} +2 -2
  39. package/dist/shared/{stacks-8brgfvqx.js → stacks-esm-qfzxhdqz.js} +19 -19
  40. package/dist/shared/{stacks-8brgfvqx.js.map → stacks-esm-qfzxhdqz.js.map} +2 -2
  41. package/dist/shared/{stacks-fd4rx56e.js → stacks-esm-snj9s2q8.js} +43 -43
  42. package/dist/shared/{stacks-fd4rx56e.js.map → stacks-esm-snj9s2q8.js.map} +2 -2
  43. package/dist/shared/{stacks-yajyej2y.js → stacks-esm-ss9ap75h.js} +28 -28
  44. package/dist/shared/{stacks-yajyej2y.js.map → stacks-esm-ss9ap75h.js.map} +2 -2
  45. package/dist/shared/{stacks-1m3m1agc.js → stacks-esm-t88hc019.js} +18 -18
  46. package/dist/shared/{stacks-1m3m1agc.js.map → stacks-esm-t88hc019.js.map} +2 -2
  47. package/dist/shared/stacks-esm-tdrdye4y.js +48 -0
  48. package/dist/shared/{stacks-enpj9krt.cjs.map → stacks-esm-tdrdye4y.js.map} +2 -2
  49. package/dist/src/accounts/index.cjs +565 -9
  50. package/dist/src/accounts/index.cjs.map +10 -4
  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 +3860 -44
  56. package/dist/src/actions/index.cjs.map +65 -3
  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 +2506 -31
  62. package/dist/src/bitcoin/index.cjs.map +31 -3
  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 +4435 -10
  68. package/dist/src/bns/index.cjs.map +50 -3
  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 +141 -5
  74. package/dist/src/chains/index.cjs.map +5 -3
  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 +2021 -1
  80. package/dist/src/clarity/index.cjs.map +24 -3
  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 +727 -1
  98. package/dist/src/filters/index.cjs.map +11 -3
  99. package/dist/src/filters/index.d.cts +76 -13
  100. package/dist/src/filters/index.d.ts +76 -13
  101. package/dist/src/filters/index.js +30 -26
  102. package/dist/src/filters/index.js.map +1 -1
  103. package/dist/src/index.cjs +4000 -126
  104. package/dist/src/index.cjs.map +69 -4
  105. package/dist/src/index.d.cts +658 -607
  106. package/dist/src/index.d.ts +658 -607
  107. package/dist/src/index.js +219 -219
  108. package/dist/src/index.js.map +2 -2
  109. package/dist/src/postconditions/index.cjs +1728 -1
  110. package/dist/src/postconditions/index.cjs.map +20 -3
  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 +3866 -11
  116. package/dist/src/pox/index.cjs.map +48 -3
  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 +4124 -95
  122. package/dist/src/pox5/index.cjs.map +55 -4
  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 +3719 -16
  128. package/dist/src/sbtc/index.cjs.map +47 -3
  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 +3747 -3
  140. package/dist/src/stackingdao/index.cjs.map +45 -3
  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 +160 -6
  146. package/dist/src/subscriptions/index.cjs.map +6 -3
  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 +2189 -49
  152. package/dist/src/transactions/index.cjs.map +23 -3
  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 +503 -69
  158. package/dist/src/utils/index.cjs.map +9 -3
  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-02actsrx.cjs +0 -17
  165. package/dist/shared/stacks-02actsrx.cjs.map +0 -10
  166. package/dist/shared/stacks-03vfm21t.cjs +0 -222
  167. package/dist/shared/stacks-03vfm21t.cjs.map +0 -12
  168. package/dist/shared/stacks-24h5k94q.cjs +0 -74
  169. package/dist/shared/stacks-24h5k94q.cjs.map +0 -11
  170. package/dist/shared/stacks-37kz5t9f.cjs +0 -764
  171. package/dist/shared/stacks-37kz5t9f.cjs.map +0 -23
  172. package/dist/shared/stacks-3mt2q2na.cjs +0 -65
  173. package/dist/shared/stacks-3mt2q2na.cjs.map +0 -9
  174. package/dist/shared/stacks-4d7c3x27.js +0 -84
  175. package/dist/shared/stacks-4hs8r4q2.js.map +0 -10
  176. package/dist/shared/stacks-8vzxax5e.cjs +0 -45
  177. package/dist/shared/stacks-agk106zs.cjs +0 -267
  178. package/dist/shared/stacks-bdgh9n83.cjs +0 -212
  179. package/dist/shared/stacks-bdgh9n83.cjs.map +0 -11
  180. package/dist/shared/stacks-dpxnxhqb.cjs +0 -51
  181. package/dist/shared/stacks-dpxnxhqb.cjs.map +0 -11
  182. package/dist/shared/stacks-ee53k9j2.cjs +0 -651
  183. package/dist/shared/stacks-ee53k9j2.cjs.map +0 -13
  184. package/dist/shared/stacks-enpj9krt.cjs +0 -38
  185. package/dist/shared/stacks-f35mnrmg.cjs +0 -164
  186. package/dist/shared/stacks-f35mnrmg.cjs.map +0 -10
  187. package/dist/shared/stacks-fhzwsn5d.cjs +0 -261
  188. package/dist/shared/stacks-fhzwsn5d.cjs.map +0 -12
  189. package/dist/shared/stacks-gjz26k6b.js.map +0 -12
  190. package/dist/shared/stacks-gza2n1zs.cjs +0 -73
  191. package/dist/shared/stacks-gza2n1zs.cjs.map +0 -11
  192. package/dist/shared/stacks-kem68d80.cjs +0 -156
  193. package/dist/shared/stacks-kem68d80.cjs.map +0 -10
  194. package/dist/shared/stacks-n98w7g57.cjs +0 -234
  195. package/dist/shared/stacks-n98w7g57.cjs.map +0 -10
  196. package/dist/shared/stacks-p337hp6m.cjs +0 -336
  197. package/dist/shared/stacks-p337hp6m.cjs.map +0 -25
  198. package/dist/shared/stacks-q34k4vnc.cjs +0 -286
  199. package/dist/shared/stacks-q34k4vnc.cjs.map +0 -12
  200. package/dist/shared/stacks-qex691bh.js +0 -50
  201. package/dist/shared/stacks-rryme9bv.cjs +0 -569
  202. package/dist/shared/stacks-rryme9bv.cjs.map +0 -13
  203. package/dist/shared/stacks-s5vej5z6.cjs +0 -410
  204. package/dist/shared/stacks-s5vej5z6.cjs.map +0 -15
  205. package/dist/shared/stacks-sdqkapct.cjs +0 -67
  206. package/dist/shared/stacks-sdqkapct.cjs.map +0 -12
  207. package/dist/shared/stacks-v2rfr46a.js +0 -48
  208. package/dist/shared/stacks-v2rfr46a.js.map +0 -10
  209. package/dist/shared/stacks-vea7nde7.cjs +0 -731
  210. package/dist/shared/stacks-vea7nde7.cjs.map +0 -13
  211. package/dist/shared/stacks-wk8yp13j.cjs +0 -33
  212. package/dist/shared/stacks-wk8yp13j.cjs.map +0 -11
  213. package/dist/shared/stacks-x0qqwrev.js.map +0 -12
  214. package/dist/shared/stacks-xjkn3en1.cjs +0 -42
  215. package/dist/shared/stacks-xnrywjf1.cjs +0 -131
  216. package/dist/shared/stacks-xnrywjf1.cjs.map +0 -11
  217. package/dist/shared/stacks-yvb7rvwk.js.map +0 -10
@@ -1,23 +1,351 @@
1
+ var import_node_module = require("node:module");
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ function __accessProp(key) {
9
+ return this[key];
10
+ }
11
+ var __toESMCache_node;
12
+ var __toESMCache_esm;
13
+ var __toESM = (mod, isNodeMode, target) => {
14
+ var canCache = mod != null && typeof mod === "object";
15
+ if (canCache) {
16
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
17
+ var cached = cache.get(mod);
18
+ if (cached)
19
+ return cached;
20
+ }
21
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
22
+ const to = isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
23
+ if (mod && typeof mod === "object" || typeof mod === "function") {
24
+ for (let key of __getOwnPropNames(mod))
25
+ if (!__hasOwnProp.call(to, key))
26
+ __defProp(to, key, {
27
+ get: __accessProp.bind(mod, key),
28
+ enumerable: true
29
+ });
30
+ }
31
+ if (canCache)
32
+ cache.set(mod, to);
33
+ return to;
34
+ };
35
+ var __toCommonJS = (from) => {
36
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
37
+ if (entry)
38
+ return entry;
39
+ entry = __defProp({}, "__esModule", { value: true });
40
+ if (from && typeof from === "object" || typeof from === "function") {
41
+ for (var key of __getOwnPropNames(from))
42
+ if (!__hasOwnProp.call(entry, key))
43
+ __defProp(entry, key, {
44
+ get: __accessProp.bind(from, key),
45
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
46
+ });
47
+ }
48
+ __moduleCache.set(from, entry);
49
+ return entry;
50
+ };
51
+ var __moduleCache;
52
+ var __returnValue = (v) => v;
53
+ function __exportSetter(name, newValue) {
54
+ this[name] = __returnValue.bind(null, newValue);
55
+ }
56
+ var __export = (target, all) => {
57
+ for (var name in all)
58
+ __defProp(target, name, {
59
+ get: all[name],
60
+ enumerable: true,
61
+ configurable: true,
62
+ set: __exportSetter.bind(all, name)
63
+ });
64
+ };
65
+
1
66
  // src/accounts/index.ts
2
67
  var exports_accounts = {};
3
68
  __export(exports_accounts, {
4
- toAccount: () => toAccount,
5
- providerToAccount: () => providerToAccount,
6
- privateKeyToAccount: () => privateKeyToAccount,
7
- mnemonicToBitcoinKeys: () => mnemonicToBitcoinKeys,
69
+ compressPrivateKey: () => compressPrivateKey,
8
70
  mnemonicToAccount: () => mnemonicToAccount,
9
- compressPrivateKey: () => compressPrivateKey
71
+ mnemonicToBitcoinKeys: () => mnemonicToBitcoinKeys,
72
+ privateKeyToAccount: () => privateKeyToAccount,
73
+ providerToAccount: () => providerToAccount,
74
+ toAccount: () => toAccount
10
75
  });
11
76
  module.exports = __toCommonJS(exports_accounts);
12
77
 
13
78
  // src/accounts/privateKeyToAccount.ts
14
79
  var import_hmac = require("@noble/hashes/hmac.js");
15
- var import_sha2 = require("@noble/hashes/sha2.js");
80
+ var import_sha24 = require("@noble/hashes/sha2.js");
16
81
  var import_secp256k1 = require("@noble/secp256k1");
82
+
83
+ // src/utils/c32.ts
84
+ var import_sha2 = require("@noble/hashes/sha2.js");
85
+
86
+ // src/utils/encoding.ts
87
+ var hexes = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0"));
88
+ function bytesToHex(bytes) {
89
+ let hex = "";
90
+ for (const b of bytes) {
91
+ hex += hexes[b];
92
+ }
93
+ return hex;
94
+ }
95
+ function hexToBytes(hex) {
96
+ let h = without0x(hex);
97
+ if (h.length % 2)
98
+ h = `0${h}`;
99
+ const array = new Uint8Array(h.length / 2);
100
+ for (let i = 0;i < array.length; i++) {
101
+ const j = i * 2;
102
+ const byte = Number.parseInt(h.slice(j, j + 2), 16);
103
+ if (Number.isNaN(byte) || byte < 0)
104
+ throw new Error("Invalid byte sequence");
105
+ array[i] = byte;
106
+ }
107
+ return array;
108
+ }
109
+ function with0x(value) {
110
+ return /^0x/i.test(value) ? value : `0x${value}`;
111
+ }
112
+ function without0x(value) {
113
+ return /^0x/i.test(value) ? value.slice(2) : value;
114
+ }
115
+ function utf8ToBytes(str) {
116
+ return new TextEncoder().encode(str);
117
+ }
118
+ function bytesToUtf8(bytes) {
119
+ return new TextDecoder().decode(bytes);
120
+ }
121
+ function asciiToBytes(str) {
122
+ const bytes = new Uint8Array(str.length);
123
+ for (let i = 0;i < str.length; i++) {
124
+ bytes[i] = str.charCodeAt(i) & 255;
125
+ }
126
+ return bytes;
127
+ }
128
+ function bytesToAscii(bytes) {
129
+ return String.fromCharCode(...bytes);
130
+ }
131
+ function concatBytes(...arrays) {
132
+ if (arrays.length === 1)
133
+ return arrays[0];
134
+ const length = arrays.reduce((a, arr) => a + arr.length, 0);
135
+ const result = new Uint8Array(length);
136
+ let pad = 0;
137
+ for (const arr of arrays) {
138
+ result.set(arr, pad);
139
+ pad += arr.length;
140
+ }
141
+ return result;
142
+ }
143
+ function intToBigInt(value) {
144
+ if (typeof value === "bigint")
145
+ return value;
146
+ if (typeof value === "string")
147
+ return BigInt(value);
148
+ if (typeof value === "number") {
149
+ if (!Number.isInteger(value))
150
+ throw new RangeError("Values of type 'number' must be an integer.");
151
+ if (value > Number.MAX_SAFE_INTEGER)
152
+ throw new RangeError(`Values of type 'number' must be <= ${Number.MAX_SAFE_INTEGER}. Use BigInt instead.`);
153
+ return BigInt(value);
154
+ }
155
+ if (value instanceof Uint8Array)
156
+ return BigInt(`0x${bytesToHex(value)}`);
157
+ throw new TypeError("Must be a number, bigint, string, or Uint8Array.");
158
+ }
159
+ function intToBytes(value, byteLength) {
160
+ return bigIntToBytes(intToBigInt(value), byteLength);
161
+ }
162
+ function bigIntToBytes(value, length = 16) {
163
+ const hex = value.toString(16).padStart(length * 2, "0");
164
+ return hexToBytes(hex);
165
+ }
166
+ function intToHex(integer, byteLength = 8) {
167
+ const value = typeof integer === "bigint" ? integer : intToBigInt(integer);
168
+ return value.toString(16).padStart(byteLength * 2, "0");
169
+ }
170
+ function toTwos(value, width) {
171
+ const limit = BigInt(1) << width - BigInt(1);
172
+ if (value < -limit || value > limit - BigInt(1)) {
173
+ throw new Error(`Unable to represent integer in width: ${width}`);
174
+ }
175
+ if (value >= BigInt(0))
176
+ return value;
177
+ return value + (BigInt(1) << width);
178
+ }
179
+ function fromTwos(value, width) {
180
+ if (value & BigInt(1) << width - BigInt(1)) {
181
+ return value - (BigInt(1) << width);
182
+ }
183
+ return value;
184
+ }
185
+ function bytesToTwosBigInt(bytes) {
186
+ if (bytes.length === 0)
187
+ return 0n;
188
+ const hex = bytesToHex(bytes);
189
+ if (hex.length === 0)
190
+ return 0n;
191
+ return fromTwos(BigInt(`0x${hex}`), BigInt(bytes.byteLength * 8));
192
+ }
193
+ function writeUInt32BE(value) {
194
+ const buf = new Uint8Array(4);
195
+ buf[0] = value >>> 24 & 255;
196
+ buf[1] = value >>> 16 & 255;
197
+ buf[2] = value >>> 8 & 255;
198
+ buf[3] = value & 255;
199
+ return buf;
200
+ }
201
+ function readUInt32BE(bytes, offset = 0) {
202
+ return (bytes[offset] << 24 | bytes[offset + 1] << 16 | bytes[offset + 2] << 8 | bytes[offset + 3]) >>> 0;
203
+ }
204
+ function writeUInt16BE(value) {
205
+ const buf = new Uint8Array(2);
206
+ buf[0] = value >>> 8 & 255;
207
+ buf[1] = value & 255;
208
+ return buf;
209
+ }
210
+ function readUInt16BE(bytes, offset = 0) {
211
+ return (bytes[offset] << 8 | bytes[offset + 1]) >>> 0;
212
+ }
213
+ function writeUInt8(value) {
214
+ return new Uint8Array([value & 255]);
215
+ }
216
+
217
+ // src/utils/c32.ts
218
+ var C32 = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
219
+ var HEX = "0123456789abcdef";
220
+ function c32normalize(input) {
221
+ return input.toUpperCase().replace(/O/g, "0").replace(/L|I/g, "1");
222
+ }
223
+ function c32encode(inputHex) {
224
+ let hex = inputHex;
225
+ if (hex.length % 2 !== 0)
226
+ hex = `0${hex}`;
227
+ hex = hex.toLowerCase();
228
+ const res = [];
229
+ let carry = 0;
230
+ for (let i = hex.length - 1;i >= 0; i--) {
231
+ if (carry < 4) {
232
+ const currentCode = HEX.indexOf(hex[i]) >> carry;
233
+ const nextCode = i !== 0 ? HEX.indexOf(hex[i - 1]) : 0;
234
+ const nextBits = 1 + carry;
235
+ const nextLowBits = nextCode % (1 << nextBits) << 5 - nextBits;
236
+ res.unshift(C32[currentCode + nextLowBits]);
237
+ carry = nextBits;
238
+ } else {
239
+ carry = 0;
240
+ }
241
+ }
242
+ let leadingZeros = 0;
243
+ while (leadingZeros < res.length && res[leadingZeros] === "0")
244
+ leadingZeros++;
245
+ const stripped = res.slice(leadingZeros);
246
+ const bytes = hexToBytes(hex);
247
+ let zeroBytesCount = 0;
248
+ while (zeroBytesCount < bytes.length && bytes[zeroBytesCount] === 0)
249
+ zeroBytesCount++;
250
+ const prefix = Array(zeroBytesCount).fill(C32[0]);
251
+ return [...prefix, ...stripped].join("");
252
+ }
253
+ function c32decode(c32input) {
254
+ const input = c32normalize(c32input);
255
+ if (!input.match(`^[${C32}]*$`))
256
+ throw new Error("Not a c32-encoded string");
257
+ const zeroPrefix = input.match(`^${C32[0]}*`);
258
+ const numLeadingZeroBytes = zeroPrefix ? zeroPrefix[0]?.length : 0;
259
+ const res = [];
260
+ let carry = 0;
261
+ let carryBits = 0;
262
+ for (let i = input.length - 1;i >= 0; i--) {
263
+ if (carryBits === 4) {
264
+ res.unshift(HEX[carry]);
265
+ carryBits = 0;
266
+ carry = 0;
267
+ }
268
+ const currentValue = (C32.indexOf(input[i]) << carryBits) + carry;
269
+ res.unshift(HEX[currentValue % 16]);
270
+ carryBits += 1;
271
+ carry = currentValue >> 4;
272
+ if (carry > 1 << carryBits)
273
+ throw new Error("Panic error in c32 decoding");
274
+ }
275
+ res.unshift(HEX[carry]);
276
+ if (res.length % 2 === 1)
277
+ res.unshift("0");
278
+ let hexLeadingZeros = 0;
279
+ while (hexLeadingZeros < res.length && res[hexLeadingZeros] === "0")
280
+ hexLeadingZeros++;
281
+ let hexStr = res.slice(hexLeadingZeros - hexLeadingZeros % 2).join("");
282
+ for (let i = 0;i < numLeadingZeroBytes; i++)
283
+ hexStr = `00${hexStr}`;
284
+ return hexStr;
285
+ }
286
+ function c32checksum(dataHex) {
287
+ return bytesToHex(import_sha2.sha256(import_sha2.sha256(hexToBytes(dataHex))).slice(0, 4));
288
+ }
289
+ function c32checkEncode(version, data) {
290
+ if (version < 0 || version >= 32)
291
+ throw new Error("Invalid version (must be between 0 and 31)");
292
+ if (!data.match(/^[0-9a-fA-F]*$/))
293
+ throw new Error("Invalid data (not a hex string)");
294
+ let d = data.toLowerCase();
295
+ if (d.length % 2 !== 0)
296
+ d = `0${d}`;
297
+ let versionHex = version.toString(16);
298
+ if (versionHex.length === 1)
299
+ versionHex = `0${versionHex}`;
300
+ const checksumHex = c32checksum(`${versionHex}${d}`);
301
+ return `${C32[version]}${c32encode(`${d}${checksumHex}`)}`;
302
+ }
303
+ function c32checkDecode(c32data) {
304
+ const normalized = c32normalize(c32data);
305
+ const dataHex = c32decode(normalized.slice(1));
306
+ const version = C32.indexOf(normalized[0]);
307
+ const checksum = dataHex.slice(-8);
308
+ let versionHex = version.toString(16);
309
+ if (versionHex.length === 1)
310
+ versionHex = `0${versionHex}`;
311
+ if (c32checksum(`${versionHex}${dataHex.substring(0, dataHex.length - 8)}`) !== checksum) {
312
+ throw new Error("Invalid c32check string: checksum mismatch");
313
+ }
314
+ return [version, dataHex.substring(0, dataHex.length - 8)];
315
+ }
316
+ function c32address(version, hash160hex) {
317
+ if (!hash160hex.match(/^[0-9a-fA-F]{40}$/)) {
318
+ throw new Error("Invalid argument: not a hash160 hex string");
319
+ }
320
+ return `S${c32checkEncode(version, hash160hex)}`;
321
+ }
322
+ function c32addressDecode(c32addr) {
323
+ if (c32addr.length <= 5)
324
+ throw new Error("Invalid c32 address: invalid length");
325
+ if (c32addr[0] !== "S")
326
+ throw new Error('Invalid c32 address: must start with "S"');
327
+ return c32checkDecode(c32addr.slice(1));
328
+ }
329
+
330
+ // src/utils/hash.ts
331
+ var import_legacy = require("@noble/hashes/legacy.js");
332
+ var import_sha22 = require("@noble/hashes/sha2.js");
333
+ var import_sha23 = require("@noble/hashes/sha2.js");
334
+ function hash160(input) {
335
+ return import_legacy.ripemd160(import_sha22.sha256(input));
336
+ }
337
+ function txidFromBytes(data) {
338
+ return bytesToHex(import_sha23.sha512_256(data));
339
+ }
340
+ function hashP2PKH(input) {
341
+ return bytesToHex(hash160(input));
342
+ }
343
+
344
+ // src/accounts/privateKeyToAccount.ts
17
345
  function ensureSyncSigning() {
18
346
  if (!import_secp256k1.etc.hmacSha256Sync) {
19
347
  import_secp256k1.etc.hmacSha256Sync = (key, ...msgs) => {
20
- const h = import_hmac.hmac.create(import_sha2.sha256, key);
348
+ const h = import_hmac.hmac.create(import_sha24.sha256, key);
21
349
  for (const msg of msgs)
22
350
  h.update(msg);
23
351
  return h.digest();
@@ -46,7 +374,7 @@ function privateKeyToAccount(privateKey, options) {
46
374
  },
47
375
  signMessage(message) {
48
376
  const msgBytes = typeof message === "string" ? new TextEncoder().encode(message) : message;
49
- const msgHash = import_sha2.sha256(msgBytes);
377
+ const msgHash = import_sha24.sha256(msgBytes);
50
378
  const sigBytes = this.sign(msgHash);
51
379
  return bytesToHex(sigBytes);
52
380
  }
@@ -81,6 +409,220 @@ function mnemonicToAccount(mnemonic, options) {
81
409
  // src/accounts/mnemonicToBitcoinKeys.ts
82
410
  var import_bip322 = require("@scure/bip32");
83
411
  var import_bip392 = require("@scure/bip39");
412
+
413
+ // src/bitcoin/address.ts
414
+ var import_secp256k12 = require("@noble/curves/secp256k1.js");
415
+ var import_base = require("@scure/base");
416
+
417
+ // src/bitcoin/serialize.ts
418
+ function doubleSha256(bytes) {
419
+ return import_sha22.sha256(import_sha22.sha256(bytes));
420
+ }
421
+ function reverseBytes(bytes) {
422
+ const out = new Uint8Array(bytes.length);
423
+ for (let i = 0;i < bytes.length; i++) {
424
+ out[i] = bytes[bytes.length - 1 - i];
425
+ }
426
+ return out;
427
+ }
428
+
429
+ class BtcReader {
430
+ data;
431
+ view;
432
+ offset = 0;
433
+ constructor(data) {
434
+ this.data = data;
435
+ this.view = new DataView(data.buffer, data.byteOffset, data.byteLength);
436
+ }
437
+ get length() {
438
+ return this.data.length;
439
+ }
440
+ readUInt8() {
441
+ const v = this.view.getUint8(this.offset);
442
+ this.offset += 1;
443
+ return v;
444
+ }
445
+ peekUInt8() {
446
+ return this.view.getUint8(this.offset);
447
+ }
448
+ readUInt32LE() {
449
+ const v = this.view.getUint32(this.offset, true);
450
+ this.offset += 4;
451
+ return v;
452
+ }
453
+ readUInt64LE() {
454
+ const v = this.view.getBigUint64(this.offset, true);
455
+ this.offset += 8;
456
+ return v;
457
+ }
458
+ readBytes(n) {
459
+ if (this.offset + n > this.data.length) {
460
+ throw new Error(`Bitcoin tx underflow: need ${n} bytes at offset ${this.offset}, have ${this.data.length}`);
461
+ }
462
+ const slice = this.data.slice(this.offset, this.offset + n);
463
+ this.offset += n;
464
+ return slice;
465
+ }
466
+ readVarInt() {
467
+ const first = this.readUInt8();
468
+ if (first < 253)
469
+ return first;
470
+ if (first === 253) {
471
+ const v = this.view.getUint16(this.offset, true);
472
+ this.offset += 2;
473
+ return v;
474
+ }
475
+ if (first === 254) {
476
+ return this.readUInt32LE();
477
+ }
478
+ const big = this.readUInt64LE();
479
+ if (big > BigInt(Number.MAX_SAFE_INTEGER)) {
480
+ throw new Error("Bitcoin varint exceeds safe integer range");
481
+ }
482
+ return Number(big);
483
+ }
484
+ }
485
+ function scanTx(rawTx) {
486
+ const r = new BtcReader(rawTx);
487
+ const version = r.readUInt32LE();
488
+ let hasWitness = false;
489
+ if (r.peekUInt8() === 0) {
490
+ r.readUInt8();
491
+ const flag = r.readUInt8();
492
+ if (flag !== 1) {
493
+ throw new Error(`Unexpected SegWit flag 0x${flag.toString(16)}`);
494
+ }
495
+ hasWitness = true;
496
+ }
497
+ const bodyStart = r.offset;
498
+ const inputCount = r.readVarInt();
499
+ const inputs = [];
500
+ for (let i = 0;i < inputCount; i++) {
501
+ const prevTxid = r.readBytes(32);
502
+ const vout = r.readUInt32LE();
503
+ const scriptSig = r.readBytes(r.readVarInt());
504
+ const sequence = r.readUInt32LE();
505
+ inputs.push({ prevTxid, vout, scriptSig, sequence });
506
+ }
507
+ const outputCount = r.readVarInt();
508
+ const outputs = [];
509
+ for (let i = 0;i < outputCount; i++) {
510
+ const value = r.readUInt64LE();
511
+ const scriptPubKey = r.readBytes(r.readVarInt());
512
+ outputs.push({ value, scriptPubKey });
513
+ }
514
+ const bodyEnd = r.offset;
515
+ if (hasWitness) {
516
+ for (let i = 0;i < inputCount; i++) {
517
+ const itemCount = r.readVarInt();
518
+ for (let j = 0;j < itemCount; j++) {
519
+ r.readBytes(r.readVarInt());
520
+ }
521
+ }
522
+ }
523
+ const locktime = r.readUInt32LE();
524
+ const legacy = concatBytes(rawTx.slice(0, 4), rawTx.slice(bodyStart, bodyEnd), rawTx.slice(r.offset - 4, r.offset));
525
+ return { version, hasWitness, inputs, outputs, locktime, legacy };
526
+ }
527
+ function parseBitcoinTx(rawTx) {
528
+ const s = scanTx(rawTx);
529
+ return {
530
+ version: s.version,
531
+ hasWitness: s.hasWitness,
532
+ inputs: s.inputs,
533
+ outputs: s.outputs,
534
+ locktime: s.locktime,
535
+ txidInternal: doubleSha256(s.legacy)
536
+ };
537
+ }
538
+ function stripWitness(rawTx) {
539
+ return scanTx(rawTx).legacy;
540
+ }
541
+ function bitcoinTxid(rawTx, { display = false } = {}) {
542
+ const txid = doubleSha256(scanTx(rawTx).legacy);
543
+ return display ? reverseBytes(txid) : txid;
544
+ }
545
+ function parseBlockHeader(header) {
546
+ if (header.length !== 80) {
547
+ throw new Error(`Bitcoin block header must be 80 bytes, got ${header.length}`);
548
+ }
549
+ const r = new BtcReader(header);
550
+ const version = r.readUInt32LE();
551
+ const prevBlock = r.readBytes(32);
552
+ const merkleRoot = r.readBytes(32);
553
+ const timestamp = r.readUInt32LE();
554
+ const bits = r.readUInt32LE();
555
+ const nonce = r.readUInt32LE();
556
+ return { version, prevBlock, merkleRoot, timestamp, bits, nonce };
557
+ }
558
+ function blockHash(header, { display = false } = {}) {
559
+ const hash = doubleSha256(header);
560
+ return display ? reverseBytes(hash) : hash;
561
+ }
562
+
563
+ // src/bitcoin/address.ts
564
+ var BITCOIN_NETWORK_PARAMS = {
565
+ mainnet: { p2pkh: 0, p2sh: 5, hrp: "bc" },
566
+ testnet: { p2pkh: 111, p2sh: 196, hrp: "tb" },
567
+ regtest: { p2pkh: 111, p2sh: 196, hrp: "bcrt" }
568
+ };
569
+ var NETWORK_PARAMS = BITCOIN_NETWORK_PARAMS;
570
+ function base58CheckEncode(version, payload) {
571
+ const data = concatBytes(Uint8Array.of(version), payload);
572
+ const checksum = doubleSha256(data).slice(0, 4);
573
+ return import_base.base58.encode(concatBytes(data, checksum));
574
+ }
575
+ function formatBitcoinAddress(parsed, network = "mainnet") {
576
+ const params = NETWORK_PARAMS[network];
577
+ const hash = parsed.hash;
578
+ if (!hash)
579
+ return;
580
+ switch (parsed.type) {
581
+ case "p2pkh":
582
+ return base58CheckEncode(params.p2pkh, hash);
583
+ case "p2sh":
584
+ return base58CheckEncode(params.p2sh, hash);
585
+ case "p2wpkh":
586
+ case "p2wsh":
587
+ return import_base.bech32.encode(params.hrp, [0, ...import_base.bech32.toWords(hash)]);
588
+ case "p2tr":
589
+ return import_base.bech32m.encode(params.hrp, [1, ...import_base.bech32m.toWords(hash)]);
590
+ default:
591
+ return;
592
+ }
593
+ }
594
+ function toPubkeyBytes(publicKey) {
595
+ return typeof publicKey === "string" ? hexToBytes(publicKey) : publicKey;
596
+ }
597
+ function taprootTweakPubkey(xonly) {
598
+ if (xonly.length !== 32)
599
+ throw new Error(`Expected 32-byte x-only pubkey, got ${xonly.length}`);
600
+ const tweak = import_secp256k12.schnorr.utils.taggedHash("TapTweak", xonly);
601
+ const t = BigInt(`0x${Array.from(tweak, (b) => b.toString(16).padStart(2, "0")).join("")}`);
602
+ if (t >= import_secp256k12.secp256k1.Point.Fn.ORDER)
603
+ throw new Error("Invalid tap tweak (exceeds curve order)");
604
+ const internal = import_secp256k12.secp256k1.Point.fromBytes(concatBytes(Uint8Array.of(2), xonly));
605
+ const output = internal.add(import_secp256k12.secp256k1.Point.BASE.multiply(t));
606
+ return output.toBytes(true).slice(1);
607
+ }
608
+ function publicKeyToP2wpkhAddress(publicKey, network = "mainnet") {
609
+ const pubkey = toPubkeyBytes(publicKey);
610
+ if (pubkey.length !== 33)
611
+ throw new Error(`Expected 33-byte compressed pubkey, got ${pubkey.length}`);
612
+ const params = NETWORK_PARAMS[network];
613
+ return import_base.bech32.encode(params.hrp, [0, ...import_base.bech32.toWords(hash160(pubkey))]);
614
+ }
615
+ function publicKeyToP2trAddress(publicKey, network = "mainnet") {
616
+ const pubkey = toPubkeyBytes(publicKey);
617
+ const xonly = pubkey.length === 33 ? pubkey.slice(1) : pubkey.length === 32 ? pubkey : undefined;
618
+ if (!xonly)
619
+ throw new Error(`Expected 33-byte compressed or 32-byte x-only pubkey, got ${pubkey.length}`);
620
+ const params = NETWORK_PARAMS[network];
621
+ const outputKey = taprootTweakPubkey(xonly);
622
+ return import_base.bech32m.encode(params.hrp, [1, ...import_base.bech32m.toWords(outputKey)]);
623
+ }
624
+
625
+ // src/accounts/mnemonicToBitcoinKeys.ts
84
626
  var PURPOSE = { p2wpkh: 84, p2tr: 86 };
85
627
  function mnemonicToBitcoinKeys(mnemonic, options) {
86
628
  const {
@@ -113,6 +655,20 @@ function toAccount(source) {
113
655
  sign: source.sign
114
656
  };
115
657
  }
658
+ // src/accounts/providerToAccount.ts
659
+ async function providerToAccount(provider) {
660
+ const result = await provider.request("stx_getAddresses");
661
+ const entry = result?.addresses?.[0];
662
+ if (!entry?.address || !entry?.publicKey) {
663
+ throw new Error("Provider did not return a valid address");
664
+ }
665
+ return {
666
+ type: "provider",
667
+ address: entry.address,
668
+ publicKey: entry.publicKey,
669
+ provider
670
+ };
671
+ }
116
672
 
117
- //# debugId=D2C5E3F81BCB428564756E2164756E21
673
+ //# debugId=D26D50A7623A887C64756E2164756E21
118
674
  //# sourceMappingURL=index.cjs.map