@lendasat/lendaswap-sdk-pure 0.2.42 → 0.2.44

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 (252) hide show
  1. package/dist/_esm-7KJOBTZC.js +3660 -0
  2. package/dist/_esm-7KJOBTZC.js.map +1 -0
  3. package/dist/_esm-UGRDSVEV.cjs +3662 -0
  4. package/dist/_esm-UGRDSVEV.cjs.map +1 -0
  5. package/dist/api/client.d.ts +0 -4
  6. package/dist/api/client.d.ts.map +1 -1
  7. package/dist/base-2KYNAFR3.cjs +109 -0
  8. package/dist/base-2KYNAFR3.cjs.map +1 -0
  9. package/dist/base-B6OGU65B.js +7 -0
  10. package/dist/base-B6OGU65B.js.map +1 -0
  11. package/dist/ccip-MPMAZOUF.js +5 -0
  12. package/dist/ccip-MPMAZOUF.js.map +1 -0
  13. package/dist/ccip-PD37NJHA.cjs +26 -0
  14. package/dist/ccip-PD37NJHA.cjs.map +1 -0
  15. package/dist/cctp-bridge/index.cjs +67 -0
  16. package/dist/cctp-bridge/index.cjs.map +1 -0
  17. package/dist/cctp-bridge/index.js +51 -15
  18. package/dist/cctp-bridge/index.js.map +1 -1
  19. package/dist/cctp-inbound/client.d.ts +21 -19
  20. package/dist/cctp-inbound/client.d.ts.map +1 -1
  21. package/dist/cctp-inbound/smartAccount.d.ts +21 -19
  22. package/dist/cctp-inbound/smartAccount.d.ts.map +1 -1
  23. package/dist/chunk-3JWT4OW2.js +369 -0
  24. package/dist/chunk-3JWT4OW2.js.map +1 -0
  25. package/dist/chunk-A4GKKURK.cjs +430 -0
  26. package/dist/chunk-A4GKKURK.cjs.map +1 -0
  27. package/dist/chunk-BZU3R5DJ.cjs +554 -0
  28. package/dist/chunk-BZU3R5DJ.cjs.map +1 -0
  29. package/dist/chunk-C4YXYD24.js +418 -0
  30. package/dist/chunk-C4YXYD24.js.map +1 -0
  31. package/dist/chunk-CZNQYFDP.js +6141 -0
  32. package/dist/chunk-CZNQYFDP.js.map +1 -0
  33. package/dist/chunk-DKTFDGIU.js +2207 -0
  34. package/dist/chunk-DKTFDGIU.js.map +1 -0
  35. package/dist/chunk-DNSJDKTP.cjs +96 -0
  36. package/dist/chunk-DNSJDKTP.cjs.map +1 -0
  37. package/dist/chunk-EPKFLKTM.js +47093 -0
  38. package/dist/chunk-EPKFLKTM.js.map +1 -0
  39. package/dist/chunk-JBVKWKD4.cjs +50 -0
  40. package/dist/chunk-JBVKWKD4.cjs.map +1 -0
  41. package/dist/chunk-NPFJAXKV.js +551 -0
  42. package/dist/chunk-NPFJAXKV.js.map +1 -0
  43. package/dist/chunk-PKDJZJMV.cjs +2214 -0
  44. package/dist/chunk-PKDJZJMV.cjs.map +1 -0
  45. package/dist/chunk-PLDDJCW6.js +43 -0
  46. package/dist/chunk-PLDDJCW6.js.map +1 -0
  47. package/dist/chunk-RIOT5VOJ.cjs +47240 -0
  48. package/dist/chunk-RIOT5VOJ.cjs.map +1 -0
  49. package/dist/chunk-WVZSHRV7.cjs +431 -0
  50. package/dist/chunk-WVZSHRV7.cjs.map +1 -0
  51. package/dist/chunk-YEZOPVAH.js +86 -0
  52. package/dist/chunk-YEZOPVAH.js.map +1 -0
  53. package/dist/chunk-YLWPBHMV.cjs +6311 -0
  54. package/dist/chunk-YLWPBHMV.cjs.map +1 -0
  55. package/dist/client.d.ts +68 -1
  56. package/dist/client.d.ts.map +1 -1
  57. package/dist/compose-quote.d.ts +77 -0
  58. package/dist/compose-quote.d.ts.map +1 -0
  59. package/dist/delegate.cjs +23 -0
  60. package/dist/delegate.cjs.map +1 -0
  61. package/dist/delegate.js +5 -269
  62. package/dist/delegate.js.map +1 -1
  63. package/dist/dist-NE2R4YCX.js +5 -0
  64. package/dist/dist-NE2R4YCX.js.map +1 -0
  65. package/dist/dist-VEHYC67F.cjs +550 -0
  66. package/dist/dist-VEHYC67F.cjs.map +1 -0
  67. package/dist/esplora.d.ts +14 -0
  68. package/dist/esplora.d.ts.map +1 -1
  69. package/dist/generated/api.d.ts +235 -38
  70. package/dist/generated/api.d.ts.map +1 -1
  71. package/dist/index.cjs +35461 -0
  72. package/dist/index.cjs.map +1 -0
  73. package/dist/index.d.ts +2 -1
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +35309 -32
  76. package/dist/index.js.map +1 -1
  77. package/dist/mine.wasm-JJEJEODX.js +9 -0
  78. package/dist/mine.wasm-JJEJEODX.js.map +1 -0
  79. package/dist/mine.wasm-Z3ORSBKN.cjs +12 -0
  80. package/dist/mine.wasm-Z3ORSBKN.cjs.map +1 -0
  81. package/dist/node.cjs +166 -0
  82. package/dist/node.cjs.map +1 -0
  83. package/dist/node.js +157 -18
  84. package/dist/node.js.map +1 -1
  85. package/dist/secp256k1-PJCSE4N6.cjs +30 -0
  86. package/dist/secp256k1-PJCSE4N6.cjs.map +1 -0
  87. package/dist/secp256k1-VZNNVEPN.js +5 -0
  88. package/dist/secp256k1-VZNNVEPN.js.map +1 -0
  89. package/dist/tokens.d.ts +2 -1
  90. package/dist/tokens.d.ts.map +1 -1
  91. package/dist/types/chain-config.d.ts +50 -0
  92. package/dist/types/chain-config.d.ts.map +1 -0
  93. package/dist/types/chain.d.ts +11 -0
  94. package/dist/types/chain.d.ts.map +1 -0
  95. package/dist/types/dex-quote.d.ts +85 -0
  96. package/dist/types/dex-quote.d.ts.map +1 -0
  97. package/dist/types/index.d.ts +15 -0
  98. package/dist/types/index.d.ts.map +1 -0
  99. package/dist/types/network-fees.d.ts +43 -0
  100. package/dist/types/network-fees.d.ts.map +1 -0
  101. package/dist/types/quote.d.ts +87 -0
  102. package/dist/types/quote.d.ts.map +1 -0
  103. package/dist/types/swap-pairs.d.ts +37 -0
  104. package/dist/types/swap-pairs.d.ts.map +1 -0
  105. package/dist/version.d.ts +2 -2
  106. package/dist/wallet-SCGRX3EN.js +4 -0
  107. package/dist/wallet-SCGRX3EN.js.map +1 -0
  108. package/dist/wallet-SZJDXAY7.cjs +45 -0
  109. package/dist/wallet-SZJDXAY7.cjs.map +1 -0
  110. package/package.json +23 -10
  111. package/dist/api/client.js +0 -13
  112. package/dist/api/client.js.map +0 -1
  113. package/dist/arkade-network.js +0 -40
  114. package/dist/arkade-network.js.map +0 -1
  115. package/dist/arkade.js +0 -61
  116. package/dist/arkade.js.map +0 -1
  117. package/dist/cctp/attestation.js +0 -149
  118. package/dist/cctp/attestation.js.map +0 -1
  119. package/dist/cctp/constants.js +0 -92
  120. package/dist/cctp/constants.js.map +0 -1
  121. package/dist/cctp/fee.js +0 -70
  122. package/dist/cctp/fee.js.map +0 -1
  123. package/dist/cctp/index.js +0 -13
  124. package/dist/cctp/index.js.map +0 -1
  125. package/dist/cctp/types.js +0 -5
  126. package/dist/cctp/types.js.map +0 -1
  127. package/dist/cctp/utils.js +0 -91
  128. package/dist/cctp/utils.js.map +0 -1
  129. package/dist/cctp-bridge/bridge.js +0 -74
  130. package/dist/cctp-bridge/bridge.js.map +0 -1
  131. package/dist/cctp-inbound/approveAndBurn.js +0 -95
  132. package/dist/cctp-inbound/approveAndBurn.js.map +0 -1
  133. package/dist/cctp-inbound/burn.js +0 -66
  134. package/dist/cctp-inbound/burn.js.map +0 -1
  135. package/dist/cctp-inbound/chainMap.js +0 -128
  136. package/dist/cctp-inbound/chainMap.js.map +0 -1
  137. package/dist/cctp-inbound/client.js +0 -125
  138. package/dist/cctp-inbound/client.js.map +0 -1
  139. package/dist/cctp-inbound/eip2612.js +0 -95
  140. package/dist/cctp-inbound/eip2612.js.map +0 -1
  141. package/dist/cctp-inbound/evmSignerAdapter.js +0 -82
  142. package/dist/cctp-inbound/evmSignerAdapter.js.map +0 -1
  143. package/dist/cctp-inbound/fundSwap.js +0 -95
  144. package/dist/cctp-inbound/fundSwap.js.map +0 -1
  145. package/dist/cctp-inbound/index.js +0 -34
  146. package/dist/cctp-inbound/index.js.map +0 -1
  147. package/dist/cctp-inbound/permit2.js +0 -32
  148. package/dist/cctp-inbound/permit2.js.map +0 -1
  149. package/dist/cctp-inbound/preflight.js +0 -84
  150. package/dist/cctp-inbound/preflight.js.map +0 -1
  151. package/dist/cctp-inbound/recover.js +0 -177
  152. package/dist/cctp-inbound/recover.js.map +0 -1
  153. package/dist/cctp-inbound/smartAccount.js +0 -117
  154. package/dist/cctp-inbound/smartAccount.js.map +0 -1
  155. package/dist/cctp-inbound/submit.js +0 -136
  156. package/dist/cctp-inbound/submit.js.map +0 -1
  157. package/dist/cctp-inbound/types.js +0 -5
  158. package/dist/cctp-inbound/types.js.map +0 -1
  159. package/dist/cctp-inbound/userOp.js +0 -151
  160. package/dist/cctp-inbound/userOp.js.map +0 -1
  161. package/dist/client.js +0 -4126
  162. package/dist/client.js.map +0 -1
  163. package/dist/create/arkade-to-lightning.js +0 -76
  164. package/dist/create/arkade-to-lightning.js.map +0 -1
  165. package/dist/create/arkade.js +0 -86
  166. package/dist/create/arkade.js.map +0 -1
  167. package/dist/create/bitcoin-to-arkade.js +0 -76
  168. package/dist/create/bitcoin-to-arkade.js.map +0 -1
  169. package/dist/create/bitcoin.js +0 -77
  170. package/dist/create/bitcoin.js.map +0 -1
  171. package/dist/create/evm-to-arkade.js +0 -80
  172. package/dist/create/evm-to-arkade.js.map +0 -1
  173. package/dist/create/evm-to-bitcoin.js +0 -82
  174. package/dist/create/evm-to-bitcoin.js.map +0 -1
  175. package/dist/create/evm-to-lightning.js +0 -89
  176. package/dist/create/evm-to-lightning.js.map +0 -1
  177. package/dist/create/index.js +0 -21
  178. package/dist/create/index.js.map +0 -1
  179. package/dist/create/lightning-to-arkade.js +0 -69
  180. package/dist/create/lightning-to-arkade.js.map +0 -1
  181. package/dist/create/lightning.js +0 -61
  182. package/dist/create/lightning.js.map +0 -1
  183. package/dist/create/retry.js +0 -71
  184. package/dist/create/retry.js.map +0 -1
  185. package/dist/create/types.js +0 -5
  186. package/dist/create/types.js.map +0 -1
  187. package/dist/escrow/index.js +0 -115
  188. package/dist/escrow/index.js.map +0 -1
  189. package/dist/esplora.js +0 -47
  190. package/dist/esplora.js.map +0 -1
  191. package/dist/evm/coordinator.js +0 -714
  192. package/dist/evm/coordinator.js.map +0 -1
  193. package/dist/evm/htlc.js +0 -278
  194. package/dist/evm/htlc.js.map +0 -1
  195. package/dist/evm/index.js +0 -10
  196. package/dist/evm/index.js.map +0 -1
  197. package/dist/evm/signing.js +0 -70
  198. package/dist/evm/signing.js.map +0 -1
  199. package/dist/evm/wallet.js +0 -133
  200. package/dist/evm/wallet.js.map +0 -1
  201. package/dist/generated/api.js +0 -6
  202. package/dist/generated/api.js.map +0 -1
  203. package/dist/logging.js +0 -130
  204. package/dist/logging.js.map +0 -1
  205. package/dist/price-calculations.js +0 -135
  206. package/dist/price-calculations.js.map +0 -1
  207. package/dist/redeem/arkade.js +0 -416
  208. package/dist/redeem/arkade.js.map +0 -1
  209. package/dist/redeem/ethereum.js +0 -206
  210. package/dist/redeem/ethereum.js.map +0 -1
  211. package/dist/redeem/gasless.js +0 -73
  212. package/dist/redeem/gasless.js.map +0 -1
  213. package/dist/redeem/index.js +0 -189
  214. package/dist/redeem/index.js.map +0 -1
  215. package/dist/redeem/types.js +0 -36
  216. package/dist/redeem/types.js.map +0 -1
  217. package/dist/refund/arkade.js +0 -200
  218. package/dist/refund/arkade.js.map +0 -1
  219. package/dist/refund/collab-arkade-evm.js +0 -307
  220. package/dist/refund/collab-arkade-evm.js.map +0 -1
  221. package/dist/refund/collab-arkade-lightning.js +0 -245
  222. package/dist/refund/collab-arkade-lightning.js.map +0 -1
  223. package/dist/refund/index.js +0 -12
  224. package/dist/refund/index.js.map +0 -1
  225. package/dist/refund/onchain.js +0 -366
  226. package/dist/refund/onchain.js.map +0 -1
  227. package/dist/signer/index.js +0 -249
  228. package/dist/signer/index.js.map +0 -1
  229. package/dist/storage/idb.js +0 -236
  230. package/dist/storage/idb.js.map +0 -1
  231. package/dist/storage/index.js +0 -98
  232. package/dist/storage/index.js.map +0 -1
  233. package/dist/storage/sqlite.js +0 -206
  234. package/dist/storage/sqlite.js.map +0 -1
  235. package/dist/storage/types.js +0 -9
  236. package/dist/storage/types.js.map +0 -1
  237. package/dist/tokens.js +0 -322
  238. package/dist/tokens.js.map +0 -1
  239. package/dist/usd-price.js +0 -96
  240. package/dist/usd-price.js.map +0 -1
  241. package/dist/usdt0-bridge/constants.js +0 -71
  242. package/dist/usdt0-bridge/constants.js.map +0 -1
  243. package/dist/usdt0-bridge/index.js +0 -11
  244. package/dist/usdt0-bridge/index.js.map +0 -1
  245. package/dist/usdt0-bridge/tracking.js +0 -123
  246. package/dist/usdt0-bridge/tracking.js.map +0 -1
  247. package/dist/usdt0-bridge/utils.js +0 -51
  248. package/dist/usdt0-bridge/utils.js.map +0 -1
  249. package/dist/version.js +0 -6
  250. package/dist/version.js.map +0 -1
  251. package/dist/ws.js +0 -145
  252. package/dist/ws.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ import './chunk-PLDDJCW6.js';
2
+
3
+ // node_modules/.pnpm/ox@0.14.29_typescript@5.9.3_zod@3.25.67/node_modules/ox/_esm/tempo/internal/mine.wasm.js
4
+ var wasmBase64 = "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";
5
+ var dataOffset = 1024;
6
+
7
+ export { dataOffset, wasmBase64 };
8
+ //# sourceMappingURL=mine.wasm-JJEJEODX.js.map
9
+ //# sourceMappingURL=mine.wasm-JJEJEODX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/.pnpm/ox@0.14.29_typescript@5.9.3_zod@3.25.67/node_modules/ox/tempo/internal/mine.wasm.ts"],"names":[],"mappings":";;;AAYO,IAAM,UAAA,GACX;AAGK,IAAM,UAAA,GAAa","file":"mine.wasm-JJEJEODX.js","sourcesContent":["// Embedded TIP-1022 WASM keccak256 salt miner (compiled from mine.c).\n//\n// Memory layout at offset 1024:\n// [0..19] address (20 bytes, set by JS)\n// [20..51] salt (32 bytes, set/read by JS, incremented in-place)\n// [52..83] hash out (32 bytes, written on match)\n//\n// Exported: mine(count: i32) -> i32 — returns 1 if found, 0 if not.\n//\n// Generated by: pnpm tsx scripts/build-mine-wasm.ts\n\n/** Base64-encoded WASM binary for the TIP-1022 salt miner. */\nexport const wasmBase64 =\n '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'\n\n/** Byte offset in WASM linear memory where mining I/O begins. */\nexport const dataOffset = 1024\n"]}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ require('./chunk-JBVKWKD4.cjs');
4
+
5
+ // node_modules/.pnpm/ox@0.14.29_typescript@5.9.3_zod@3.25.67/node_modules/ox/_esm/tempo/internal/mine.wasm.js
6
+ var wasmBase64 = "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";
7
+ var dataOffset = 1024;
8
+
9
+ exports.dataOffset = dataOffset;
10
+ exports.wasmBase64 = wasmBase64;
11
+ //# sourceMappingURL=mine.wasm-Z3ORSBKN.cjs.map
12
+ //# sourceMappingURL=mine.wasm-Z3ORSBKN.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/.pnpm/ox@0.14.29_typescript@5.9.3_zod@3.25.67/node_modules/ox/tempo/internal/mine.wasm.ts"],"names":[],"mappings":";;;;;AAYO,IAAM,UAAA,GACX;AAGK,IAAM,UAAA,GAAa","file":"mine.wasm-Z3ORSBKN.cjs","sourcesContent":["// Embedded TIP-1022 WASM keccak256 salt miner (compiled from mine.c).\n//\n// Memory layout at offset 1024:\n// [0..19] address (20 bytes, set by JS)\n// [20..51] salt (32 bytes, set/read by JS, incremented in-place)\n// [52..83] hash out (32 bytes, written on match)\n//\n// Exported: mine(count: i32) -> i32 — returns 1 if found, 0 if not.\n//\n// Generated by: pnpm tsx scripts/build-mine-wasm.ts\n\n/** Base64-encoded WASM binary for the TIP-1022 salt miner. */\nexport const wasmBase64 =\n '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'\n\n/** Byte offset in WASM linear memory where mining I/O begins. */\nexport const dataOffset = 1024\n"]}
package/dist/node.cjs ADDED
@@ -0,0 +1,166 @@
1
+ 'use strict';
2
+
3
+ require('./chunk-JBVKWKD4.cjs');
4
+ var Database = require('better-sqlite3');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var Database__default = /*#__PURE__*/_interopDefault(Database);
9
+
10
+ var SqliteWalletStorage = class {
11
+ #db;
12
+ /**
13
+ * Creates a new SQLite wallet storage.
14
+ * @param dbPath - Path to the SQLite database file. Use ":memory:" for in-memory storage.
15
+ */
16
+ constructor(dbPath) {
17
+ this.#db = new Database__default.default(dbPath);
18
+ this.#initSchema();
19
+ }
20
+ #initSchema() {
21
+ this.#db.exec(`
22
+ CREATE TABLE IF NOT EXISTS wallet (
23
+ id INTEGER PRIMARY KEY CHECK (id = 1),
24
+ mnemonic TEXT,
25
+ key_index INTEGER NOT NULL DEFAULT 0
26
+ );
27
+ INSERT OR IGNORE INTO wallet (id, key_index) VALUES (1, 0);
28
+ `);
29
+ }
30
+ async getMnemonic() {
31
+ const row = this.#db.prepare("SELECT mnemonic FROM wallet WHERE id = 1").get();
32
+ return row?.mnemonic ?? null;
33
+ }
34
+ async setMnemonic(mnemonic) {
35
+ this.#db.prepare("UPDATE wallet SET mnemonic = ? WHERE id = 1").run(mnemonic);
36
+ }
37
+ async getKeyIndex() {
38
+ const row = this.#db.prepare("SELECT key_index FROM wallet WHERE id = 1").get();
39
+ return row?.key_index ?? 0;
40
+ }
41
+ async setKeyIndex(index) {
42
+ this.#db.prepare("UPDATE wallet SET key_index = ? WHERE id = 1").run(index);
43
+ }
44
+ async incrementKeyIndex() {
45
+ const current = await this.getKeyIndex();
46
+ await this.setKeyIndex(current + 1);
47
+ return current;
48
+ }
49
+ async clear() {
50
+ this.#db.prepare("UPDATE wallet SET mnemonic = NULL, key_index = 0 WHERE id = 1").run();
51
+ }
52
+ /**
53
+ * Closes the database connection.
54
+ */
55
+ close() {
56
+ this.#db.close();
57
+ }
58
+ };
59
+ var SqliteSwapStorage = class {
60
+ #db;
61
+ /**
62
+ * Creates a new SQLite swap storage.
63
+ * @param dbPath - Path to the SQLite database file. Use ":memory:" for in-memory storage.
64
+ */
65
+ constructor(dbPath) {
66
+ this.#db = new Database__default.default(dbPath);
67
+ this.#initSchema();
68
+ }
69
+ #initSchema() {
70
+ this.#db.exec(`
71
+ CREATE TABLE IF NOT EXISTS swaps (
72
+ swap_id TEXT PRIMARY KEY,
73
+ version INTEGER NOT NULL,
74
+ key_index INTEGER NOT NULL,
75
+ response TEXT NOT NULL,
76
+ public_key TEXT NOT NULL,
77
+ preimage TEXT NOT NULL,
78
+ preimage_hash TEXT NOT NULL,
79
+ secret_key TEXT NOT NULL,
80
+ stored_at INTEGER NOT NULL,
81
+ updated_at INTEGER NOT NULL
82
+ );
83
+ CREATE INDEX IF NOT EXISTS idx_swaps_stored_at ON swaps(stored_at);
84
+ `);
85
+ }
86
+ async get(swapId) {
87
+ const row = this.#db.prepare("SELECT * FROM swaps WHERE swap_id = ?").get(swapId);
88
+ if (!row) return null;
89
+ return this.#rowToStoredSwap(row);
90
+ }
91
+ async store(swap) {
92
+ this.#db.prepare(
93
+ `INSERT OR REPLACE INTO swaps
94
+ (swap_id, version, key_index, response, public_key, preimage, preimage_hash, secret_key, stored_at, updated_at)
95
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
96
+ ).run(
97
+ swap.swapId,
98
+ swap.version,
99
+ swap.keyIndex,
100
+ JSON.stringify(swap.response),
101
+ swap.publicKey,
102
+ swap.preimage,
103
+ swap.preimageHash,
104
+ swap.secretKey,
105
+ swap.storedAt,
106
+ swap.updatedAt
107
+ );
108
+ }
109
+ async update(swapId, response) {
110
+ this.#db.prepare(
111
+ "UPDATE swaps SET response = ?, updated_at = ? WHERE swap_id = ?"
112
+ ).run(JSON.stringify(response), Date.now(), swapId);
113
+ }
114
+ async delete(swapId) {
115
+ this.#db.prepare("DELETE FROM swaps WHERE swap_id = ?").run(swapId);
116
+ }
117
+ async list() {
118
+ const rows = this.#db.prepare("SELECT swap_id FROM swaps ORDER BY stored_at DESC").all();
119
+ return rows.map((r) => r.swap_id);
120
+ }
121
+ async getAll() {
122
+ const rows = this.#db.prepare("SELECT * FROM swaps ORDER BY stored_at DESC").all();
123
+ return rows.map((row) => this.#rowToStoredSwap(row));
124
+ }
125
+ async clear() {
126
+ this.#db.prepare("DELETE FROM swaps").run();
127
+ }
128
+ #rowToStoredSwap(row) {
129
+ return {
130
+ swapId: row.swap_id,
131
+ version: row.version,
132
+ keyIndex: row.key_index,
133
+ response: JSON.parse(row.response),
134
+ publicKey: row.public_key,
135
+ preimage: row.preimage,
136
+ preimageHash: row.preimage_hash,
137
+ secretKey: row.secret_key,
138
+ storedAt: row.stored_at,
139
+ updatedAt: row.updated_at
140
+ };
141
+ }
142
+ /**
143
+ * Closes the database connection.
144
+ */
145
+ close() {
146
+ this.#db.close();
147
+ }
148
+ };
149
+ function sqliteStorageFactory(dbPath) {
150
+ const walletStorage = new SqliteWalletStorage(dbPath);
151
+ const swapStorage = new SqliteSwapStorage(dbPath);
152
+ return {
153
+ walletStorage,
154
+ swapStorage,
155
+ close: () => {
156
+ walletStorage.close();
157
+ swapStorage.close();
158
+ }
159
+ };
160
+ }
161
+
162
+ exports.SqliteSwapStorage = SqliteSwapStorage;
163
+ exports.SqliteWalletStorage = SqliteWalletStorage;
164
+ exports.sqliteStorageFactory = sqliteStorageFactory;
165
+ //# sourceMappingURL=node.cjs.map
166
+ //# sourceMappingURL=node.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/storage/sqlite.ts"],"names":["Database"],"mappings":"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","file":"node.cjs","sourcesContent":["/**\n * SQLite storage implementations for Node.js.\n *\n * Uses better-sqlite3 for fast, synchronous SQLite access.\n */\n\nimport Database, { type Database as DatabaseType } from \"better-sqlite3\";\nimport type { GetSwapResponse } from \"../api/client.js\";\nimport type { SwapStorage, WalletStorage } from \"./index.js\";\nimport type { StoredSwap } from \"./types.js\";\n\n/**\n * SQLite-based wallet storage for Node.js.\n *\n * Stores mnemonic and key index in a SQLite database.\n *\n * @example\n * ```ts\n * const storage = new SqliteWalletStorage(\"./lendaswap.db\");\n * const client = await Client.builder()\n * .withSignerStorage(storage)\n * .build();\n * ```\n */\nexport class SqliteWalletStorage implements WalletStorage {\n readonly #db: DatabaseType;\n\n /**\n * Creates a new SQLite wallet storage.\n * @param dbPath - Path to the SQLite database file. Use \":memory:\" for in-memory storage.\n */\n constructor(dbPath: string) {\n this.#db = new Database(dbPath);\n this.#initSchema();\n }\n\n #initSchema(): void {\n this.#db.exec(`\n CREATE TABLE IF NOT EXISTS wallet (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n mnemonic TEXT,\n key_index INTEGER NOT NULL DEFAULT 0\n );\n INSERT OR IGNORE INTO wallet (id, key_index) VALUES (1, 0);\n `);\n }\n\n async getMnemonic(): Promise<string | null> {\n const row = this.#db\n .prepare(\"SELECT mnemonic FROM wallet WHERE id = 1\")\n .get() as { mnemonic: string | null } | undefined;\n return row?.mnemonic ?? null;\n }\n\n async setMnemonic(mnemonic: string): Promise<void> {\n this.#db\n .prepare(\"UPDATE wallet SET mnemonic = ? WHERE id = 1\")\n .run(mnemonic);\n }\n\n async getKeyIndex(): Promise<number> {\n const row = this.#db\n .prepare(\"SELECT key_index FROM wallet WHERE id = 1\")\n .get() as { key_index: number } | undefined;\n return row?.key_index ?? 0;\n }\n\n async setKeyIndex(index: number): Promise<void> {\n this.#db.prepare(\"UPDATE wallet SET key_index = ? WHERE id = 1\").run(index);\n }\n\n async incrementKeyIndex(): Promise<number> {\n const current = await this.getKeyIndex();\n await this.setKeyIndex(current + 1);\n return current;\n }\n\n async clear(): Promise<void> {\n this.#db\n .prepare(\"UPDATE wallet SET mnemonic = NULL, key_index = 0 WHERE id = 1\")\n .run();\n }\n\n /**\n * Closes the database connection.\n */\n close(): void {\n this.#db.close();\n }\n}\n\n/**\n * SQLite-based swap storage for Node.js.\n *\n * Stores swap data including responses and cryptographic parameters.\n *\n * @example\n * ```ts\n * const storage = new SqliteSwapStorage(\"./lendaswap.db\");\n * const client = await Client.builder()\n * .withSwapStorage(storage)\n * .build();\n * ```\n */\nexport class SqliteSwapStorage implements SwapStorage {\n readonly #db: DatabaseType;\n\n /**\n * Creates a new SQLite swap storage.\n * @param dbPath - Path to the SQLite database file. Use \":memory:\" for in-memory storage.\n */\n constructor(dbPath: string) {\n this.#db = new Database(dbPath);\n this.#initSchema();\n }\n\n #initSchema(): void {\n this.#db.exec(`\n CREATE TABLE IF NOT EXISTS swaps (\n swap_id TEXT PRIMARY KEY,\n version INTEGER NOT NULL,\n key_index INTEGER NOT NULL,\n response TEXT NOT NULL,\n public_key TEXT NOT NULL,\n preimage TEXT NOT NULL,\n preimage_hash TEXT NOT NULL,\n secret_key TEXT NOT NULL,\n stored_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n );\n CREATE INDEX IF NOT EXISTS idx_swaps_stored_at ON swaps(stored_at);\n `);\n }\n\n async get(swapId: string): Promise<StoredSwap | null> {\n const row = this.#db\n .prepare(\"SELECT * FROM swaps WHERE swap_id = ?\")\n .get(swapId) as SqliteSwapRow | undefined;\n\n if (!row) return null;\n return this.#rowToStoredSwap(row);\n }\n\n async store(swap: StoredSwap): Promise<void> {\n this.#db\n .prepare(\n `INSERT OR REPLACE INTO swaps\n (swap_id, version, key_index, response, public_key, preimage, preimage_hash, secret_key, stored_at, updated_at)\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,\n )\n .run(\n swap.swapId,\n swap.version,\n swap.keyIndex,\n JSON.stringify(swap.response),\n swap.publicKey,\n swap.preimage,\n swap.preimageHash,\n swap.secretKey,\n swap.storedAt,\n swap.updatedAt,\n );\n }\n\n async update(swapId: string, response: GetSwapResponse): Promise<void> {\n this.#db\n .prepare(\n \"UPDATE swaps SET response = ?, updated_at = ? WHERE swap_id = ?\",\n )\n .run(JSON.stringify(response), Date.now(), swapId);\n }\n\n async delete(swapId: string): Promise<void> {\n this.#db.prepare(\"DELETE FROM swaps WHERE swap_id = ?\").run(swapId);\n }\n\n async list(): Promise<string[]> {\n const rows = this.#db\n .prepare(\"SELECT swap_id FROM swaps ORDER BY stored_at DESC\")\n .all() as { swap_id: string }[];\n return rows.map((r) => r.swap_id);\n }\n\n async getAll(): Promise<StoredSwap[]> {\n const rows = this.#db\n .prepare(\"SELECT * FROM swaps ORDER BY stored_at DESC\")\n .all() as SqliteSwapRow[];\n return rows.map((row) => this.#rowToStoredSwap(row));\n }\n\n async clear(): Promise<void> {\n this.#db.prepare(\"DELETE FROM swaps\").run();\n }\n\n #rowToStoredSwap(row: SqliteSwapRow): StoredSwap {\n return {\n swapId: row.swap_id,\n version: row.version,\n keyIndex: row.key_index,\n response: JSON.parse(row.response) as GetSwapResponse,\n publicKey: row.public_key,\n preimage: row.preimage,\n preimageHash: row.preimage_hash,\n secretKey: row.secret_key,\n storedAt: row.stored_at,\n updatedAt: row.updated_at,\n };\n }\n\n /**\n * Closes the database connection.\n */\n close(): void {\n this.#db.close();\n }\n}\n\ninterface SqliteSwapRow {\n swap_id: string;\n version: number;\n key_index: number;\n response: string;\n public_key: string;\n preimage: string;\n preimage_hash: string;\n secret_key: string;\n stored_at: number;\n updated_at: number;\n}\n\n/**\n * Creates a storage factory that uses SQLite for both wallet and swap storage.\n *\n * @param dbPath - Path to the SQLite database file.\n * @returns A storage factory with shared database connection.\n *\n * @example\n * ```ts\n * const { walletStorage, swapStorage, close } = sqliteStorageFactory(\"./lendaswap.db\");\n * const client = await Client.builder()\n * .withSignerStorage(walletStorage)\n * .withSwapStorage(swapStorage)\n * .build();\n *\n * // When done:\n * close();\n * ```\n */\nexport function sqliteStorageFactory(dbPath: string): {\n walletStorage: SqliteWalletStorage;\n swapStorage: SqliteSwapStorage;\n close: () => void;\n} {\n const walletStorage = new SqliteWalletStorage(dbPath);\n const swapStorage = new SqliteSwapStorage(dbPath);\n\n return {\n walletStorage,\n swapStorage,\n close: () => {\n walletStorage.close();\n swapStorage.close();\n },\n };\n}\n"]}
package/dist/node.js CHANGED
@@ -1,19 +1,158 @@
1
- /**
2
- * Node.js-specific exports for the Lendaswap SDK.
3
- *
4
- * This module provides SQLite-based storage implementations
5
- * that only work in Node.js environments.
6
- *
7
- * @example
8
- * ```ts
9
- * import { Client } from "@lendasat/lendaswap-sdk-pure";
10
- * import { SqliteWalletStorage, SqliteSwapStorage } from "@lendasat/lendaswap-sdk-pure/node";
11
- *
12
- * const client = await Client.builder()
13
- * .withSignerStorage(new SqliteWalletStorage("./lendaswap.db"))
14
- * .withSwapStorage(new SqliteSwapStorage("./lendaswap.db"))
15
- * .build();
16
- * ```
17
- */
18
- export { SqliteSwapStorage, SqliteWalletStorage, sqliteStorageFactory, } from "./storage/sqlite.js";
1
+ import './chunk-PLDDJCW6.js';
2
+ import Database from 'better-sqlite3';
3
+
4
+ var SqliteWalletStorage = class {
5
+ #db;
6
+ /**
7
+ * Creates a new SQLite wallet storage.
8
+ * @param dbPath - Path to the SQLite database file. Use ":memory:" for in-memory storage.
9
+ */
10
+ constructor(dbPath) {
11
+ this.#db = new Database(dbPath);
12
+ this.#initSchema();
13
+ }
14
+ #initSchema() {
15
+ this.#db.exec(`
16
+ CREATE TABLE IF NOT EXISTS wallet (
17
+ id INTEGER PRIMARY KEY CHECK (id = 1),
18
+ mnemonic TEXT,
19
+ key_index INTEGER NOT NULL DEFAULT 0
20
+ );
21
+ INSERT OR IGNORE INTO wallet (id, key_index) VALUES (1, 0);
22
+ `);
23
+ }
24
+ async getMnemonic() {
25
+ const row = this.#db.prepare("SELECT mnemonic FROM wallet WHERE id = 1").get();
26
+ return row?.mnemonic ?? null;
27
+ }
28
+ async setMnemonic(mnemonic) {
29
+ this.#db.prepare("UPDATE wallet SET mnemonic = ? WHERE id = 1").run(mnemonic);
30
+ }
31
+ async getKeyIndex() {
32
+ const row = this.#db.prepare("SELECT key_index FROM wallet WHERE id = 1").get();
33
+ return row?.key_index ?? 0;
34
+ }
35
+ async setKeyIndex(index) {
36
+ this.#db.prepare("UPDATE wallet SET key_index = ? WHERE id = 1").run(index);
37
+ }
38
+ async incrementKeyIndex() {
39
+ const current = await this.getKeyIndex();
40
+ await this.setKeyIndex(current + 1);
41
+ return current;
42
+ }
43
+ async clear() {
44
+ this.#db.prepare("UPDATE wallet SET mnemonic = NULL, key_index = 0 WHERE id = 1").run();
45
+ }
46
+ /**
47
+ * Closes the database connection.
48
+ */
49
+ close() {
50
+ this.#db.close();
51
+ }
52
+ };
53
+ var SqliteSwapStorage = class {
54
+ #db;
55
+ /**
56
+ * Creates a new SQLite swap storage.
57
+ * @param dbPath - Path to the SQLite database file. Use ":memory:" for in-memory storage.
58
+ */
59
+ constructor(dbPath) {
60
+ this.#db = new Database(dbPath);
61
+ this.#initSchema();
62
+ }
63
+ #initSchema() {
64
+ this.#db.exec(`
65
+ CREATE TABLE IF NOT EXISTS swaps (
66
+ swap_id TEXT PRIMARY KEY,
67
+ version INTEGER NOT NULL,
68
+ key_index INTEGER NOT NULL,
69
+ response TEXT NOT NULL,
70
+ public_key TEXT NOT NULL,
71
+ preimage TEXT NOT NULL,
72
+ preimage_hash TEXT NOT NULL,
73
+ secret_key TEXT NOT NULL,
74
+ stored_at INTEGER NOT NULL,
75
+ updated_at INTEGER NOT NULL
76
+ );
77
+ CREATE INDEX IF NOT EXISTS idx_swaps_stored_at ON swaps(stored_at);
78
+ `);
79
+ }
80
+ async get(swapId) {
81
+ const row = this.#db.prepare("SELECT * FROM swaps WHERE swap_id = ?").get(swapId);
82
+ if (!row) return null;
83
+ return this.#rowToStoredSwap(row);
84
+ }
85
+ async store(swap) {
86
+ this.#db.prepare(
87
+ `INSERT OR REPLACE INTO swaps
88
+ (swap_id, version, key_index, response, public_key, preimage, preimage_hash, secret_key, stored_at, updated_at)
89
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
90
+ ).run(
91
+ swap.swapId,
92
+ swap.version,
93
+ swap.keyIndex,
94
+ JSON.stringify(swap.response),
95
+ swap.publicKey,
96
+ swap.preimage,
97
+ swap.preimageHash,
98
+ swap.secretKey,
99
+ swap.storedAt,
100
+ swap.updatedAt
101
+ );
102
+ }
103
+ async update(swapId, response) {
104
+ this.#db.prepare(
105
+ "UPDATE swaps SET response = ?, updated_at = ? WHERE swap_id = ?"
106
+ ).run(JSON.stringify(response), Date.now(), swapId);
107
+ }
108
+ async delete(swapId) {
109
+ this.#db.prepare("DELETE FROM swaps WHERE swap_id = ?").run(swapId);
110
+ }
111
+ async list() {
112
+ const rows = this.#db.prepare("SELECT swap_id FROM swaps ORDER BY stored_at DESC").all();
113
+ return rows.map((r) => r.swap_id);
114
+ }
115
+ async getAll() {
116
+ const rows = this.#db.prepare("SELECT * FROM swaps ORDER BY stored_at DESC").all();
117
+ return rows.map((row) => this.#rowToStoredSwap(row));
118
+ }
119
+ async clear() {
120
+ this.#db.prepare("DELETE FROM swaps").run();
121
+ }
122
+ #rowToStoredSwap(row) {
123
+ return {
124
+ swapId: row.swap_id,
125
+ version: row.version,
126
+ keyIndex: row.key_index,
127
+ response: JSON.parse(row.response),
128
+ publicKey: row.public_key,
129
+ preimage: row.preimage,
130
+ preimageHash: row.preimage_hash,
131
+ secretKey: row.secret_key,
132
+ storedAt: row.stored_at,
133
+ updatedAt: row.updated_at
134
+ };
135
+ }
136
+ /**
137
+ * Closes the database connection.
138
+ */
139
+ close() {
140
+ this.#db.close();
141
+ }
142
+ };
143
+ function sqliteStorageFactory(dbPath) {
144
+ const walletStorage = new SqliteWalletStorage(dbPath);
145
+ const swapStorage = new SqliteSwapStorage(dbPath);
146
+ return {
147
+ walletStorage,
148
+ swapStorage,
149
+ close: () => {
150
+ walletStorage.close();
151
+ swapStorage.close();
152
+ }
153
+ };
154
+ }
155
+
156
+ export { SqliteSwapStorage, SqliteWalletStorage, sqliteStorageFactory };
157
+ //# sourceMappingURL=node.js.map
19
158
  //# sourceMappingURL=node.js.map
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"sources":["../src/storage/sqlite.ts"],"names":[],"mappings":"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","file":"node.js","sourcesContent":["/**\n * SQLite storage implementations for Node.js.\n *\n * Uses better-sqlite3 for fast, synchronous SQLite access.\n */\n\nimport Database, { type Database as DatabaseType } from \"better-sqlite3\";\nimport type { GetSwapResponse } from \"../api/client.js\";\nimport type { SwapStorage, WalletStorage } from \"./index.js\";\nimport type { StoredSwap } from \"./types.js\";\n\n/**\n * SQLite-based wallet storage for Node.js.\n *\n * Stores mnemonic and key index in a SQLite database.\n *\n * @example\n * ```ts\n * const storage = new SqliteWalletStorage(\"./lendaswap.db\");\n * const client = await Client.builder()\n * .withSignerStorage(storage)\n * .build();\n * ```\n */\nexport class SqliteWalletStorage implements WalletStorage {\n readonly #db: DatabaseType;\n\n /**\n * Creates a new SQLite wallet storage.\n * @param dbPath - Path to the SQLite database file. Use \":memory:\" for in-memory storage.\n */\n constructor(dbPath: string) {\n this.#db = new Database(dbPath);\n this.#initSchema();\n }\n\n #initSchema(): void {\n this.#db.exec(`\n CREATE TABLE IF NOT EXISTS wallet (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n mnemonic TEXT,\n key_index INTEGER NOT NULL DEFAULT 0\n );\n INSERT OR IGNORE INTO wallet (id, key_index) VALUES (1, 0);\n `);\n }\n\n async getMnemonic(): Promise<string | null> {\n const row = this.#db\n .prepare(\"SELECT mnemonic FROM wallet WHERE id = 1\")\n .get() as { mnemonic: string | null } | undefined;\n return row?.mnemonic ?? null;\n }\n\n async setMnemonic(mnemonic: string): Promise<void> {\n this.#db\n .prepare(\"UPDATE wallet SET mnemonic = ? WHERE id = 1\")\n .run(mnemonic);\n }\n\n async getKeyIndex(): Promise<number> {\n const row = this.#db\n .prepare(\"SELECT key_index FROM wallet WHERE id = 1\")\n .get() as { key_index: number } | undefined;\n return row?.key_index ?? 0;\n }\n\n async setKeyIndex(index: number): Promise<void> {\n this.#db.prepare(\"UPDATE wallet SET key_index = ? WHERE id = 1\").run(index);\n }\n\n async incrementKeyIndex(): Promise<number> {\n const current = await this.getKeyIndex();\n await this.setKeyIndex(current + 1);\n return current;\n }\n\n async clear(): Promise<void> {\n this.#db\n .prepare(\"UPDATE wallet SET mnemonic = NULL, key_index = 0 WHERE id = 1\")\n .run();\n }\n\n /**\n * Closes the database connection.\n */\n close(): void {\n this.#db.close();\n }\n}\n\n/**\n * SQLite-based swap storage for Node.js.\n *\n * Stores swap data including responses and cryptographic parameters.\n *\n * @example\n * ```ts\n * const storage = new SqliteSwapStorage(\"./lendaswap.db\");\n * const client = await Client.builder()\n * .withSwapStorage(storage)\n * .build();\n * ```\n */\nexport class SqliteSwapStorage implements SwapStorage {\n readonly #db: DatabaseType;\n\n /**\n * Creates a new SQLite swap storage.\n * @param dbPath - Path to the SQLite database file. Use \":memory:\" for in-memory storage.\n */\n constructor(dbPath: string) {\n this.#db = new Database(dbPath);\n this.#initSchema();\n }\n\n #initSchema(): void {\n this.#db.exec(`\n CREATE TABLE IF NOT EXISTS swaps (\n swap_id TEXT PRIMARY KEY,\n version INTEGER NOT NULL,\n key_index INTEGER NOT NULL,\n response TEXT NOT NULL,\n public_key TEXT NOT NULL,\n preimage TEXT NOT NULL,\n preimage_hash TEXT NOT NULL,\n secret_key TEXT NOT NULL,\n stored_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n );\n CREATE INDEX IF NOT EXISTS idx_swaps_stored_at ON swaps(stored_at);\n `);\n }\n\n async get(swapId: string): Promise<StoredSwap | null> {\n const row = this.#db\n .prepare(\"SELECT * FROM swaps WHERE swap_id = ?\")\n .get(swapId) as SqliteSwapRow | undefined;\n\n if (!row) return null;\n return this.#rowToStoredSwap(row);\n }\n\n async store(swap: StoredSwap): Promise<void> {\n this.#db\n .prepare(\n `INSERT OR REPLACE INTO swaps\n (swap_id, version, key_index, response, public_key, preimage, preimage_hash, secret_key, stored_at, updated_at)\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,\n )\n .run(\n swap.swapId,\n swap.version,\n swap.keyIndex,\n JSON.stringify(swap.response),\n swap.publicKey,\n swap.preimage,\n swap.preimageHash,\n swap.secretKey,\n swap.storedAt,\n swap.updatedAt,\n );\n }\n\n async update(swapId: string, response: GetSwapResponse): Promise<void> {\n this.#db\n .prepare(\n \"UPDATE swaps SET response = ?, updated_at = ? WHERE swap_id = ?\",\n )\n .run(JSON.stringify(response), Date.now(), swapId);\n }\n\n async delete(swapId: string): Promise<void> {\n this.#db.prepare(\"DELETE FROM swaps WHERE swap_id = ?\").run(swapId);\n }\n\n async list(): Promise<string[]> {\n const rows = this.#db\n .prepare(\"SELECT swap_id FROM swaps ORDER BY stored_at DESC\")\n .all() as { swap_id: string }[];\n return rows.map((r) => r.swap_id);\n }\n\n async getAll(): Promise<StoredSwap[]> {\n const rows = this.#db\n .prepare(\"SELECT * FROM swaps ORDER BY stored_at DESC\")\n .all() as SqliteSwapRow[];\n return rows.map((row) => this.#rowToStoredSwap(row));\n }\n\n async clear(): Promise<void> {\n this.#db.prepare(\"DELETE FROM swaps\").run();\n }\n\n #rowToStoredSwap(row: SqliteSwapRow): StoredSwap {\n return {\n swapId: row.swap_id,\n version: row.version,\n keyIndex: row.key_index,\n response: JSON.parse(row.response) as GetSwapResponse,\n publicKey: row.public_key,\n preimage: row.preimage,\n preimageHash: row.preimage_hash,\n secretKey: row.secret_key,\n storedAt: row.stored_at,\n updatedAt: row.updated_at,\n };\n }\n\n /**\n * Closes the database connection.\n */\n close(): void {\n this.#db.close();\n }\n}\n\ninterface SqliteSwapRow {\n swap_id: string;\n version: number;\n key_index: number;\n response: string;\n public_key: string;\n preimage: string;\n preimage_hash: string;\n secret_key: string;\n stored_at: number;\n updated_at: number;\n}\n\n/**\n * Creates a storage factory that uses SQLite for both wallet and swap storage.\n *\n * @param dbPath - Path to the SQLite database file.\n * @returns A storage factory with shared database connection.\n *\n * @example\n * ```ts\n * const { walletStorage, swapStorage, close } = sqliteStorageFactory(\"./lendaswap.db\");\n * const client = await Client.builder()\n * .withSignerStorage(walletStorage)\n * .withSwapStorage(swapStorage)\n * .build();\n *\n * // When done:\n * close();\n * ```\n */\nexport function sqliteStorageFactory(dbPath: string): {\n walletStorage: SqliteWalletStorage;\n swapStorage: SqliteSwapStorage;\n close: () => void;\n} {\n const walletStorage = new SqliteWalletStorage(dbPath);\n const swapStorage = new SqliteSwapStorage(dbPath);\n\n return {\n walletStorage,\n swapStorage,\n close: () => {\n walletStorage.close();\n swapStorage.close();\n },\n };\n}\n"]}
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var chunkPKDJZJMV_cjs = require('./chunk-PKDJZJMV.cjs');
4
+ require('./chunk-A4GKKURK.cjs');
5
+ require('./chunk-JBVKWKD4.cjs');
6
+
7
+
8
+
9
+ Object.defineProperty(exports, "encodeToCurve", {
10
+ enumerable: true,
11
+ get: function () { return chunkPKDJZJMV_cjs.encodeToCurve; }
12
+ });
13
+ Object.defineProperty(exports, "hashToCurve", {
14
+ enumerable: true,
15
+ get: function () { return chunkPKDJZJMV_cjs.hashToCurve; }
16
+ });
17
+ Object.defineProperty(exports, "schnorr", {
18
+ enumerable: true,
19
+ get: function () { return chunkPKDJZJMV_cjs.schnorr; }
20
+ });
21
+ Object.defineProperty(exports, "secp256k1", {
22
+ enumerable: true,
23
+ get: function () { return chunkPKDJZJMV_cjs.secp256k1; }
24
+ });
25
+ Object.defineProperty(exports, "secp256k1_hasher", {
26
+ enumerable: true,
27
+ get: function () { return chunkPKDJZJMV_cjs.secp256k1_hasher; }
28
+ });
29
+ //# sourceMappingURL=secp256k1-PJCSE4N6.cjs.map
30
+ //# sourceMappingURL=secp256k1-PJCSE4N6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"secp256k1-PJCSE4N6.cjs"}
@@ -0,0 +1,5 @@
1
+ export { encodeToCurve, hashToCurve, schnorr, secp256k1, secp256k1_hasher } from './chunk-DKTFDGIU.js';
2
+ import './chunk-3JWT4OW2.js';
3
+ import './chunk-PLDDJCW6.js';
4
+ //# sourceMappingURL=secp256k1-VZNNVEPN.js.map
5
+ //# sourceMappingURL=secp256k1-VZNNVEPN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"secp256k1-VZNNVEPN.js"}
package/dist/tokens.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import type { Chain, TokenId, TokenInfo } from "./api/client.js";
1
+ import type { TokenId, TokenInfo } from "./api/client.js";
2
+ import type { Chain } from "./types/chain.js";
2
3
  /** A token identifier: either a plain string TokenId or a TokenInfo object. */
3
4
  export type TokenInput = TokenId;
4
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjE,+EAA+E;AAC/E,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AAIjC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,KAAK;IACpB,oFAAoF;IACpF,KAAK,EAAE,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC7B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK;4BAEyC,KAAK;yBACX,KAAK;0BACH,KAAK;2BAGD,KAAK;4BACD,KAAK;4BACT,KAAK;2BAGL,KAAK;4BACD,KAAK;4BACT,KAAK;2BAGL,KAAK;4BACL,KAAK;4BAGL,KAAK;4BACD,KAAK;CAC1D,CAAC;AAKX,eAAO,MAAM,aAAa,EAAE,OAAe,CAAC;AAC5C,eAAO,MAAM,UAAU,EAAE,OAAe,CAAC;AACzC,eAAO,MAAM,WAAW,EAAE,OAAe,CAAC;AAG1C,eAAO,MAAM,kBAAkB,EAAE,SAMhC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAM7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAM9B,CAAC;AAmDF,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAE7D;AAED,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAE1D;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAE9D;AAED,yFAAyF;AACzF,wBAAgB,KAAK,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAG7E;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjD;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIvD;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CASV;AAED,6CAA6C;AAC7C,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,6CAA6C;AAC7C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAiB1C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAKzE;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,EAAE,CA2BjD;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,SAAS,EAAE,CAsBlD"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * `ChainConfigResponse` — per-EVM-chain metadata clients need that the
3
+ * protocol doesn't otherwise surface (BTC-pegged pivot today; HTLC and
4
+ * coordinator contract addresses planned). Static per session.
5
+ *
6
+ * Hand-written; identity-shaped with the OpenAPI codegen today.
7
+ */
8
+ import type { Chain } from "./chain.js";
9
+ export interface TokenRef {
10
+ /** Lowercase hex, `0x`-prefixed. */
11
+ address: string;
12
+ decimals: number;
13
+ symbol: string;
14
+ }
15
+ export interface ChainConfigEntry {
16
+ /** EVM chain id as a string (`"1"`, `"137"`, `"42161"`). */
17
+ chain: Chain;
18
+ /**
19
+ * The chain's BTC-pegged token (tBTC v2 on Arbitrum / Ethereum, WBTC
20
+ * on Polygon). Used as the DEX pivot when composing a quote for any
21
+ * BTC↔this-chain pair.
22
+ */
23
+ btc_pegged_token: TokenRef;
24
+ /**
25
+ * How many `btc_pegged_token` units equal 1 BTC, as a decimal string.
26
+ * `"1"` for tBTC (1:1 redeemable); the live WBTC/BTC rate (~0.998) for
27
+ * WBTC. Used for the direct BTC↔pegged conversion (the leg with no DEX
28
+ * hop): multiply BTC sats by this, then scale by the token's decimals.
29
+ * Slow-moving but not static — refresh on the same cadence as a quote.
30
+ */
31
+ btc_peg_rate: string;
32
+ }
33
+ export interface ChainConfigResponse {
34
+ chains: ChainConfigEntry[];
35
+ }
36
+ export interface WireTokenRef {
37
+ address: string;
38
+ decimals: number;
39
+ symbol: string;
40
+ }
41
+ export interface WireChainConfigEntry {
42
+ chain: Chain;
43
+ btc_pegged_token: WireTokenRef;
44
+ btc_peg_rate: string;
45
+ }
46
+ export interface WireChainConfigResponse {
47
+ chains: WireChainConfigEntry[];
48
+ }
49
+ export declare function fromWireChainConfigResponse(wire: WireChainConfigResponse): ChainConfigResponse;
50
+ //# sourceMappingURL=chain-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-config.d.ts","sourceRoot":"","sources":["../../src/types/chain-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,QAAQ;IACvB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,KAAK,EAAE,KAAK,CAAC;IACb;;;;OAIG;IACH,gBAAgB,EAAE,QAAQ,CAAC;IAC3B;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAID,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,uBAAuB,GAC5B,mBAAmB,CAYrB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Chain identifier the API speaks.
3
+ *
4
+ * Mirrors the server's `crate::Chain` enum at its current wire encoding.
5
+ * Hand-written rather than re-exported from the OpenAPI types so the SDK
6
+ * surface stays decoupled from codegen — additions land here when the
7
+ * server starts speaking a new chain, and old binaries keep working
8
+ * because the union widens additively.
9
+ */
10
+ export type Chain = "Arkade" | "Lightning" | "Bitcoin" | "137" | "1" | "42161";
11
+ //# sourceMappingURL=chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/types/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,GACb,QAAQ,GACR,WAAW,GACX,SAAS,GAGT,KAAK,GACL,GAAG,GACH,OAAO,CAAC"}