zerc20-client-sdk 0.1.15 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/README.md +239 -25
  2. package/dist/chain/__tests__/metadata.test.d.ts +2 -0
  3. package/dist/chain/__tests__/metadata.test.d.ts.map +1 -0
  4. package/dist/chain/__tests__/metadata.test.js +162 -0
  5. package/dist/chain/__tests__/metadata.test.js.map +1 -0
  6. package/dist/chain/index.d.ts +3 -0
  7. package/dist/chain/index.d.ts.map +1 -0
  8. package/dist/chain/index.js +2 -0
  9. package/dist/chain/index.js.map +1 -0
  10. package/dist/chain/metadata.d.ts +38 -0
  11. package/dist/chain/metadata.d.ts.map +1 -0
  12. package/dist/chain/metadata.js +158 -0
  13. package/dist/chain/metadata.js.map +1 -0
  14. package/dist/chain/types.d.ts +18 -0
  15. package/dist/chain/types.d.ts.map +1 -0
  16. package/dist/chain/types.js +2 -0
  17. package/dist/chain/types.js.map +1 -0
  18. package/dist/constants.d.ts +3 -3
  19. package/dist/constants.js +3 -3
  20. package/dist/ic/__tests__/connections.test.js +16 -152
  21. package/dist/ic/__tests__/connections.test.js.map +1 -1
  22. package/dist/ic/__tests__/recipient.test.d.ts +2 -0
  23. package/dist/ic/__tests__/recipient.test.d.ts.map +1 -0
  24. package/dist/ic/__tests__/recipient.test.js +47 -0
  25. package/dist/ic/__tests__/recipient.test.js.map +1 -0
  26. package/dist/ic/authorization.js +2 -2
  27. package/dist/ic/authorization.js.map +1 -1
  28. package/dist/ic/connections.d.ts +0 -50
  29. package/dist/ic/connections.d.ts.map +1 -1
  30. package/dist/ic/connections.js +0 -127
  31. package/dist/ic/connections.js.map +1 -1
  32. package/dist/ic/index.d.ts +4 -8
  33. package/dist/ic/index.d.ts.map +1 -1
  34. package/dist/ic/index.js +3 -8
  35. package/dist/ic/index.js.map +1 -1
  36. package/dist/ic/recipient.d.ts +10 -0
  37. package/dist/ic/recipient.d.ts.map +1 -1
  38. package/dist/ic/recipient.js +21 -1
  39. package/dist/ic/recipient.js.map +1 -1
  40. package/dist/index.d.ts +14 -5
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +8 -5
  43. package/dist/index.js.map +1 -1
  44. package/dist/onchain/__tests__/contracts.test.js +2 -32
  45. package/dist/onchain/__tests__/contracts.test.js.map +1 -1
  46. package/dist/onchain/__tests__/decode.test.d.ts +2 -0
  47. package/dist/onchain/__tests__/decode.test.d.ts.map +1 -0
  48. package/dist/onchain/__tests__/decode.test.js +155 -0
  49. package/dist/onchain/__tests__/decode.test.js.map +1 -0
  50. package/dist/onchain/__tests__/tokenReads.test.d.ts +2 -0
  51. package/dist/onchain/__tests__/tokenReads.test.d.ts.map +1 -0
  52. package/dist/onchain/__tests__/tokenReads.test.js +60 -0
  53. package/dist/onchain/__tests__/tokenReads.test.js.map +1 -0
  54. package/dist/onchain/contracts.d.ts +3 -29734
  55. package/dist/onchain/contracts.d.ts.map +1 -1
  56. package/dist/onchain/contracts.js +3 -59
  57. package/dist/onchain/contracts.js.map +1 -1
  58. package/dist/onchain/decode.d.ts +39 -0
  59. package/dist/onchain/decode.d.ts.map +1 -0
  60. package/dist/onchain/decode.js +100 -0
  61. package/dist/onchain/decode.js.map +1 -0
  62. package/dist/onchain/tokenReads.d.ts +30 -0
  63. package/dist/onchain/tokenReads.d.ts.map +1 -0
  64. package/dist/onchain/tokenReads.js +51 -0
  65. package/dist/onchain/tokenReads.js.map +1 -0
  66. package/dist/operations/__tests__/invoice.test.js +52 -1
  67. package/dist/operations/__tests__/invoice.test.js.map +1 -1
  68. package/dist/operations/__tests__/privateSendTransfer.test.d.ts +2 -0
  69. package/dist/operations/__tests__/privateSendTransfer.test.d.ts.map +1 -0
  70. package/dist/operations/__tests__/privateSendTransfer.test.js +60 -0
  71. package/dist/operations/__tests__/privateSendTransfer.test.js.map +1 -0
  72. package/dist/operations/__tests__/reexports.test.js +1 -1
  73. package/dist/operations/__tests__/reexports.test.js.map +1 -1
  74. package/dist/operations/__tests__/teleportProof.test.js +35 -75
  75. package/dist/operations/__tests__/teleportProof.test.js.map +1 -1
  76. package/dist/operations/invoice.d.ts +14 -0
  77. package/dist/operations/invoice.d.ts.map +1 -1
  78. package/dist/operations/invoice.js +22 -0
  79. package/dist/operations/invoice.js.map +1 -1
  80. package/dist/operations/layerzeroScan/__tests__/codec.decode.test.d.ts +2 -0
  81. package/dist/operations/layerzeroScan/__tests__/codec.decode.test.d.ts.map +1 -0
  82. package/dist/operations/layerzeroScan/__tests__/codec.decode.test.js +57 -0
  83. package/dist/operations/layerzeroScan/__tests__/codec.decode.test.js.map +1 -0
  84. package/dist/operations/layerzeroScan/__tests__/codec.test.d.ts +2 -0
  85. package/dist/operations/layerzeroScan/__tests__/codec.test.d.ts.map +1 -0
  86. package/dist/operations/layerzeroScan/__tests__/codec.test.js +120 -0
  87. package/dist/operations/layerzeroScan/__tests__/codec.test.js.map +1 -0
  88. package/dist/operations/layerzeroScan/__tests__/formatters.test.d.ts +2 -0
  89. package/dist/operations/layerzeroScan/__tests__/formatters.test.d.ts.map +1 -0
  90. package/dist/operations/layerzeroScan/__tests__/formatters.test.js +164 -0
  91. package/dist/operations/layerzeroScan/__tests__/formatters.test.js.map +1 -0
  92. package/dist/operations/layerzeroScan/__tests__/integration.test.d.ts +2 -0
  93. package/dist/operations/layerzeroScan/__tests__/integration.test.d.ts.map +1 -0
  94. package/dist/operations/layerzeroScan/__tests__/integration.test.js +164 -0
  95. package/dist/operations/layerzeroScan/__tests__/integration.test.js.map +1 -0
  96. package/dist/operations/layerzeroScan/__tests__/scan.test.d.ts +2 -0
  97. package/dist/operations/layerzeroScan/__tests__/scan.test.d.ts.map +1 -0
  98. package/dist/operations/layerzeroScan/__tests__/scan.test.js +103 -0
  99. package/dist/operations/layerzeroScan/__tests__/scan.test.js.map +1 -0
  100. package/dist/operations/layerzeroScan/__tests__/status.test.d.ts +2 -0
  101. package/dist/operations/layerzeroScan/__tests__/status.test.d.ts.map +1 -0
  102. package/dist/operations/layerzeroScan/__tests__/status.test.js +153 -0
  103. package/dist/operations/layerzeroScan/__tests__/status.test.js.map +1 -0
  104. package/dist/operations/layerzeroScan/codec.d.ts +34 -0
  105. package/dist/operations/layerzeroScan/codec.d.ts.map +1 -0
  106. package/dist/operations/layerzeroScan/codec.js +79 -0
  107. package/dist/operations/layerzeroScan/codec.js.map +1 -0
  108. package/dist/operations/layerzeroScan/formatters.d.ts +26 -0
  109. package/dist/operations/layerzeroScan/formatters.d.ts.map +1 -0
  110. package/dist/operations/layerzeroScan/formatters.js +75 -0
  111. package/dist/operations/layerzeroScan/formatters.js.map +1 -0
  112. package/dist/operations/layerzeroScan/index.d.ts +9 -0
  113. package/dist/operations/layerzeroScan/index.d.ts.map +1 -0
  114. package/dist/operations/layerzeroScan/index.js +12 -0
  115. package/dist/operations/layerzeroScan/index.js.map +1 -0
  116. package/dist/operations/layerzeroScan/scan.d.ts +21 -0
  117. package/dist/operations/layerzeroScan/scan.d.ts.map +1 -0
  118. package/dist/operations/layerzeroScan/scan.js +70 -0
  119. package/dist/operations/layerzeroScan/scan.js.map +1 -0
  120. package/dist/operations/layerzeroScan/status.d.ts +17 -0
  121. package/dist/operations/layerzeroScan/status.d.ts.map +1 -0
  122. package/dist/operations/layerzeroScan/status.js +178 -0
  123. package/dist/operations/layerzeroScan/status.js.map +1 -0
  124. package/dist/operations/layerzeroScan/types.d.ts +181 -0
  125. package/dist/operations/layerzeroScan/types.d.ts.map +1 -0
  126. package/dist/operations/layerzeroScan/types.js +5 -0
  127. package/dist/operations/layerzeroScan/types.js.map +1 -0
  128. package/dist/operations/layerzeroScan.d.ts +5 -0
  129. package/dist/operations/layerzeroScan.d.ts.map +1 -0
  130. package/dist/operations/layerzeroScan.js +5 -0
  131. package/dist/operations/layerzeroScan.js.map +1 -0
  132. package/dist/operations/liquidityManager/__tests__/balance.test.js +24 -37
  133. package/dist/operations/liquidityManager/__tests__/balance.test.js.map +1 -1
  134. package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.js +51 -31
  135. package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.js.map +1 -1
  136. package/dist/operations/liquidityManager/__tests__/helpers.test.js +11 -8
  137. package/dist/operations/liquidityManager/__tests__/helpers.test.js.map +1 -1
  138. package/dist/operations/liquidityManager/__tests__/unwrap.test.js +68 -82
  139. package/dist/operations/liquidityManager/__tests__/unwrap.test.js.map +1 -1
  140. package/dist/operations/liquidityManager/__tests__/wrap.test.js +55 -64
  141. package/dist/operations/liquidityManager/__tests__/wrap.test.js.map +1 -1
  142. package/dist/operations/liquidityManager/abi.d.ts +57 -0
  143. package/dist/operations/liquidityManager/abi.d.ts.map +1 -0
  144. package/dist/operations/liquidityManager/abi.js +41 -0
  145. package/dist/operations/liquidityManager/abi.js.map +1 -0
  146. package/dist/operations/liquidityManager/balance.d.ts +3 -3
  147. package/dist/operations/liquidityManager/balance.d.ts.map +1 -1
  148. package/dist/operations/liquidityManager/balance.js +22 -15
  149. package/dist/operations/liquidityManager/balance.js.map +1 -1
  150. package/dist/operations/liquidityManager/crossUnwrap.d.ts +13 -11
  151. package/dist/operations/liquidityManager/crossUnwrap.d.ts.map +1 -1
  152. package/dist/operations/liquidityManager/crossUnwrap.js +44 -20
  153. package/dist/operations/liquidityManager/crossUnwrap.js.map +1 -1
  154. package/dist/operations/liquidityManager/helpers.d.ts +10 -15474
  155. package/dist/operations/liquidityManager/helpers.d.ts.map +1 -1
  156. package/dist/operations/liquidityManager/helpers.js +28 -18
  157. package/dist/operations/liquidityManager/helpers.js.map +1 -1
  158. package/dist/operations/liquidityManager/index.d.ts +1 -0
  159. package/dist/operations/liquidityManager/index.d.ts.map +1 -1
  160. package/dist/operations/liquidityManager/index.js +2 -0
  161. package/dist/operations/liquidityManager/index.js.map +1 -1
  162. package/dist/operations/liquidityManager/types.d.ts +1 -1
  163. package/dist/operations/liquidityManager/types.d.ts.map +1 -1
  164. package/dist/operations/liquidityManager/unwrap.d.ts +9 -9
  165. package/dist/operations/liquidityManager/unwrap.d.ts.map +1 -1
  166. package/dist/operations/liquidityManager/unwrap.js +48 -24
  167. package/dist/operations/liquidityManager/unwrap.js.map +1 -1
  168. package/dist/operations/liquidityManager/wrap.d.ts +7 -7
  169. package/dist/operations/liquidityManager/wrap.d.ts.map +1 -1
  170. package/dist/operations/liquidityManager/wrap.js +35 -16
  171. package/dist/operations/liquidityManager/wrap.js.map +1 -1
  172. package/dist/operations/privateSend.d.ts +33 -0
  173. package/dist/operations/privateSend.d.ts.map +1 -1
  174. package/dist/operations/privateSend.js +26 -0
  175. package/dist/operations/privateSend.js.map +1 -1
  176. package/dist/operations/receive/__tests__/announcementStatus.test.js +34 -11
  177. package/dist/operations/receive/__tests__/announcementStatus.test.js.map +1 -1
  178. package/dist/operations/receive/__tests__/cache.test.js +28 -167
  179. package/dist/operations/receive/__tests__/cache.test.js.map +1 -1
  180. package/dist/operations/receive/__tests__/createVerifierReader.test.d.ts +2 -0
  181. package/dist/operations/receive/__tests__/createVerifierReader.test.d.ts.map +1 -0
  182. package/dist/operations/receive/__tests__/createVerifierReader.test.js +28 -0
  183. package/dist/operations/receive/__tests__/createVerifierReader.test.js.map +1 -0
  184. package/dist/operations/receive/__tests__/helpers.test.js +9 -9
  185. package/dist/operations/receive/__tests__/helpers.test.js.map +1 -1
  186. package/dist/operations/receive/__tests__/redeemTransaction.test.d.ts +2 -0
  187. package/dist/operations/receive/__tests__/redeemTransaction.test.d.ts.map +1 -0
  188. package/dist/operations/receive/__tests__/redeemTransaction.test.js +258 -0
  189. package/dist/operations/receive/__tests__/redeemTransaction.test.js.map +1 -0
  190. package/dist/operations/receive/__tests__/submitRedeem.test.d.ts +2 -0
  191. package/dist/operations/receive/__tests__/submitRedeem.test.d.ts.map +1 -0
  192. package/dist/operations/receive/__tests__/submitRedeem.test.js +58 -0
  193. package/dist/operations/receive/__tests__/submitRedeem.test.js.map +1 -0
  194. package/dist/operations/receive/announcementStatus.d.ts +1 -1
  195. package/dist/operations/receive/announcementStatus.d.ts.map +1 -1
  196. package/dist/operations/receive/announcementStatus.js +7 -5
  197. package/dist/operations/receive/announcementStatus.js.map +1 -1
  198. package/dist/operations/receive/cache.d.ts +0 -18
  199. package/dist/operations/receive/cache.d.ts.map +1 -1
  200. package/dist/operations/receive/cache.js +0 -30
  201. package/dist/operations/receive/cache.js.map +1 -1
  202. package/dist/operations/receive/helpers.d.ts +14 -3
  203. package/dist/operations/receive/helpers.d.ts.map +1 -1
  204. package/dist/operations/receive/helpers.js +33 -3
  205. package/dist/operations/receive/helpers.js.map +1 -1
  206. package/dist/operations/receive/index.d.ts +6 -2
  207. package/dist/operations/receive/index.d.ts.map +1 -1
  208. package/dist/operations/receive/index.js +6 -1
  209. package/dist/operations/receive/index.js.map +1 -1
  210. package/dist/operations/receive/redeemTransaction.d.ts +30 -0
  211. package/dist/operations/receive/redeemTransaction.d.ts.map +1 -0
  212. package/dist/operations/receive/redeemTransaction.js +104 -0
  213. package/dist/operations/receive/redeemTransaction.js.map +1 -0
  214. package/dist/operations/receive/submitRedeem.d.ts +32 -0
  215. package/dist/operations/receive/submitRedeem.d.ts.map +1 -0
  216. package/dist/operations/receive/submitRedeem.js +27 -0
  217. package/dist/operations/receive/submitRedeem.js.map +1 -0
  218. package/dist/operations/receive/types.d.ts +53 -5
  219. package/dist/operations/receive/types.d.ts.map +1 -1
  220. package/dist/operations/teleportProof.d.ts +10 -31
  221. package/dist/operations/teleportProof.d.ts.map +1 -1
  222. package/dist/operations/teleportProof.js +14 -26
  223. package/dist/operations/teleportProof.js.map +1 -1
  224. package/dist/registry/__tests__/helpers.test.js +2 -44
  225. package/dist/registry/__tests__/helpers.test.js.map +1 -1
  226. package/dist/registry/__tests__/loader.test.js +17 -191
  227. package/dist/registry/__tests__/loader.test.js.map +1 -1
  228. package/dist/registry/__tests__/normalize.test.js +109 -1
  229. package/dist/registry/__tests__/normalize.test.js.map +1 -1
  230. package/dist/registry/helpers.d.ts +0 -7
  231. package/dist/registry/helpers.d.ts.map +1 -1
  232. package/dist/registry/helpers.js +0 -14
  233. package/dist/registry/helpers.js.map +1 -1
  234. package/dist/registry/index.d.ts +5 -5
  235. package/dist/registry/index.d.ts.map +1 -1
  236. package/dist/registry/index.js +4 -4
  237. package/dist/registry/index.js.map +1 -1
  238. package/dist/registry/loader.d.ts +0 -25
  239. package/dist/registry/loader.d.ts.map +1 -1
  240. package/dist/registry/loader.js +0 -68
  241. package/dist/registry/loader.js.map +1 -1
  242. package/dist/registry/normalize.d.ts +13 -1
  243. package/dist/registry/normalize.d.ts.map +1 -1
  244. package/dist/registry/normalize.js +43 -0
  245. package/dist/registry/normalize.js.map +1 -1
  246. package/dist/registry/types.d.ts +13 -2
  247. package/dist/registry/types.d.ts.map +1 -1
  248. package/dist/types/__tests__/evm.test.d.ts +2 -0
  249. package/dist/types/__tests__/evm.test.d.ts.map +1 -0
  250. package/dist/types/__tests__/evm.test.js +15 -0
  251. package/dist/types/__tests__/evm.test.js.map +1 -0
  252. package/dist/types/evm.d.ts +95 -0
  253. package/dist/types/evm.d.ts.map +1 -0
  254. package/dist/types/evm.js +11 -0
  255. package/dist/types/evm.js.map +1 -0
  256. package/dist/types.d.ts +15 -13
  257. package/dist/types.d.ts.map +1 -1
  258. package/dist/utils/__tests__/fees.test.js +66 -29
  259. package/dist/utils/__tests__/fees.test.js.map +1 -1
  260. package/dist/utils/__tests__/hex.test.js +64 -1
  261. package/dist/utils/__tests__/hex.test.js.map +1 -1
  262. package/dist/utils/__tests__/http.test.js +2 -64
  263. package/dist/utils/__tests__/http.test.js.map +1 -1
  264. package/dist/utils/fees.d.ts +7 -2
  265. package/dist/utils/fees.d.ts.map +1 -1
  266. package/dist/utils/fees.js +32 -16
  267. package/dist/utils/fees.js.map +1 -1
  268. package/dist/utils/hex.d.ts +11 -0
  269. package/dist/utils/hex.d.ts.map +1 -1
  270. package/dist/utils/hex.js +16 -1
  271. package/dist/utils/hex.js.map +1 -1
  272. package/dist/utils/http.d.ts +0 -27
  273. package/dist/utils/http.d.ts.map +1 -1
  274. package/dist/utils/http.js +0 -36
  275. package/dist/utils/http.js.map +1 -1
  276. package/dist/wasm/__tests__/functions.test.js +56 -1
  277. package/dist/wasm/__tests__/functions.test.js.map +1 -1
  278. package/dist/wasm/functions.d.ts +6 -0
  279. package/dist/wasm/functions.d.ts.map +1 -1
  280. package/dist/wasm/functions.js +17 -0
  281. package/dist/wasm/functions.js.map +1 -1
  282. package/dist/wasm/index.d.ts +1 -1
  283. package/dist/wasm/index.d.ts.map +1 -1
  284. package/dist/wasm/index.js +1 -1
  285. package/dist/wasm/index.js.map +1 -1
  286. package/dist/zkp/__tests__/proofService.test.js +34 -52
  287. package/dist/zkp/__tests__/proofService.test.js.map +1 -1
  288. package/dist/zkp/__tests__/workerClient.test.js +1 -40
  289. package/dist/zkp/__tests__/workerClient.test.js.map +1 -1
  290. package/dist/zkp/index.d.ts +1 -1
  291. package/dist/zkp/index.d.ts.map +1 -1
  292. package/dist/zkp/index.js +1 -1
  293. package/dist/zkp/index.js.map +1 -1
  294. package/dist/zkp/proofService.d.ts +6 -2
  295. package/dist/zkp/proofService.d.ts.map +1 -1
  296. package/dist/zkp/proofService.js +12 -15
  297. package/dist/zkp/proofService.js.map +1 -1
  298. package/dist/zkp/worker.js +13 -137
  299. package/dist/zkp/worker.js.map +1 -1
  300. package/dist/zkp/workerClient.d.ts +0 -24
  301. package/dist/zkp/workerClient.d.ts.map +1 -1
  302. package/dist/zkp/workerClient.js +0 -36
  303. package/dist/zkp/workerClient.js.map +1 -1
  304. package/package.json +3 -4
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TokensFile, NormalizedTokens } from "./types.js";
1
+ import type { TokensFile, NormalizedTokens, RpcOverrides } from "./types.js";
2
2
  /**
3
3
  * Normalizes a tokens file by validating and transforming all entries.
4
4
  * Handles both camelCase and snake_case field names.
@@ -26,4 +26,16 @@ export declare function asNormalizedTokens(file: TokensFile): NormalizedTokens;
26
26
  * Normalizes a tokens file and returns it with the raw data preserved.
27
27
  */
28
28
  export declare function normalizeTokens(file: TokensFile): NormalizedTokens;
29
+ /**
30
+ * Normalizes a tokens file with optional RPC URL overrides.
31
+ *
32
+ * @remarks
33
+ * This is a convenience wrapper that:
34
+ * 1. Clones the input to avoid mutation
35
+ * 2. Applies RPC URL overrides (matched by token `label`)
36
+ * 3. Runs full normalization (snake_case → camelCase, address normalization, validation)
37
+ *
38
+ * Accepts both camelCase and snake_case input (the underlying `normalizeTokensFile` handles both).
39
+ */
40
+ export declare function normalizeTokensWithOverrides(file: TokensFile, overrides?: RpcOverrides): NormalizedTokens;
29
41
  //# sourceMappingURL=normalize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/registry/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAc/D;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CA8EhE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAM5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAOrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAElE"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/registry/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc7E;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CA8EhE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAM5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAOrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAElE;AA6BD;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,YAAY,GACvB,gBAAgB,CAKlB"}
@@ -78,4 +78,47 @@ export function asNormalizedTokens(file) {
78
78
  export function normalizeTokens(file) {
79
79
  return asNormalizedTokens(file);
80
80
  }
81
+ /**
82
+ * Applies RPC URL overrides to a tokens file **before** normalization.
83
+ * Matches tokens by `label` and sets both `rpcUrls` and `rpc_urls` so that
84
+ * either camelCase or snake_case input is handled correctly.
85
+ */
86
+ function applyRpcOverrides(file, overrides) {
87
+ if (overrides.tokens && Array.isArray(file.tokens)) {
88
+ const tokenOverrides = overrides.tokens;
89
+ file.tokens = file.tokens.map((entry) => {
90
+ if (entry == null || typeof entry !== "object")
91
+ return entry;
92
+ const record = entry;
93
+ const label = record["label"];
94
+ if (label && Object.hasOwn(tokenOverrides, label)) {
95
+ const urls = tokenOverrides[label];
96
+ return { ...entry, rpcUrls: urls, rpc_urls: urls };
97
+ }
98
+ return entry;
99
+ });
100
+ }
101
+ if (overrides.hub && file.hub) {
102
+ file.hub = { ...file.hub, rpcUrls: overrides.hub, rpc_urls: overrides.hub };
103
+ }
104
+ return file;
105
+ }
106
+ /**
107
+ * Normalizes a tokens file with optional RPC URL overrides.
108
+ *
109
+ * @remarks
110
+ * This is a convenience wrapper that:
111
+ * 1. Clones the input to avoid mutation
112
+ * 2. Applies RPC URL overrides (matched by token `label`)
113
+ * 3. Runs full normalization (snake_case → camelCase, address normalization, validation)
114
+ *
115
+ * Accepts both camelCase and snake_case input (the underlying `normalizeTokensFile` handles both).
116
+ */
117
+ export function normalizeTokensWithOverrides(file, overrides) {
118
+ if (!overrides)
119
+ return normalizeTokens(file);
120
+ const cloned = cloneTokensFile(file);
121
+ const overridden = applyRpcOverrides(cloned, overrides);
122
+ return asNormalizedTokens(overridden);
123
+ }
81
124
  //# sourceMappingURL=normalize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/registry/normalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/registry/normalize.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ export interface HubEntry {
55
55
  /**
56
56
  * Raw tokens file structure before normalization.
57
57
  * @remarks
58
- * Callers typically use `normalizeTokens` / `loadTokens` to validate and normalize this structure.
58
+ * Callers typically use `normalizeTokens` / `TokensCacheManager.load()` to validate and normalize this structure.
59
59
  */
60
60
  export interface TokensFile {
61
61
  hub?: HubEntry;
@@ -69,12 +69,23 @@ export interface NormalizedTokens {
69
69
  tokens: TokenEntry[];
70
70
  raw: TokensFile;
71
71
  }
72
+ /**
73
+ * RPC URL overrides applied before normalization.
74
+ * @remarks
75
+ * Used to replace JSON-bundled RPC URLs with runtime-configured endpoints
76
+ * (e.g. environment-specific Alchemy/Infura keys).
77
+ */
78
+ export interface RpcOverrides {
79
+ /** token label → rpc URLs mapping */
80
+ tokens?: Record<string, string[]>;
81
+ /** hub rpc URLs override */
82
+ hub?: string[];
83
+ }
72
84
  /**
73
85
  * Options for loading tokens from compressed data.
74
86
  */
75
87
  export interface LoadTokensOptions {
76
88
  cacheKey?: string;
77
- cache?: Map<string, Promise<NormalizedTokens>>;
78
89
  decoder?: TextDecoder;
79
90
  decompress?: (data: Uint8Array) => Uint8Array | ArrayBuffer;
80
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,GAAG,EAAE,UAAU,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,GAAG,WAAW,CAAC;CAC7D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,GAAG,EAAE,UAAU,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,GAAG,WAAW,CAAC;CAC7D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=evm.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm.test.d.ts","sourceRoot":"","sources":["../../../src/types/__tests__/evm.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { describe, expectTypeOf, test } from "vitest";
2
+ describe("EvmReadProvider type compatibility", () => {
3
+ test("viem PublicClient satisfies EvmReadProvider", () => {
4
+ expectTypeOf().toMatchTypeOf();
5
+ });
6
+ });
7
+ describe("EvmWriteProvider type compatibility", () => {
8
+ test("object with writeContract satisfies EvmWriteProvider", () => {
9
+ expectTypeOf().toMatchTypeOf();
10
+ });
11
+ test("WalletClient.writeContract returns Promise<Hex> (runtime compatible)", () => {
12
+ expectTypeOf().toMatchTypeOf();
13
+ });
14
+ });
15
+ //# sourceMappingURL=evm.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm.test.js","sourceRoot":"","sources":["../../../src/types/__tests__/evm.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAItD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,YAAY,EAAgB,CAAC,aAAa,EAAmB,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAiBhE,YAAY,EAAoB,CAAC,aAAa,EAAoB,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAIhF,YAAY,EAAiB,CAAC,aAAa,EAA0B,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * EVM provider interfaces for library-agnostic contract interaction.
3
+ *
4
+ * @remarks
5
+ * These interfaces define the minimal surface that SDK public functions require.
6
+ * viem's `PublicClient` and `WalletClient` satisfy these interfaces structurally
7
+ * (no wrapper/adapter needed), while users of ethers.js or other libraries can
8
+ * provide thin adapters.
9
+ */
10
+ /** Hex-encoded string with `0x` prefix. Identical to viem's `Hex` type. */
11
+ export type Hex = `0x${string}`;
12
+ /**
13
+ * Read-only EVM provider for contract reads, balance queries, and fee estimation.
14
+ *
15
+ * @remarks
16
+ * viem's `PublicClient` satisfies this interface without any adapter.
17
+ */
18
+ export interface EvmReadProvider {
19
+ readContract(args: {
20
+ address: Hex;
21
+ abi: readonly unknown[];
22
+ functionName: string;
23
+ args?: readonly unknown[];
24
+ }): Promise<unknown>;
25
+ /** Optional — only required by functions that query native balances (e.g. `fetchLiquidityManagerBalances`). */
26
+ getBalance?(args: {
27
+ address: Hex;
28
+ }): Promise<bigint>;
29
+ /** Optional — not all providers support EIP-1559 fee estimation. */
30
+ estimateFeesPerGas?(): Promise<{
31
+ gasPrice?: bigint | null;
32
+ maxFeePerGas?: bigint | null;
33
+ maxPriorityFeePerGas?: bigint | null;
34
+ }>;
35
+ /** Optional — legacy gas price fallback. */
36
+ getGasPrice?(): Promise<bigint>;
37
+ /** Optional — only required by write flows that need receipt polling. */
38
+ waitForTransactionReceipt?(args: {
39
+ hash: Hex;
40
+ }): Promise<{
41
+ transactionHash: Hex;
42
+ }>;
43
+ /** Optional — required by layerzeroScan codec to decode tx input. */
44
+ getTransaction?(args: {
45
+ hash: Hex;
46
+ }): Promise<{
47
+ input: Hex;
48
+ [key: string]: unknown;
49
+ }>;
50
+ /** Optional — required by layerzeroScan codec to read tx logs. */
51
+ getTransactionReceipt?(args: {
52
+ hash: Hex;
53
+ }): Promise<{
54
+ logs: ReadonlyArray<{
55
+ topics: readonly Hex[];
56
+ data: Hex;
57
+ }>;
58
+ [key: string]: unknown;
59
+ }>;
60
+ }
61
+ /**
62
+ * Write provider for signing and submitting EVM transactions.
63
+ *
64
+ * @remarks
65
+ * viem's `WalletClient` (with `publicActions` extension) satisfies this interface.
66
+ * A plain `WalletClient` without `publicActions` only has `writeContract` but may
67
+ * lack `readContract` / `waitForTransactionReceipt`; pass a separate `EvmReadProvider`
68
+ * in that case.
69
+ */
70
+ export interface EvmWriteProvider {
71
+ account?: {
72
+ address: Hex;
73
+ };
74
+ chain?: {
75
+ id: number;
76
+ };
77
+ writeContract(args: {
78
+ address: Hex;
79
+ abi: readonly unknown[];
80
+ functionName: string;
81
+ args?: readonly unknown[];
82
+ account?: Hex | {
83
+ address: Hex;
84
+ };
85
+ chain?: {
86
+ id: number;
87
+ };
88
+ value?: bigint;
89
+ gasPrice?: bigint;
90
+ maxFeePerGas?: bigint;
91
+ maxPriorityFeePerGas?: bigint;
92
+ type?: string;
93
+ }): Promise<Hex>;
94
+ }
95
+ //# sourceMappingURL=evm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/types/evm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,IAAI,EAAE;QACjB,OAAO,EAAE,GAAG,CAAC;QACb,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;KAC3B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErB,+GAA+G;IAC/G,UAAU,CAAC,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD,oEAAoE;IACpE,kBAAkB,CAAC,IAAI,OAAO,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,WAAW,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhC,yEAAyE;IACzE,yBAAyB,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,eAAe,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAEnF,qEAAqE;IACrE,cAAc,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;IAEtF,kEAAkE;IAClE,qBAAqB,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC;QACnD,IAAI,EAAE,aAAa,CAAC;YAAE,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;YAAC,IAAI,EAAE,GAAG,CAAA;SAAE,CAAC,CAAC;QAC3D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC,CAAC;CACJ;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IAC3B,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvB,aAAa,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,GAAG,CAAC;QACb,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,GAAG,GAAG;YAAE,OAAO,EAAE,GAAG,CAAA;SAAE,CAAC;QACjC,KAAK,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAClB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * EVM provider interfaces for library-agnostic contract interaction.
3
+ *
4
+ * @remarks
5
+ * These interfaces define the minimal surface that SDK public functions require.
6
+ * viem's `PublicClient` and `WalletClient` satisfy these interfaces structurally
7
+ * (no wrapper/adapter needed), while users of ethers.js or other libraries can
8
+ * provide thin adapters.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=evm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../src/types/evm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
package/dist/types.d.ts CHANGED
@@ -42,9 +42,9 @@ export interface BurnArtifacts {
42
42
  generalRecipient: GeneralRecipient;
43
43
  }
44
44
  /**
45
- * Preparation output for the private send flow (before submitting the announcement).
45
+ * Prepared private send (includes derivation and announcement artifacts).
46
46
  */
47
- export interface PrivateSendPreparation {
47
+ export interface PreparedPrivateSend {
48
48
  /** Payment advice identifier (hex string). */
49
49
  paymentAdviceId: string;
50
50
  /** Secret used for burn derivation (hex string). */
@@ -57,27 +57,29 @@ export interface PrivateSendPreparation {
57
57
  burnPayload: string;
58
58
  /** General recipient derived from the burn payload. */
59
59
  generalRecipient: GeneralRecipient;
60
- }
61
- /**
62
- * Artifacts required to submit an encrypted announcement.
63
- */
64
- export interface AnnouncementArtifacts {
65
60
  /** Announcement payload to submit to the storage canister. */
66
61
  announcement: AnnouncementInput;
67
62
  /** Session key used for symmetric encryption. */
68
63
  sessionKey: Uint8Array;
69
- }
70
- /**
71
- * Prepared private send (includes both derivation and announcement artifacts).
72
- */
73
- export interface PreparedPrivateSend extends PrivateSendPreparation, AnnouncementArtifacts {
74
64
  /** Payment advice identifier as bytes. */
75
65
  paymentAdviceIdBytes: Uint8Array;
76
66
  }
77
67
  /**
78
68
  * Result of private send submission.
79
69
  */
80
- export interface PrivateSendResult extends PrivateSendPreparation {
70
+ export interface PrivateSendResult {
71
+ /** Payment advice identifier (hex string). */
72
+ paymentAdviceId: string;
73
+ /** Secret used for burn derivation (hex string). */
74
+ secret: string;
75
+ /** Tweak used for burn derivation (hex string). */
76
+ tweak: string;
77
+ /** Burn address derived for the recipient. */
78
+ burnAddress: string;
79
+ /** Full burn payload as hex string (used for scanning/decoding). */
80
+ burnPayload: string;
81
+ /** General recipient derived from the burn payload. */
82
+ generalRecipient: GeneralRecipient;
81
83
  /** Stored announcement as returned from the canister. */
82
84
  announcement: Announcement;
83
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,YAAY,EAAE,iBAAiB,CAAC;IAChC,iDAAiD;IACjD,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB,EAAE,qBAAqB;IACxF,0CAA0C;IAC1C,oBAAoB,EAAE,UAAU,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,yDAAyD;IACzD,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,aAAa,EAAE,uBAAuB,EAAE,CAAC;IACzC,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0EAA0E;IAC1E,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mDAAmD;IACnD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,QAAQ,EAAE,UAAU,CAAC;IACrB,iDAAiD;IACjD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,kEAAkE;IAClE,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,GAAG,EAAE,cAAc,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpC,0CAA0C;IAC1C,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,wCAAwC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC7C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,84 +1,121 @@
1
1
  import { describe, expect, test, vi } from "vitest";
2
- import { buildFeeOverrides } from "../fees.js";
2
+ import { buildFeeOverrides, spreadFeeOverrides } from "../fees.js";
3
+ describe("spreadFeeOverrides", () => {
4
+ test("returns empty object when overrides is undefined", () => {
5
+ expect(spreadFeeOverrides(undefined)).toEqual({});
6
+ });
7
+ test("returns empty object when overrides is not provided", () => {
8
+ expect(spreadFeeOverrides()).toEqual({});
9
+ });
10
+ test("spreads legacy fee overrides", () => {
11
+ expect(spreadFeeOverrides({ type: "legacy", gasPrice: 42n })).toEqual({
12
+ gasPrice: 42n,
13
+ type: "legacy",
14
+ });
15
+ });
16
+ test("spreads EIP-1559 fee overrides", () => {
17
+ expect(spreadFeeOverrides({ maxFeePerGas: 10n, maxPriorityFeePerGas: 2n })).toEqual({
18
+ maxFeePerGas: 10n,
19
+ maxPriorityFeePerGas: 2n,
20
+ });
21
+ });
22
+ });
3
23
  describe("buildFeeOverrides", () => {
4
- test("returns EIP-1559 overrides when estimateFeesPerGas provides both maxFeePerGas and maxPriorityFeePerGas", async () => {
5
- const publicClient = {
24
+ test("returns EIP-1559 overrides when estimateFeesPerGas provides both fields", async () => {
25
+ const provider = {
26
+ readContract: vi.fn(),
6
27
  estimateFeesPerGas: vi.fn().mockResolvedValue({
7
28
  maxFeePerGas: 10n,
8
29
  maxPriorityFeePerGas: 2n,
9
30
  }),
10
- getGasPrice: vi.fn(),
11
31
  };
12
- await expect(buildFeeOverrides(publicClient)).resolves.toEqual({
32
+ await expect(buildFeeOverrides(provider)).resolves.toEqual({
13
33
  maxFeePerGas: 10n,
14
34
  maxPriorityFeePerGas: 2n,
15
35
  });
16
- expect(publicClient.getGasPrice).not.toHaveBeenCalled();
17
36
  });
18
37
  test("returns legacy gasPrice when preferLegacy and estimateFeesPerGas provides gasPrice", async () => {
19
- const publicClient = {
38
+ const provider = {
39
+ readContract: vi.fn(),
20
40
  estimateFeesPerGas: vi.fn().mockResolvedValue({
21
41
  gasPrice: 7n,
22
42
  maxFeePerGas: 10n,
23
43
  maxPriorityFeePerGas: 2n,
24
44
  }),
25
- getGasPrice: vi.fn(),
26
45
  };
27
- await expect(buildFeeOverrides(publicClient, { legacyTx: true })).resolves.toEqual({
46
+ await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toEqual({
28
47
  type: "legacy",
29
48
  gasPrice: 7n,
30
49
  });
31
- expect(publicClient.getGasPrice).not.toHaveBeenCalled();
32
50
  });
33
- test("returns legacy gasPrice when preferLegacy and estimateFeesPerGas provides maxFeePerGas (but no gasPrice)", async () => {
34
- const publicClient = {
51
+ test("falls back to maxFeePerGas as legacy gasPrice when gasPrice is absent", async () => {
52
+ const provider = {
53
+ readContract: vi.fn(),
35
54
  estimateFeesPerGas: vi.fn().mockResolvedValue({
36
55
  maxFeePerGas: 9n,
37
56
  maxPriorityFeePerGas: 1n,
38
57
  }),
39
- getGasPrice: vi.fn(),
40
58
  };
41
- await expect(buildFeeOverrides(publicClient, { legacyTx: true })).resolves.toEqual({
59
+ await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toEqual({
42
60
  type: "legacy",
43
61
  gasPrice: 9n,
44
62
  });
45
- expect(publicClient.getGasPrice).not.toHaveBeenCalled();
46
63
  });
47
- test("returns undefined when estimateFeesPerGas lacks required bigint fields for selected mode", async () => {
48
- const publicClient = {
64
+ test("returns undefined when estimateFeesPerGas fields are not bigint", async () => {
65
+ const provider = {
66
+ readContract: vi.fn(),
49
67
  estimateFeesPerGas: vi.fn().mockResolvedValue({
50
68
  maxFeePerGas: "10",
51
69
  maxPriorityFeePerGas: 2n,
52
70
  }),
53
- getGasPrice: vi.fn(),
54
71
  };
55
- await expect(buildFeeOverrides(publicClient)).resolves.toBeUndefined();
56
- expect(publicClient.getGasPrice).not.toHaveBeenCalled();
72
+ await expect(buildFeeOverrides(provider)).resolves.toBeUndefined();
57
73
  });
58
74
  test("falls back to getGasPrice for legacy mode when estimateFeesPerGas throws", async () => {
59
- const publicClient = {
75
+ const provider = {
76
+ readContract: vi.fn(),
60
77
  estimateFeesPerGas: vi.fn().mockRejectedValue(new Error("RPC failed")),
61
78
  getGasPrice: vi.fn().mockResolvedValue(42n),
62
79
  };
63
- await expect(buildFeeOverrides(publicClient, { legacyTx: true })).resolves.toEqual({
80
+ await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toEqual({
64
81
  type: "legacy",
65
82
  gasPrice: 42n,
66
83
  });
67
84
  });
68
- test("returns undefined in legacy mode when both estimateFeesPerGas and getGasPrice fail", async () => {
69
- const publicClient = {
85
+ test("returns undefined in legacy mode when both methods fail", async () => {
86
+ const provider = {
87
+ readContract: vi.fn(),
70
88
  estimateFeesPerGas: vi.fn().mockRejectedValue(new Error("RPC failed")),
71
89
  getGasPrice: vi.fn().mockRejectedValue(new Error("RPC failed")),
72
90
  };
73
- await expect(buildFeeOverrides(publicClient, { legacyTx: true })).resolves.toBeUndefined();
91
+ await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toBeUndefined();
74
92
  });
75
- test("does not call getGasPrice when legacyTx is false, even if estimateFeesPerGas throws", async () => {
76
- const publicClient = {
93
+ test("does not call getGasPrice when legacyTx is false", async () => {
94
+ const provider = {
95
+ readContract: vi.fn(),
77
96
  estimateFeesPerGas: vi.fn().mockRejectedValue(new Error("RPC failed")),
78
97
  getGasPrice: vi.fn(),
79
98
  };
80
- await expect(buildFeeOverrides(publicClient)).resolves.toBeUndefined();
81
- expect(publicClient.getGasPrice).not.toHaveBeenCalled();
99
+ await expect(buildFeeOverrides(provider)).resolves.toBeUndefined();
100
+ expect(provider.getGasPrice).not.toHaveBeenCalled();
101
+ });
102
+ test("returns undefined when estimateFeesPerGas is not available", async () => {
103
+ const provider = { readContract: vi.fn() };
104
+ await expect(buildFeeOverrides(provider)).resolves.toBeUndefined();
105
+ });
106
+ test("returns undefined in legacy mode when neither method is available", async () => {
107
+ const provider = { readContract: vi.fn() };
108
+ await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toBeUndefined();
109
+ });
110
+ test("uses getGasPrice in legacy mode when estimateFeesPerGas is absent", async () => {
111
+ const provider = {
112
+ readContract: vi.fn(),
113
+ getGasPrice: vi.fn().mockResolvedValue(50n),
114
+ };
115
+ await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toEqual({
116
+ type: "legacy",
117
+ gasPrice: 50n,
118
+ });
82
119
  });
83
120
  });
84
121
  //# sourceMappingURL=fees.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fees.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/fees.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fees.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/fees.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
2
- import { bytesToHex, normalizeHex, hexToBytes, ensureHexLength, addressToBytes, randomBytes, toBigInt, } from "../hex.js";
2
+ import { bytesToHex, normalizeHex, hexToBytes, ensureHexLength, addressToBytes, randomBytes, toBigInt, isHex, keccak256, } from "../hex.js";
3
3
  describe("bytesToHex", () => {
4
4
  test("converts empty array", () => {
5
5
  expect(bytesToHex(new Uint8Array([]))).toBe("0x");
@@ -249,4 +249,67 @@ describe("toBigInt", () => {
249
249
  });
250
250
  });
251
251
  });
252
+ describe("isHex", () => {
253
+ test("returns true for valid 0x-prefixed hex", () => {
254
+ expect(isHex("0xabcdef")).toBe(true);
255
+ });
256
+ test("returns true for 0x alone", () => {
257
+ expect(isHex("0x")).toBe(true);
258
+ });
259
+ test("returns true for uppercase hex digits", () => {
260
+ expect(isHex("0xABCDEF")).toBe(true);
261
+ });
262
+ test("returns true for mixed case hex digits", () => {
263
+ expect(isHex("0xaBcDeF")).toBe(true);
264
+ });
265
+ test("returns false for 0X prefix", () => {
266
+ expect(isHex("0Xabcd")).toBe(false);
267
+ });
268
+ test("returns false for missing prefix", () => {
269
+ expect(isHex("abcdef")).toBe(false);
270
+ });
271
+ test("returns false for non-hex characters", () => {
272
+ expect(isHex("0xghij")).toBe(false);
273
+ });
274
+ test("returns false for empty string", () => {
275
+ expect(isHex("")).toBe(false);
276
+ });
277
+ test("returns false for null", () => {
278
+ expect(isHex(null)).toBe(false);
279
+ });
280
+ test("returns false for undefined", () => {
281
+ expect(isHex(undefined)).toBe(false);
282
+ });
283
+ test("returns false for number", () => {
284
+ expect(isHex(123)).toBe(false);
285
+ });
286
+ test("returns false for string with spaces", () => {
287
+ expect(isHex(" 0xabc ")).toBe(false);
288
+ });
289
+ });
290
+ describe("keccak256", () => {
291
+ test("hashes a Uint8Array", () => {
292
+ const result = keccak256(new Uint8Array([0x01, 0x02, 0x03]));
293
+ expect(result).toMatch(/^0x[0-9a-f]{64}$/);
294
+ });
295
+ test("hashes a hex string", () => {
296
+ const result = keccak256("0x010203");
297
+ expect(result).toMatch(/^0x[0-9a-f]{64}$/);
298
+ });
299
+ test("returns consistent hash for same input", () => {
300
+ const a = keccak256("0xdeadbeef");
301
+ const b = keccak256("0xdeadbeef");
302
+ expect(a).toBe(b);
303
+ });
304
+ test("returns different hash for different input", () => {
305
+ const a = keccak256("0xdeadbeef");
306
+ const b = keccak256("0xcafebabe");
307
+ expect(a).not.toBe(b);
308
+ });
309
+ test("Uint8Array and hex produce same hash for same bytes", () => {
310
+ const fromBytes = keccak256(new Uint8Array([0xde, 0xad, 0xbe, 0xef]));
311
+ const fromHex = keccak256("0xdeadbeef");
312
+ expect(fromBytes).toBe(fromHex);
313
+ });
314
+ });
252
315
  //# sourceMappingURL=hex.test.js.map