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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layerzeroScan.js","sourceRoot":"","sources":["../../src/operations/layerzeroScan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,0BAA0B,CAAC"}
@@ -1,44 +1,31 @@
1
1
  import { beforeEach, describe, expect, test, vi } from "vitest";
2
2
  import { fetchLiquidityManagerBalances } from "../balance.js";
3
3
  import { NATIVE_TOKEN_ADDRESS } from "../helpers.js";
4
- // Mock dependencies
5
- vi.mock("../../../onchain/contracts.js", () => ({
6
- getLiquidityManagerContract: vi.fn(),
7
- getZerc20Contract: vi.fn(),
8
- }));
9
- import { getLiquidityManagerContract, getZerc20Contract } from "../../../onchain/contracts.js";
10
- const mockGetLiquidityManagerContract = vi.mocked(getLiquidityManagerContract);
11
- const mockGetZerc20Contract = vi.mocked(getZerc20Contract);
12
4
  describe("fetchLiquidityManagerBalances", () => {
13
- const mockPublicClient = {
5
+ const mockProvider = {
14
6
  readContract: vi.fn(),
15
7
  getBalance: vi.fn(),
16
- };
17
- const mockManagerContract = {
18
- read: {
19
- underlyingToken: vi.fn(),
20
- },
21
- };
22
- const mockZerc20Contract = {
23
- abi: [],
8
+ waitForTransactionReceipt: vi.fn(),
24
9
  };
25
10
  beforeEach(() => {
26
11
  vi.clearAllMocks();
27
- mockGetLiquidityManagerContract.mockReturnValue(mockManagerContract);
28
- mockGetZerc20Contract.mockReturnValue(mockZerc20Contract);
29
12
  });
30
13
  test("fetches balances for ERC20 underlying token", async () => {
31
14
  const underlyingAddress = "0x1234567890123456789012345678901234567890";
32
- mockManagerContract.read.underlyingToken.mockResolvedValue(underlyingAddress);
33
- // Order matches Promise.all in implementation:
34
- // [zerc20Decimals, underlyingDecimals, underlyingBalance, zerc20Balance]
35
- mockPublicClient.readContract
15
+ // readContract calls:
16
+ // 1. underlyingToken
17
+ // 2. zerc20 decimals
18
+ // 3. underlying decimals
19
+ // 4. zerc20 balanceOf (note: Promise.all order is decimals, decimals, balance, balance)
20
+ // 5. underlying balanceOf
21
+ mockProvider.readContract
22
+ .mockResolvedValueOnce(underlyingAddress) // underlyingToken
36
23
  .mockResolvedValueOnce(18) // zerc20 decimals
37
24
  .mockResolvedValueOnce(6) // underlying decimals
38
25
  .mockResolvedValueOnce(500n) // zerc20 balance
39
26
  .mockResolvedValueOnce(1000n); // underlying balance
40
27
  const result = await fetchLiquidityManagerBalances({
41
- publicClient: mockPublicClient,
28
+ provider: mockProvider,
42
29
  account: "0xAccount1234567890123456789012345678901234",
43
30
  liquidityManagerAddress: "0xManager123456789012345678901234567890ab",
44
31
  zerc20TokenAddress: "0xZerc20123456789012345678901234567890ab",
@@ -50,13 +37,13 @@ describe("fetchLiquidityManagerBalances", () => {
50
37
  expect(result.zerc20Decimals).toBe(18);
51
38
  });
52
39
  test("fetches balances for native underlying token", async () => {
53
- mockManagerContract.read.underlyingToken.mockResolvedValue(NATIVE_TOKEN_ADDRESS);
54
- mockPublicClient.readContract
40
+ mockProvider.readContract
41
+ .mockResolvedValueOnce(NATIVE_TOKEN_ADDRESS) // underlyingToken
55
42
  .mockResolvedValueOnce(18) // zerc20 decimals
56
43
  .mockResolvedValueOnce(2000n); // zerc20 balance
57
- mockPublicClient.getBalance.mockResolvedValue(5000n);
44
+ mockProvider.getBalance.mockResolvedValue(5000n);
58
45
  const result = await fetchLiquidityManagerBalances({
59
- publicClient: mockPublicClient,
46
+ provider: mockProvider,
60
47
  account: "0xAccount",
61
48
  liquidityManagerAddress: "0xManager",
62
49
  zerc20TokenAddress: "0xZerc20",
@@ -69,36 +56,36 @@ describe("fetchLiquidityManagerBalances", () => {
69
56
  });
70
57
  test("normalizes addresses", async () => {
71
58
  const underlyingAddress = "0xABCDEF1234567890ABCDEF1234567890ABCDEF12";
72
- mockManagerContract.read.underlyingToken.mockResolvedValue(underlyingAddress);
73
- mockPublicClient.readContract
59
+ mockProvider.readContract
60
+ .mockResolvedValueOnce(underlyingAddress) // underlyingToken
74
61
  .mockResolvedValueOnce(18)
75
62
  .mockResolvedValueOnce(18)
76
63
  .mockResolvedValueOnce(100n)
77
64
  .mockResolvedValueOnce(100n);
78
65
  const result = await fetchLiquidityManagerBalances({
79
- publicClient: mockPublicClient,
66
+ provider: mockProvider,
80
67
  account: "0xACCOUNT",
81
68
  liquidityManagerAddress: "0xMANAGER",
82
69
  zerc20TokenAddress: "0xZERC20",
83
70
  });
84
71
  expect(result.underlyingAddress).toBe(underlyingAddress.toLowerCase());
85
72
  });
86
- test("calls contracts with correct parameters", async () => {
73
+ test("calls readContract with correct parameters", async () => {
87
74
  const underlyingAddress = "0x1234567890123456789012345678901234567890";
88
- mockManagerContract.read.underlyingToken.mockResolvedValue(underlyingAddress);
89
- mockPublicClient.readContract
75
+ mockProvider.readContract
76
+ .mockResolvedValueOnce(underlyingAddress) // underlyingToken
90
77
  .mockResolvedValueOnce(18)
91
78
  .mockResolvedValueOnce(6)
92
79
  .mockResolvedValueOnce(100n)
93
80
  .mockResolvedValueOnce(200n);
94
81
  await fetchLiquidityManagerBalances({
95
- publicClient: mockPublicClient,
82
+ provider: mockProvider,
96
83
  account: "0xAccount1234567890123456789012345678901234",
97
84
  liquidityManagerAddress: "0xManager",
98
85
  zerc20TokenAddress: "0xZerc20Token",
99
86
  });
100
- expect(mockGetLiquidityManagerContract).toHaveBeenCalled();
101
- expect(mockGetZerc20Contract).toHaveBeenCalled();
87
+ // First call should be underlyingToken
88
+ expect(mockProvider.readContract).toHaveBeenCalledWith(expect.objectContaining({ functionName: "underlyingToken" }));
102
89
  });
103
90
  });
104
91
  //# sourceMappingURL=balance.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/balance.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balance.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/balance.test.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,5 @@
1
1
  import { beforeEach, describe, expect, test, vi } from "vitest";
2
2
  import { applySlippage, buildCrossUnwrapQuote, sendCrossUnwrap } from "../crossUnwrap.js";
3
- // Mock dependencies
4
- vi.mock("../../../onchain/contracts.js", () => ({
5
- getAdaptorContract: vi.fn(),
6
- getZerc20Contract: vi.fn(),
7
- }));
8
- vi.mock("../../../registry/tokens.js", () => ({
9
- createProviderForToken: vi.fn(),
10
- }));
11
- vi.mock("viem/actions", () => ({
12
- waitForTransactionReceipt: vi.fn(),
13
- }));
14
- import { getAdaptorContract, getZerc20Contract } from "../../../onchain/contracts.js";
15
- import { createProviderForToken } from "../../../registry/tokens.js";
16
- import { waitForTransactionReceipt } from "viem/actions";
17
- const mockGetAdaptorContract = vi.mocked(getAdaptorContract);
18
- const mockGetZerc20Contract = vi.mocked(getZerc20Contract);
19
- const mockCreateProviderForToken = vi.mocked(createProviderForToken);
20
- const mockWaitForTransactionReceipt = vi.mocked(waitForTransactionReceipt);
21
3
  describe("buildCrossUnwrapQuote", () => {
22
4
  const mockSourceToken = {
23
5
  chainId: 1n,
@@ -32,6 +14,11 @@ describe("buildCrossUnwrapQuote", () => {
32
14
  adaptorAddress: "0x3456789012345678901234567890123456789012",
33
15
  rpcUrls: ["https://rpc2.example.com"],
34
16
  };
17
+ const mockProvider = {
18
+ readContract: vi.fn(),
19
+ getBalance: vi.fn(),
20
+ waitForTransactionReceipt: vi.fn(),
21
+ };
35
22
  beforeEach(() => {
36
23
  vi.clearAllMocks();
37
24
  });
@@ -41,6 +28,8 @@ describe("buildCrossUnwrapQuote", () => {
41
28
  destinationToken: mockDestinationToken,
42
29
  amount: 0n,
43
30
  account: "0xAccount1234567890123456789012345678901234",
31
+ readProviderSource: mockProvider,
32
+ readProviderDestination: mockProvider,
44
33
  })).rejects.toThrow("amount must be greater than zero");
45
34
  });
46
35
  test("throws for negative amount", async () => {
@@ -49,6 +38,8 @@ describe("buildCrossUnwrapQuote", () => {
49
38
  destinationToken: mockDestinationToken,
50
39
  amount: -100n,
51
40
  account: "0xAccount1234567890123456789012345678901234",
41
+ readProviderSource: mockProvider,
42
+ readProviderDestination: mockProvider,
52
43
  })).rejects.toThrow("amount must be greater than zero");
53
44
  });
54
45
  test("throws when source token missing eid", async () => {
@@ -58,6 +49,8 @@ describe("buildCrossUnwrapQuote", () => {
58
49
  destinationToken: mockDestinationToken,
59
50
  amount: 1000n,
60
51
  account: "0xAccount1234567890123456789012345678901234",
52
+ readProviderSource: mockProvider,
53
+ readProviderDestination: mockProvider,
61
54
  })).rejects.toThrow("source token is missing eid for cross-chain unwrap");
62
55
  });
63
56
  test("throws when destination token missing eid", async () => {
@@ -67,6 +60,8 @@ describe("buildCrossUnwrapQuote", () => {
67
60
  destinationToken: tokenWithoutEid,
68
61
  amount: 1000n,
69
62
  account: "0xAccount1234567890123456789012345678901234",
63
+ readProviderSource: mockProvider,
64
+ readProviderDestination: mockProvider,
70
65
  })).rejects.toThrow("destination token is missing adaptor configuration for cross-chain unwrap");
71
66
  });
72
67
  test("throws when destination token missing adaptor address", async () => {
@@ -76,13 +71,21 @@ describe("buildCrossUnwrapQuote", () => {
76
71
  destinationToken: tokenWithoutAdaptor,
77
72
  amount: 1000n,
78
73
  account: "0xAccount1234567890123456789012345678901234",
74
+ readProviderSource: mockProvider,
75
+ readProviderDestination: mockProvider,
79
76
  })).rejects.toThrow("destination token is missing adaptor configuration for cross-chain unwrap");
80
77
  });
81
78
  });
82
79
  describe("sendCrossUnwrap", () => {
83
- const mockWalletClient = {
80
+ const mockWriteProvider = {
84
81
  account: { address: "0xAccount1234567890123456789012345678901234" },
85
82
  chain: { id: 1 },
83
+ writeContract: vi.fn(),
84
+ };
85
+ const mockReadProvider = {
86
+ readContract: vi.fn(),
87
+ getBalance: vi.fn(),
88
+ waitForTransactionReceipt: vi.fn(),
86
89
  };
87
90
  const mockSourceToken = {
88
91
  chainId: 1n,
@@ -121,41 +124,58 @@ describe("sendCrossUnwrap", () => {
121
124
  oftCmd: "0x",
122
125
  },
123
126
  };
124
- const mockZerc20Contract = {
125
- write: {
126
- send: vi.fn(),
127
- },
128
- };
129
127
  beforeEach(() => {
130
128
  vi.clearAllMocks();
131
- mockGetZerc20Contract.mockReturnValue(mockZerc20Contract);
132
- mockZerc20Contract.write.send.mockResolvedValue("0xSendHash");
133
- mockWaitForTransactionReceipt.mockResolvedValue({ transactionHash: "0xReceiptHash" });
129
+ mockWriteProvider.writeContract.mockResolvedValue("0xSendHash");
130
+ mockReadProvider.waitForTransactionReceipt.mockResolvedValue({
131
+ transactionHash: "0xReceiptHash",
132
+ });
134
133
  });
135
134
  test("sends cross unwrap with provided quote", async () => {
136
135
  const result = await sendCrossUnwrap({
137
- walletClient: mockWalletClient,
136
+ writeProvider: mockWriteProvider,
137
+ readProvider: mockReadProvider,
138
138
  sourceToken: mockSourceToken,
139
139
  destinationToken: mockDestinationToken,
140
140
  amount: 1000n,
141
141
  quote: mockQuote,
142
142
  });
143
143
  expect(result.transactionHash).toBe("0xReceiptHash");
144
- expect(mockZerc20Contract.write.send).toHaveBeenCalledWith([mockQuote.sendParam, { nativeFee: 50n, lzTokenFee: 0n }, expect.any(String)], expect.objectContaining({
144
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledWith(expect.objectContaining({
145
+ functionName: "send",
145
146
  value: 50n,
146
147
  }));
147
148
  });
149
+ test("throws when no quote and no readProvider provided", async () => {
150
+ await expect(sendCrossUnwrap({
151
+ writeProvider: mockWriteProvider,
152
+ sourceToken: mockSourceToken,
153
+ destinationToken: mockDestinationToken,
154
+ amount: 1000n,
155
+ readProviderDestination: mockReadProvider,
156
+ })).rejects.toThrow("readProvider is required when no pre-built quote is provided");
157
+ });
158
+ test("throws when no quote and no readProviderDestination provided", async () => {
159
+ await expect(sendCrossUnwrap({
160
+ writeProvider: mockWriteProvider,
161
+ readProvider: mockReadProvider,
162
+ sourceToken: mockSourceToken,
163
+ destinationToken: mockDestinationToken,
164
+ amount: 1000n,
165
+ })).rejects.toThrow("readProviderDestination is required when no pre-built quote is provided");
166
+ });
148
167
  test("uses fee overrides when provided", async () => {
149
168
  const feeOverrides = { maxFeePerGas: 100n, maxPriorityFeePerGas: 10n };
150
169
  await sendCrossUnwrap({
151
- walletClient: mockWalletClient,
170
+ writeProvider: mockWriteProvider,
171
+ readProvider: mockReadProvider,
152
172
  sourceToken: mockSourceToken,
153
173
  destinationToken: mockDestinationToken,
154
174
  amount: 1000n,
155
175
  quote: mockQuote,
156
176
  feeOverrides,
157
177
  });
158
- expect(mockZerc20Contract.write.send).toHaveBeenCalledWith(expect.any(Array), expect.objectContaining({
178
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledWith(expect.objectContaining({
159
179
  maxFeePerGas: 100n,
160
180
  maxPriorityFeePerGas: 10n,
161
181
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"crossUnwrap.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/crossUnwrap.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crossUnwrap.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/crossUnwrap.test.ts"],"names":[],"mappings":"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"}
@@ -69,25 +69,28 @@ describe("isNativeToken", () => {
69
69
  });
70
70
  });
71
71
  describe("ensureAccount", () => {
72
- test("throws when wallet client has no account", () => {
73
- const mockWalletClient = {
72
+ test("throws when provider has no account", () => {
73
+ const mockProvider = {
74
74
  account: undefined,
75
+ writeContract: async () => "0x",
75
76
  };
76
- expect(() => ensureAccount(mockWalletClient)).toThrow("wallet client is missing default account");
77
+ expect(() => ensureAccount(mockProvider)).toThrow("writeProvider is missing default account");
77
78
  });
78
- test("throws when wallet client account has no address", () => {
79
- const mockWalletClient = {
79
+ test("throws when provider account has no address", () => {
80
+ const mockProvider = {
80
81
  account: {},
82
+ writeContract: async () => "0x",
81
83
  };
82
- expect(() => ensureAccount(mockWalletClient)).toThrow("wallet client is missing default account");
84
+ expect(() => ensureAccount(mockProvider)).toThrow("writeProvider is missing default account");
83
85
  });
84
86
  test("returns normalized address when account exists", () => {
85
- const mockWalletClient = {
87
+ const mockProvider = {
86
88
  account: {
87
89
  address: "0xAbCdEf1234567890AbCdEf1234567890AbCdEf12",
88
90
  },
91
+ writeContract: async () => "0x",
89
92
  };
90
- const result = ensureAccount(mockWalletClient);
93
+ const result = ensureAccount(mockProvider);
91
94
  expect(result).toBe("0xabcdef1234567890abcdef1234567890abcdef12");
92
95
  });
93
96
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/helpers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/helpers.test.ts"],"names":[],"mappings":"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"}