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,33 +1,18 @@
1
1
  import { beforeEach, describe, expect, test, vi } from "vitest";
2
2
  import { quoteLocalUnwrap, unwrapWithLiquidityManager } from "../unwrap.js";
3
- // Mock dependencies
4
- vi.mock("../../../onchain/contracts.js", () => ({
5
- getLiquidityManagerContract: vi.fn(),
6
- getZerc20Contract: vi.fn(),
7
- }));
8
- vi.mock("viem/actions", () => ({
9
- waitForTransactionReceipt: vi.fn(),
10
- }));
11
- import { getLiquidityManagerContract, getZerc20Contract } from "../../../onchain/contracts.js";
12
- import { waitForTransactionReceipt } from "viem/actions";
13
- const mockGetLiquidityManagerContract = vi.mocked(getLiquidityManagerContract);
14
- const mockGetZerc20Contract = vi.mocked(getZerc20Contract);
15
- const mockWaitForTransactionReceipt = vi.mocked(waitForTransactionReceipt);
16
3
  describe("quoteLocalUnwrap", () => {
17
- const mockPublicClient = {};
18
- const mockManagerContract = {
19
- read: {
20
- quoteUnwrapFee: vi.fn(),
21
- },
4
+ const mockProvider = {
5
+ readContract: vi.fn(),
6
+ getBalance: vi.fn(),
7
+ waitForTransactionReceipt: vi.fn(),
22
8
  };
23
9
  beforeEach(() => {
24
10
  vi.clearAllMocks();
25
- mockGetLiquidityManagerContract.mockReturnValue(mockManagerContract);
26
11
  });
27
12
  test("returns fee and expected output", async () => {
28
- mockManagerContract.read.quoteUnwrapFee.mockResolvedValue(50n);
13
+ mockProvider.readContract.mockResolvedValue(50n);
29
14
  const result = await quoteLocalUnwrap({
30
- publicClient: mockPublicClient,
15
+ provider: mockProvider,
31
16
  liquidityManagerAddress: "0xManager",
32
17
  amount: 1000n,
33
18
  });
@@ -35,9 +20,9 @@ describe("quoteLocalUnwrap", () => {
35
20
  expect(result.expectedOut).toBe(950n);
36
21
  });
37
22
  test("returns zero expected output when fee exceeds amount", async () => {
38
- mockManagerContract.read.quoteUnwrapFee.mockResolvedValue(1500n);
23
+ mockProvider.readContract.mockResolvedValue(1500n);
39
24
  const result = await quoteLocalUnwrap({
40
- publicClient: mockPublicClient,
25
+ provider: mockProvider,
41
26
  liquidityManagerAddress: "0xManager",
42
27
  amount: 1000n,
43
28
  });
@@ -45,9 +30,9 @@ describe("quoteLocalUnwrap", () => {
45
30
  expect(result.expectedOut).toBe(0n);
46
31
  });
47
32
  test("accepts string amount", async () => {
48
- mockManagerContract.read.quoteUnwrapFee.mockResolvedValue(10n);
33
+ mockProvider.readContract.mockResolvedValue(10n);
49
34
  const result = await quoteLocalUnwrap({
50
- publicClient: mockPublicClient,
35
+ provider: mockProvider,
51
36
  liquidityManagerAddress: "0xManager",
52
37
  amount: "100",
53
38
  });
@@ -55,9 +40,9 @@ describe("quoteLocalUnwrap", () => {
55
40
  expect(result.expectedOut).toBe(90n);
56
41
  });
57
42
  test("accepts number amount", async () => {
58
- mockManagerContract.read.quoteUnwrapFee.mockResolvedValue(5n);
43
+ mockProvider.readContract.mockResolvedValue(5n);
59
44
  const result = await quoteLocalUnwrap({
60
- publicClient: mockPublicClient,
45
+ provider: mockProvider,
61
46
  liquidityManagerAddress: "0xManager",
62
47
  amount: 50,
63
48
  });
@@ -66,63 +51,53 @@ describe("quoteLocalUnwrap", () => {
66
51
  });
67
52
  });
68
53
  describe("unwrapWithLiquidityManager", () => {
69
- const mockWalletClient = {
54
+ const mockWriteProvider = {
70
55
  account: { address: "0xAccount1234567890123456789012345678901234" },
71
56
  chain: { id: 1 },
57
+ writeContract: vi.fn(),
72
58
  };
73
- const mockManagerContract = {
74
- read: {
75
- quoteUnwrapFee: vi.fn(),
76
- },
77
- write: {
78
- unwrap: vi.fn(),
79
- unwrapWithMinOut: vi.fn(),
80
- },
81
- };
82
- const mockZerc20Contract = {
83
- read: {
84
- allowance: vi.fn(),
85
- },
86
- write: {
87
- approve: vi.fn(),
88
- },
59
+ const mockReadProvider = {
60
+ readContract: vi.fn(),
61
+ getBalance: vi.fn(),
62
+ waitForTransactionReceipt: vi.fn(),
89
63
  };
90
64
  beforeEach(() => {
91
65
  vi.clearAllMocks();
92
- mockGetLiquidityManagerContract.mockReturnValue(mockManagerContract);
93
- mockGetZerc20Contract.mockReturnValue(mockZerc20Contract);
94
- mockZerc20Contract.read.allowance.mockResolvedValue(0n);
95
- mockZerc20Contract.write.approve.mockResolvedValue("0xApprovalHash");
96
- mockManagerContract.write.unwrap.mockResolvedValue("0xUnwrapHash");
97
- mockWaitForTransactionReceipt.mockResolvedValue({ transactionHash: "0xReceiptHash" });
66
+ mockWriteProvider.writeContract.mockResolvedValue("0xTxHash");
67
+ mockReadProvider.waitForTransactionReceipt.mockResolvedValue({
68
+ transactionHash: "0xReceiptHash",
69
+ });
98
70
  });
99
71
  test("unwraps with approval when allowance insufficient", async () => {
72
+ mockReadProvider.readContract.mockResolvedValueOnce(0n); // allowance
100
73
  const result = await unwrapWithLiquidityManager({
101
- walletClient: mockWalletClient,
74
+ writeProvider: mockWriteProvider,
75
+ readProvider: mockReadProvider,
102
76
  liquidityManagerAddress: "0xManager",
103
77
  zerc20TokenAddress: "0xZerc20",
104
78
  amount: 1000n,
105
79
  });
106
80
  expect(result.transactionHash).toBe("0xReceiptHash");
107
81
  expect(result.approvalTransactionHash).toBe("0xReceiptHash");
108
- expect(mockZerc20Contract.write.approve).toHaveBeenCalled();
109
- expect(mockManagerContract.write.unwrap).toHaveBeenCalled();
82
+ // approve + unwrap = 2 calls
83
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledTimes(2);
110
84
  });
111
85
  test("skips approval when allowance is sufficient", async () => {
112
- mockZerc20Contract.read.allowance.mockResolvedValue(2000n);
86
+ mockReadProvider.readContract.mockResolvedValueOnce(2000n); // allowance
113
87
  const result = await unwrapWithLiquidityManager({
114
- walletClient: mockWalletClient,
88
+ writeProvider: mockWriteProvider,
89
+ readProvider: mockReadProvider,
115
90
  liquidityManagerAddress: "0xManager",
116
91
  zerc20TokenAddress: "0xZerc20",
117
92
  amount: 1000n,
118
93
  });
119
94
  expect(result.transactionHash).toBe("0xReceiptHash");
120
95
  expect(result.approvalTransactionHash).toBeUndefined();
121
- expect(mockZerc20Contract.write.approve).not.toHaveBeenCalled();
96
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledTimes(1);
122
97
  });
123
98
  test("throws for zero amount", async () => {
124
99
  await expect(unwrapWithLiquidityManager({
125
- walletClient: mockWalletClient,
100
+ writeProvider: mockWriteProvider,
126
101
  liquidityManagerAddress: "0xManager",
127
102
  zerc20TokenAddress: "0xZerc20",
128
103
  amount: 0n,
@@ -130,28 +105,33 @@ describe("unwrapWithLiquidityManager", () => {
130
105
  });
131
106
  test("throws for negative amount", async () => {
132
107
  await expect(unwrapWithLiquidityManager({
133
- walletClient: mockWalletClient,
108
+ writeProvider: mockWriteProvider,
134
109
  liquidityManagerAddress: "0xManager",
135
110
  zerc20TokenAddress: "0xZerc20",
136
111
  amount: -100n,
137
112
  })).rejects.toThrow("amount must be greater than zero");
138
113
  });
139
114
  test("uses custom recipient", async () => {
140
- mockZerc20Contract.read.allowance.mockResolvedValue(2000n);
115
+ mockReadProvider.readContract.mockResolvedValueOnce(2000n);
141
116
  const customRecipient = "0xCustomRecipient123456789012345678901234";
142
117
  await unwrapWithLiquidityManager({
143
- walletClient: mockWalletClient,
118
+ writeProvider: mockWriteProvider,
119
+ readProvider: mockReadProvider,
144
120
  liquidityManagerAddress: "0xManager",
145
121
  zerc20TokenAddress: "0xZerc20",
146
122
  amount: 1000n,
147
123
  recipient: customRecipient,
148
124
  });
149
- expect(mockManagerContract.write.unwrap).toHaveBeenCalledWith([1000n, expect.any(String)], expect.any(Object));
125
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledWith(expect.objectContaining({
126
+ functionName: "unwrap",
127
+ args: [1000n, expect.any(String)],
128
+ }));
150
129
  });
151
130
  test("accepts string amount", async () => {
152
- mockZerc20Contract.read.allowance.mockResolvedValue(2000n);
131
+ mockReadProvider.readContract.mockResolvedValueOnce(2000n);
153
132
  const result = await unwrapWithLiquidityManager({
154
- walletClient: mockWalletClient,
133
+ writeProvider: mockWriteProvider,
134
+ readProvider: mockReadProvider,
155
135
  liquidityManagerAddress: "0xManager",
156
136
  zerc20TokenAddress: "0xZerc20",
157
137
  amount: "1000",
@@ -159,9 +139,10 @@ describe("unwrapWithLiquidityManager", () => {
159
139
  expect(result.transactionHash).toBe("0xReceiptHash");
160
140
  });
161
141
  test("accepts number amount", async () => {
162
- mockZerc20Contract.read.allowance.mockResolvedValue(2000n);
142
+ mockReadProvider.readContract.mockResolvedValueOnce(2000n);
163
143
  const result = await unwrapWithLiquidityManager({
164
- walletClient: mockWalletClient,
144
+ writeProvider: mockWriteProvider,
145
+ readProvider: mockReadProvider,
165
146
  liquidityManagerAddress: "0xManager",
166
147
  zerc20TokenAddress: "0xZerc20",
167
148
  amount: 1000,
@@ -169,37 +150,41 @@ describe("unwrapWithLiquidityManager", () => {
169
150
  expect(result.transactionHash).toBe("0xReceiptHash");
170
151
  });
171
152
  test("calls unwrapWithMinOut when minAmountOut is provided", async () => {
172
- mockZerc20Contract.read.allowance.mockResolvedValue(2000n);
173
- mockManagerContract.read.quoteUnwrapFee.mockResolvedValue(50n);
174
- mockManagerContract.write.unwrapWithMinOut.mockResolvedValue("0xUnwrapHash");
153
+ // quoteUnwrapFee then allowance
154
+ mockReadProvider.readContract
155
+ .mockResolvedValueOnce(50n) // quoteUnwrapFee
156
+ .mockResolvedValueOnce(2000n); // allowance
175
157
  await unwrapWithLiquidityManager({
176
- walletClient: mockWalletClient,
158
+ writeProvider: mockWriteProvider,
159
+ readProvider: mockReadProvider,
177
160
  liquidityManagerAddress: "0xManager",
178
161
  zerc20TokenAddress: "0xZerc20",
179
162
  amount: 1000n,
180
163
  minAmountOut: 900n,
181
164
  });
182
- expect(mockManagerContract.write.unwrapWithMinOut).toHaveBeenCalledWith([1000n, 900n, expect.any(String)], expect.any(Object));
183
- expect(mockManagerContract.write.unwrap).not.toHaveBeenCalled();
165
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledWith(expect.objectContaining({
166
+ functionName: "unwrapWithMinOut",
167
+ args: [1000n, 900n, expect.any(String)],
168
+ }));
184
169
  });
185
170
  test("calls regular unwrap when minAmountOut is zero", async () => {
186
- mockZerc20Contract.read.allowance.mockResolvedValue(2000n);
171
+ mockReadProvider.readContract.mockResolvedValueOnce(2000n); // allowance
187
172
  await unwrapWithLiquidityManager({
188
- walletClient: mockWalletClient,
173
+ writeProvider: mockWriteProvider,
174
+ readProvider: mockReadProvider,
189
175
  liquidityManagerAddress: "0xManager",
190
176
  zerc20TokenAddress: "0xZerc20",
191
177
  amount: 1000n,
192
178
  minAmountOut: 0n,
193
179
  });
194
- expect(mockManagerContract.write.unwrap).toHaveBeenCalled();
195
- expect(mockManagerContract.write.unwrapWithMinOut).not.toHaveBeenCalled();
180
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledWith(expect.objectContaining({ functionName: "unwrap" }));
196
181
  });
197
182
  test("throws when expectedOut is below minAmountOut (slippage check)", async () => {
198
- mockZerc20Contract.read.allowance.mockResolvedValue(2000n);
199
183
  // Fee is 200, so expectedOut = 1000 - 200 = 800
200
- mockManagerContract.read.quoteUnwrapFee.mockResolvedValue(200n);
184
+ mockReadProvider.readContract.mockResolvedValueOnce(200n); // quoteUnwrapFee
201
185
  await expect(unwrapWithLiquidityManager({
202
- walletClient: mockWalletClient,
186
+ writeProvider: mockWriteProvider,
187
+ readProvider: mockReadProvider,
203
188
  liquidityManagerAddress: "0xManager",
204
189
  zerc20TokenAddress: "0xZerc20",
205
190
  amount: 1000n,
@@ -207,12 +192,13 @@ describe("unwrapWithLiquidityManager", () => {
207
192
  })).rejects.toThrow("Price changed beyond slippage tolerance");
208
193
  });
209
194
  test("proceeds when expectedOut meets minAmountOut", async () => {
210
- mockZerc20Contract.read.allowance.mockResolvedValue(2000n);
211
195
  // Fee is 50, so expectedOut = 1000 - 50 = 950
212
- mockManagerContract.read.quoteUnwrapFee.mockResolvedValue(50n);
213
- mockManagerContract.write.unwrapWithMinOut.mockResolvedValue("0xUnwrapHash");
196
+ mockReadProvider.readContract
197
+ .mockResolvedValueOnce(50n) // quoteUnwrapFee
198
+ .mockResolvedValueOnce(2000n); // allowance
214
199
  const result = await unwrapWithLiquidityManager({
215
- walletClient: mockWalletClient,
200
+ writeProvider: mockWriteProvider,
201
+ readProvider: mockReadProvider,
216
202
  liquidityManagerAddress: "0xManager",
217
203
  zerc20TokenAddress: "0xZerc20",
218
204
  amount: 1000n,
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/unwrap.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unwrap.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/unwrap.test.ts"],"names":[],"mappings":"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"}
@@ -1,140 +1,131 @@
1
1
  import { beforeEach, describe, expect, test, vi } from "vitest";
2
2
  import { wrapWithLiquidityManager } from "../wrap.js";
3
3
  import { NATIVE_TOKEN_ADDRESS } from "../helpers.js";
4
- // Mock dependencies
5
- vi.mock("../../../onchain/contracts.js", () => ({
6
- getLiquidityManagerContract: vi.fn(),
7
- }));
8
- vi.mock("viem/actions", () => ({
9
- waitForTransactionReceipt: vi.fn(),
10
- }));
11
- vi.mock("../helpers.js", async (importOriginal) => {
12
- const original = await importOriginal();
13
- return {
14
- ...original,
15
- getErc20Contract: vi.fn(),
16
- };
17
- });
18
- import { getLiquidityManagerContract } from "../../../onchain/contracts.js";
19
- import { waitForTransactionReceipt } from "viem/actions";
20
- import { getErc20Contract } from "../helpers.js";
21
- const mockGetLiquidityManagerContract = vi.mocked(getLiquidityManagerContract);
22
- const mockWaitForTransactionReceipt = vi.mocked(waitForTransactionReceipt);
23
- const mockGetErc20Contract = vi.mocked(getErc20Contract);
24
4
  describe("wrapWithLiquidityManager", () => {
25
- const mockWalletClient = {
5
+ const mockWriteProvider = {
26
6
  account: { address: "0xAccount1234567890123456789012345678901234" },
27
7
  chain: { id: 1 },
8
+ writeContract: vi.fn(),
28
9
  };
29
- const mockManagerContract = {
30
- read: {
31
- underlyingToken: vi.fn(),
32
- },
33
- write: {
34
- wrap: vi.fn(),
35
- },
36
- };
37
- const mockErc20Contract = {
38
- read: {
39
- allowance: vi.fn(),
40
- },
41
- write: {
42
- approve: vi.fn(),
43
- },
10
+ const mockReadProvider = {
11
+ readContract: vi.fn(),
12
+ getBalance: vi.fn(),
13
+ waitForTransactionReceipt: vi.fn(),
44
14
  };
45
15
  beforeEach(() => {
46
16
  vi.clearAllMocks();
47
- mockGetLiquidityManagerContract.mockReturnValue(mockManagerContract);
48
- mockGetErc20Contract.mockReturnValue(mockErc20Contract);
49
- mockManagerContract.read.underlyingToken.mockResolvedValue("0x1234567890123456789012345678901234567890");
50
- mockErc20Contract.read.allowance.mockResolvedValue(0n);
51
- mockErc20Contract.write.approve.mockResolvedValue("0xApprovalHash");
52
- mockManagerContract.write.wrap.mockResolvedValue("0xWrapHash");
53
- mockWaitForTransactionReceipt.mockResolvedValue({ transactionHash: "0xReceiptHash" });
17
+ mockWriteProvider.writeContract.mockResolvedValue("0xTxHash");
18
+ mockReadProvider.waitForTransactionReceipt.mockResolvedValue({
19
+ transactionHash: "0xReceiptHash",
20
+ });
54
21
  });
55
22
  test("wraps ERC20 token with approval", async () => {
23
+ // underlyingToken
24
+ mockReadProvider.readContract
25
+ .mockResolvedValueOnce("0x1234567890123456789012345678901234567890") // underlyingToken
26
+ .mockResolvedValueOnce(0n); // allowance
56
27
  const result = await wrapWithLiquidityManager({
57
- walletClient: mockWalletClient,
28
+ writeProvider: mockWriteProvider,
29
+ readProvider: mockReadProvider,
58
30
  liquidityManagerAddress: "0xManager",
59
31
  amount: 1000n,
60
32
  });
61
33
  expect(result.transactionHash).toBe("0xReceiptHash");
62
34
  expect(result.approvalTransactionHash).toBe("0xReceiptHash");
63
- expect(mockErc20Contract.write.approve).toHaveBeenCalled();
64
- expect(mockManagerContract.write.wrap).toHaveBeenCalled();
35
+ // approve + wrap = 2 writeContract calls
36
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledTimes(2);
65
37
  });
66
38
  test("skips approval when allowance is sufficient", async () => {
67
- mockErc20Contract.read.allowance.mockResolvedValue(2000n);
39
+ mockReadProvider.readContract
40
+ .mockResolvedValueOnce("0x1234567890123456789012345678901234567890") // underlyingToken
41
+ .mockResolvedValueOnce(2000n); // allowance >= amount
68
42
  const result = await wrapWithLiquidityManager({
69
- walletClient: mockWalletClient,
43
+ writeProvider: mockWriteProvider,
44
+ readProvider: mockReadProvider,
70
45
  liquidityManagerAddress: "0xManager",
71
46
  amount: 1000n,
72
47
  });
73
48
  expect(result.transactionHash).toBe("0xReceiptHash");
74
49
  expect(result.approvalTransactionHash).toBeUndefined();
75
- expect(mockErc20Contract.write.approve).not.toHaveBeenCalled();
50
+ // only wrap = 1 writeContract call
51
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledTimes(1);
76
52
  });
77
53
  test("wraps native token without approval", async () => {
78
- mockManagerContract.read.underlyingToken.mockResolvedValue(NATIVE_TOKEN_ADDRESS);
54
+ mockReadProvider.readContract.mockResolvedValueOnce(NATIVE_TOKEN_ADDRESS); // underlyingToken
79
55
  const result = await wrapWithLiquidityManager({
80
- walletClient: mockWalletClient,
56
+ writeProvider: mockWriteProvider,
57
+ readProvider: mockReadProvider,
81
58
  liquidityManagerAddress: "0xManager",
82
59
  amount: 1000n,
83
60
  });
84
61
  expect(result.transactionHash).toBe("0xReceiptHash");
85
62
  expect(result.approvalTransactionHash).toBeUndefined();
86
- expect(mockErc20Contract.write.approve).not.toHaveBeenCalled();
63
+ // only wrap = 1 writeContract call
64
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledTimes(1);
87
65
  });
88
66
  test("throws for zero amount", async () => {
89
67
  await expect(wrapWithLiquidityManager({
90
- walletClient: mockWalletClient,
68
+ writeProvider: mockWriteProvider,
91
69
  liquidityManagerAddress: "0xManager",
92
70
  amount: 0n,
93
71
  })).rejects.toThrow("amount must be greater than zero");
94
72
  });
95
73
  test("throws for negative amount", async () => {
96
74
  await expect(wrapWithLiquidityManager({
97
- walletClient: mockWalletClient,
75
+ writeProvider: mockWriteProvider,
98
76
  liquidityManagerAddress: "0xManager",
99
77
  amount: -100n,
100
78
  })).rejects.toThrow("amount must be greater than zero");
101
79
  });
102
80
  test("uses provided underlying token address", async () => {
103
81
  const providedUnderlying = "0xProvidedUnderlying12345678901234567890";
104
- mockErc20Contract.read.allowance.mockResolvedValue(2000n);
82
+ mockReadProvider.readContract.mockResolvedValueOnce(2000n); // allowance
105
83
  await wrapWithLiquidityManager({
106
- walletClient: mockWalletClient,
84
+ writeProvider: mockWriteProvider,
85
+ readProvider: mockReadProvider,
107
86
  liquidityManagerAddress: "0xManager",
108
87
  amount: 1000n,
109
88
  underlyingTokenAddress: providedUnderlying,
110
89
  });
111
90
  // Should not call underlyingToken() when address is provided
112
- expect(mockManagerContract.read.underlyingToken).not.toHaveBeenCalled();
91
+ expect(mockReadProvider.readContract).not.toHaveBeenCalledWith(expect.objectContaining({ functionName: "underlyingToken" }));
113
92
  });
114
93
  test("uses custom recipient", async () => {
115
- mockErc20Contract.read.allowance.mockResolvedValue(2000n);
94
+ mockReadProvider.readContract
95
+ .mockResolvedValueOnce("0x1234567890123456789012345678901234567890")
96
+ .mockResolvedValueOnce(2000n);
116
97
  const customRecipient = "0xCustomRecipient123456789012345678901234";
117
98
  await wrapWithLiquidityManager({
118
- walletClient: mockWalletClient,
99
+ writeProvider: mockWriteProvider,
100
+ readProvider: mockReadProvider,
119
101
  liquidityManagerAddress: "0xManager",
120
102
  amount: 1000n,
121
103
  recipient: customRecipient,
122
104
  });
123
- expect(mockManagerContract.write.wrap).toHaveBeenCalledWith([1000n, expect.any(String)], expect.any(Object));
105
+ expect(mockWriteProvider.writeContract).toHaveBeenCalledWith(expect.objectContaining({
106
+ functionName: "wrap",
107
+ args: [1000n, expect.any(String)],
108
+ }));
124
109
  });
125
110
  test("accepts string amount", async () => {
126
- mockErc20Contract.read.allowance.mockResolvedValue(2000n);
111
+ mockReadProvider.readContract
112
+ .mockResolvedValueOnce("0x1234567890123456789012345678901234567890")
113
+ .mockResolvedValueOnce(2000n);
127
114
  const result = await wrapWithLiquidityManager({
128
- walletClient: mockWalletClient,
115
+ writeProvider: mockWriteProvider,
116
+ readProvider: mockReadProvider,
129
117
  liquidityManagerAddress: "0xManager",
130
118
  amount: "1000",
131
119
  });
132
120
  expect(result.transactionHash).toBe("0xReceiptHash");
133
121
  });
134
122
  test("accepts number amount", async () => {
135
- mockErc20Contract.read.allowance.mockResolvedValue(2000n);
123
+ mockReadProvider.readContract
124
+ .mockResolvedValueOnce("0x1234567890123456789012345678901234567890")
125
+ .mockResolvedValueOnce(2000n);
136
126
  const result = await wrapWithLiquidityManager({
137
- walletClient: mockWalletClient,
127
+ writeProvider: mockWriteProvider,
128
+ readProvider: mockReadProvider,
138
129
  liquidityManagerAddress: "0xManager",
139
130
  amount: 1000,
140
131
  });
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/wrap.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.test.js","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/wrap.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Minimal ERC-20 ABI subset used by liquidity manager operations.
3
+ * @internal
4
+ */
5
+ export declare const ERC20_ABI: readonly [{
6
+ readonly name: "balanceOf";
7
+ readonly type: "function";
8
+ readonly stateMutability: "view";
9
+ readonly inputs: readonly [{
10
+ readonly name: "account";
11
+ readonly type: "address";
12
+ }];
13
+ readonly outputs: readonly [{
14
+ readonly name: "";
15
+ readonly type: "uint256";
16
+ }];
17
+ }, {
18
+ readonly name: "decimals";
19
+ readonly type: "function";
20
+ readonly stateMutability: "view";
21
+ readonly inputs: readonly [];
22
+ readonly outputs: readonly [{
23
+ readonly name: "";
24
+ readonly type: "uint8";
25
+ }];
26
+ }, {
27
+ readonly name: "allowance";
28
+ readonly type: "function";
29
+ readonly stateMutability: "view";
30
+ readonly inputs: readonly [{
31
+ readonly name: "owner";
32
+ readonly type: "address";
33
+ }, {
34
+ readonly name: "spender";
35
+ readonly type: "address";
36
+ }];
37
+ readonly outputs: readonly [{
38
+ readonly name: "";
39
+ readonly type: "uint256";
40
+ }];
41
+ }, {
42
+ readonly name: "approve";
43
+ readonly type: "function";
44
+ readonly stateMutability: "nonpayable";
45
+ readonly inputs: readonly [{
46
+ readonly name: "spender";
47
+ readonly type: "address";
48
+ }, {
49
+ readonly name: "amount";
50
+ readonly type: "uint256";
51
+ }];
52
+ readonly outputs: readonly [{
53
+ readonly name: "";
54
+ readonly type: "bool";
55
+ }];
56
+ }];
57
+ //# sourceMappingURL=abi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../../src/operations/liquidityManager/abi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCZ,CAAC"}