@kaleidorg/wallet-engine 1.0.0-beta.4 → 1.0.0-beta.41

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 (242) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -10
  3. package/dist/adapters/ArkadeAdapter.d.ts +78 -14
  4. package/dist/adapters/ArkadeAdapter.d.ts.map +1 -1
  5. package/dist/adapters/ArkadeAdapter.js +653 -161
  6. package/dist/adapters/ArkadeAdapter.js.map +1 -1
  7. package/dist/adapters/IProtocolAdapter.d.ts +195 -18
  8. package/dist/adapters/IProtocolAdapter.d.ts.map +1 -1
  9. package/dist/adapters/IProtocolAdapter.js +6 -2
  10. package/dist/adapters/IProtocolAdapter.js.map +1 -1
  11. package/dist/adapters/RgbAdapter.d.ts +70 -27
  12. package/dist/adapters/RgbAdapter.d.ts.map +1 -1
  13. package/dist/adapters/RgbAdapter.js +464 -370
  14. package/dist/adapters/RgbAdapter.js.map +1 -1
  15. package/dist/adapters/SparkAdapter.d.ts +93 -15
  16. package/dist/adapters/SparkAdapter.d.ts.map +1 -1
  17. package/dist/adapters/SparkAdapter.js +833 -168
  18. package/dist/adapters/SparkAdapter.js.map +1 -1
  19. package/dist/adapters/arkade.d.ts +15 -0
  20. package/dist/adapters/arkade.d.ts.map +1 -0
  21. package/dist/adapters/arkade.js +15 -0
  22. package/dist/adapters/arkade.js.map +1 -0
  23. package/dist/adapters/flashnet.d.ts +15 -0
  24. package/dist/adapters/flashnet.d.ts.map +1 -0
  25. package/dist/adapters/flashnet.js +17 -0
  26. package/dist/adapters/flashnet.js.map +1 -0
  27. package/dist/adapters/native.d.ts +17 -0
  28. package/dist/adapters/native.d.ts.map +1 -0
  29. package/dist/adapters/native.js +17 -0
  30. package/dist/adapters/native.js.map +1 -0
  31. package/dist/adapters/rgb.d.ts +11 -0
  32. package/dist/adapters/rgb.d.ts.map +1 -0
  33. package/dist/adapters/rgb.js +11 -0
  34. package/dist/adapters/rgb.js.map +1 -0
  35. package/dist/adapters/spark.d.ts +12 -0
  36. package/dist/adapters/spark.d.ts.map +1 -0
  37. package/dist/adapters/spark.js +14 -0
  38. package/dist/adapters/spark.js.map +1 -0
  39. package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts +53 -19
  40. package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts.map +1 -1
  41. package/dist/adapters/wdk/ArkadeWdkAdapter.js +366 -90
  42. package/dist/adapters/wdk/ArkadeWdkAdapter.js.map +1 -1
  43. package/dist/adapters/wdk/BaseWdkAdapter.d.ts +40 -0
  44. package/dist/adapters/wdk/BaseWdkAdapter.d.ts.map +1 -0
  45. package/dist/adapters/wdk/BaseWdkAdapter.js +71 -0
  46. package/dist/adapters/wdk/BaseWdkAdapter.js.map +1 -0
  47. package/dist/adapters/wdk/LiquidWdkAdapter.d.ts +6 -13
  48. package/dist/adapters/wdk/LiquidWdkAdapter.d.ts.map +1 -1
  49. package/dist/adapters/wdk/LiquidWdkAdapter.js +14 -32
  50. package/dist/adapters/wdk/LiquidWdkAdapter.js.map +1 -1
  51. package/dist/adapters/wdk/RgbCore.d.ts +64 -0
  52. package/dist/adapters/wdk/RgbCore.d.ts.map +1 -0
  53. package/dist/adapters/wdk/RgbCore.js +111 -0
  54. package/dist/adapters/wdk/RgbCore.js.map +1 -0
  55. package/dist/adapters/wdk/RgbLibWasmAdapter.d.ts +277 -0
  56. package/dist/adapters/wdk/RgbLibWasmAdapter.d.ts.map +1 -0
  57. package/dist/adapters/wdk/RgbLibWasmAdapter.js +728 -0
  58. package/dist/adapters/wdk/RgbLibWasmAdapter.js.map +1 -0
  59. package/dist/adapters/wdk/RgbLibWdkAdapter.d.ts +104 -0
  60. package/dist/adapters/wdk/RgbLibWdkAdapter.d.ts.map +1 -0
  61. package/dist/adapters/wdk/RgbLibWdkAdapter.js +249 -0
  62. package/dist/adapters/wdk/RgbLibWdkAdapter.js.map +1 -0
  63. package/dist/adapters/wdk/RlnWdkAdapter.d.ts +27 -14
  64. package/dist/adapters/wdk/RlnWdkAdapter.d.ts.map +1 -1
  65. package/dist/adapters/wdk/RlnWdkAdapter.js +111 -87
  66. package/dist/adapters/wdk/RlnWdkAdapter.js.map +1 -1
  67. package/dist/adapters/wdk/SparkWdkAdapter.d.ts +74 -41
  68. package/dist/adapters/wdk/SparkWdkAdapter.d.ts.map +1 -1
  69. package/dist/adapters/wdk/SparkWdkAdapter.js +706 -249
  70. package/dist/adapters/wdk/SparkWdkAdapter.js.map +1 -1
  71. package/dist/adapters/wdk/index.d.ts +17 -0
  72. package/dist/adapters/wdk/index.d.ts.map +1 -0
  73. package/dist/adapters/wdk/index.js +17 -0
  74. package/dist/adapters/wdk/index.js.map +1 -0
  75. package/dist/adapters/wdk/wasm-rgb.d.ts +15 -0
  76. package/dist/adapters/wdk/wasm-rgb.d.ts.map +1 -0
  77. package/dist/adapters/wdk/wasm-rgb.js +15 -0
  78. package/dist/adapters/wdk/wasm-rgb.js.map +1 -0
  79. package/dist/capabilities/index.d.ts +1 -1
  80. package/dist/capabilities/index.d.ts.map +1 -1
  81. package/dist/capabilities/index.js +17 -2
  82. package/dist/capabilities/index.js.map +1 -1
  83. package/dist/capabilities/operations.d.ts +22 -0
  84. package/dist/capabilities/operations.d.ts.map +1 -0
  85. package/dist/capabilities/operations.js +62 -0
  86. package/dist/capabilities/operations.js.map +1 -0
  87. package/dist/constants.d.ts +8 -0
  88. package/dist/constants.d.ts.map +1 -0
  89. package/dist/constants.js +8 -0
  90. package/dist/constants.js.map +1 -0
  91. package/dist/disclosure/index.d.ts +1 -1
  92. package/dist/disclosure/index.js +1 -1
  93. package/dist/disclosure/index.js.map +1 -1
  94. package/dist/format.d.ts +11 -0
  95. package/dist/format.d.ts.map +1 -0
  96. package/dist/format.js +10 -0
  97. package/dist/format.js.map +1 -0
  98. package/dist/index.d.ts +21 -31
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +32 -32
  101. package/dist/index.js.map +1 -1
  102. package/dist/lib/arkade-client-manager.d.ts +64 -24
  103. package/dist/lib/arkade-client-manager.d.ts.map +1 -1
  104. package/dist/lib/arkade-client-manager.js +240 -65
  105. package/dist/lib/arkade-client-manager.js.map +1 -1
  106. package/dist/lib/arkade-converters.d.ts +39 -0
  107. package/dist/lib/arkade-converters.d.ts.map +1 -0
  108. package/dist/lib/arkade-converters.js +148 -0
  109. package/dist/lib/arkade-converters.js.map +1 -0
  110. package/dist/lib/arkade-helpers.d.ts +110 -0
  111. package/dist/lib/arkade-helpers.d.ts.map +1 -0
  112. package/dist/lib/arkade-helpers.js +227 -0
  113. package/dist/lib/arkade-helpers.js.map +1 -0
  114. package/dist/lib/arkade-swaps-client-manager.d.ts +55 -0
  115. package/dist/lib/arkade-swaps-client-manager.d.ts.map +1 -0
  116. package/dist/lib/arkade-swaps-client-manager.js +127 -0
  117. package/dist/lib/arkade-swaps-client-manager.js.map +1 -0
  118. package/dist/lib/arkade-vtxo-lifecycle.d.ts +116 -0
  119. package/dist/lib/arkade-vtxo-lifecycle.d.ts.map +1 -0
  120. package/dist/lib/arkade-vtxo-lifecycle.js +184 -0
  121. package/dist/lib/arkade-vtxo-lifecycle.js.map +1 -0
  122. package/dist/lib/flashnet-client-manager.d.ts +26 -9
  123. package/dist/lib/flashnet-client-manager.d.ts.map +1 -1
  124. package/dist/lib/flashnet-client-manager.js +97 -13
  125. package/dist/lib/flashnet-client-manager.js.map +1 -1
  126. package/dist/lib/kaleido-client-manager.d.ts +38 -3
  127. package/dist/lib/kaleido-client-manager.d.ts.map +1 -1
  128. package/dist/lib/kaleido-client-manager.js +79 -10
  129. package/dist/lib/kaleido-client-manager.js.map +1 -1
  130. package/dist/lib/ln-message-sign.d.ts +20 -0
  131. package/dist/lib/ln-message-sign.d.ts.map +1 -0
  132. package/dist/lib/ln-message-sign.js +90 -0
  133. package/dist/lib/ln-message-sign.js.map +1 -0
  134. package/dist/lib/log.d.ts +15 -0
  135. package/dist/lib/log.d.ts.map +1 -0
  136. package/dist/lib/log.js +16 -0
  137. package/dist/lib/log.js.map +1 -0
  138. package/dist/lib/orchestra-client.d.ts +149 -0
  139. package/dist/lib/orchestra-client.d.ts.map +1 -0
  140. package/dist/lib/orchestra-client.js +178 -0
  141. package/dist/lib/orchestra-client.js.map +1 -0
  142. package/dist/lib/psbt-signer.d.ts +60 -0
  143. package/dist/lib/psbt-signer.d.ts.map +1 -0
  144. package/dist/lib/psbt-signer.js +161 -0
  145. package/dist/lib/psbt-signer.js.map +1 -0
  146. package/dist/lib/rgb-converters.d.ts +62 -0
  147. package/dist/lib/rgb-converters.d.ts.map +1 -0
  148. package/dist/lib/rgb-converters.js +179 -0
  149. package/dist/lib/rgb-converters.js.map +1 -0
  150. package/dist/lib/rgb-fee-policy.d.ts +41 -0
  151. package/dist/lib/rgb-fee-policy.d.ts.map +1 -0
  152. package/dist/lib/rgb-fee-policy.js +52 -0
  153. package/dist/lib/rgb-fee-policy.js.map +1 -0
  154. package/dist/lib/rgb-helpers.d.ts +54 -0
  155. package/dist/lib/rgb-helpers.d.ts.map +1 -0
  156. package/dist/lib/rgb-helpers.js +89 -0
  157. package/dist/lib/rgb-helpers.js.map +1 -0
  158. package/dist/lib/spark-activity.d.ts +5 -0
  159. package/dist/lib/spark-activity.d.ts.map +1 -0
  160. package/dist/lib/spark-activity.js +11 -0
  161. package/dist/lib/spark-activity.js.map +1 -0
  162. package/dist/lib/spark-balance-cache.d.ts +58 -0
  163. package/dist/lib/spark-balance-cache.d.ts.map +1 -0
  164. package/dist/lib/spark-balance-cache.js +86 -0
  165. package/dist/lib/spark-balance-cache.js.map +1 -0
  166. package/dist/lib/spark-client-manager.d.ts +64 -10
  167. package/dist/lib/spark-client-manager.d.ts.map +1 -1
  168. package/dist/lib/spark-client-manager.js +191 -35
  169. package/dist/lib/spark-client-manager.js.map +1 -1
  170. package/dist/lib/spark-converters.d.ts +64 -0
  171. package/dist/lib/spark-converters.d.ts.map +1 -0
  172. package/dist/lib/spark-converters.js +242 -0
  173. package/dist/lib/spark-converters.js.map +1 -0
  174. package/dist/lib/spark-helpers.d.ts +72 -0
  175. package/dist/lib/spark-helpers.d.ts.map +1 -0
  176. package/dist/lib/spark-helpers.js +151 -0
  177. package/dist/lib/spark-helpers.js.map +1 -0
  178. package/dist/lib/spark-sent-token-records.d.ts +43 -0
  179. package/dist/lib/spark-sent-token-records.d.ts.map +1 -0
  180. package/dist/lib/spark-sent-token-records.js +105 -0
  181. package/dist/lib/spark-sent-token-records.js.map +1 -0
  182. package/dist/lib/wallet-seed.d.ts +31 -0
  183. package/dist/lib/wallet-seed.d.ts.map +1 -0
  184. package/dist/lib/wallet-seed.js +58 -0
  185. package/dist/lib/wallet-seed.js.map +1 -0
  186. package/dist/lib/zbase32.d.ts +3 -0
  187. package/dist/lib/zbase32.d.ts.map +1 -0
  188. package/dist/lib/zbase32.js +64 -0
  189. package/dist/lib/zbase32.js.map +1 -0
  190. package/dist/manager/ProtocolManager.d.ts +54 -3
  191. package/dist/manager/ProtocolManager.d.ts.map +1 -1
  192. package/dist/manager/ProtocolManager.js +118 -41
  193. package/dist/manager/ProtocolManager.js.map +1 -1
  194. package/dist/ports/index.d.ts +20 -0
  195. package/dist/ports/index.d.ts.map +1 -1
  196. package/dist/ports/index.js +23 -1
  197. package/dist/ports/index.js.map +1 -1
  198. package/dist/receive/unifiedReceive.d.ts +12 -0
  199. package/dist/receive/unifiedReceive.d.ts.map +1 -1
  200. package/dist/receive/unifiedReceive.js +35 -4
  201. package/dist/receive/unifiedReceive.js.map +1 -1
  202. package/dist/registry/createWdkRegistry.d.ts +10 -2
  203. package/dist/registry/createWdkRegistry.d.ts.map +1 -1
  204. package/dist/registry/createWdkRegistry.js +14 -7
  205. package/dist/registry/createWdkRegistry.js.map +1 -1
  206. package/dist/router/destination.d.ts +2 -2
  207. package/dist/router/destination.d.ts.map +1 -1
  208. package/dist/router/destination.js +34 -11
  209. package/dist/router/destination.js.map +1 -1
  210. package/dist/router/index.d.ts +39 -3
  211. package/dist/router/index.d.ts.map +1 -1
  212. package/dist/router/index.js +113 -4
  213. package/dist/router/index.js.map +1 -1
  214. package/dist/router/preference.d.ts +53 -0
  215. package/dist/router/preference.d.ts.map +1 -0
  216. package/dist/router/preference.js +81 -0
  217. package/dist/router/preference.js.map +1 -0
  218. package/dist/swap/KaleidoswapSwap.d.ts +1 -1
  219. package/dist/swap/KaleidoswapSwap.d.ts.map +1 -1
  220. package/dist/swap/KaleidoswapSwap.js +37 -20
  221. package/dist/swap/KaleidoswapSwap.js.map +1 -1
  222. package/dist/swap/index.d.ts +8 -0
  223. package/dist/swap/index.d.ts.map +1 -0
  224. package/dist/swap/index.js +8 -0
  225. package/dist/swap/index.js.map +1 -0
  226. package/dist/types/arkade.d.ts +1 -1
  227. package/dist/types/base.d.ts +35 -25
  228. package/dist/types/base.d.ts.map +1 -1
  229. package/dist/types/base.js +28 -2
  230. package/dist/types/base.js.map +1 -1
  231. package/dist/types/cross-l2.d.ts +1 -1
  232. package/dist/types/flashnet.d.ts +20 -0
  233. package/dist/types/flashnet.d.ts.map +1 -1
  234. package/dist/types/flashnet.js +34 -6
  235. package/dist/types/flashnet.js.map +1 -1
  236. package/dist/types/rgb.d.ts +18 -4
  237. package/dist/types/rgb.d.ts.map +1 -1
  238. package/dist/types/spark.d.ts +1 -1
  239. package/dist/utils.d.ts +1 -1
  240. package/dist/utils.js +2 -2
  241. package/dist/utils.js.map +1 -1
  242. package/package.json +68 -14
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Route preference + rail priority
3
+ * --------------------------------
4
+ * A unified payment URI (BIP21/BIP321) can carry several rails at once — a
5
+ * BOLT12 offer, a BOLT11 invoice, Spark/Arkade addresses, an RGB invoice, a
6
+ * Liquid address, an on-chain address. When more than one is payable, the
7
+ * engine has to pick. This module is the *data* that drives that choice:
8
+ *
9
+ * - a DEFAULT rail ordering (Lightning-first), used when the user expresses no
10
+ * preference, and
11
+ * - a `RoutePreference` the host can supply: an ordered list of layers, with
12
+ * optional per-asset overrides.
13
+ *
14
+ * Pure + dependency-free; the router consumes it.
15
+ */
16
+ /**
17
+ * Default rail priority — **Lightning-first**: BOLT12 offer, then BOLT11, then
18
+ * the off-chain instant rails (Spark, Arkade), then on-chain (RGB-L1, Liquid,
19
+ * bare BTC). Used when no user preference applies. Lower index = higher priority.
20
+ */
21
+ export const DEFAULT_RAIL_ORDER = [
22
+ 'lno',
23
+ 'lightning',
24
+ 'spark',
25
+ 'ark',
26
+ 'rgb',
27
+ 'liquid',
28
+ 'onchain',
29
+ ];
30
+ /** Resolve the effective ordered layer list for a given asset id (if any). */
31
+ export function layerPreferenceFor(pref, assetId) {
32
+ if (!pref)
33
+ return undefined;
34
+ if (assetId && pref.perAsset && pref.perAsset[assetId])
35
+ return pref.perAsset[assetId];
36
+ return pref.layers;
37
+ }
38
+ const NOT_RANKED = Number.MAX_SAFE_INTEGER;
39
+ function indexOrLast(list, item) {
40
+ if (!list)
41
+ return NOT_RANKED;
42
+ const i = list.indexOf(item);
43
+ return i === -1 ? NOT_RANKED : i;
44
+ }
45
+ /**
46
+ * Comparator for two rail/layer routes given a resolved layer preference.
47
+ * Primary key: the user's layer ranking (if the route's layer appears in it).
48
+ * Tiebreak: the default rail ordering. Routes neither side ranks compare equal.
49
+ */
50
+ export function compareByPreference(a, b, layerPref) {
51
+ if (layerPref && layerPref.length) {
52
+ const ai = a.layer ? indexOrLast(layerPref, a.layer) : NOT_RANKED;
53
+ const bi = b.layer ? indexOrLast(layerPref, b.layer) : NOT_RANKED;
54
+ if (ai !== bi)
55
+ return ai - bi;
56
+ }
57
+ return indexOrLast(DEFAULT_RAIL_ORDER, a.rail) - indexOrLast(DEFAULT_RAIL_ORDER, b.rail);
58
+ }
59
+ /** Map a single-destination classification kind → its rail (for the non-URI path). */
60
+ export function railOfKind(kind) {
61
+ switch (kind) {
62
+ case 'BOLT12':
63
+ return 'lno';
64
+ case 'BOLT11':
65
+ case 'LN_ADDRESS':
66
+ return 'lightning';
67
+ case 'SPARK':
68
+ return 'spark';
69
+ case 'ARKADE':
70
+ return 'ark';
71
+ case 'RGB_INVOICE':
72
+ return 'rgb';
73
+ case 'LIQUID':
74
+ return 'liquid';
75
+ case 'BTC_ONCHAIN':
76
+ case 'BIP21':
77
+ default:
78
+ return 'onchain';
79
+ }
80
+ }
81
+ //# sourceMappingURL=preference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference.js","sourceRoot":"","sources":["../../src/router/preference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,KAAK;IACL,WAAW;IACX,OAAO;IACP,KAAK;IACL,KAAK;IACL,QAAQ;IACR,SAAS;CACV,CAAA;AAcD,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,IAAiC,EAAE,OAAgB;IACpF,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACrF,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAA;AAE1C,SAAS,WAAW,CAAI,IAA8B,EAAE,IAAO;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,UAAU,CAAA;IAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,CAAsC,EACtC,CAAsC,EACtC,SAAmB;IAEnB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;QACjE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;QACjE,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAA;IAC/B,CAAC;IACD,OAAO,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AAC1F,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,UAAU,CAAC,IAAqB;IAC9C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,KAAK,CAAA;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,OAAO,WAAW,CAAA;QACpB,KAAK,OAAO;YACV,OAAO,OAAO,CAAA;QAChB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAA;QACd,KAAK,aAAa;YAChB,OAAO,KAAK,CAAA;QACd,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,OAAO,CAAC;QACb;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * The swap module is bound to an account (it needs a wallet to settle legs) + a baseUrl.
9
9
  * No WDK/kaleido-sdk types cross this boundary.
10
10
  */
11
- import { Quote, QuoteRequest, SwapResult } from '../types/base';
11
+ import { Quote, QuoteRequest, SwapResult } from '../types/base.js';
12
12
  export interface KaleidoswapSwapConfig {
13
13
  /** KaleidoSwap maker API base URL. */
14
14
  baseUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"KaleidoswapSwap.d.ts","sourceRoot":"","sources":["../../src/swap/KaleidoswapSwap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAA;AAG9E,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,2EAA2E;AAC3E,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAA;IACvB,oFAAoF;IACpF,qBAAqB,EAAE,MAAM,CAAA;CAC9B;AAED,qBAAa,eAAe;IAOd,OAAO,CAAC,OAAO;IAAO,OAAO,CAAC,MAAM;IANhD,OAAO,CAAC,KAAK,CAAY;IAEzB;;;OAGG;gBACiB,OAAO,EAAE,GAAG,EAAU,MAAM,EAAE,qBAAqB;YAEzD,MAAM;IASd,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;IAyB/C,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,GAAG;QAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAkClI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAqB1D"}
1
+ {"version":3,"file":"KaleidoswapSwap.d.ts","sourceRoot":"","sources":["../../src/swap/KaleidoswapSwap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAA;AAoB9E,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,2EAA2E;AAC3E,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAA;IACvB,oFAAoF;IACpF,qBAAqB,EAAE,MAAM,CAAA;CAC9B;AAiCD,qBAAa,eAAe;IAOd,OAAO,CAAC,OAAO;IAAO,OAAO,CAAC,MAAM;IANhD,OAAO,CAAC,KAAK,CAAY;IAEzB;;;OAGG;gBACiB,OAAO,EAAE,GAAG,EAAU,MAAM,EAAE,qBAAqB;YAEzD,MAAM;IASd,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;IAyB/C,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,GAAG;QAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAmClI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAqB1D"}
@@ -8,8 +8,24 @@
8
8
  * The swap module is bound to an account (it needs a wallet to settle legs) + a baseUrl.
9
9
  * No WDK/kaleido-sdk types cross this boundary.
10
10
  */
11
- import { ProtocolError } from '../types/base';
12
- import { loadWdkModule } from '../adapters/wdk/moduleLoader';
11
+ import { ProtocolError } from '../types/base.js';
12
+ import { loadWdkModule } from '../adapters/wdk/moduleLoader.js';
13
+ /**
14
+ * Coerce an SDK money field to a number, failing CLOSED on values that would
15
+ * silently corrupt: `NaN`/`Infinity` (a renamed/missing field), or magnitudes
16
+ * past `Number.MAX_SAFE_INTEGER` where JS would lose integer precision. Money
17
+ * must never flow through as a quietly-wrong number.
18
+ */
19
+ function toAmount(value, field) {
20
+ const n = Number(value);
21
+ if (!Number.isFinite(n)) {
22
+ throw new ProtocolError(`Swap response field '${field}' is not a finite number`, 'RGB_LN', 'BAD_AMOUNT');
23
+ }
24
+ if (Math.abs(n) > Number.MAX_SAFE_INTEGER) {
25
+ throw new ProtocolError(`Swap response field '${field}' exceeds safe integer precision`, 'RGB_LN', 'BAD_AMOUNT');
26
+ }
27
+ return n;
28
+ }
13
29
  export class KaleidoswapSwap {
14
30
  /**
15
31
  * @param account a connected WDK account (e.g. the RLN account that settles RGB-LN legs).
@@ -31,7 +47,7 @@ export class KaleidoswapSwap {
31
47
  }
32
48
  async getQuote(req) {
33
49
  if (req.fromAmount == null) {
34
- throw new ProtocolError('Swap quote requires fromAmount', 'RGB', 'NO_AMOUNT');
50
+ throw new ProtocolError('Swap quote requires fromAmount', 'RGB_LN', 'NO_AMOUNT');
35
51
  }
36
52
  const proto = await this.ensure();
37
53
  const q = await proto.quoteSwap({
@@ -44,18 +60,18 @@ export class KaleidoswapSwap {
44
60
  return {
45
61
  id: q.rfqId,
46
62
  fromAsset: req.fromAsset,
47
- fromAmount: Number(q.tokenInAmount),
63
+ fromAmount: toAmount(q.tokenInAmount, 'tokenInAmount'),
48
64
  toAsset: req.toAsset,
49
- toAmount: Number(q.tokenOutAmount),
50
- price: Number(q.price),
51
- fee: { amount: Number(q.fee), asset: req.fromAsset },
52
- expiresAt: Number(q.expiresAt) * 1000,
65
+ toAmount: toAmount(q.tokenOutAmount, 'tokenOutAmount'),
66
+ price: toAmount(q.price, 'price'),
67
+ fee: { amount: toAmount(q.fee, 'fee'), asset: req.fromAsset },
68
+ expiresAt: toAmount(q.expiresAt, 'expiresAt') * 1000,
53
69
  provider: 'kaleidoswap',
54
70
  };
55
71
  }
56
72
  async executeSwap(req) {
57
73
  if (req.fromAmount == null) {
58
- throw new ProtocolError('Swap requires fromAmount', 'RGB', 'NO_AMOUNT');
74
+ throw new ProtocolError('Swap requires fromAmount', 'RGB_LN', 'NO_AMOUNT');
59
75
  }
60
76
  const proto = await this.ensure();
61
77
  const r = await proto.swap({
@@ -73,11 +89,12 @@ export class KaleidoswapSwap {
73
89
  quote: {
74
90
  id: r.orderId,
75
91
  fromAsset: req.fromAsset,
76
- fromAmount: Number(r.tokenInAmount),
92
+ fromAmount: toAmount(r.tokenInAmount, 'tokenInAmount'),
77
93
  toAsset: req.toAsset,
78
- toAmount: Number(r.tokenOutAmount),
79
- price: 0,
80
- fee: { amount: Number(r.fee), asset: req.fromAsset },
94
+ toAmount: toAmount(r.tokenOutAmount, 'tokenOutAmount'),
95
+ // Carry the executed price through when the maker returns it (was dropped to 0).
96
+ price: r.price != null ? toAmount(r.price, 'price') : 0,
97
+ fee: { amount: toAmount(r.fee, 'fee'), asset: req.fromAsset },
81
98
  expiresAt: 0,
82
99
  provider: 'kaleidoswap',
83
100
  },
@@ -94,13 +111,13 @@ export class KaleidoswapSwap {
94
111
  swapId: o.id,
95
112
  status,
96
113
  quote: {
97
- id: o.rfq_id,
98
- fromAsset: o.from_asset?.asset_id,
99
- fromAmount: Number(o.from_asset?.amount ?? 0),
100
- toAsset: o.to_asset?.asset_id,
101
- toAmount: Number(o.to_asset?.amount ?? 0),
102
- price: Number(o.price ?? 0),
103
- fee: { amount: 0, asset: o.from_asset?.asset_id },
114
+ id: o.rfq_id ?? o.id,
115
+ fromAsset: o.from_asset?.asset_id ?? '',
116
+ fromAmount: toAmount(o.from_asset?.amount ?? 0, 'from_asset.amount'),
117
+ toAsset: o.to_asset?.asset_id ?? '',
118
+ toAmount: toAmount(o.to_asset?.amount ?? 0, 'to_asset.amount'),
119
+ price: toAmount(o.price ?? 0, 'price'),
120
+ fee: { amount: 0, asset: o.from_asset?.asset_id ?? '' },
104
121
  expiresAt: 0,
105
122
  provider: 'kaleidoswap',
106
123
  },
@@ -1 +1 @@
1
- {"version":3,"file":"KaleidoswapSwap.js","sourceRoot":"","sources":["../../src/swap/KaleidoswapSwap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KaleidoswapSwap.js","sourceRoot":"","sources":["../../src/swap/KaleidoswapSwap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Kaleidoswap RFQ swap wrapper.
3
+ *
4
+ * Opt-in sub-path export: `@kaleidorg/wallet-engine/swap`. Uses the WDK
5
+ * module loader, so it is kept out of the adapter-free main barrel.
6
+ */
7
+ export { KaleidoswapSwap, type KaleidoswapSwapConfig, type SwapQuoteRequest, type SwapExecuteRequest, } from './KaleidoswapSwap.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swap/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Kaleidoswap RFQ swap wrapper.
3
+ *
4
+ * Opt-in sub-path export: `@kaleidorg/wallet-engine/swap`. Uses the WDK
5
+ * module loader, so it is kept out of the adapter-free main barrel.
6
+ */
7
+ export { KaleidoswapSwap, } from './KaleidoswapSwap.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/swap/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,eAAe,GAIhB,MAAM,mBAAmB,CAAA"}
@@ -2,7 +2,7 @@
2
2
  * Arkade Protocol Types
3
3
  * Ported from rate-extension/src/protocols/types/arkade.ts
4
4
  */
5
- import { BaseProtocolConfig } from '../adapters/IProtocolAdapter';
5
+ import { BaseProtocolConfig } from '../adapters/IProtocolAdapter.js';
6
6
  export interface ArkadeConfig extends Omit<BaseProtocolConfig, 'network'> {
7
7
  protocol: 'ARKADE';
8
8
  mnemonic: string;
@@ -2,8 +2,15 @@
2
2
  * Base types shared across all protocols
3
3
  * Ported from rate-extension/src/protocols/types/base.ts
4
4
  */
5
- export type ProtocolType = 'RGB' | 'SPARK' | 'ARKADE' | 'BTC' | 'LIQUID';
5
+ export type ProtocolType = 'RGB_LN' | 'RGB_L1' | 'SPARK' | 'ARKADE' | 'BTC' | 'LIQUID';
6
6
  export type Layer = 'BTC_L1' | 'BTC_LN' | 'BTC_ARKADE' | 'BTC_SPARK' | 'BTC_LIQUID' | 'RGB_L1' | 'RGB_LN' | 'SPARK_SPARK' | 'ARKADE_ARKADE' | 'LIQUID_ASSET';
7
+ export interface NodeInfo {
8
+ pubkey?: string;
9
+ local_balance_sat?: number;
10
+ outbound_balance_msat?: number;
11
+ num_channels?: number;
12
+ [key: string]: unknown;
13
+ }
7
14
  export interface UnifiedAsset {
8
15
  id: string;
9
16
  name: string;
@@ -103,8 +110,15 @@ export interface PaymentRequest {
103
110
  /** Cap on routing fee for Lightning sends (sats). Some protocols (Spark) require it. */
104
111
  maxFeeSats?: number;
105
112
  }
113
+ export interface KeysendRequest {
114
+ pubkey: string;
115
+ amount: number;
116
+ assetId?: string;
117
+ assetAmount?: number;
118
+ }
106
119
  export interface PaymentResult {
107
120
  paymentHash: string;
121
+ txid?: string;
108
122
  preimage?: string;
109
123
  amount: number;
110
124
  fee: number;
@@ -119,27 +133,6 @@ export interface PaymentStatus {
119
133
  timestamp?: number;
120
134
  error?: string;
121
135
  }
122
- /**
123
- * Result of claiming the confirmed on-chain UTXO(s) sent to a single deposit
124
- * address (e.g. a Spark single-use L1 deposit address → wallet balance).
125
- * - 'awaiting' — no confirmed UTXO yet; keep polling.
126
- * - 'claimed' — one or more deposits claimed (see `txids`).
127
- * - 'error' — lookup/claim failed (see `error`).
128
- */
129
- export interface DepositClaimResult {
130
- status: 'awaiting' | 'claimed' | 'error';
131
- txids?: string[];
132
- error?: string;
133
- }
134
- /**
135
- * Result of a one-shot sweep over every unclaimed single-use deposit address —
136
- * recovers on-chain deposits made to addresses from earlier sessions.
137
- */
138
- export interface DepositSweepResult {
139
- addressesChecked: number;
140
- claimedTxids: string[];
141
- errors: string[];
142
- }
143
136
  export interface Address {
144
137
  address: string;
145
138
  format: AddressFormat;
@@ -203,16 +196,33 @@ export interface SwapResult {
203
196
  quote: Quote;
204
197
  timestamp: number;
205
198
  }
199
+ export declare const ErrorCode: {
200
+ readonly CONNECTION_ERROR: "CONNECTION_ERROR";
201
+ readonly INSUFFICIENT_BALANCE: "INSUFFICIENT_BALANCE";
202
+ readonly NOT_SUPPORTED: "NOT_SUPPORTED";
203
+ readonly NOT_CONFIGURED: "NOT_CONFIGURED";
204
+ readonly VALIDATION_ERROR: "VALIDATION_ERROR";
205
+ };
206
+ export type ErrorCodeType = (typeof ErrorCode)[keyof typeof ErrorCode];
206
207
  export declare class ProtocolError extends Error {
207
208
  protocol: ProtocolType;
208
209
  code?: string | undefined;
209
- details?: any | undefined;
210
- constructor(message: string, protocol: ProtocolType, code?: string | undefined, details?: any | undefined);
210
+ details?: unknown | undefined;
211
+ constructor(message: string, protocol: ProtocolType, code?: string | undefined, details?: unknown | undefined);
211
212
  }
212
213
  export declare class ConnectionError extends ProtocolError {
213
- constructor(message: string, protocol: ProtocolType, details?: any);
214
+ constructor(message: string, protocol: ProtocolType, details?: unknown);
214
215
  }
215
216
  export declare class InsufficientBalanceError extends ProtocolError {
216
217
  constructor(message: string, protocol: ProtocolType, required: number, available: number);
217
218
  }
219
+ export declare class CapabilityError extends ProtocolError {
220
+ constructor(message: string, protocol: ProtocolType, details?: unknown);
221
+ }
222
+ export declare class ConfigurationError extends ProtocolError {
223
+ constructor(message: string, protocol: ProtocolType, details?: unknown);
224
+ }
225
+ export declare class ValidationError extends ProtocolError {
226
+ constructor(message: string, protocol: ProtocolType, details?: unknown);
227
+ }
218
228
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,14 @@
2
2
  * Base types shared across all protocols
3
3
  * Ported from rate-extension/src/protocols/types/base.ts
4
4
  */
5
+ // Error codes
6
+ export const ErrorCode = {
7
+ CONNECTION_ERROR: 'CONNECTION_ERROR',
8
+ INSUFFICIENT_BALANCE: 'INSUFFICIENT_BALANCE',
9
+ NOT_SUPPORTED: 'NOT_SUPPORTED',
10
+ NOT_CONFIGURED: 'NOT_CONFIGURED',
11
+ VALIDATION_ERROR: 'VALIDATION_ERROR',
12
+ };
5
13
  // Error types
6
14
  export class ProtocolError extends Error {
7
15
  constructor(message, protocol, code, details) {
@@ -14,14 +22,32 @@ export class ProtocolError extends Error {
14
22
  }
15
23
  export class ConnectionError extends ProtocolError {
16
24
  constructor(message, protocol, details) {
17
- super(message, protocol, 'CONNECTION_ERROR', details);
25
+ super(message, protocol, ErrorCode.CONNECTION_ERROR, details);
18
26
  this.name = 'ConnectionError';
19
27
  }
20
28
  }
21
29
  export class InsufficientBalanceError extends ProtocolError {
22
30
  constructor(message, protocol, required, available) {
23
- super(message, protocol, 'INSUFFICIENT_BALANCE', { required, available });
31
+ super(message, protocol, ErrorCode.INSUFFICIENT_BALANCE, { required, available });
24
32
  this.name = 'InsufficientBalanceError';
25
33
  }
26
34
  }
35
+ export class CapabilityError extends ProtocolError {
36
+ constructor(message, protocol, details) {
37
+ super(message, protocol, ErrorCode.NOT_SUPPORTED, details);
38
+ this.name = 'CapabilityError';
39
+ }
40
+ }
41
+ export class ConfigurationError extends ProtocolError {
42
+ constructor(message, protocol, details) {
43
+ super(message, protocol, ErrorCode.NOT_CONFIGURED, details);
44
+ this.name = 'ConfigurationError';
45
+ }
46
+ }
47
+ export class ValidationError extends ProtocolError {
48
+ constructor(message, protocol, details) {
49
+ super(message, protocol, ErrorCode.VALIDATION_ERROR, details);
50
+ this.name = 'ValidationError';
51
+ }
52
+ }
27
53
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6QH,cAAc;AACd,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACR,QAAsB,EACtB,IAAa,EACb,OAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAA;QAJP,aAAQ,GAAR,QAAQ,CAAc;QACtB,SAAI,GAAJ,IAAI,CAAS;QACb,YAAO,GAAP,OAAO,CAAM;QAGpB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,YAAY,OAAe,EAAE,QAAsB,EAAE,OAAa;QAChE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAA;QACrD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,aAAa;IACzD,YAAY,OAAe,EAAE,QAAsB,EAAE,QAAgB,EAAE,SAAiB;QACtF,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0QH,cAAc;AACd,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;CAC5B,CAAA;AAIV,cAAc;AACd,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACR,QAAsB,EACtB,IAAa,EACb,OAAiB;QAExB,KAAK,CAAC,OAAO,CAAC,CAAA;QAJP,aAAQ,GAAR,QAAQ,CAAc;QACtB,SAAI,GAAJ,IAAI,CAAS;QACb,YAAO,GAAP,OAAO,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,YAAY,OAAe,EAAE,QAAsB,EAAE,OAAiB;QACpE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,aAAa;IACzD,YAAY,OAAe,EAAE,QAAsB,EAAE,QAAgB,EAAE,SAAiB;QACtF,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACjF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,YAAY,OAAe,EAAE,QAAsB,EAAE,OAAiB;QACpE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IACnD,YAAY,OAAe,EAAE,QAAsB,EAAE,OAAiB;QACpE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,YAAY,OAAe,EAAE,QAAsB,EAAE,OAAiB;QACpE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF"}
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * The atomic-swap design lives in docs/atomic-swaps/spark-arkade.md.
14
14
  */
15
- import type { Layer } from './base';
15
+ import type { Layer } from './base.js';
16
16
  export type BackendId = 'spark' | 'arkade' | 'rln' | 'boltz';
17
17
  /**
18
18
  * Phase of a cross-L2 swap. Rides alongside the maker's existing
@@ -1,15 +1,35 @@
1
1
  /**
2
2
  * Flashnet Protocol Types
3
3
  * Ported from rate-extension/src/protocols/types/flashnet.ts
4
+ *
5
+ * Re-exports the @flashnet/sdk types we lean on so call sites have a single
6
+ * import surface. These are type-only re-exports — erased at compile time — so
7
+ * the SDK-free root barrel stays runtime-clean even though it does
8
+ * `export * from './types/flashnet'`.
4
9
  */
10
+ export type { FlashnetClient, WalletBalance, TokenBalance } from '@flashnet/sdk';
11
+ export type { SimulateSwapRequest, SimulateSwapResponse, SwapResponse, SimulateRouteSwapRequest, SimulateRouteSwapResponse, ExecuteRouteSwapResponse, ListPoolsQuery, ListPoolsResponse, PoolDetailsResponse, PoolLiquidityResponse, ListPoolSwapsQuery, ListPoolSwapsResponse, ListUserSwapsQuery, ListUserSwapsResponse, FlashnetErrorCode, FlashnetErrorResponseBody, } from '@flashnet/sdk';
5
12
  export type FlashnetNetwork = 'mainnet' | 'regtest';
6
13
  export declare const USDB_TOKEN_ADDRESS: Record<'mainnet' | 'regtest', string>;
14
+ export declare const USDB_TOKEN_ADDRESS_ALIASES: string[];
7
15
  export declare const BTC_ASSET_PUBKEY = "020202020202020202020202020202020202020202020202020202020202020202";
8
16
  export declare const USDB_DECIMALS = 6;
9
17
  export declare const BTC_DECIMALS = 8;
18
+ export declare const FLASHNET_API_URL: Record<'mainnet' | 'regtest', string>;
19
+ export declare const FLASHNET_REWARDS_API_URL = "https://rewards.flashnet.xyz";
20
+ export declare const FLASHNET_USDB_REWARDS_DOC_URL = "https://docs.flashnet.xyz/usdb/rewards";
21
+ export declare const SPARK_BALANCES_DOC_URL = "https://docs.spark.money/wallets/balances";
10
22
  export declare const DEFAULT_SLIPPAGE_BPS = 500;
23
+ export interface UsdbRewardTier {
24
+ minBalance: number;
25
+ rate: number;
26
+ label: string;
27
+ }
28
+ export declare const USDB_REWARD_TIERS: UsdbRewardTier[];
11
29
  export declare function getFlashnetNetworkForSpark(sparkNetwork: string | null | undefined): FlashnetNetwork | null;
12
30
  export declare function getFlashnetUsdbTokenAddress(network: FlashnetNetwork): string;
31
+ export declare function isUsdbTokenAddress(value: string | null | undefined): boolean;
32
+ export declare function getUsdbRewardRate(usdbBalance: number): number;
13
33
  export interface FlashnetSwapSimulation {
14
34
  amountOut: bigint;
15
35
  executionPrice: number;
@@ -1 +1 @@
1
- {"version":3,"file":"flashnet.d.ts","sourceRoot":"","sources":["../../src/types/flashnet.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAA;AAEnD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,MAAM,CAGpE,CAAA;AAED,eAAO,MAAM,gBAAgB,uEAAuE,CAAA;AAEpG,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,YAAY,IAAI,CAAA;AAE7B,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,eAAe,GAAG,IAAI,CAIxB;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAE5E;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb"}
1
+ {"version":3,"file":"flashnet.d.ts","sourceRoot":"","sources":["../../src/types/flashnet.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAChF,YAAY,EAEV,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EAEZ,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EAExB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EAErB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EAErB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAA;AAGnD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,MAAM,CAGpE,CAAA;AAED,eAAO,MAAM,0BAA0B,UAGtC,CAAA;AAED,eAAO,MAAM,gBAAgB,uEACyC,CAAA;AAEtE,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,YAAY,IAAI,CAAA;AAE7B,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,MAAM,CAGlE,CAAA;AAED,eAAO,MAAM,wBAAwB,iCAAiC,CAAA;AACtE,eAAO,MAAM,6BAA6B,2CAA2C,CAAA;AACrF,eAAO,MAAM,sBAAsB,8CAA8C,CAAA;AAEjF,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAI7C,CAAA;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,eAAe,GAAG,IAAI,CAKxB;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAI5E;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb"}
@@ -1,23 +1,51 @@
1
- /**
2
- * Flashnet Protocol Types
3
- * Ported from rate-extension/src/protocols/types/flashnet.ts
4
- */
1
+ // Mainnet and regtest share one canonical USDB token address.
5
2
  export const USDB_TOKEN_ADDRESS = {
6
3
  mainnet: 'btkn1xgrvjwey5ngcagvap2dzzvsy4uk8ua9x69k82dwvt5e7ef9drm9qztux87',
7
4
  regtest: 'btkn1xgrvjwey5ngcagvap2dzzvsy4uk8ua9x69k82dwvt5e7ef9drm9qztux87',
8
5
  };
6
+ export const USDB_TOKEN_ADDRESS_ALIASES = [
7
+ USDB_TOKEN_ADDRESS.mainnet,
8
+ 'btknrt1xgrvjwey5ngcagvap2dzzvsy4uk8ua9x69k82dwvt5e7ef9drm9qp48s74',
9
+ ];
9
10
  export const BTC_ASSET_PUBKEY = '020202020202020202020202020202020202020202020202020202020202020202';
10
11
  export const USDB_DECIMALS = 6;
11
12
  export const BTC_DECIMALS = 8;
13
+ export const FLASHNET_API_URL = {
14
+ mainnet: 'https://api.flashnet.xyz',
15
+ regtest: 'https://api.amm.makebitcoingreatagain.dev',
16
+ };
17
+ export const FLASHNET_REWARDS_API_URL = 'https://rewards.flashnet.xyz';
18
+ export const FLASHNET_USDB_REWARDS_DOC_URL = 'https://docs.flashnet.xyz/usdb/rewards';
19
+ export const SPARK_BALANCES_DOC_URL = 'https://docs.spark.money/wallets/balances';
12
20
  export const DEFAULT_SLIPPAGE_BPS = 500;
21
+ export const USDB_REWARD_TIERS = [
22
+ { minBalance: 10, rate: 0.035, label: '3.5%' },
23
+ { minBalance: 1000, rate: 0.045, label: '4.5%' },
24
+ { minBalance: 10000, rate: 0.06, label: '6%' },
25
+ ];
13
26
  export function getFlashnetNetworkForSpark(sparkNetwork) {
14
- if (sparkNetwork === 'mainnet')
27
+ const normalized = sparkNetwork?.trim().toLowerCase();
28
+ if (normalized === 'mainnet')
15
29
  return 'mainnet';
16
- if (sparkNetwork === 'regtest')
30
+ if (normalized === 'regtest')
17
31
  return 'regtest';
18
32
  return null;
19
33
  }
20
34
  export function getFlashnetUsdbTokenAddress(network) {
21
35
  return USDB_TOKEN_ADDRESS[network];
22
36
  }
37
+ export function isUsdbTokenAddress(value) {
38
+ if (!value)
39
+ return false;
40
+ const normalized = value.trim().toLowerCase();
41
+ return USDB_TOKEN_ADDRESS_ALIASES.some((alias) => alias.toLowerCase() === normalized);
42
+ }
43
+ export function getUsdbRewardRate(usdbBalance) {
44
+ let rate = 0;
45
+ for (const tier of USDB_REWARD_TIERS) {
46
+ if (usdbBalance >= tier.minBalance)
47
+ rate = tier.rate;
48
+ }
49
+ return rate;
50
+ }
23
51
  //# sourceMappingURL=flashnet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flashnet.js","sourceRoot":"","sources":["../../src/types/flashnet.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAA0C;IACvE,OAAO,EAAE,iEAAiE;IAC1E,OAAO,EAAE,iEAAiE;CAC3E,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,oEAAoE,CAAA;AAEpG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAE7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAEvC,MAAM,UAAU,0BAA0B,CACxC,YAAuC;IAEvC,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAChD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"flashnet.js","sourceRoot":"","sources":["../../src/types/flashnet.ts"],"names":[],"mappings":"AAoCA,8DAA8D;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAA0C;IACvE,OAAO,EAAE,iEAAiE;IAC1E,OAAO,EAAE,iEAAiE;CAC3E,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,kBAAkB,CAAC,OAAO;IAC1B,mEAAmE;CACpE,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAC3B,oEAAoE,CAAA;AAEtE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAA0C;IACrE,OAAO,EAAE,0BAA0B;IACnC,OAAO,EAAE,2CAA2C;CACrD,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,8BAA8B,CAAA;AACtE,MAAM,CAAC,MAAM,6BAA6B,GAAG,wCAAwC,CAAA;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,2CAA2C,CAAA;AAEjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAQvC,MAAM,CAAC,MAAM,iBAAiB,GAAqB;IACjD,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;IAC9C,EAAE,UAAU,EAAE,IAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;IACjD,EAAE,UAAU,EAAE,KAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;CAChD,CAAA;AAED,MAAM,UAAU,0BAA0B,CACxC,YAAuC;IAEvC,MAAM,UAAU,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACrD,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC9C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC9C,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAgC;IACjE,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -2,13 +2,27 @@
2
2
  * RGB Protocol Types
3
3
  * Ported from rate-extension/src/protocols/types/rgb.ts
4
4
  */
5
- import { BaseProtocolConfig } from '../adapters/IProtocolAdapter';
5
+ import { BaseProtocolConfig } from '../adapters/IProtocolAdapter.js';
6
+ /**
7
+ * How the RGB Lightning Node (RLN) is reached.
8
+ * - "http": direct HTTP RPC to `nodeUrl` (optional Biscuit/JWT auth).
9
+ * - "nwc": Nostr Wallet Connect — the node is reached over a relay using a
10
+ * `nostr+walletconnect://` connection string (`nwcUri`).
11
+ */
12
+ export type RgbTransport = 'http' | 'nwc';
6
13
  export interface RgbConfig extends BaseProtocolConfig {
7
- protocol: 'RGB';
8
- makerUrl?: string;
9
- nodeUrl: string;
14
+ protocol: 'RGB_LN';
15
+ makerUrl: string;
16
+ /** Node transport. Defaults to "http" when omitted. */
17
+ transport?: RgbTransport;
18
+ nodeUrl?: string;
10
19
  jwt?: string;
11
20
  apiKey?: string;
21
+ /**
22
+ * `nostr+walletconnect://` connection string. Required for transport "nwc".
23
+ * Sensitive (carries the client secret) — encrypted at rest, never logged.
24
+ */
25
+ nwcUri?: string;
12
26
  }
13
27
  export interface RgbAssetMetadata {
14
28
  assetId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"rgb.d.ts","sourceRoot":"","sources":["../../src/types/rgb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rgb.d.ts","sourceRoot":"","sources":["../../src/types/rgb.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Spark Protocol Types
3
3
  * Ported from rate-extension/src/protocols/types/spark.ts
4
4
  */
5
- import { BaseProtocolConfig } from '../adapters/IProtocolAdapter';
5
+ import { BaseProtocolConfig } from '../adapters/IProtocolAdapter.js';
6
6
  export interface SparkConfig extends Omit<BaseProtocolConfig, 'network'> {
7
7
  protocol: 'SPARK';
8
8
  mnemonic: string;