@lendasat/lendaswap-sdk-pure 0.2.43 → 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.
- package/dist/{_esm-6K2AP5GG.js → _esm-7KJOBTZC.js} +3 -6
- package/dist/_esm-7KJOBTZC.js.map +1 -0
- package/dist/base-B6OGU65B.js +7 -0
- package/dist/{base-HMHH3XPM.js.map → base-B6OGU65B.js.map} +1 -1
- package/dist/ccip-MPMAZOUF.js +5 -0
- package/dist/{ccip-EBXWV2U3.js.map → ccip-MPMAZOUF.js.map} +1 -1
- package/dist/cctp-bridge/index.js +1 -3
- package/dist/cctp-bridge/index.js.map +1 -1
- package/dist/{chunk-PRN5VZOM.js → chunk-3JWT4OW2.js} +3 -4
- package/dist/chunk-3JWT4OW2.js.map +1 -0
- package/dist/{chunk-DBBCKPZ5.js → chunk-C4YXYD24.js} +4 -7
- package/dist/chunk-C4YXYD24.js.map +1 -0
- package/dist/{chunk-GVAPVS4Z.js → chunk-CZNQYFDP.js} +4 -7
- package/dist/chunk-CZNQYFDP.js.map +1 -0
- package/dist/{chunk-Z2FCTNRC.js → chunk-DKTFDGIU.js} +3 -6
- package/dist/chunk-DKTFDGIU.js.map +1 -0
- package/dist/{chunk-LA3YX2HD.js → chunk-EPKFLKTM.js} +4 -7
- package/dist/chunk-EPKFLKTM.js.map +1 -0
- package/dist/{chunk-4JXN4UPB.js → chunk-NPFJAXKV.js} +3 -6
- package/dist/chunk-NPFJAXKV.js.map +1 -0
- package/dist/{chunk-I7TGLGN6.js → chunk-PLDDJCW6.js} +5 -8
- package/dist/{chunk-I7TGLGN6.js.map → chunk-PLDDJCW6.js.map} +1 -1
- package/dist/{chunk-EIK6BZWG.js → chunk-YEZOPVAH.js} +2 -6
- package/dist/chunk-YEZOPVAH.js.map +1 -0
- package/dist/delegate.js +4 -7
- package/dist/{dist-PWXNFVDF.js → dist-NE2R4YCX.js} +5 -8
- package/dist/{dist-PWXNFVDF.js.map → dist-NE2R4YCX.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +18 -21
- package/dist/index.js.map +1 -1
- package/dist/{mine.wasm-LUTPOAD2.js → mine.wasm-JJEJEODX.js} +3 -6
- package/dist/mine.wasm-JJEJEODX.js.map +1 -0
- package/dist/node.js +1 -3
- package/dist/node.js.map +1 -1
- package/dist/secp256k1-VZNNVEPN.js +5 -0
- package/dist/{secp256k1-B6OW5ZCM.js.map → secp256k1-VZNNVEPN.js.map} +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/wallet-SCGRX3EN.js +4 -0
- package/dist/{wallet-4YGTKWNZ.js.map → wallet-SCGRX3EN.js.map} +1 -1
- package/package.json +1 -1
- package/dist/_esm-6K2AP5GG.js.map +0 -1
- package/dist/base-HMHH3XPM.js +0 -9
- package/dist/ccip-EBXWV2U3.js +0 -8
- package/dist/chunk-4JXN4UPB.js.map +0 -1
- package/dist/chunk-DBBCKPZ5.js.map +0 -1
- package/dist/chunk-EIK6BZWG.js.map +0 -1
- package/dist/chunk-GVAPVS4Z.js.map +0 -1
- package/dist/chunk-LA3YX2HD.js.map +0 -1
- package/dist/chunk-PRN5VZOM.js.map +0 -1
- package/dist/chunk-Z2FCTNRC.js.map +0 -1
- package/dist/mine.wasm-LUTPOAD2.js.map +0 -1
- package/dist/secp256k1-B6OW5ZCM.js +0 -8
- package/dist/wallet-4YGTKWNZ.js +0 -7
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import './chunk-I7TGLGN6.js';
|
|
3
|
-
|
|
4
|
-
createRequire(import.meta.url);
|
|
1
|
+
import './chunk-PLDDJCW6.js';
|
|
5
2
|
|
|
6
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
|
|
7
4
|
var wasmBase64 = "AGFzbQEAAAABBgFgAX8BfwMCAQAFAwEAAgcRAgZtZW1vcnkCAARtaW5lAAAMAQEKjxABjBACA38ufgJAIABBAEwNAEGQCDEAAEGRCDEAAEIIhoRBkggxAABCEIaEQZMIMQAAQhiGhCEtQYgIMQAAQYkIMQAAQgiGhEGKCDEAAEIQhoRBiwgxAABCGIaEQYwIMQAAQiCGhEGNCDEAAEIohoRBjggxAABCMIaEQY8IMQAAQjiGhCEuQYAIMQAAQYEIMQAAQgiGhEGCCDEAAEIQhoRBgwgxAABCGIaEQYQIMQAAQiCGhEGFCDEAAEIohoRBhggxAABCMIaEQYcIMQAAQjiGhCEvA0BBsAg1AgBCgICAgBCEIQ9BlAg1AgBCIIYgLYQhB0GoCCkDACEQQaAIKQMAIRFBmAgpAwAhCkKAgICAgICAgIB/IRJCACETQcB+IQEgLiELQgAhFEIAIRVCACEWQgAhF0IAIRhCACEZQgAhGkIAIRtCACEcIC8hCUIAIR1CACEeQgAhDEIAIR9CACENQgAhIEIAIQ4DQCAJIBCFIB2FIB6FIAyFIgQgByAZhSAahSAbhSAchSIIQgGJhSIGIA+FIAogH4UgDYUgIIUgDoUiBSAEQgGJhSIEIBiFITEgBiAVhUICiSIjIAcgBUIBiSALIA+FIBSFIBKFIBWFIgWFIgeFQj6JIiFCf4UgCCARIBaFIBeFIBOFIBiFIg9CAYmFIgggH4VCN4kiIoOFIRggDyAFQgGJhSIFIB6FQimJIiUgBCAXhUIniSIkQn+FgyAihSEVIAYgFIVCCokiJyAIIA6FQjiJIg4gByAbhUIPiSImQn+Fg4UhGyAEIBGFQhuJIikgJyAFIBCFQiSJIihCf4WDhSEeIAUgDIVCEokiLCAHIBmFQgaJIisgBiALhUIBiSIqQn+Fg4UhFyAIIA2FQhmJIgxCf4UgBCAThUIIiSINgyArhSEUIAggCoVCHIkiC0J/hSAEIBaFQhSJIgqDIAcgHIVCPYkiBIUhFiAGIBKFQi2JIgYgCyAEQn+Fg4UhHyAEIAZCf4WDIAUgHYVCA4kiBIUhGSAKIAYgBEJ/hYOFIQ8gBCAKQn+FgyALhSEQIAUgCYUiBCAxQg6JIgZCf4WDIAggIIVCFYkiCYUhCiAHIBqFQiuJIgggBiAJQn+Fg4UhB0IsiSIFIAkgCEJ/hYOFIQsgAUHAgQRqKQMAIAggBUJ/hYOFIASFIQkgJiAnQn+FgyAohSESIAYgBSAEQn+Fg4UhESAoIClCf4WDIA6FIRMgLCANQn+FgyAMhSEaICQgIyAlQn+Fg4UhHCAMICtCf4WDICqFIR0gJCAiQn+FgyAhhSEMIA0gKiAsQn+Fg4UhDSApIA5Cf4WDICaFISAgISAjQn+FgyAlhSEOIAFBCGoiAQ0ACwJAAkACQCAJpwRAQbMILQAAIgFB/wFHBEBBswghAgwCC0GzCEEAOgAAQbIILQAAIgFB/wFHBEBBsgghAgwCC0GyCEEAOgAAQbEILQAAIgFB/wFHBEBBsQghAgwCC0GxCEEAOgAAQbAILQAAIgFB/wFHBEBBsAghAgwCC0GwCEEAOgAAQa8ILQAAIgFB/wFHBEBBrwghAgwCC0GvCEEAOgAAQa4ILQAAIgFB/wFHBEBBrgghAgwCC0GuCEEAOgAAQa0ILQAAIgFB/wFHBEBBrQghAgwCC0GtCEEAOgAAQawILQAAIgFB/wFHBEBBrAghAgwCC0GsCEEAOgAAQasILQAAIgFB/wFHBEBBqwghAgwCC0GrCEEAOgAAQaoILQAAIgFB/wFHBEBBqgghAgwCC0GqCEEAOgAAQakILQAAIgFB/wFHBEBBqQghAgwCC0GpCEEAOgAAQagILQAAIgFB/wFHBEBBqAghAgwCC0GoCEEAOgAAQacILQAAIgFB/wFHBEBBpwghAgwCC0GnCEEAOgAAQaYILQAAIgFB/wFHBEBBpgghAgwCC0GmCEEAOgAAQaUILQAAIgFB/wFHBEBBpQghAgwCC0GlCEEAOgAAQaQILQAAIgFB/wFHBEBBpAghAgwCC0GkCEEAOgAAQaMILQAAIgFB/wFHBEBBowghAgwCC0GjCEEAOgAAQaIILQAAIgFB/wFHBEBBogghAgwCC0GiCEEAOgAAQaEILQAAIgFB/wFHBEBBoQghAgwCC0GhCEEAOgAAQaAILQAAIgFB/wFHBEBBoAghAgwCC0GgCEEAOgAAQZ8ILQAAIgFB/wFHBEBBnwghAgwCC0GfCEEAOgAAQZ4ILQAAIgFB/wFHBEBBngghAgwCC0GeCEEAOgAAQZ0ILQAAIgFB/wFHBEBBnQghAgwCC0GdCEEAOgAAQZwILQAAIgFB/wFHBEBBnAghAgwCC0GcCEEAOgAAQZsILQAAIgFB/wFHBEBBmwghAgwCC0GbCEEAOgAAQZoILQAAIgFB/wFHBEBBmgghAgwCC0GaCEEAOgAAQZkILQAAIgFB/wFHBEBBmQghAgwCC0GZCEEAOgAAQZgILQAAIgFB/wFHBEBBmAghAgwCC0GYCEEAOgAAQZcILQAAIgFB/wFHBEBBlwghAgwCC0GXCEEAOgAAQZYILQAAIgFB/wFHBEBBlgghAgwCC0GWCEEAOgAAQZUILQAAIgFB/wFHBEBBlQghAgwCC0GVCEEAOgAAQZQILQAAIgFB/wFGDQJBlAghAgwBC0G0CCAJNwIAQbwIIAs3AgBBxAggBzcCAEHMCCAKNwIAQQEhAQwECyACIAFBAWo6AAAMAQtBlAhBADoAAAsgA0EBaiIDIABHDQALQQAPCyABCwvJAQEAQYCABAvAAQEAAAAAAAAAgoAAAAAAAACKgAAAAAAAgACAAIAAAACAi4AAAAAAAAABAACAAAAAAIGAAIAAAACACYAAAAAAAICKAAAAAAAAAIgAAAAAAAAACYAAgAAAAAAKAACAAAAAAIuAAIAAAAAAiwAAAAAAAICJgAAAAAAAgAOAAAAAAACAAoAAAAAAAICAAAAAAAAAgAqAAAAAAAAACgAAgAAAAICBgACAAAAAgICAAAAAAACAAQAAgAAAAAAIgACAAAAAgACUAQ90YXJnZXRfZmVhdHVyZXMIKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVlKw9idWxrLW1lbW9yeS1vcHQrFmNhbGwtaW5kaXJlY3Qtb3Zlcmxvbmc=";
|
|
8
5
|
var dataOffset = 1024;
|
|
9
6
|
|
|
10
7
|
export { dataOffset, wasmBase64 };
|
|
11
|
-
//# sourceMappingURL=mine.wasm-
|
|
12
|
-
//# sourceMappingURL=mine.wasm-
|
|
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"]}
|
package/dist/node.js
CHANGED
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/storage/sqlite.ts"],"names":[],"mappings":";;;;;AAwBO,IAAM,sBAAN,MAAmD;AAAA,EAC/C,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMT,YAAY,MAAA,EAAgB;AAC1B,IAAA,IAAA,CAAK,GAAA,GAAM,IAAI,QAAA,CAAS,MAAM,CAAA;AAC9B,IAAA,IAAA,CAAK,WAAA,EAAY;AAAA,EACnB;AAAA,EAEA,WAAA,GAAoB;AAClB,IAAA,IAAA,CAAK,IAAI,IAAA,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAOb,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,WAAA,GAAsC;AAC1C,IAAA,MAAM,MAAM,IAAA,CAAK,GAAA,CACd,OAAA,CAAQ,0CAA0C,EAClD,GAAA,EAAI;AACP,IAAA,OAAO,KAAK,QAAA,IAAY,IAAA;AAAA,EAC1B;AAAA,EAEA,MAAM,YAAY,QAAA,EAAiC;AACjD,IAAA,IAAA,CAAK,GAAA,CACF,OAAA,CAAQ,6CAA6C,CAAA,CACrD,IAAI,QAAQ,CAAA;AAAA,EACjB;AAAA,EAEA,MAAM,WAAA,GAA+B;AACnC,IAAA,MAAM,MAAM,IAAA,CAAK,GAAA,CACd,OAAA,CAAQ,2CAA2C,EACnD,GAAA,EAAI;AACP,IAAA,OAAO,KAAK,SAAA,IAAa,CAAA;AAAA,EAC3B;AAAA,EAEA,MAAM,YAAY,KAAA,EAA8B;AAC9C,IAAA,IAAA,CAAK,GAAA,CAAI,OAAA,CAAQ,8CAA8C,CAAA,CAAE,IAAI,KAAK,CAAA;AAAA,EAC5E;AAAA,EAEA,MAAM,iBAAA,GAAqC;AACzC,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,WAAA,EAAY;AACvC,IAAA,MAAM,IAAA,CAAK,WAAA,CAAY,OAAA,GAAU,CAAC,CAAA;AAClC,IAAA,OAAO,OAAA;AAAA,EACT;AAAA,EAEA,MAAM,KAAA,GAAuB;AAC3B,IAAA,IAAA,CAAK,GAAA,CACF,OAAA,CAAQ,+DAA+D,CAAA,CACvE,GAAA,EAAI;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA,GAAc;AACZ,IAAA,IAAA,CAAK,IAAI,KAAA,EAAM;AAAA,EACjB;AACF;AAeO,IAAM,oBAAN,MAA+C;AAAA,EAC3C,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMT,YAAY,MAAA,EAAgB;AAC1B,IAAA,IAAA,CAAK,GAAA,GAAM,IAAI,QAAA,CAAS,MAAM,CAAA;AAC9B,IAAA,IAAA,CAAK,WAAA,EAAY;AAAA,EACnB;AAAA,EAEA,WAAA,GAAoB;AAClB,IAAA,IAAA,CAAK,IAAI,IAAA,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,CAcb,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,IAAI,MAAA,EAA4C;AACpD,IAAA,MAAM,MAAM,IAAA,CAAK,GAAA,CACd,QAAQ,uCAAuC,CAAA,CAC/C,IAAI,MAAM,CAAA;AAEb,IAAA,IAAI,CAAC,KAAK,OAAO,IAAA;AACjB,IAAA,OAAO,IAAA,CAAK,iBAAiB,GAAG,CAAA;AAAA,EAClC;AAAA,EAEA,MAAM,MAAM,IAAA,EAAiC;AAC3C,IAAA,IAAA,CAAK,GAAA,CACF,OAAA;AAAA,MACC,CAAA;AAAA;AAAA,8CAAA;AAAA,KAGF,CACC,GAAA;AAAA,MACC,IAAA,CAAK,MAAA;AAAA,MACL,IAAA,CAAK,OAAA;AAAA,MACL,IAAA,CAAK,QAAA;AAAA,MACL,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,QAAQ,CAAA;AAAA,MAC5B,IAAA,CAAK,SAAA;AAAA,MACL,IAAA,CAAK,QAAA;AAAA,MACL,IAAA,CAAK,YAAA;AAAA,MACL,IAAA,CAAK,SAAA;AAAA,MACL,IAAA,CAAK,QAAA;AAAA,MACL,IAAA,CAAK;AAAA,KACP;AAAA,EACJ;AAAA,EAEA,MAAM,MAAA,CAAO,MAAA,EAAgB,QAAA,EAA0C;AACrE,IAAA,IAAA,CAAK,GAAA,CACF,OAAA;AAAA,MACC;AAAA,KACF,CACC,IAAI,IAAA,CAAK,SAAA,CAAU,QAAQ,CAAA,EAAG,IAAA,CAAK,GAAA,EAAI,EAAG,MAAM,CAAA;AAAA,EACrD;AAAA,EAEA,MAAM,OAAO,MAAA,EAA+B;AAC1C,IAAA,IAAA,CAAK,GAAA,CAAI,OAAA,CAAQ,qCAAqC,CAAA,CAAE,IAAI,MAAM,CAAA;AAAA,EACpE;AAAA,EAEA,MAAM,IAAA,GAA0B;AAC9B,IAAA,MAAM,OAAO,IAAA,CAAK,GAAA,CACf,OAAA,CAAQ,mDAAmD,EAC3D,GAAA,EAAI;AACP,IAAA,OAAO,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,OAAO,CAAA;AAAA,EAClC;AAAA,EAEA,MAAM,MAAA,GAAgC;AACpC,IAAA,MAAM,OAAO,IAAA,CAAK,GAAA,CACf,OAAA,CAAQ,6CAA6C,EACrD,GAAA,EAAI;AACP,IAAA,OAAO,KAAK,GAAA,CAAI,CAAC,QAAQ,IAAA,CAAK,gBAAA,CAAiB,GAAG,CAAC,CAAA;AAAA,EACrD;AAAA,EAEA,MAAM,KAAA,GAAuB;AAC3B,IAAA,IAAA,CAAK,GAAA,CAAI,OAAA,CAAQ,mBAAmB,CAAA,CAAE,GAAA,EAAI;AAAA,EAC5C;AAAA,EAEA,iBAAiB,GAAA,EAAgC;AAC/C,IAAA,OAAO;AAAA,MACL,QAAQ,GAAA,CAAI,OAAA;AAAA,MACZ,SAAS,GAAA,CAAI,OAAA;AAAA,MACb,UAAU,GAAA,CAAI,SAAA;AAAA,MACd,QAAA,EAAU,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,QAAQ,CAAA;AAAA,MACjC,WAAW,GAAA,CAAI,UAAA;AAAA,MACf,UAAU,GAAA,CAAI,QAAA;AAAA,MACd,cAAc,GAAA,CAAI,aAAA;AAAA,MAClB,WAAW,GAAA,CAAI,UAAA;AAAA,MACf,UAAU,GAAA,CAAI,SAAA;AAAA,MACd,WAAW,GAAA,CAAI;AAAA,KACjB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA,GAAc;AACZ,IAAA,IAAA,CAAK,IAAI,KAAA,EAAM;AAAA,EACjB;AACF;AAiCO,SAAS,qBAAqB,MAAA,EAInC;AACA,EAAA,MAAM,aAAA,GAAgB,IAAI,mBAAA,CAAoB,MAAM,CAAA;AACpD,EAAA,MAAM,WAAA,GAAc,IAAI,iBAAA,CAAkB,MAAM,CAAA;AAEhD,EAAA,OAAO;AAAA,IACL,aAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAO,MAAM;AACX,MAAA,aAAA,CAAc,KAAA,EAAM;AACpB,MAAA,WAAA,CAAY,KAAA,EAAM;AAAA,IACpB;AAAA,GACF;AACF","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"]}
|
|
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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"secp256k1-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"secp256k1-VZNNVEPN.js"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const SDK_NAME = "lendaswap-sdk-pure";
|
|
2
|
-
export declare const SDK_VERSION = "0.2.
|
|
3
|
-
export declare const CLIENT_AGENT = "lendaswap-sdk-pure/0.2.
|
|
2
|
+
export declare const SDK_VERSION = "0.2.44";
|
|
3
|
+
export declare const CLIENT_AGENT = "lendaswap-sdk-pure/0.2.44";
|
|
4
4
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { decodeUint256, encodeAllowanceCall, encodeBalanceOfCall, encodeMaxApproveData, encodeTransferCall, getRevertReason, isUserRejection, parseSignature, simulateTransaction } from './chunk-YEZOPVAH.js';
|
|
2
|
+
import './chunk-PLDDJCW6.js';
|
|
3
|
+
//# sourceMappingURL=wallet-SCGRX3EN.js.map
|
|
4
|
+
//# sourceMappingURL=wallet-SCGRX3EN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"wallet-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"wallet-SCGRX3EN.js"}
|