@gauntlet-xyz/sdk 2.3.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 (353) hide show
  1. package/README.md +135 -0
  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 +65 -6
  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 +621 -14
  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 +15 -1
  207. package/dist/errors.d.ts.map +1 -1
  208. package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts +44 -0
  209. package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts.map +1 -1
  210. package/dist/evm/abis/provisionerV2.d.ts +56 -0
  211. package/dist/evm/abis/provisionerV2.d.ts.map +1 -1
  212. package/dist/evm/adapters/aera.d.ts +1 -1
  213. package/dist/evm/adapters/aera.d.ts.map +1 -1
  214. package/dist/evm/adapters/index.d.ts +1 -1
  215. package/dist/evm/adapters/index.d.ts.map +1 -1
  216. package/dist/evm/adapters/morpho.d.ts +1 -1
  217. package/dist/evm/adapters/morpho.d.ts.map +1 -1
  218. package/dist/evm/adapters/types.d.ts +6 -2
  219. package/dist/evm/adapters/types.d.ts.map +1 -1
  220. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts +11 -6
  221. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -1
  222. package/dist/evm/aeraContracts/readOptions.d.ts +8 -0
  223. package/dist/evm/aeraContracts/readOptions.d.ts.map +1 -0
  224. package/dist/evm/aeraContracts/v1.d.ts +2 -2
  225. package/dist/evm/aeraContracts/v1.d.ts.map +1 -1
  226. package/dist/evm/aeraContracts/v2.d.ts +396 -4
  227. package/dist/evm/aeraContracts/v2.d.ts.map +1 -1
  228. package/dist/evm/aeraContracts.d.ts +11 -5
  229. package/dist/evm/aeraContracts.d.ts.map +1 -1
  230. package/dist/evm/deposit.d.ts +4 -2
  231. package/dist/evm/deposit.d.ts.map +1 -1
  232. package/dist/evm/depositQuote.d.ts +32 -0
  233. package/dist/evm/depositQuote.d.ts.map +1 -0
  234. package/dist/evm/depositReceiverApproval.d.ts +2 -2
  235. package/dist/evm/depositReceiverApproval.d.ts.map +1 -1
  236. package/dist/evm/index.d.ts +27 -17
  237. package/dist/evm/index.d.ts.map +1 -1
  238. package/dist/evm/index.js +88 -9
  239. package/dist/evm/index.js.map +7 -1
  240. package/dist/evm/tokenModes.d.ts +22 -0
  241. package/dist/evm/tokenModes.d.ts.map +1 -0
  242. package/dist/evm/userCurrentBalance.d.ts +6 -2
  243. package/dist/evm/userCurrentBalance.d.ts.map +1 -1
  244. package/dist/evm/vaults.d.ts +2 -9
  245. package/dist/evm/vaults.d.ts.map +1 -1
  246. package/dist/evm/withdraw.d.ts +10 -2
  247. package/dist/evm/withdraw.d.ts.map +1 -1
  248. package/dist/evm/withdrawQuote.d.ts +135 -0
  249. package/dist/evm/withdrawQuote.d.ts.map +1 -0
  250. package/dist/index.d.ts +30 -22
  251. package/dist/index.d.ts.map +1 -1
  252. package/dist/index.js +139 -12
  253. package/dist/index.js.map +7 -1
  254. package/dist/manifest/vaults.json +1958 -0
  255. package/dist/privy/index.d.ts +1 -1
  256. package/dist/privy/index.d.ts.map +1 -1
  257. package/dist/privy/index.js +39 -48
  258. package/dist/privy/index.js.map +7 -1
  259. package/manifest/vaults.json +45 -460
  260. package/package.json +43 -9
  261. package/src/api/client.ts +104 -7
  262. package/src/api/generated.ts +621 -14
  263. package/src/api/index.ts +13 -0
  264. package/src/client.ts +4 -1
  265. package/src/constants.ts +2 -0
  266. package/src/errors.ts +39 -2
  267. package/src/evm/abis/priceAndFeeCalculatorV2.ts +22 -0
  268. package/src/evm/abis/provisionerV2.ts +33 -0
  269. package/src/evm/adapters/aera.ts +64 -34
  270. package/src/evm/adapters/types.ts +4 -0
  271. package/src/evm/aeraContracts/priceAndFeeCalculator.ts +72 -5
  272. package/src/evm/aeraContracts/readOptions.ts +3 -0
  273. package/src/evm/aeraContracts/v2.ts +273 -41
  274. package/src/evm/aeraContracts.ts +81 -8
  275. package/src/evm/deposit.ts +21 -8
  276. package/src/evm/depositQuote.ts +137 -0
  277. package/src/evm/index.ts +41 -0
  278. package/src/evm/tokenModes.ts +54 -0
  279. package/src/evm/userCurrentBalance.ts +12 -1
  280. package/src/evm/vaults.ts +0 -7
  281. package/src/evm/withdraw.ts +131 -7
  282. package/src/evm/withdrawQuote.ts +434 -0
  283. package/src/index.ts +26 -1
  284. package/dist/api/activity.js +0 -154
  285. package/dist/api/activity.js.map +0 -1
  286. package/dist/api/caip.js +0 -38
  287. package/dist/api/caip.js.map +0 -1
  288. package/dist/api/client.js +0 -109
  289. package/dist/api/client.js.map +0 -1
  290. package/dist/api/decimal.js +0 -44
  291. package/dist/api/decimal.js.map +0 -1
  292. package/dist/api/errors.js +0 -41
  293. package/dist/api/errors.js.map +0 -1
  294. package/dist/api/generated.js +0 -6
  295. package/dist/api/generated.js.map +0 -1
  296. package/dist/api/http.js +0 -39
  297. package/dist/api/http.js.map +0 -1
  298. package/dist/api/positionHistory.js +0 -126
  299. package/dist/api/positionHistory.js.map +0 -1
  300. package/dist/attribution/erc8021.js +0 -17
  301. package/dist/attribution/erc8021.js.map +0 -1
  302. package/dist/attribution/index.js +0 -45
  303. package/dist/attribution/index.js.map +0 -1
  304. package/dist/client.js +0 -72
  305. package/dist/client.js.map +0 -1
  306. package/dist/constants.js +0 -28
  307. package/dist/constants.js.map +0 -1
  308. package/dist/errors.js +0 -115
  309. package/dist/errors.js.map +0 -1
  310. package/dist/evm/abis/erc20.js +0 -30
  311. package/dist/evm/abis/erc20.js.map +0 -1
  312. package/dist/evm/abis/erc4626.js +0 -70
  313. package/dist/evm/abis/erc4626.js.map +0 -1
  314. package/dist/evm/abis/multiDepositorVault.js +0 -587
  315. package/dist/evm/abis/multiDepositorVault.js.map +0 -1
  316. package/dist/evm/abis/priceAndFeeCalculator.js +0 -490
  317. package/dist/evm/abis/priceAndFeeCalculator.js.map +0 -1
  318. package/dist/evm/abis/priceAndFeeCalculatorV2.js +0 -119
  319. package/dist/evm/abis/priceAndFeeCalculatorV2.js.map +0 -1
  320. package/dist/evm/abis/provisioner.js +0 -2768
  321. package/dist/evm/abis/provisioner.js.map +0 -1
  322. package/dist/evm/abis/provisionerV2.js +0 -262
  323. package/dist/evm/abis/provisionerV2.js.map +0 -1
  324. package/dist/evm/adapters/aera.js +0 -249
  325. package/dist/evm/adapters/aera.js.map +0 -1
  326. package/dist/evm/adapters/index.js +0 -14
  327. package/dist/evm/adapters/index.js.map +0 -1
  328. package/dist/evm/adapters/morpho.js +0 -79
  329. package/dist/evm/adapters/morpho.js.map +0 -1
  330. package/dist/evm/adapters/types.js +0 -2
  331. package/dist/evm/adapters/types.js.map +0 -1
  332. package/dist/evm/aeraContracts/priceAndFeeCalculator.js +0 -140
  333. package/dist/evm/aeraContracts/priceAndFeeCalculator.js.map +0 -1
  334. package/dist/evm/aeraContracts/v1.js +0 -59
  335. package/dist/evm/aeraContracts/v1.js.map +0 -1
  336. package/dist/evm/aeraContracts/v2.js +0 -217
  337. package/dist/evm/aeraContracts/v2.js.map +0 -1
  338. package/dist/evm/aeraContracts.js +0 -134
  339. package/dist/evm/aeraContracts.js.map +0 -1
  340. package/dist/evm/deposit.js +0 -109
  341. package/dist/evm/deposit.js.map +0 -1
  342. package/dist/evm/depositReceiverApproval.js +0 -32
  343. package/dist/evm/depositReceiverApproval.js.map +0 -1
  344. package/dist/evm/operationMode.js +0 -41
  345. package/dist/evm/operationMode.js.map +0 -1
  346. package/dist/evm/types.js +0 -5
  347. package/dist/evm/types.js.map +0 -1
  348. package/dist/evm/userCurrentBalance.js +0 -211
  349. package/dist/evm/userCurrentBalance.js.map +0 -1
  350. package/dist/evm/vaults.js +0 -75
  351. package/dist/evm/vaults.js.map +0 -1
  352. package/dist/evm/withdraw.js +0 -97
  353. package/dist/evm/withdraw.js.map +0 -1
@@ -1,249 +0,0 @@
1
- import { erc20Abi } from '../abis/erc20';
2
- import { getMultiDepositorVault, applySlippageDown, applySlippageUp, 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, 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 && !isContractV2) {
119
- throw new UnsupportedFeatureError('Aera: sync operations on V1');
120
- }
121
- const isV2ExactTokenWithdraw = isContractV2 && !isAsync && 'amount' in params && params.amount != null;
122
- let minTokenOut;
123
- let maxUnitsIn;
124
- let shares;
125
- if (isContractV2 && !isAsync) {
126
- if ('entireAmount' in params && params.entireAmount) {
127
- shares = await publicClient.readContract({
128
- address: vault.vaultAddress,
129
- abi: multiDepositorVaultAbi,
130
- functionName: 'balanceOf',
131
- args: [account],
132
- });
133
- }
134
- else if ('shares' in params && params.shares != null) {
135
- shares = params.shares;
136
- }
137
- else if (!('amount' in params && params.amount != null)) {
138
- throw new InvalidWithdrawParamsError();
139
- }
140
- if (isV2ExactTokenWithdraw) {
141
- minTokenOut = applySlippageDown(params.amount, slippageBps);
142
- maxUnitsIn = applySlippageUp(await provisionerV2.getSyncWithdrawUnitsIn(publicClient, provisionerAddress, runtime.feeCalculator.address, runtime.feeCalculator.version, vault.vaultAddress, asset.address, params.amount), slippageBps);
143
- }
144
- else {
145
- if (shares === undefined) {
146
- throw new InvalidWithdrawParamsError();
147
- }
148
- minTokenOut = applySlippageDown(await provisionerV2.getSyncRedeemTokenOut(publicClient, provisionerAddress, runtime.feeCalculator.address, runtime.feeCalculator.version, vault.vaultAddress, asset.address, shares), slippageBps);
149
- maxUnitsIn = applySlippageUp(shares, slippageBps);
150
- }
151
- }
152
- else {
153
- if ('entireAmount' in params && params.entireAmount) {
154
- shares = await publicClient.readContract({
155
- address: vault.vaultAddress,
156
- abi: multiDepositorVaultAbi,
157
- functionName: 'balanceOf',
158
- args: [account],
159
- });
160
- }
161
- else if ('amount' in params && params.amount != null) {
162
- shares = await getAsyncWithdrawUnitsIn(publicClient, runtime, vault.vaultAddress, asset.address, params.amount + solverTip);
163
- }
164
- else if ('shares' in params && params.shares != null) {
165
- shares = params.shares;
166
- }
167
- else {
168
- throw new InvalidWithdrawParamsError();
169
- }
170
- const tokenOutBeforeTip = await getAsyncRedeemTokenOut(publicClient, runtime, vault.vaultAddress, asset.address, shares);
171
- minTokenOut = applySlippageDown(subtractSolverTip(tokenOutBeforeTip, solverTip), slippageBps);
172
- maxUnitsIn = shares;
173
- }
174
- const steps = [];
175
- if (isAsync) {
176
- if (shares === undefined) {
177
- throw new InvalidWithdrawParamsError();
178
- }
179
- // Only async requestRedeem needs a vault unit allowance: the provisioner
180
- // pulls units from the user. V2 sync redeem/withdraw exits through the
181
- // vault and burns the caller's units directly, so no approval is needed.
182
- const { sufficient } = await this.checkAllowance({
183
- publicClient,
184
- token: vault.vaultAddress,
185
- owner: account,
186
- spender: provisionerAddress,
187
- amount: shares,
188
- });
189
- if (!sufficient) {
190
- steps.push(this.buildApproval({
191
- token: vault.vaultAddress,
192
- spender: provisionerAddress,
193
- amount: shares,
194
- account,
195
- }));
196
- }
197
- const deadline = getRequestDeadline(vault.expirationDays);
198
- return [
199
- ...steps,
200
- {
201
- type: 'requestRedeem',
202
- ...(isContractV2
203
- ? provisionerV2.requestRedeemTxRequest(provisionerAddress, asset.address, shares, minTokenOut, solverTip, deadline, maxPriceAge, false, receiver, account)
204
- : provisionerV1.requestRedeemTxRequest(provisionerAddress, asset.address, shares, minTokenOut, solverTip, deadline, maxPriceAge, false, account)),
205
- },
206
- ];
207
- }
208
- if ('amount' in params && params.amount != null) {
209
- return [
210
- ...steps,
211
- {
212
- type: 'withdraw',
213
- ...provisionerV2.withdrawTxRequest(provisionerAddress, asset.address, params.amount, maxUnitsIn, receiver, account),
214
- },
215
- ];
216
- }
217
- if (shares === undefined) {
218
- throw new InvalidWithdrawParamsError();
219
- }
220
- return [
221
- ...steps,
222
- {
223
- type: 'redeem',
224
- ...provisionerV2.redeemTxRequest(provisionerAddress, asset.address, shares, minTokenOut, receiver, account),
225
- },
226
- ];
227
- },
228
- async checkAllowance(params) {
229
- const { publicClient, token, owner, spender, amount } = params;
230
- const current = await publicClient.readContract({
231
- address: token,
232
- abi: erc20Abi,
233
- functionName: 'allowance',
234
- args: [owner, spender],
235
- });
236
- return { sufficient: current >= amount, current };
237
- },
238
- buildApproval(params) {
239
- return {
240
- type: 'approve',
241
- address: params.token,
242
- abi: erc20Abi,
243
- functionName: 'approve',
244
- args: [params.spender, params.amount],
245
- account: params.account,
246
- };
247
- },
248
- };
249
- //# 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,140 +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
- const ROUNDING_FLOOR = 0;
6
- const ROUNDING_CEIL = 1;
7
- function toNumber(value) {
8
- return typeof value === 'bigint' ? Number(value) : value;
9
- }
10
- function normalizeVaultPriceState(priceState) {
11
- if ('unitPrice' in priceState) {
12
- return {
13
- ...priceState,
14
- unitPrice: priceState.unitPrice,
15
- timestamp: toNumber(priceState.timestamp),
16
- };
17
- }
18
- const anchorTimestamp = toNumber(priceState.anchorTimestamp);
19
- const driftTimestamp = toNumber(priceState.driftTimestamp);
20
- const useDriftPrice = driftTimestamp >= anchorTimestamp;
21
- return {
22
- ...priceState,
23
- unitPrice: useDriftPrice ? priceState.driftPrice : priceState.anchorPrice,
24
- timestamp: useDriftPrice ? driftTimestamp : anchorTimestamp,
25
- };
26
- }
27
- export async function convertTokenToUnitsIfActive(client, feeCalculator, feeCalculatorVersion, vault, token, tokenAmount, rounding) {
28
- if (feeCalculatorVersion === ContractVersion.V2) {
29
- return client.readContract({
30
- address: feeCalculator,
31
- abi: priceAndFeeCalculatorV2Abi,
32
- functionName: 'convertTokenToUnitsIfActive',
33
- args: [vault, token, tokenAmount, rounding],
34
- });
35
- }
36
- return client.readContract({
37
- address: feeCalculator,
38
- abi: priceAndFeeCalculatorAbi,
39
- functionName: 'convertTokenToUnitsIfActive',
40
- args: [vault, token, tokenAmount, rounding],
41
- });
42
- }
43
- export async function convertUnitsToTokenIfActive(client, feeCalculator, feeCalculatorVersion, vault, token, unitsAmount, rounding) {
44
- if (feeCalculatorVersion === ContractVersion.V2) {
45
- return client.readContract({
46
- address: feeCalculator,
47
- abi: priceAndFeeCalculatorV2Abi,
48
- functionName: 'convertUnitsToTokenIfActive',
49
- args: [vault, token, unitsAmount, rounding],
50
- });
51
- }
52
- return client.readContract({
53
- address: feeCalculator,
54
- abi: priceAndFeeCalculatorAbi,
55
- functionName: 'convertUnitsToTokenIfActive',
56
- args: [vault, token, unitsAmount, rounding],
57
- });
58
- }
59
- export async function convertTokenToUnits(client, feeCalculator, feeCalculatorVersion, vault, token, tokenAmount) {
60
- if (feeCalculatorVersion === ContractVersion.V2) {
61
- return client.readContract({
62
- address: feeCalculator,
63
- abi: priceAndFeeCalculatorV2Abi,
64
- functionName: 'convertTokenToUnits',
65
- args: [vault, token, tokenAmount],
66
- });
67
- }
68
- return client.readContract({
69
- address: feeCalculator,
70
- abi: priceAndFeeCalculatorAbi,
71
- functionName: 'convertTokenToUnits',
72
- args: [vault, token, tokenAmount],
73
- });
74
- }
75
- export async function convertUnitsToToken(client, feeCalculator, feeCalculatorVersion, vault, token, unitsAmount) {
76
- if (feeCalculatorVersion === ContractVersion.V2) {
77
- return client.readContract({
78
- address: feeCalculator,
79
- abi: priceAndFeeCalculatorV2Abi,
80
- functionName: 'convertUnitsToToken',
81
- args: [vault, token, unitsAmount],
82
- });
83
- }
84
- return client.readContract({
85
- address: feeCalculator,
86
- abi: priceAndFeeCalculatorAbi,
87
- functionName: 'convertUnitsToToken',
88
- args: [vault, token, unitsAmount],
89
- });
90
- }
91
- export async function getAnchorTimestamp(client, feeCalculator, feeCalculatorVersion, vault) {
92
- if (feeCalculatorVersion !== ContractVersion.V2) {
93
- throw new UnsupportedFeatureError('Aera: sync redeem requires V2 price and fee calculator');
94
- }
95
- return client.readContract({
96
- address: feeCalculator,
97
- abi: priceAndFeeCalculatorV2Abi,
98
- functionName: 'getAnchorTimestamp',
99
- args: [vault],
100
- });
101
- }
102
- export async function getVaultState(client, feeCalculator, feeCalculatorVersion, vault) {
103
- if (feeCalculatorVersion === ContractVersion.V2) {
104
- const [priceState, accruals] = await client.readContract({
105
- address: feeCalculator,
106
- abi: priceAndFeeCalculatorV2Abi,
107
- functionName: 'getVaultState',
108
- args: [vault],
109
- });
110
- return [normalizeVaultPriceState(priceState), accruals];
111
- }
112
- const [priceState, accruals] = await client.readContract({
113
- address: feeCalculator,
114
- abi: priceAndFeeCalculatorAbi,
115
- functionName: 'getVaultState',
116
- args: [vault],
117
- });
118
- return [normalizeVaultPriceState(priceState), accruals];
119
- }
120
- export async function isVaultPaused(client, feeCalculator, feeCalculatorVersion, vault) {
121
- if (feeCalculatorVersion === ContractVersion.V2) {
122
- return client.readContract({
123
- address: feeCalculator,
124
- abi: priceAndFeeCalculatorV2Abi,
125
- functionName: 'isVaultPaused',
126
- args: [vault],
127
- });
128
- }
129
- return client.readContract({
130
- address: feeCalculator,
131
- abi: priceAndFeeCalculatorAbi,
132
- functionName: 'isVaultPaused',
133
- args: [vault],
134
- });
135
- }
136
- export const Rounding = {
137
- Floor: ROUNDING_FLOOR,
138
- Ceil: ROUNDING_CEIL,
139
- };
140
- //# sourceMappingURL=priceAndFeeCalculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"priceAndFeeCalculator.js","sourceRoot":"","sources":["../../../src/evm/aeraContracts/priceAndFeeCalculator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,aAAa,GAAG,CAAC,CAAC;AAQxB,SAAS,QAAQ,CAAC,KAAsB;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3D,CAAC;AAED,SAAS,wBAAwB,CAU/B,UAAkB;IAClB,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,UAAU;YACb,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;SACJ,CAAC;IAC1C,CAAC;IAED,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,cAAc,IAAI,eAAe,CAAC;IAExD,OAAO;QACL,GAAG,UAAU;QACb,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW;QACzE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;KACtB,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAoB,EACpB,aAAsB,EACtB,oBAAqC,EACrC,KAAc,EACd,KAAc,EACd,WAAmB,EACnB,QAAsD;IAEtD,IAAI,oBAAoB,KAAK,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,YAAY,CAAC;YACzB,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,0BAA0B;YAC/B,YAAY,EAAE,6BAA6B;YAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,6BAA6B;QAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC;KAC5C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAoB,EACpB,aAAsB,EACtB,oBAAqC,EACrC,KAAc,EACd,KAAc,EACd,WAAmB,EACnB,QAAsD;IAEtD,IAAI,oBAAoB,KAAK,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,YAAY,CAAC;YACzB,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,0BAA0B;YAC/B,YAAY,EAAE,6BAA6B;YAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,6BAA6B;QAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC;KAC5C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,aAAsB,EACtB,oBAAqC,EACrC,KAAc,EACd,KAAc,EACd,WAAmB;IAEnB,IAAI,oBAAoB,KAAK,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,YAAY,CAAC;YACzB,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,0BAA0B;YAC/B,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,qBAAqB;QACnC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,aAAsB,EACtB,oBAAqC,EACrC,KAAc,EACd,KAAc,EACd,WAAmB;IAEnB,IAAI,oBAAoB,KAAK,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,YAAY,CAAC;YACzB,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,0BAA0B;YAC/B,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,qBAAqB;QACnC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAoB,EACpB,aAAsB,EACtB,oBAAqC,EACrC,KAAc;IAEd,IAAI,oBAAoB,KAAK,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,uBAAuB,CAAC,wDAAwD,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,0BAA0B;QAC/B,YAAY,EAAE,oBAAoB;QAClC,IAAI,EAAE,CAAC,KAAK,CAAC;KACd,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAoB,EACpB,aAAsB,EACtB,oBAAqC,EACrC,KAAc;IAEd,IAAI,oBAAoB,KAAK,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACvD,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,0BAA0B;YAC/B,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,KAAK,CAAC;SACd,CAAC,CAAC;QAEH,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAU,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACvD,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,eAAe;QAC7B,IAAI,EAAE,CAAC,KAAK,CAAC;KACd,CAAC,CAAC;IAEH,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAU,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAoB,EACpB,aAAsB,EACtB,oBAAqC,EACrC,KAAc;IAEd,IAAI,oBAAoB,KAAK,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,YAAY,CAAC;YACzB,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,0BAA0B;YAC/B,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,KAAK,CAAC;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,eAAe;QAC7B,IAAI,EAAE,CAAC,KAAK,CAAC;KACd,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;CACX,CAAC"}
@@ -1,59 +0,0 @@
1
- import { getContract, } from 'viem';
2
- import { priceAndFeeCalculatorAbi } from '../abis/priceAndFeeCalculator';
3
- import { provisionerAbi } from '../abis/provisioner';
4
- import { Rounding, convertTokenToUnitsIfActive, convertUnitsToTokenIfActive, } from './priceAndFeeCalculator';
5
- import { MAX_BPS } from '../../constants';
6
- export function getPriceAndFeeCalculator(client, address) {
7
- return getContract({
8
- address,
9
- abi: priceAndFeeCalculatorAbi,
10
- client,
11
- });
12
- }
13
- function getProvisioner(client, address) {
14
- return getContract({
15
- address,
16
- abi: provisionerAbi,
17
- client,
18
- });
19
- }
20
- async function getTokenDetails(client, provisioner, token) {
21
- return getProvisioner(client, provisioner).read.tokensDetails([token]);
22
- }
23
- export async function getAsyncDepositUnitsOut(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, tokensIn) {
24
- const tokenDetails = await getTokenDetails(client, provisioner, token);
25
- const depositMultiplier = BigInt(tokenDetails[3]);
26
- const adjustedTokensIn = (tokensIn * depositMultiplier) / MAX_BPS;
27
- return convertTokenToUnitsIfActive(client, feeCalculator, feeCalculatorVersion, vault, token, adjustedTokensIn, Rounding.Floor);
28
- }
29
- export async function getAsyncRedeemTokenOut(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, unitsIn) {
30
- const tokenDetails = await getTokenDetails(client, provisioner, token);
31
- const redeemMultiplier = BigInt(tokenDetails[4]);
32
- const tokensOut = await convertUnitsToTokenIfActive(client, feeCalculator, feeCalculatorVersion, vault, token, unitsIn, Rounding.Floor);
33
- return (tokensOut * redeemMultiplier) / MAX_BPS;
34
- }
35
- export async function getAsyncWithdrawUnitsIn(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, tokensOut) {
36
- const tokenDetails = await getTokenDetails(client, provisioner, token);
37
- const redeemMultiplier = BigInt(tokenDetails[4]);
38
- const preMultiplierTokensOut = (tokensOut * MAX_BPS + redeemMultiplier - 1n) / redeemMultiplier;
39
- return convertTokenToUnitsIfActive(client, feeCalculator, feeCalculatorVersion, vault, token, preMultiplierTokensOut, Rounding.Ceil);
40
- }
41
- export function requestDepositTxRequest(provisioner, token, tokensIn, minUnitsOut, solverTip, deadline, maxPriceAge, isFixedPrice, account) {
42
- return {
43
- address: provisioner,
44
- abi: provisionerAbi,
45
- functionName: 'requestDeposit',
46
- args: [token, tokensIn, minUnitsOut, solverTip, deadline, maxPriceAge, isFixedPrice],
47
- account,
48
- };
49
- }
50
- export function requestRedeemTxRequest(provisioner, token, unitsIn, minTokenOut, solverTip, deadline, maxPriceAge, isFixedPrice, account) {
51
- return {
52
- address: provisioner,
53
- abi: provisionerAbi,
54
- functionName: 'requestRedeem',
55
- args: [token, unitsIn, minTokenOut, solverTip, deadline, maxPriceAge, isFixedPrice],
56
- account,
57
- };
58
- }
59
- //# sourceMappingURL=v1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../src/evm/aeraContracts/v1.ts"],"names":[],"mappings":"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"}