@gauntlet-xyz/sdk 2.5.0 → 3.0.1

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 (346) hide show
  1. package/README.md +89 -6
  2. package/dist/api/activity.d.ts +1 -1
  3. package/dist/api/activity.d.ts.map +1 -1
  4. package/dist/api/caip.d.ts +1 -1
  5. package/dist/api/caip.d.ts.map +1 -1
  6. package/dist/api/client.d.ts +43 -5
  7. package/dist/api/client.d.ts.map +1 -1
  8. package/dist/api/errors.d.ts +1 -1
  9. package/dist/api/errors.d.ts.map +1 -1
  10. package/dist/api/generated.d.ts +570 -7
  11. package/dist/api/generated.d.ts.map +1 -1
  12. package/dist/api/index.d.ts +13 -13
  13. package/dist/api/index.d.ts.map +1 -1
  14. package/dist/api/index.js +48 -8
  15. package/dist/api/index.js.map +7 -1
  16. package/dist/api/positionHistory.d.ts +1 -1
  17. package/dist/api/positionHistory.d.ts.map +1 -1
  18. package/dist/attribution/index.d.ts +3 -3
  19. package/dist/attribution/index.d.ts.map +1 -1
  20. package/dist/chunk-7TA2OJUK.js +4364 -0
  21. package/dist/chunk-7TA2OJUK.js.map +7 -0
  22. package/dist/chunk-HC2BS7MK.js +439 -0
  23. package/dist/chunk-HC2BS7MK.js.map +7 -0
  24. package/dist/chunk-S2TTA45N.js +2009 -0
  25. package/dist/chunk-S2TTA45N.js.map +7 -0
  26. package/dist/chunk-STIV2CC4.js +57 -0
  27. package/dist/chunk-STIV2CC4.js.map +7 -0
  28. package/dist/chunk-SU6JAKIA.js +283 -0
  29. package/dist/chunk-SU6JAKIA.js.map +7 -0
  30. package/dist/cjs/api/activity.d.ts +70 -0
  31. package/dist/cjs/api/activity.d.ts.map +1 -0
  32. package/dist/cjs/api/activity.js +136 -0
  33. package/dist/cjs/api/activity.js.map +7 -0
  34. package/dist/cjs/api/caip.d.ts +29 -0
  35. package/dist/cjs/api/caip.d.ts.map +1 -0
  36. package/dist/cjs/api/caip.js +59 -0
  37. package/dist/cjs/api/caip.js.map +7 -0
  38. package/dist/cjs/api/client.d.ts +173 -0
  39. package/dist/cjs/api/client.d.ts.map +1 -0
  40. package/dist/cjs/api/client.js +171 -0
  41. package/dist/cjs/api/client.js.map +7 -0
  42. package/dist/cjs/api/decimal.d.ts +21 -0
  43. package/dist/cjs/api/decimal.d.ts.map +1 -0
  44. package/dist/cjs/api/decimal.js +60 -0
  45. package/dist/cjs/api/decimal.js.map +7 -0
  46. package/dist/cjs/api/errors.d.ts +32 -0
  47. package/dist/cjs/api/errors.d.ts.map +1 -0
  48. package/dist/cjs/api/errors.js +80 -0
  49. package/dist/cjs/api/errors.js.map +7 -0
  50. package/dist/cjs/api/generated.d.ts +2068 -0
  51. package/dist/cjs/api/generated.d.ts.map +1 -0
  52. package/dist/cjs/api/generated.js +17 -0
  53. package/dist/cjs/api/generated.js.map +7 -0
  54. package/dist/cjs/api/http.d.ts +16 -0
  55. package/dist/cjs/api/http.d.ts.map +1 -0
  56. package/dist/cjs/api/http.js +64 -0
  57. package/dist/cjs/api/http.js.map +7 -0
  58. package/dist/cjs/api/index.d.ts +14 -0
  59. package/dist/cjs/api/index.d.ts.map +1 -0
  60. package/dist/cjs/api/index.js +73 -0
  61. package/dist/cjs/api/index.js.map +7 -0
  62. package/dist/cjs/api/positionHistory.d.ts +44 -0
  63. package/dist/cjs/api/positionHistory.d.ts.map +1 -0
  64. package/dist/cjs/api/positionHistory.js +131 -0
  65. package/dist/cjs/api/positionHistory.js.map +7 -0
  66. package/dist/cjs/attribution/erc8021.d.ts +9 -0
  67. package/dist/cjs/attribution/erc8021.d.ts.map +1 -0
  68. package/dist/cjs/attribution/erc8021.js +37 -0
  69. package/dist/cjs/attribution/erc8021.js.map +7 -0
  70. package/dist/cjs/attribution/index.d.ts +25 -0
  71. package/dist/cjs/attribution/index.d.ts.map +1 -0
  72. package/dist/cjs/attribution/index.js +68 -0
  73. package/dist/cjs/attribution/index.js.map +7 -0
  74. package/dist/cjs/client.d.ts +72 -0
  75. package/dist/cjs/client.d.ts.map +1 -0
  76. package/dist/cjs/client.js +80 -0
  77. package/dist/cjs/client.js.map +7 -0
  78. package/dist/cjs/constants.d.ts +16 -0
  79. package/dist/cjs/constants.d.ts.map +1 -0
  80. package/dist/cjs/constants.js +83 -0
  81. package/dist/cjs/constants.js.map +7 -0
  82. package/dist/cjs/errors.d.ts +85 -0
  83. package/dist/cjs/errors.d.ts.map +1 -0
  84. package/dist/cjs/errors.js +210 -0
  85. package/dist/cjs/errors.js.map +7 -0
  86. package/dist/cjs/evm/abis/erc20.d.ts +41 -0
  87. package/dist/cjs/evm/abis/erc20.d.ts.map +1 -0
  88. package/dist/cjs/evm/abis/erc20.js +57 -0
  89. package/dist/cjs/evm/abis/erc20.js.map +7 -0
  90. package/dist/cjs/evm/abis/erc4626.d.ts +105 -0
  91. package/dist/cjs/evm/abis/erc4626.d.ts.map +1 -0
  92. package/dist/cjs/evm/abis/erc4626.js +97 -0
  93. package/dist/cjs/evm/abis/erc4626.js.map +7 -0
  94. package/dist/cjs/evm/abis/multiDepositorVault.d.ts +1048 -0
  95. package/dist/cjs/evm/abis/multiDepositorVault.d.ts.map +1 -0
  96. package/dist/cjs/evm/abis/multiDepositorVault.js +614 -0
  97. package/dist/cjs/evm/abis/multiDepositorVault.js.map +7 -0
  98. package/dist/cjs/evm/abis/priceAndFeeCalculator.d.ts +910 -0
  99. package/dist/cjs/evm/abis/priceAndFeeCalculator.d.ts.map +1 -0
  100. package/dist/cjs/evm/abis/priceAndFeeCalculator.js +517 -0
  101. package/dist/cjs/evm/abis/priceAndFeeCalculator.js.map +7 -0
  102. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.d.ts +277 -0
  103. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.d.ts.map +1 -0
  104. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.js +166 -0
  105. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.js.map +7 -0
  106. package/dist/cjs/evm/abis/provisioner.d.ts +4984 -0
  107. package/dist/cjs/evm/abis/provisioner.d.ts.map +1 -0
  108. package/dist/cjs/evm/abis/provisioner.js +2785 -0
  109. package/dist/cjs/evm/abis/provisioner.js.map +7 -0
  110. package/dist/cjs/evm/abis/provisionerV2.d.ts +740 -0
  111. package/dist/cjs/evm/abis/provisionerV2.d.ts.map +1 -0
  112. package/dist/cjs/evm/abis/provisionerV2.js +320 -0
  113. package/dist/cjs/evm/abis/provisionerV2.js.map +7 -0
  114. package/dist/cjs/evm/adapters/aera.d.ts +6 -0
  115. package/dist/cjs/evm/adapters/aera.d.ts.map +1 -0
  116. package/dist/cjs/evm/adapters/aera.js +491 -0
  117. package/dist/cjs/evm/adapters/aera.js.map +7 -0
  118. package/dist/cjs/evm/adapters/index.d.ts +3 -0
  119. package/dist/cjs/evm/adapters/index.d.ts.map +1 -0
  120. package/dist/cjs/evm/adapters/index.js +41 -0
  121. package/dist/cjs/evm/adapters/index.js.map +7 -0
  122. package/dist/cjs/evm/adapters/morpho.d.ts +3 -0
  123. package/dist/cjs/evm/adapters/morpho.d.ts.map +1 -0
  124. package/dist/cjs/evm/adapters/morpho.js +103 -0
  125. package/dist/cjs/evm/adapters/morpho.js.map +7 -0
  126. package/dist/cjs/evm/adapters/types.d.ts +84 -0
  127. package/dist/cjs/evm/adapters/types.d.ts.map +1 -0
  128. package/dist/cjs/evm/adapters/types.js +17 -0
  129. package/dist/cjs/evm/adapters/types.js.map +7 -0
  130. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.d.ts +46 -0
  131. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -0
  132. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.js +223 -0
  133. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.js.map +7 -0
  134. package/dist/cjs/evm/aeraContracts/readOptions.d.ts +8 -0
  135. package/dist/cjs/evm/aeraContracts/readOptions.d.ts.map +1 -0
  136. package/dist/cjs/evm/aeraContracts/readOptions.js +31 -0
  137. package/dist/cjs/evm/aeraContracts/readOptions.js.map +7 -0
  138. package/dist/cjs/evm/aeraContracts/v1.d.ts +2317 -0
  139. package/dist/cjs/evm/aeraContracts/v1.d.ts.map +1 -0
  140. package/dist/cjs/evm/aeraContracts/v1.js +120 -0
  141. package/dist/cjs/evm/aeraContracts/v1.js.map +7 -0
  142. package/dist/cjs/evm/aeraContracts/v2.d.ts +4538 -0
  143. package/dist/cjs/evm/aeraContracts/v2.d.ts.map +1 -0
  144. package/dist/cjs/evm/aeraContracts/v2.js +449 -0
  145. package/dist/cjs/evm/aeraContracts/v2.js.map +7 -0
  146. package/dist/cjs/evm/aeraContracts.d.ts +33 -0
  147. package/dist/cjs/evm/aeraContracts.d.ts.map +1 -0
  148. package/dist/cjs/evm/aeraContracts.js +224 -0
  149. package/dist/cjs/evm/aeraContracts.js.map +7 -0
  150. package/dist/cjs/evm/deposit.d.ts +50 -0
  151. package/dist/cjs/evm/deposit.d.ts.map +1 -0
  152. package/dist/cjs/evm/deposit.js +112 -0
  153. package/dist/cjs/evm/deposit.js.map +7 -0
  154. package/dist/cjs/evm/depositQuote.d.ts +32 -0
  155. package/dist/cjs/evm/depositQuote.d.ts.map +1 -0
  156. package/dist/cjs/evm/depositQuote.js +96 -0
  157. package/dist/cjs/evm/depositQuote.js.map +7 -0
  158. package/dist/cjs/evm/depositReceiverApproval.d.ts +17 -0
  159. package/dist/cjs/evm/depositReceiverApproval.d.ts.map +1 -0
  160. package/dist/cjs/evm/depositReceiverApproval.js +66 -0
  161. package/dist/cjs/evm/depositReceiverApproval.js.map +7 -0
  162. package/dist/cjs/evm/index.d.ts +28 -0
  163. package/dist/cjs/evm/index.d.ts.map +1 -0
  164. package/dist/cjs/evm/index.js +116 -0
  165. package/dist/cjs/evm/index.js.map +7 -0
  166. package/dist/cjs/evm/operationMode.d.ts +9 -0
  167. package/dist/cjs/evm/operationMode.d.ts.map +1 -0
  168. package/dist/cjs/evm/operationMode.js +65 -0
  169. package/dist/cjs/evm/operationMode.js.map +7 -0
  170. package/dist/cjs/evm/tokenModes.d.ts +22 -0
  171. package/dist/cjs/evm/tokenModes.d.ts.map +1 -0
  172. package/dist/cjs/evm/tokenModes.js +47 -0
  173. package/dist/cjs/evm/tokenModes.js.map +7 -0
  174. package/dist/cjs/evm/types.d.ts +34 -0
  175. package/dist/cjs/evm/types.d.ts.map +1 -0
  176. package/dist/cjs/evm/types.js +32 -0
  177. package/dist/cjs/evm/types.js.map +7 -0
  178. package/dist/cjs/evm/userCurrentBalance.d.ts +55 -0
  179. package/dist/cjs/evm/userCurrentBalance.d.ts.map +1 -0
  180. package/dist/cjs/evm/userCurrentBalance.js +225 -0
  181. package/dist/cjs/evm/userCurrentBalance.js.map +7 -0
  182. package/dist/cjs/evm/vaults.d.ts +44 -0
  183. package/dist/cjs/evm/vaults.d.ts.map +1 -0
  184. package/dist/cjs/evm/vaults.js +78 -0
  185. package/dist/cjs/evm/vaults.js.map +7 -0
  186. package/dist/cjs/evm/withdraw.d.ts +73 -0
  187. package/dist/cjs/evm/withdraw.d.ts.map +1 -0
  188. package/dist/cjs/evm/withdraw.js +161 -0
  189. package/dist/cjs/evm/withdraw.js.map +7 -0
  190. package/dist/cjs/evm/withdrawQuote.d.ts +135 -0
  191. package/dist/cjs/evm/withdrawQuote.d.ts.map +1 -0
  192. package/dist/cjs/evm/withdrawQuote.js +256 -0
  193. package/dist/cjs/evm/withdrawQuote.js.map +7 -0
  194. package/dist/cjs/index.d.ts +31 -0
  195. package/dist/cjs/index.d.ts.map +1 -0
  196. package/dist/cjs/index.js +128 -0
  197. package/dist/cjs/index.js.map +7 -0
  198. package/dist/cjs/package.json +1 -0
  199. package/dist/cjs/privy/index.d.ts +52 -0
  200. package/dist/cjs/privy/index.d.ts.map +1 -0
  201. package/dist/cjs/privy/index.js +57 -0
  202. package/dist/cjs/privy/index.js.map +7 -0
  203. package/dist/client.d.ts +4 -2
  204. package/dist/client.d.ts.map +1 -1
  205. package/dist/constants.d.ts.map +1 -1
  206. package/dist/errors.d.ts +4 -1
  207. package/dist/errors.d.ts.map +1 -1
  208. package/dist/evm/adapters/aera.d.ts +1 -1
  209. package/dist/evm/adapters/aera.d.ts.map +1 -1
  210. package/dist/evm/adapters/index.d.ts +1 -1
  211. package/dist/evm/adapters/index.d.ts.map +1 -1
  212. package/dist/evm/adapters/morpho.d.ts +1 -1
  213. package/dist/evm/adapters/morpho.d.ts.map +1 -1
  214. package/dist/evm/adapters/types.d.ts +5 -3
  215. package/dist/evm/adapters/types.d.ts.map +1 -1
  216. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts +1 -1
  217. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -1
  218. package/dist/evm/aeraContracts/v1.d.ts +2 -2
  219. package/dist/evm/aeraContracts/v1.d.ts.map +1 -1
  220. package/dist/evm/aeraContracts/v2.d.ts +25 -4
  221. package/dist/evm/aeraContracts/v2.d.ts.map +1 -1
  222. package/dist/evm/aeraContracts.d.ts +2 -2
  223. package/dist/evm/aeraContracts.d.ts.map +1 -1
  224. package/dist/evm/deposit.d.ts +4 -2
  225. package/dist/evm/deposit.d.ts.map +1 -1
  226. package/dist/evm/depositQuote.d.ts +32 -0
  227. package/dist/evm/depositQuote.d.ts.map +1 -0
  228. package/dist/evm/depositReceiverApproval.d.ts +2 -2
  229. package/dist/evm/depositReceiverApproval.d.ts.map +1 -1
  230. package/dist/evm/index.d.ts +27 -25
  231. package/dist/evm/index.d.ts.map +1 -1
  232. package/dist/evm/index.js +88 -12
  233. package/dist/evm/index.js.map +7 -1
  234. package/dist/evm/tokenModes.d.ts +2 -2
  235. package/dist/evm/tokenModes.d.ts.map +1 -1
  236. package/dist/evm/userCurrentBalance.d.ts +6 -2
  237. package/dist/evm/userCurrentBalance.d.ts.map +1 -1
  238. package/dist/evm/vaults.d.ts +2 -9
  239. package/dist/evm/vaults.d.ts.map +1 -1
  240. package/dist/evm/withdraw.d.ts +3 -3
  241. package/dist/evm/withdraw.d.ts.map +1 -1
  242. package/dist/evm/withdrawQuote.d.ts +14 -6
  243. package/dist/evm/withdrawQuote.d.ts.map +1 -1
  244. package/dist/index.d.ts +30 -28
  245. package/dist/index.d.ts.map +1 -1
  246. package/dist/index.js +139 -14
  247. package/dist/index.js.map +7 -1
  248. package/dist/manifest/vaults.json +1958 -0
  249. package/dist/privy/index.d.ts +1 -1
  250. package/dist/privy/index.d.ts.map +1 -1
  251. package/dist/privy/index.js +39 -48
  252. package/dist/privy/index.js.map +7 -1
  253. package/manifest/vaults.json +22 -395
  254. package/package.json +43 -9
  255. package/src/api/client.ts +69 -5
  256. package/src/api/generated.ts +570 -7
  257. package/src/api/index.ts +8 -0
  258. package/src/client.ts +4 -1
  259. package/src/constants.ts +2 -0
  260. package/src/errors.ts +7 -0
  261. package/src/evm/adapters/aera.ts +14 -11
  262. package/src/evm/adapters/types.ts +2 -0
  263. package/src/evm/aeraContracts/v2.ts +124 -16
  264. package/src/evm/deposit.ts +19 -7
  265. package/src/evm/depositQuote.ts +137 -0
  266. package/src/evm/index.ts +10 -1
  267. package/src/evm/userCurrentBalance.ts +12 -1
  268. package/src/evm/vaults.ts +0 -7
  269. package/src/evm/withdrawQuote.ts +125 -51
  270. package/src/index.ts +11 -2
  271. package/dist/api/activity.js +0 -154
  272. package/dist/api/activity.js.map +0 -1
  273. package/dist/api/caip.js +0 -38
  274. package/dist/api/caip.js.map +0 -1
  275. package/dist/api/client.js +0 -119
  276. package/dist/api/client.js.map +0 -1
  277. package/dist/api/decimal.js +0 -44
  278. package/dist/api/decimal.js.map +0 -1
  279. package/dist/api/errors.js +0 -41
  280. package/dist/api/errors.js.map +0 -1
  281. package/dist/api/generated.js +0 -6
  282. package/dist/api/generated.js.map +0 -1
  283. package/dist/api/http.js +0 -39
  284. package/dist/api/http.js.map +0 -1
  285. package/dist/api/positionHistory.js +0 -126
  286. package/dist/api/positionHistory.js.map +0 -1
  287. package/dist/attribution/erc8021.js +0 -17
  288. package/dist/attribution/erc8021.js.map +0 -1
  289. package/dist/attribution/index.js +0 -45
  290. package/dist/attribution/index.js.map +0 -1
  291. package/dist/client.js +0 -72
  292. package/dist/client.js.map +0 -1
  293. package/dist/constants.js +0 -28
  294. package/dist/constants.js.map +0 -1
  295. package/dist/errors.js +0 -134
  296. package/dist/errors.js.map +0 -1
  297. package/dist/evm/abis/erc20.js +0 -30
  298. package/dist/evm/abis/erc20.js.map +0 -1
  299. package/dist/evm/abis/erc4626.js +0 -70
  300. package/dist/evm/abis/erc4626.js.map +0 -1
  301. package/dist/evm/abis/multiDepositorVault.js +0 -587
  302. package/dist/evm/abis/multiDepositorVault.js.map +0 -1
  303. package/dist/evm/abis/priceAndFeeCalculator.js +0 -490
  304. package/dist/evm/abis/priceAndFeeCalculator.js.map +0 -1
  305. package/dist/evm/abis/priceAndFeeCalculatorV2.js +0 -141
  306. package/dist/evm/abis/priceAndFeeCalculatorV2.js.map +0 -1
  307. package/dist/evm/abis/provisioner.js +0 -2768
  308. package/dist/evm/abis/provisioner.js.map +0 -1
  309. package/dist/evm/abis/provisionerV2.js +0 -295
  310. package/dist/evm/abis/provisionerV2.js.map +0 -1
  311. package/dist/evm/adapters/aera.js +0 -280
  312. package/dist/evm/adapters/aera.js.map +0 -1
  313. package/dist/evm/adapters/index.js +0 -14
  314. package/dist/evm/adapters/index.js.map +0 -1
  315. package/dist/evm/adapters/morpho.js +0 -79
  316. package/dist/evm/adapters/morpho.js.map +0 -1
  317. package/dist/evm/adapters/types.js +0 -2
  318. package/dist/evm/adapters/types.js.map +0 -1
  319. package/dist/evm/aeraContracts/priceAndFeeCalculator.js +0 -174
  320. package/dist/evm/aeraContracts/priceAndFeeCalculator.js.map +0 -1
  321. package/dist/evm/aeraContracts/readOptions.js +0 -4
  322. package/dist/evm/aeraContracts/readOptions.js.map +0 -1
  323. package/dist/evm/aeraContracts/v1.js +0 -59
  324. package/dist/evm/aeraContracts/v1.js.map +0 -1
  325. package/dist/evm/aeraContracts/v2.js +0 -273
  326. package/dist/evm/aeraContracts/v2.js.map +0 -1
  327. package/dist/evm/aeraContracts.js +0 -195
  328. package/dist/evm/aeraContracts.js.map +0 -1
  329. package/dist/evm/deposit.js +0 -109
  330. package/dist/evm/deposit.js.map +0 -1
  331. package/dist/evm/depositReceiverApproval.js +0 -32
  332. package/dist/evm/depositReceiverApproval.js.map +0 -1
  333. package/dist/evm/operationMode.js +0 -41
  334. package/dist/evm/operationMode.js.map +0 -1
  335. package/dist/evm/tokenModes.js +0 -34
  336. package/dist/evm/tokenModes.js.map +0 -1
  337. package/dist/evm/types.js +0 -5
  338. package/dist/evm/types.js.map +0 -1
  339. package/dist/evm/userCurrentBalance.js +0 -211
  340. package/dist/evm/userCurrentBalance.js.map +0 -1
  341. package/dist/evm/vaults.js +0 -75
  342. package/dist/evm/vaults.js.map +0 -1
  343. package/dist/evm/withdraw.js +0 -177
  344. package/dist/evm/withdraw.js.map +0 -1
  345. package/dist/evm/withdrawQuote.js +0 -164
  346. package/dist/evm/withdrawQuote.js.map +0 -1
@@ -1,280 +0,0 @@
1
- import { erc20Abi } from '../abis/erc20';
2
- import { getMultiDepositorVault, applySlippageDown, applySlippageUp, requireAeraSyncRedeemRuntime, resolveContractVersion, } from '../aeraContracts';
3
- import { convertTokenToUnits, convertUnitsToToken } from '../aeraContracts/priceAndFeeCalculator';
4
- import * as provisionerV1 from '../aeraContracts/v1';
5
- import * as provisionerV2 from '../aeraContracts/v2';
6
- import { InvalidWithdrawParamsError, InvalidSolverTipError, requireNonZeroSyncWithdrawBound, UnimplementedFeatureError, UnsupportedFeatureError, } from '../../errors';
7
- import { multiDepositorVaultAbi } from '../abis/multiDepositorVault';
8
- import { DEFAULT_BPS, DAY, DEFAULT_MAX_PRICE_AGE, DEFAULT_REQUEST_DEADLINE_BUFFER, DEFAULT_SOLVER_TIP, } from '../../constants';
9
- import { ContractVersion } from '../types';
10
- export const convertTokenAmountToUnits = async (publicClient, tokenAmount, vaultAddress, tokenAddress) => {
11
- const vaultContract = getMultiDepositorVault(publicClient, vaultAddress);
12
- if (vaultContract === undefined)
13
- return;
14
- const calculatorAddress = await vaultContract.read.feeCalculator();
15
- if (!calculatorAddress)
16
- return;
17
- const calculatorVersion = await resolveContractVersion(publicClient, calculatorAddress);
18
- const unitsAmount = await convertTokenToUnits(publicClient, calculatorAddress, calculatorVersion, vaultAddress, tokenAddress, tokenAmount);
19
- return unitsAmount;
20
- };
21
- export const convertUnitsToTokenAmount = async (publicClient, unitsAmount, vaultAddress, tokenAddress) => {
22
- const vaultContract = getMultiDepositorVault(publicClient, vaultAddress);
23
- if (vaultContract === undefined)
24
- return;
25
- const calculatorAddress = await vaultContract.read.feeCalculator();
26
- if (!calculatorAddress)
27
- return;
28
- const calculatorVersion = await resolveContractVersion(publicClient, calculatorAddress);
29
- return convertUnitsToToken(publicClient, calculatorAddress, calculatorVersion, vaultAddress, tokenAddress, unitsAmount);
30
- };
31
- function subtractSolverTip(tokenAmount, solverTip) {
32
- if (solverTip === 0n)
33
- return tokenAmount;
34
- if (solverTip >= tokenAmount) {
35
- throw new InvalidSolverTipError(solverTip, tokenAmount);
36
- }
37
- return tokenAmount - solverTip;
38
- }
39
- function getRequestDeadline(expirationDays) {
40
- const deadlineBuffer = expirationDays === undefined ? DEFAULT_REQUEST_DEADLINE_BUFFER : DAY * expirationDays;
41
- return BigInt(Math.ceil(new Date().getTime() / 1000) + deadlineBuffer);
42
- }
43
- async function getDepositUnitsOut({ publicClient, runtime, vault, token, tokensIn, isAsync, }) {
44
- if (runtime.provisioner.version === ContractVersion.V2) {
45
- return isAsync
46
- ? provisionerV2.getAsyncDepositUnitsOut(publicClient, runtime.provisioner.address, runtime.feeCalculator.address, runtime.feeCalculator.version, vault, token, tokensIn)
47
- : provisionerV2.getSyncDepositUnitsOut(publicClient, runtime.provisioner.address, runtime.feeCalculator.address, runtime.feeCalculator.version, vault, token, tokensIn);
48
- }
49
- return provisionerV1.getAsyncDepositUnitsOut(publicClient, runtime.provisioner.address, runtime.feeCalculator.address, runtime.feeCalculator.version, vault, token, tokensIn);
50
- }
51
- function getAsyncRedeemTokenOut(publicClient, runtime, vault, token, unitsIn) {
52
- return runtime.provisioner.version === ContractVersion.V2
53
- ? provisionerV2.getAsyncRedeemTokenOut(publicClient, runtime.provisioner.address, runtime.feeCalculator.address, runtime.feeCalculator.version, vault, token, unitsIn)
54
- : provisionerV1.getAsyncRedeemTokenOut(publicClient, runtime.provisioner.address, runtime.feeCalculator.address, runtime.feeCalculator.version, vault, token, unitsIn);
55
- }
56
- function getAsyncWithdrawUnitsIn(publicClient, runtime, vault, token, tokensOut) {
57
- return runtime.provisioner.version === ContractVersion.V2
58
- ? provisionerV2.getAsyncWithdrawUnitsIn(publicClient, runtime.provisioner.address, runtime.feeCalculator.address, runtime.feeCalculator.version, vault, token, tokensOut)
59
- : provisionerV1.getAsyncWithdrawUnitsIn(publicClient, runtime.provisioner.address, runtime.feeCalculator.address, runtime.feeCalculator.version, vault, token, tokensOut);
60
- }
61
- function requireAeraRuntime(runtime) {
62
- if (!runtime) {
63
- throw new UnsupportedFeatureError('Aera: runtime contracts were not resolved');
64
- }
65
- return runtime;
66
- }
67
- export const aeraAdapter = {
68
- async buildDeposit(params) {
69
- const { vault, receiver, amount, account, publicClient, asset, async: isAsync, slippageBps = DEFAULT_BPS, solverTip = DEFAULT_SOLVER_TIP, maxPriceAge = DEFAULT_MAX_PRICE_AGE, aeraRuntime, } = params;
70
- const runtime = requireAeraRuntime(aeraRuntime);
71
- const provisionerAddress = runtime.provisioner.address;
72
- const isContractV2 = runtime.provisioner.version === ContractVersion.V2;
73
- if (receiver !== account && !isContractV2) {
74
- throw new UnsupportedFeatureError('Aera: separate receiver address on V1');
75
- }
76
- if (!isAsync && !isContractV2) {
77
- throw new UnsupportedFeatureError('Aera: sync operations on V1');
78
- }
79
- const tokensInForUnits = isAsync ? subtractSolverTip(amount, solverTip) : amount;
80
- const vaultUnits = await getDepositUnitsOut({
81
- publicClient,
82
- runtime,
83
- vault: vault.vaultAddress,
84
- token: asset.address,
85
- tokensIn: tokensInForUnits,
86
- isAsync,
87
- });
88
- const minUnitsOut = applySlippageDown(vaultUnits, slippageBps);
89
- if (isAsync) {
90
- const deadline = getRequestDeadline(vault.expirationDays);
91
- return [
92
- {
93
- type: 'requestDeposit',
94
- ...(isContractV2
95
- ? provisionerV2.requestDepositTxRequest(provisionerAddress, asset.address, amount, minUnitsOut, solverTip, deadline, maxPriceAge, false, receiver, account)
96
- : provisionerV1.requestDepositTxRequest(provisionerAddress, asset.address, amount, minUnitsOut, solverTip, deadline, maxPriceAge, false, account)),
97
- },
98
- ];
99
- }
100
- if (isContractV2) {
101
- return [
102
- {
103
- type: 'deposit',
104
- ...provisionerV2.depositTxRequest(provisionerAddress, asset.address, amount, minUnitsOut, receiver, account),
105
- },
106
- ];
107
- }
108
- throw new UnimplementedFeatureError('Aera Sync Operations');
109
- },
110
- async buildWithdraw(params) {
111
- const { vault, receiver, account, asset, publicClient, async: isAsync, slippageBps = DEFAULT_BPS, solverTip = DEFAULT_SOLVER_TIP, maxPriceAge = DEFAULT_MAX_PRICE_AGE, aeraRuntime, } = params;
112
- const runtime = requireAeraRuntime(aeraRuntime);
113
- const provisionerAddress = runtime.provisioner.address;
114
- const isContractV2 = runtime.provisioner.version === ContractVersion.V2;
115
- if (receiver !== account && !isContractV2) {
116
- throw new UnsupportedFeatureError('Aera: separate receiver address on V1');
117
- }
118
- if (!isAsync)
119
- requireAeraSyncRedeemRuntime(runtime);
120
- const isV2ExactTokenWithdraw = isContractV2 && !isAsync && 'amount' in params && params.amount != null;
121
- let minTokenOut;
122
- let maxUnitsIn;
123
- let shares;
124
- if (isContractV2 && !isAsync) {
125
- const quote = params.syncWithdrawQuote;
126
- if ('entireAmount' in params && params.entireAmount) {
127
- const balance = await publicClient.readContract({
128
- address: vault.vaultAddress,
129
- abi: multiDepositorVaultAbi,
130
- functionName: 'balanceOf',
131
- args: [account],
132
- });
133
- if (quote !== undefined) {
134
- if (quote.kind !== 'redeem' || quote.shares !== balance) {
135
- throw new InvalidWithdrawParamsError();
136
- }
137
- }
138
- shares = balance;
139
- }
140
- else if ('shares' in params && params.shares != null) {
141
- if (quote !== undefined && (quote.kind !== 'redeem' || quote.shares !== params.shares)) {
142
- throw new InvalidWithdrawParamsError();
143
- }
144
- shares = params.shares;
145
- }
146
- else if (!('amount' in params && params.amount != null)) {
147
- throw new InvalidWithdrawParamsError();
148
- }
149
- if (isV2ExactTokenWithdraw) {
150
- requireNonZeroSyncWithdrawBound(params.amount, 'tokensOut');
151
- if (quote !== undefined) {
152
- if (quote.kind !== 'withdraw' || quote.tokensOut !== params.amount) {
153
- throw new InvalidWithdrawParamsError();
154
- }
155
- minTokenOut = quote.tokensOut;
156
- maxUnitsIn = quote.maxUnitsIn;
157
- }
158
- else {
159
- minTokenOut = params.amount;
160
- maxUnitsIn = applySlippageUp(await provisionerV2.getSyncWithdrawUnitsIn(publicClient, provisionerAddress, runtime.feeCalculator.address, runtime.feeCalculator.version, vault.vaultAddress, asset.address, params.amount), slippageBps);
161
- }
162
- requireNonZeroSyncWithdrawBound(maxUnitsIn, 'maxUnitsIn');
163
- }
164
- else {
165
- if (shares === undefined) {
166
- throw new InvalidWithdrawParamsError();
167
- }
168
- requireNonZeroSyncWithdrawBound(shares, 'unitsIn');
169
- if (quote !== undefined) {
170
- if (quote.kind !== 'redeem' || quote.shares !== shares) {
171
- throw new InvalidWithdrawParamsError();
172
- }
173
- minTokenOut = quote.minTokensOut;
174
- }
175
- else {
176
- const tokensOut = await provisionerV2.getSyncRedeemTokenOut(publicClient, provisionerAddress, runtime.feeCalculator.address, runtime.feeCalculator.version, vault.vaultAddress, asset.address, shares);
177
- minTokenOut = applySlippageDown(tokensOut, slippageBps);
178
- }
179
- requireNonZeroSyncWithdrawBound(minTokenOut, 'minTokensOut');
180
- maxUnitsIn = shares;
181
- }
182
- }
183
- else {
184
- if ('entireAmount' in params && params.entireAmount) {
185
- shares = await publicClient.readContract({
186
- address: vault.vaultAddress,
187
- abi: multiDepositorVaultAbi,
188
- functionName: 'balanceOf',
189
- args: [account],
190
- });
191
- }
192
- else if ('amount' in params && params.amount != null) {
193
- shares = await getAsyncWithdrawUnitsIn(publicClient, runtime, vault.vaultAddress, asset.address, params.amount + solverTip);
194
- }
195
- else if ('shares' in params && params.shares != null) {
196
- shares = params.shares;
197
- }
198
- else {
199
- throw new InvalidWithdrawParamsError();
200
- }
201
- const tokenOutBeforeTip = await getAsyncRedeemTokenOut(publicClient, runtime, vault.vaultAddress, asset.address, shares);
202
- minTokenOut = applySlippageDown(subtractSolverTip(tokenOutBeforeTip, solverTip), slippageBps);
203
- maxUnitsIn = shares;
204
- }
205
- const steps = [];
206
- if (isAsync) {
207
- if (shares === undefined) {
208
- throw new InvalidWithdrawParamsError();
209
- }
210
- // Only async requestRedeem needs a vault unit allowance: the provisioner
211
- // pulls units from the user. V2 sync redeem/withdraw exits through the
212
- // vault and burns the caller's units directly, so no approval is needed.
213
- const { sufficient } = await this.checkAllowance({
214
- publicClient,
215
- token: vault.vaultAddress,
216
- owner: account,
217
- spender: provisionerAddress,
218
- amount: shares,
219
- });
220
- if (!sufficient) {
221
- steps.push(this.buildApproval({
222
- token: vault.vaultAddress,
223
- spender: provisionerAddress,
224
- amount: shares,
225
- account,
226
- }));
227
- }
228
- const deadline = getRequestDeadline(vault.expirationDays);
229
- return [
230
- ...steps,
231
- {
232
- type: 'requestRedeem',
233
- ...(isContractV2
234
- ? provisionerV2.requestRedeemTxRequest(provisionerAddress, asset.address, shares, minTokenOut, solverTip, deadline, maxPriceAge, false, receiver, account)
235
- : provisionerV1.requestRedeemTxRequest(provisionerAddress, asset.address, shares, minTokenOut, solverTip, deadline, maxPriceAge, false, account)),
236
- },
237
- ];
238
- }
239
- if ('amount' in params && params.amount != null) {
240
- return [
241
- ...steps,
242
- {
243
- type: 'withdraw',
244
- ...provisionerV2.withdrawTxRequest(provisionerAddress, asset.address, params.amount, maxUnitsIn, receiver, account),
245
- },
246
- ];
247
- }
248
- if (shares === undefined) {
249
- throw new InvalidWithdrawParamsError();
250
- }
251
- return [
252
- ...steps,
253
- {
254
- type: 'redeem',
255
- ...provisionerV2.redeemTxRequest(provisionerAddress, asset.address, shares, minTokenOut, receiver, account),
256
- },
257
- ];
258
- },
259
- async checkAllowance(params) {
260
- const { publicClient, token, owner, spender, amount } = params;
261
- const current = await publicClient.readContract({
262
- address: token,
263
- abi: erc20Abi,
264
- functionName: 'allowance',
265
- args: [owner, spender],
266
- });
267
- return { sufficient: current >= amount, current };
268
- },
269
- buildApproval(params) {
270
- return {
271
- type: 'approve',
272
- address: params.token,
273
- abi: erc20Abi,
274
- functionName: 'approve',
275
- args: [params.spender, params.amount],
276
- account: params.account,
277
- };
278
- },
279
- };
280
- //# sourceMappingURL=aera.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aera.js","sourceRoot":"","sources":["../../../src/evm/adapters/aera.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { aeraAdapter } from './aera';
2
- import { morphoAdapter } from './morpho';
3
- import { UnsupportedProtocolError } from '../../errors';
4
- export function getAdapter(protocol) {
5
- switch (protocol) {
6
- case 'aera':
7
- return aeraAdapter;
8
- case 'morpho':
9
- return morphoAdapter;
10
- default:
11
- throw new UnsupportedProtocolError(protocol);
12
- }
13
- }
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/evm/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGxD,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB;YACE,MAAM,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
@@ -1,79 +0,0 @@
1
- import { erc20Abi } from '../abis/erc20';
2
- import { erc4626Abi } from '../abis/erc4626';
3
- import { InvalidWithdrawParamsError } from '../../errors';
4
- export const morphoAdapter = {
5
- async buildDeposit(params) {
6
- const { vault, amount, receiver, account } = params;
7
- return [
8
- {
9
- type: 'deposit',
10
- address: vault.vaultAddress,
11
- abi: erc4626Abi,
12
- functionName: 'deposit',
13
- args: [amount, receiver],
14
- account,
15
- },
16
- ];
17
- },
18
- async buildWithdraw(params) {
19
- const { vault, receiver, account, publicClient } = params;
20
- let shares;
21
- if ('entireAmount' in params && params.entireAmount) {
22
- shares = await publicClient.readContract({
23
- address: vault.vaultAddress,
24
- abi: erc4626Abi,
25
- functionName: 'balanceOf',
26
- args: [account],
27
- });
28
- }
29
- else if ('amount' in params && params.amount != null) {
30
- return [
31
- {
32
- type: 'withdraw',
33
- address: vault.vaultAddress,
34
- abi: erc4626Abi,
35
- functionName: 'withdraw',
36
- args: [params.amount, receiver, account],
37
- account,
38
- },
39
- ];
40
- }
41
- else if ('shares' in params && params.shares != null) {
42
- shares = params.shares;
43
- }
44
- else {
45
- throw new InvalidWithdrawParamsError();
46
- }
47
- return [
48
- {
49
- type: 'redeem',
50
- address: vault.vaultAddress,
51
- abi: erc4626Abi,
52
- functionName: 'redeem',
53
- args: [shares, receiver, account],
54
- account,
55
- },
56
- ];
57
- },
58
- async checkAllowance(params) {
59
- const { publicClient, token, owner, spender, amount } = params;
60
- const current = await publicClient.readContract({
61
- address: token,
62
- abi: erc20Abi,
63
- functionName: 'allowance',
64
- args: [owner, spender],
65
- });
66
- return { sufficient: current >= amount, current };
67
- },
68
- buildApproval(params) {
69
- return {
70
- type: 'approve',
71
- address: params.token,
72
- abi: erc20Abi,
73
- functionName: 'approve',
74
- args: [params.spender, params.amount],
75
- account: params.account,
76
- };
77
- },
78
- };
79
- //# sourceMappingURL=morpho.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"morpho.js","sourceRoot":"","sources":["../../../src/evm/adapters/morpho.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/evm/adapters/types.ts"],"names":[],"mappings":""}
@@ -1,174 +0,0 @@
1
- import { UnsupportedFeatureError } from '../../errors';
2
- import { priceAndFeeCalculatorAbi } from '../abis/priceAndFeeCalculator';
3
- import { priceAndFeeCalculatorV2Abi } from '../abis/priceAndFeeCalculatorV2';
4
- import { ContractVersion } from '../types';
5
- import { readAtBlock } from './readOptions';
6
- const ROUNDING_FLOOR = 0;
7
- const ROUNDING_CEIL = 1;
8
- function toNumber(value) {
9
- return typeof value === 'bigint' ? Number(value) : value;
10
- }
11
- function normalizeVaultPriceState(priceState) {
12
- if ('unitPrice' in priceState) {
13
- return {
14
- ...priceState,
15
- unitPrice: priceState.unitPrice,
16
- timestamp: toNumber(priceState.timestamp),
17
- };
18
- }
19
- const anchorTimestamp = toNumber(priceState.anchorTimestamp);
20
- const driftTimestamp = toNumber(priceState.driftTimestamp);
21
- const useDriftPrice = driftTimestamp >= anchorTimestamp;
22
- return {
23
- ...priceState,
24
- unitPrice: useDriftPrice ? priceState.driftPrice : priceState.anchorPrice,
25
- timestamp: useDriftPrice ? driftTimestamp : anchorTimestamp,
26
- };
27
- }
28
- export async function convertTokenToUnitsIfActive(client, feeCalculator, feeCalculatorVersion, vault, token, tokenAmount, rounding, options = {}) {
29
- if (feeCalculatorVersion === ContractVersion.V2) {
30
- return client.readContract({
31
- address: feeCalculator,
32
- abi: priceAndFeeCalculatorV2Abi,
33
- functionName: 'convertTokenToUnitsIfActive',
34
- args: [vault, token, tokenAmount, rounding],
35
- ...readAtBlock(options),
36
- });
37
- }
38
- return client.readContract({
39
- address: feeCalculator,
40
- abi: priceAndFeeCalculatorAbi,
41
- functionName: 'convertTokenToUnitsIfActive',
42
- args: [vault, token, tokenAmount, rounding],
43
- ...readAtBlock(options),
44
- });
45
- }
46
- export async function convertUnitsToTokenIfActive(client, feeCalculator, feeCalculatorVersion, vault, token, unitsAmount, rounding, options = {}) {
47
- if (feeCalculatorVersion === ContractVersion.V2) {
48
- return client.readContract({
49
- address: feeCalculator,
50
- abi: priceAndFeeCalculatorV2Abi,
51
- functionName: 'convertUnitsToTokenIfActive',
52
- args: [vault, token, unitsAmount, rounding],
53
- ...readAtBlock(options),
54
- });
55
- }
56
- return client.readContract({
57
- address: feeCalculator,
58
- abi: priceAndFeeCalculatorAbi,
59
- functionName: 'convertUnitsToTokenIfActive',
60
- args: [vault, token, unitsAmount, rounding],
61
- ...readAtBlock(options),
62
- });
63
- }
64
- export async function convertTokenToUnits(client, feeCalculator, feeCalculatorVersion, vault, token, tokenAmount, options = {}) {
65
- if (feeCalculatorVersion === ContractVersion.V2) {
66
- return client.readContract({
67
- address: feeCalculator,
68
- abi: priceAndFeeCalculatorV2Abi,
69
- functionName: 'convertTokenToUnits',
70
- args: [vault, token, tokenAmount],
71
- ...readAtBlock(options),
72
- });
73
- }
74
- return client.readContract({
75
- address: feeCalculator,
76
- abi: priceAndFeeCalculatorAbi,
77
- functionName: 'convertTokenToUnits',
78
- args: [vault, token, tokenAmount],
79
- ...readAtBlock(options),
80
- });
81
- }
82
- export async function convertUnitsToToken(client, feeCalculator, feeCalculatorVersion, vault, token, unitsAmount, options = {}) {
83
- if (feeCalculatorVersion === ContractVersion.V2) {
84
- return client.readContract({
85
- address: feeCalculator,
86
- abi: priceAndFeeCalculatorV2Abi,
87
- functionName: 'convertUnitsToToken',
88
- args: [vault, token, unitsAmount],
89
- ...readAtBlock(options),
90
- });
91
- }
92
- return client.readContract({
93
- address: feeCalculator,
94
- abi: priceAndFeeCalculatorAbi,
95
- functionName: 'convertUnitsToToken',
96
- args: [vault, token, unitsAmount],
97
- ...readAtBlock(options),
98
- });
99
- }
100
- export async function convertTokenToNumeraire(client, feeCalculator, feeCalculatorVersion, vault, token, tokenAmount, options = {}) {
101
- if (feeCalculatorVersion !== ContractVersion.V2) {
102
- throw new UnsupportedFeatureError('Aera: numeraire conversion requires V2 price and fee calculator');
103
- }
104
- return client.readContract({
105
- address: feeCalculator,
106
- abi: priceAndFeeCalculatorV2Abi,
107
- functionName: 'convertTokenToNumeraire',
108
- args: [vault, token, tokenAmount],
109
- ...readAtBlock(options),
110
- });
111
- }
112
- export async function convertNumeraireToToken(client, feeCalculator, feeCalculatorVersion, vault, token, numeraireAmount, options = {}) {
113
- if (feeCalculatorVersion !== ContractVersion.V2) {
114
- throw new UnsupportedFeatureError('Aera: numeraire conversion requires V2 price and fee calculator');
115
- }
116
- return client.readContract({
117
- address: feeCalculator,
118
- abi: priceAndFeeCalculatorV2Abi,
119
- functionName: 'convertNumeraireToToken',
120
- args: [vault, token, numeraireAmount],
121
- ...readAtBlock(options),
122
- });
123
- }
124
- export async function getAnchorTimestamp(client, feeCalculator, feeCalculatorVersion, vault, options = {}) {
125
- if (feeCalculatorVersion !== ContractVersion.V2) {
126
- throw new UnsupportedFeatureError('Aera: sync redeem requires V2 price and fee calculator');
127
- }
128
- return client.readContract({
129
- address: feeCalculator,
130
- abi: priceAndFeeCalculatorV2Abi,
131
- functionName: 'getAnchorTimestamp',
132
- args: [vault],
133
- ...readAtBlock(options),
134
- });
135
- }
136
- export async function getVaultState(client, feeCalculator, feeCalculatorVersion, vault) {
137
- if (feeCalculatorVersion === ContractVersion.V2) {
138
- const [priceState, accruals] = await client.readContract({
139
- address: feeCalculator,
140
- abi: priceAndFeeCalculatorV2Abi,
141
- functionName: 'getVaultState',
142
- args: [vault],
143
- });
144
- return [normalizeVaultPriceState(priceState), accruals];
145
- }
146
- const [priceState, accruals] = await client.readContract({
147
- address: feeCalculator,
148
- abi: priceAndFeeCalculatorAbi,
149
- functionName: 'getVaultState',
150
- args: [vault],
151
- });
152
- return [normalizeVaultPriceState(priceState), accruals];
153
- }
154
- export async function isVaultPaused(client, feeCalculator, feeCalculatorVersion, vault) {
155
- if (feeCalculatorVersion === ContractVersion.V2) {
156
- return client.readContract({
157
- address: feeCalculator,
158
- abi: priceAndFeeCalculatorV2Abi,
159
- functionName: 'isVaultPaused',
160
- args: [vault],
161
- });
162
- }
163
- return client.readContract({
164
- address: feeCalculator,
165
- abi: priceAndFeeCalculatorAbi,
166
- functionName: 'isVaultPaused',
167
- args: [vault],
168
- });
169
- }
170
- export const Rounding = {
171
- Floor: ROUNDING_FLOOR,
172
- Ceil: ROUNDING_CEIL,
173
- };
174
- //# sourceMappingURL=priceAndFeeCalculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"priceAndFeeCalculator.js","sourceRoot":"","sources":["../../../src/evm/aeraContracts/priceAndFeeCalculator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export function readAtBlock(options = {}) {
2
- return options.blockNumber === undefined ? {} : { blockNumber: options.blockNumber };
3
- }
4
- //# sourceMappingURL=readOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readOptions.js","sourceRoot":"","sources":["../../../src/evm/aeraContracts/readOptions.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAC,UAAoC,EAAE;IAChE,OAAO,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC"}