@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../../../../src/evm/aeraContracts/v2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAGlB,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,0BAA0B,EAAE,2CAAwC;AAU7E,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAiB;AAGhD,MAAM,MAAM,6BAA6B,CAAC,CAAC,SAAS,MAAM,IAAI,qBAAqB,CACjF,OAAO,0BAA0B,EACjC,CAAC,EACD,OAAO,CACR,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EACvD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,OAAO,GACf,6BAA6B,CAAC,CAAC,CAAC,CAMlC;AAED,KAAK,qBAAqB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAqCF;;;;;GAKG;AACH,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,sBAAsB,EAAE,OAAO,EAC/B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAqHD,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,OAAO,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,sBAAsB,EAAE,OAAO,CAAA;CAAE,CAAC,CAoDpE;AAED,0FAA0F;AAC1F,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,OAAO,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,CAGzB;AAcD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,eAAe,EACrC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,sBAAsB,CAAC,EAAE,MAAM,EAC/B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,eAAe,EACrC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAYjB;AAsBD,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,eAAe,EACrC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,eAAe,EACrC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBrE;AAED,8FAA8F;AAC9F,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,eAAe,EACrC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,eAAe,EACrC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,eAAe,EACrC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED,+EAA+E;AAC/E,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAU/B;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjB;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBjB;AAED,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlB;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBjB;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjB;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjB"}
@@ -0,0 +1,449 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var v2_exports = {};
20
+ __export(v2_exports, {
21
+ depositTxRequest: () => depositTxRequest,
22
+ getAsyncDepositUnitsOut: () => getAsyncDepositUnitsOut,
23
+ getAsyncRedeemTokenOut: () => getAsyncRedeemTokenOut,
24
+ getAsyncWithdrawUnitsIn: () => getAsyncWithdrawUnitsIn,
25
+ getKnownSyncRedeemLiquidityTokens: () => getKnownSyncRedeemLiquidityTokens,
26
+ getPriceAndFeeCalculator: () => getPriceAndFeeCalculator,
27
+ getSyncDepositFeeBps: () => getSyncDepositFeeBps,
28
+ getSyncDepositQuoteValues: () => getSyncDepositQuoteValues,
29
+ getSyncDepositUnitsOut: () => getSyncDepositUnitsOut,
30
+ getSyncRedeemEpochState: () => getSyncRedeemEpochState,
31
+ getSyncRedeemRate: () => getSyncRedeemRate,
32
+ getSyncRedeemRateContext: () => getSyncRedeemRateContext,
33
+ getSyncRedeemTokenOut: () => getSyncRedeemTokenOut,
34
+ getSyncWithdrawUnitsIn: () => getSyncWithdrawUnitsIn,
35
+ getUserUnitsRefundableUntil: () => getUserUnitsRefundableUntil,
36
+ redeemTxRequest: () => redeemTxRequest,
37
+ requestDepositTxRequest: () => requestDepositTxRequest,
38
+ requestRedeemTxRequest: () => requestRedeemTxRequest,
39
+ setDepositReceiverApprovalTxRequest: () => setDepositReceiverApprovalTxRequest,
40
+ withdrawTxRequest: () => withdrawTxRequest
41
+ });
42
+ module.exports = __toCommonJS(v2_exports);
43
+ var import_viem = require("viem");
44
+ var import_erc20 = require("../abis/erc20");
45
+ var import_priceAndFeeCalculatorV2 = require("../abis/priceAndFeeCalculatorV2");
46
+ var import_provisionerV2 = require("../abis/provisionerV2");
47
+ var import_priceAndFeeCalculator = require("./priceAndFeeCalculator");
48
+ var import_constants = require("../../constants");
49
+ var import_errors = require("../../errors");
50
+ var import_readOptions = require("./readOptions");
51
+ function getPriceAndFeeCalculator(client, address) {
52
+ return (0, import_viem.getContract)({
53
+ address,
54
+ abi: import_priceAndFeeCalculatorV2.priceAndFeeCalculatorV2Abi,
55
+ client
56
+ });
57
+ }
58
+ async function resolveReadContext(client, options = {}) {
59
+ if (options.blockNumber !== void 0 && options.blockTimestamp !== void 0) {
60
+ return { blockNumber: options.blockNumber, blockTimestamp: options.blockTimestamp };
61
+ }
62
+ const block = options.blockNumber === void 0 ? await client.getBlock() : await client.getBlock(options);
63
+ if (block.number === null) {
64
+ throw new import_errors.UnsupportedFeatureError("Aera: sync redeem reads require a numbered block");
65
+ }
66
+ return {
67
+ blockNumber: options.blockNumber ?? block.number,
68
+ blockTimestamp: options.blockTimestamp ?? BigInt(block.timestamp)
69
+ };
70
+ }
71
+ async function getTokenDetails(client, provisioner, token, options = {}) {
72
+ return client.readContract({
73
+ address: provisioner,
74
+ abi: import_provisionerV2.provisionerV2Abi,
75
+ functionName: "tokensDetails",
76
+ args: [token],
77
+ ...(0, import_readOptions.readAtBlock)(options)
78
+ });
79
+ }
80
+ async function getKnownSyncRedeemLiquidityTokens(client, vault, token, hasPullFundsSubmitData, options = {}) {
81
+ if (hasPullFundsSubmitData) return void 0;
82
+ return client.readContract({
83
+ address: token,
84
+ abi: import_erc20.erc20Abi,
85
+ functionName: "balanceOf",
86
+ args: [vault],
87
+ ...(0, import_readOptions.readAtBlock)(options)
88
+ });
89
+ }
90
+ async function getDepositQuote({
91
+ client,
92
+ provisioner,
93
+ feeCalculator,
94
+ feeCalculatorVersion,
95
+ vault,
96
+ token,
97
+ tokensIn,
98
+ multiplierIndex,
99
+ options
100
+ }) {
101
+ const tokenDetails = await getTokenDetails(client, provisioner, token, options);
102
+ const multiplierBps = BigInt(tokenDetails[multiplierIndex]);
103
+ const adjustedTokensIn = tokensIn * multiplierBps / import_constants.MAX_BPS;
104
+ const unitsOut = await (0, import_priceAndFeeCalculator.convertTokenToUnitsIfActive)(
105
+ client,
106
+ feeCalculator,
107
+ feeCalculatorVersion,
108
+ vault,
109
+ token,
110
+ adjustedTokensIn,
111
+ import_priceAndFeeCalculator.Rounding.Floor,
112
+ options
113
+ );
114
+ return { unitsOut, multiplierBps };
115
+ }
116
+ async function getRedeemTokenOut({
117
+ client,
118
+ provisioner,
119
+ feeCalculator,
120
+ feeCalculatorVersion,
121
+ vault,
122
+ token,
123
+ unitsIn,
124
+ multiplierIndex,
125
+ options
126
+ }) {
127
+ const [tokenDetails, tokensOut] = await Promise.all([
128
+ getTokenDetails(client, provisioner, token, options),
129
+ (0, import_priceAndFeeCalculator.convertUnitsToTokenIfActive)(
130
+ client,
131
+ feeCalculator,
132
+ feeCalculatorVersion,
133
+ vault,
134
+ token,
135
+ unitsIn,
136
+ import_priceAndFeeCalculator.Rounding.Floor,
137
+ options
138
+ )
139
+ ]);
140
+ const multiplier = BigInt(tokenDetails[multiplierIndex]);
141
+ return tokensOut * multiplier / import_constants.MAX_BPS;
142
+ }
143
+ async function getWithdrawUnitsIn({
144
+ client,
145
+ provisioner,
146
+ feeCalculator,
147
+ feeCalculatorVersion,
148
+ vault,
149
+ token,
150
+ tokensOut,
151
+ multiplierIndex,
152
+ options
153
+ }) {
154
+ const tokenDetails = await getTokenDetails(client, provisioner, token, options);
155
+ const multiplier = BigInt(tokenDetails[multiplierIndex]);
156
+ const preMultiplierTokens = (tokensOut * import_constants.MAX_BPS + multiplier - 1n) / multiplier;
157
+ return (0, import_priceAndFeeCalculator.convertTokenToUnitsIfActive)(
158
+ client,
159
+ feeCalculator,
160
+ feeCalculatorVersion,
161
+ vault,
162
+ token,
163
+ preMultiplierTokens,
164
+ import_priceAndFeeCalculator.Rounding.Ceil,
165
+ options
166
+ );
167
+ }
168
+ async function getSyncRedeemRateContext(client, provisioner, vault, token, feeCalculator, options = {}) {
169
+ const readContext = await resolveReadContext(client, options);
170
+ const [tokenDetails, syncRedeemDetails, anchorTimestamp] = await client.multicall({
171
+ contracts: [
172
+ {
173
+ address: provisioner,
174
+ abi: import_provisionerV2.provisionerV2Abi,
175
+ functionName: "tokensDetails",
176
+ args: [token]
177
+ },
178
+ {
179
+ address: provisioner,
180
+ abi: import_provisionerV2.provisionerV2Abi,
181
+ functionName: "getSyncRedeemDetails"
182
+ },
183
+ {
184
+ address: feeCalculator,
185
+ abi: import_priceAndFeeCalculatorV2.priceAndFeeCalculatorV2Abi,
186
+ functionName: "getAnchorTimestamp",
187
+ args: [vault]
188
+ }
189
+ ],
190
+ allowFailure: false,
191
+ blockNumber: readContext.blockNumber
192
+ });
193
+ const baseMultiplierBps = BigInt(tokenDetails[7]);
194
+ const maxPriceAge = BigInt(syncRedeemDetails[0]);
195
+ const maxDynamicPremiumBps = BigInt(syncRedeemDetails[2]);
196
+ const blockTimestamp = readContext.blockTimestamp;
197
+ const priceTimestamp = BigInt(anchorTimestamp);
198
+ if (priceTimestamp + maxPriceAge < blockTimestamp) {
199
+ throw new import_errors.StalePriceError({
200
+ blockTimestamp,
201
+ maxPriceAge,
202
+ priceTimestamp
203
+ });
204
+ }
205
+ const dynamicPremiumBps = maxDynamicPremiumBps === 0n || maxPriceAge === 0n ? 0n : ((blockTimestamp - priceTimestamp) * maxDynamicPremiumBps + maxPriceAge - 1n) / maxPriceAge;
206
+ return {
207
+ rate: {
208
+ baseMultiplierBps,
209
+ dynamicPremiumBps,
210
+ effectiveMultiplierBps: baseMultiplierBps - dynamicPremiumBps
211
+ },
212
+ hasPullFundsSubmitData: tokenDetails[9] !== import_viem.zeroAddress
213
+ };
214
+ }
215
+ async function getSyncRedeemRate(client, provisioner, vault, token, feeCalculator, options = {}) {
216
+ return (await getSyncRedeemRateContext(client, provisioner, vault, token, feeCalculator, options)).rate;
217
+ }
218
+ async function getSyncRedeemMultiplier(client, provisioner, vault, token, feeCalculator, options = {}) {
219
+ return (await getSyncRedeemRate(client, provisioner, vault, token, feeCalculator, options)).effectiveMultiplierBps;
220
+ }
221
+ async function getSyncRedeemTokenOut(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, unitsIn, effectiveMultiplierBps, options = {}) {
222
+ const readContext = effectiveMultiplierBps === void 0 ? await resolveReadContext(client, options) : options;
223
+ const [tokenAmount, multiplier] = await Promise.all([
224
+ (0, import_priceAndFeeCalculator.convertUnitsToTokenIfActive)(
225
+ client,
226
+ feeCalculator,
227
+ feeCalculatorVersion,
228
+ vault,
229
+ token,
230
+ unitsIn,
231
+ import_priceAndFeeCalculator.Rounding.Floor,
232
+ readContext
233
+ ),
234
+ effectiveMultiplierBps !== void 0 ? Promise.resolve(effectiveMultiplierBps) : getSyncRedeemMultiplier(client, provisioner, vault, token, feeCalculator, readContext)
235
+ ]);
236
+ return tokenAmount * multiplier / import_constants.MAX_BPS;
237
+ }
238
+ async function getAsyncDepositUnitsOut(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, tokensIn) {
239
+ const quote = await getDepositQuote({
240
+ client,
241
+ provisioner,
242
+ feeCalculator,
243
+ feeCalculatorVersion,
244
+ vault,
245
+ token,
246
+ tokensIn,
247
+ multiplierIndex: 4
248
+ });
249
+ return quote.unitsOut;
250
+ }
251
+ const getSyncDepositQuote = (client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, tokensIn) => getDepositQuote({
252
+ client,
253
+ provisioner,
254
+ feeCalculator,
255
+ feeCalculatorVersion,
256
+ vault,
257
+ token,
258
+ tokensIn,
259
+ multiplierIndex: 6
260
+ });
261
+ async function getSyncDepositUnitsOut(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, tokensIn) {
262
+ const quote = await getSyncDepositQuote(
263
+ client,
264
+ provisioner,
265
+ feeCalculator,
266
+ feeCalculatorVersion,
267
+ vault,
268
+ token,
269
+ tokensIn
270
+ );
271
+ return quote.unitsOut;
272
+ }
273
+ async function getSyncDepositQuoteValues(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, tokensIn) {
274
+ const { unitsOut, multiplierBps } = await getSyncDepositQuote(
275
+ client,
276
+ provisioner,
277
+ feeCalculator,
278
+ feeCalculatorVersion,
279
+ vault,
280
+ token,
281
+ tokensIn
282
+ );
283
+ const numeraireOut = await (0, import_priceAndFeeCalculator.convertTokenToNumeraire)(
284
+ client,
285
+ feeCalculator,
286
+ feeCalculatorVersion,
287
+ vault,
288
+ token,
289
+ tokensIn * multiplierBps / import_constants.MAX_BPS
290
+ );
291
+ return { unitsOut, feeBps: import_constants.MAX_BPS - multiplierBps, numeraireOut };
292
+ }
293
+ async function getSyncDepositFeeBps(client, provisioner, token, options = {}) {
294
+ const tokenDetails = await getTokenDetails(client, provisioner, token, options);
295
+ return import_constants.MAX_BPS - BigInt(tokenDetails[6]);
296
+ }
297
+ async function getAsyncRedeemTokenOut(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, unitsIn) {
298
+ return getRedeemTokenOut({
299
+ client,
300
+ provisioner,
301
+ feeCalculator,
302
+ feeCalculatorVersion,
303
+ vault,
304
+ token,
305
+ unitsIn,
306
+ multiplierIndex: 5
307
+ });
308
+ }
309
+ async function getAsyncWithdrawUnitsIn(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, tokensOut) {
310
+ return getWithdrawUnitsIn({
311
+ client,
312
+ provisioner,
313
+ feeCalculator,
314
+ feeCalculatorVersion,
315
+ vault,
316
+ token,
317
+ tokensOut,
318
+ multiplierIndex: 5
319
+ });
320
+ }
321
+ async function getSyncWithdrawUnitsIn(client, provisioner, feeCalculator, feeCalculatorVersion, vault, token, tokensOut, effectiveMultiplierBps, options = {}) {
322
+ const readContext = effectiveMultiplierBps === void 0 ? await resolveReadContext(client, options) : options;
323
+ const multiplier = effectiveMultiplierBps ?? await getSyncRedeemMultiplier(client, provisioner, vault, token, feeCalculator, readContext);
324
+ const prePremiumTokens = (tokensOut * import_constants.MAX_BPS + multiplier - 1n) / multiplier;
325
+ return (0, import_priceAndFeeCalculator.convertTokenToUnitsIfActive)(
326
+ client,
327
+ feeCalculator,
328
+ feeCalculatorVersion,
329
+ vault,
330
+ token,
331
+ prePremiumTokens,
332
+ import_priceAndFeeCalculator.Rounding.Ceil,
333
+ readContext
334
+ );
335
+ }
336
+ async function getSyncRedeemEpochState(client, provisioner, options = {}) {
337
+ const [epochTimestamp, epochStartTvlNumeraire, epochRedeemedNumeraire, epochCapNumeraire] = await client.readContract({
338
+ address: provisioner,
339
+ abi: import_provisionerV2.provisionerV2Abi,
340
+ functionName: "getSyncRedeemEpochState",
341
+ ...(0, import_readOptions.readAtBlock)(options)
342
+ });
343
+ return { epochTimestamp, epochStartTvlNumeraire, epochRedeemedNumeraire, epochCapNumeraire };
344
+ }
345
+ async function getUserUnitsRefundableUntil(client, provisioner, user, options = {}) {
346
+ return client.readContract({
347
+ address: provisioner,
348
+ abi: import_provisionerV2.provisionerV2Abi,
349
+ functionName: "userUnitsRefundableUntil",
350
+ args: [user],
351
+ ...(0, import_readOptions.readAtBlock)(options)
352
+ });
353
+ }
354
+ function depositTxRequest(provisioner, token, tokensIn, minUnitsOut, receiver, account) {
355
+ return {
356
+ address: provisioner,
357
+ abi: import_provisionerV2.provisionerV2Abi,
358
+ functionName: "deposit",
359
+ args: [token, tokensIn, minUnitsOut, receiver],
360
+ account
361
+ };
362
+ }
363
+ function requestDepositTxRequest(provisioner, token, tokensIn, minUnitsOut, solverTip, deadline, maxPriceAge, isFixedPrice, receiver, account) {
364
+ return {
365
+ address: provisioner,
366
+ abi: import_provisionerV2.provisionerV2Abi,
367
+ functionName: "requestDeposit",
368
+ args: [
369
+ token,
370
+ tokensIn,
371
+ minUnitsOut,
372
+ solverTip,
373
+ deadline,
374
+ maxPriceAge,
375
+ isFixedPrice,
376
+ receiver
377
+ ],
378
+ account
379
+ };
380
+ }
381
+ function setDepositReceiverApprovalTxRequest(provisioner, depositor, approved, receiver) {
382
+ return {
383
+ address: provisioner,
384
+ abi: import_provisionerV2.provisionerV2Abi,
385
+ functionName: "setDepositReceiverApproval",
386
+ args: [depositor, approved],
387
+ account: receiver
388
+ };
389
+ }
390
+ function requestRedeemTxRequest(provisioner, token, unitsIn, minTokenOut, solverTip, deadline, maxPriceAge, isFixedPrice, receiver, account) {
391
+ return {
392
+ address: provisioner,
393
+ abi: import_provisionerV2.provisionerV2Abi,
394
+ functionName: "requestRedeem",
395
+ args: [
396
+ token,
397
+ unitsIn,
398
+ minTokenOut,
399
+ solverTip,
400
+ deadline,
401
+ maxPriceAge,
402
+ isFixedPrice,
403
+ receiver
404
+ ],
405
+ account
406
+ };
407
+ }
408
+ function redeemTxRequest(provisioner, token, unitsIn, minTokenOut, receiver, account) {
409
+ return {
410
+ address: provisioner,
411
+ abi: import_provisionerV2.provisionerV2Abi,
412
+ functionName: "redeem",
413
+ args: [token, unitsIn, minTokenOut, receiver],
414
+ account
415
+ };
416
+ }
417
+ function withdrawTxRequest(provisioner, token, tokensOut, maxUnitsIn, receiver, account) {
418
+ return {
419
+ address: provisioner,
420
+ abi: import_provisionerV2.provisionerV2Abi,
421
+ functionName: "withdraw",
422
+ args: [token, tokensOut, maxUnitsIn, receiver],
423
+ account
424
+ };
425
+ }
426
+ // Annotate the CommonJS export names for ESM import in node:
427
+ 0 && (module.exports = {
428
+ depositTxRequest,
429
+ getAsyncDepositUnitsOut,
430
+ getAsyncRedeemTokenOut,
431
+ getAsyncWithdrawUnitsIn,
432
+ getKnownSyncRedeemLiquidityTokens,
433
+ getPriceAndFeeCalculator,
434
+ getSyncDepositFeeBps,
435
+ getSyncDepositQuoteValues,
436
+ getSyncDepositUnitsOut,
437
+ getSyncRedeemEpochState,
438
+ getSyncRedeemRate,
439
+ getSyncRedeemRateContext,
440
+ getSyncRedeemTokenOut,
441
+ getSyncWithdrawUnitsIn,
442
+ getUserUnitsRefundableUntil,
443
+ redeemTxRequest,
444
+ requestDepositTxRequest,
445
+ requestRedeemTxRequest,
446
+ setDepositReceiverApprovalTxRequest,
447
+ withdrawTxRequest
448
+ });
449
+ //# sourceMappingURL=v2.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/evm/aeraContracts/v2.ts"],
4
+ "sourcesContent": ["import {\n type Address,\n type Client,\n type GetContractReturnType,\n type PublicClient,\n getContract,\n zeroAddress,\n} from 'viem';\nimport { erc20Abi } from '../abis/erc20';\nimport { priceAndFeeCalculatorV2Abi } from '../abis/priceAndFeeCalculatorV2';\nimport { provisionerV2Abi } from '../abis/provisionerV2';\nimport {\n Rounding,\n convertTokenToNumeraire,\n convertTokenToUnitsIfActive,\n convertUnitsToTokenIfActive,\n} from './priceAndFeeCalculator';\nimport { MAX_BPS } from '../../constants';\nimport { StalePriceError, UnsupportedFeatureError } from '../../errors';\nimport type { ContractVersion } from '../types';\nimport { readAtBlock } from './readOptions';\n\nexport type PriceAndFeeCalculatorContract<T extends Client> = GetContractReturnType<\n typeof priceAndFeeCalculatorV2Abi,\n T,\n Address\n>;\n\nexport function getPriceAndFeeCalculator<T extends Client>(\n client: T,\n address: Address\n): PriceAndFeeCalculatorContract<T> {\n return getContract({\n address,\n abi: priceAndFeeCalculatorV2Abi,\n client,\n });\n}\n\ntype SyncRedeemReadOptions = {\n blockNumber?: bigint;\n blockTimestamp?: bigint;\n};\n\nasync function resolveReadContext(\n client: PublicClient,\n options: SyncRedeemReadOptions = {}\n): Promise<Required<SyncRedeemReadOptions>> {\n if (options.blockNumber !== undefined && options.blockTimestamp !== undefined) {\n return { blockNumber: options.blockNumber, blockTimestamp: options.blockTimestamp };\n }\n\n const block =\n options.blockNumber === undefined ? await client.getBlock() : await client.getBlock(options);\n if (block.number === null) {\n throw new UnsupportedFeatureError('Aera: sync redeem reads require a numbered block');\n }\n\n return {\n blockNumber: options.blockNumber ?? block.number,\n blockTimestamp: options.blockTimestamp ?? BigInt(block.timestamp),\n };\n}\n\nasync function getTokenDetails(\n client: PublicClient,\n provisioner: Address,\n token: Address,\n options: SyncRedeemReadOptions = {}\n) {\n return client.readContract({\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'tokensDetails',\n args: [token],\n ...readAtBlock(options),\n });\n}\n\n/**\n * Returns the vault's currently known sync-redeem liquidity in tokens.\n *\n * When a pull-funds pointer is configured, the provisioner may source more tokens during the\n * redemption, so the vault's current token balance is not a reliable liquidity limit.\n */\nexport async function getKnownSyncRedeemLiquidityTokens(\n client: PublicClient,\n vault: Address,\n token: Address,\n hasPullFundsSubmitData: boolean,\n options: SyncRedeemReadOptions = {}\n): Promise<bigint | undefined> {\n if (hasPullFundsSubmitData) return undefined;\n\n return client.readContract({\n address: token,\n abi: erc20Abi,\n functionName: 'balanceOf',\n args: [vault],\n ...readAtBlock(options),\n });\n}\n\nasync function getDepositQuote({\n client,\n provisioner,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n tokensIn,\n multiplierIndex,\n options,\n}: {\n client: PublicClient;\n provisioner: Address;\n feeCalculator: Address;\n feeCalculatorVersion: ContractVersion;\n vault: Address;\n token: Address;\n tokensIn: bigint;\n multiplierIndex: 4 | 6;\n options?: SyncRedeemReadOptions;\n}): Promise<{ unitsOut: bigint; multiplierBps: bigint }> {\n const tokenDetails = await getTokenDetails(client, provisioner, token, options);\n const multiplierBps = BigInt(tokenDetails[multiplierIndex]);\n const adjustedTokensIn = (tokensIn * multiplierBps) / MAX_BPS;\n\n const unitsOut = await convertTokenToUnitsIfActive(\n client,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n adjustedTokensIn,\n Rounding.Floor,\n options\n );\n\n return { unitsOut, multiplierBps };\n}\n\nasync function getRedeemTokenOut({\n client,\n provisioner,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n unitsIn,\n multiplierIndex,\n options,\n}: {\n client: PublicClient;\n provisioner: Address;\n feeCalculator: Address;\n feeCalculatorVersion: ContractVersion;\n vault: Address;\n token: Address;\n unitsIn: bigint;\n multiplierIndex: 5 | 7;\n options?: SyncRedeemReadOptions;\n}): Promise<bigint> {\n const [tokenDetails, tokensOut] = await Promise.all([\n getTokenDetails(client, provisioner, token, options),\n convertUnitsToTokenIfActive(\n client,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n unitsIn,\n Rounding.Floor,\n options\n ),\n ]);\n const multiplier = BigInt(tokenDetails[multiplierIndex]);\n\n return (tokensOut * multiplier) / MAX_BPS;\n}\n\nasync function getWithdrawUnitsIn({\n client,\n provisioner,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n tokensOut,\n multiplierIndex,\n options,\n}: {\n client: PublicClient;\n provisioner: Address;\n feeCalculator: Address;\n feeCalculatorVersion: ContractVersion;\n vault: Address;\n token: Address;\n tokensOut: bigint;\n multiplierIndex: 5 | 7;\n options?: SyncRedeemReadOptions;\n}): Promise<bigint> {\n const tokenDetails = await getTokenDetails(client, provisioner, token, options);\n const multiplier = BigInt(tokenDetails[multiplierIndex]);\n const preMultiplierTokens = (tokensOut * MAX_BPS + multiplier - 1n) / multiplier;\n\n return convertTokenToUnitsIfActive(\n client,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n preMultiplierTokens,\n Rounding.Ceil,\n options\n );\n}\n\n/** Breakdown of the effective sync redeem multiplier, in basis points. */\nexport interface SyncRedeemRate {\n /** Base sync redeem multiplier (tokensDetails.syncRedeemMultiplier). */\n baseMultiplierBps: bigint;\n /** Dynamic premium charged for the current oracle price age. */\n dynamicPremiumBps: bigint;\n /** Multiplier actually applied to size the redemption (base - dynamic premium). */\n effectiveMultiplierBps: bigint;\n}\n\n/**\n * Reads the live sync redeem rate and whether pull-funds calldata is configured.\n *\n * Both values come from the same token-details read, avoiding another RPC request when a quote\n * needs to determine whether the vault balance is a reliable liquidity limit.\n *\n * @throws {StalePriceError} If the oracle price is older than the configured max age,\n * in which case the on-chain sync redeem would revert.\n */\nexport async function getSyncRedeemRateContext(\n client: PublicClient,\n provisioner: Address,\n vault: Address,\n token: Address,\n feeCalculator: Address,\n options: SyncRedeemReadOptions = {}\n): Promise<{ rate: SyncRedeemRate; hasPullFundsSubmitData: boolean }> {\n const readContext = await resolveReadContext(client, options);\n const [tokenDetails, syncRedeemDetails, anchorTimestamp] = await client.multicall({\n contracts: [\n {\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'tokensDetails',\n args: [token],\n },\n {\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'getSyncRedeemDetails',\n },\n {\n address: feeCalculator,\n abi: priceAndFeeCalculatorV2Abi,\n functionName: 'getAnchorTimestamp',\n args: [vault],\n },\n ],\n allowFailure: false,\n blockNumber: readContext.blockNumber,\n });\n const baseMultiplierBps = BigInt(tokenDetails[7]);\n const maxPriceAge = BigInt(syncRedeemDetails[0]);\n const maxDynamicPremiumBps = BigInt(syncRedeemDetails[2]);\n const blockTimestamp = readContext.blockTimestamp;\n const priceTimestamp = BigInt(anchorTimestamp);\n\n if (priceTimestamp + maxPriceAge < blockTimestamp) {\n throw new StalePriceError({\n blockTimestamp,\n maxPriceAge,\n priceTimestamp,\n });\n }\n\n const dynamicPremiumBps =\n maxDynamicPremiumBps === 0n || maxPriceAge === 0n\n ? 0n\n : ((blockTimestamp - priceTimestamp) * maxDynamicPremiumBps + maxPriceAge - 1n) / maxPriceAge;\n\n return {\n rate: {\n baseMultiplierBps,\n dynamicPremiumBps,\n effectiveMultiplierBps: baseMultiplierBps - dynamicPremiumBps,\n },\n hasPullFundsSubmitData: tokenDetails[9] !== zeroAddress,\n };\n}\n\n/** Preserves the existing rate-only API for callers that do not need pull-funds state. */\nexport async function getSyncRedeemRate(\n client: PublicClient,\n provisioner: Address,\n vault: Address,\n token: Address,\n feeCalculator: Address,\n options: SyncRedeemReadOptions = {}\n): Promise<SyncRedeemRate> {\n return (await getSyncRedeemRateContext(client, provisioner, vault, token, feeCalculator, options))\n .rate;\n}\n\nasync function getSyncRedeemMultiplier(\n client: PublicClient,\n provisioner: Address,\n vault: Address,\n token: Address,\n feeCalculator: Address,\n options: SyncRedeemReadOptions = {}\n): Promise<bigint> {\n return (await getSyncRedeemRate(client, provisioner, vault, token, feeCalculator, options))\n .effectiveMultiplierBps;\n}\n\nexport async function getSyncRedeemTokenOut(\n client: PublicClient,\n provisioner: Address,\n feeCalculator: Address,\n feeCalculatorVersion: ContractVersion,\n vault: Address,\n token: Address,\n unitsIn: bigint,\n effectiveMultiplierBps?: bigint,\n options: SyncRedeemReadOptions = {}\n): Promise<bigint> {\n const readContext =\n effectiveMultiplierBps === undefined ? await resolveReadContext(client, options) : options;\n const [tokenAmount, multiplier] = await Promise.all([\n convertUnitsToTokenIfActive(\n client,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n unitsIn,\n Rounding.Floor,\n readContext\n ),\n effectiveMultiplierBps !== undefined\n ? Promise.resolve(effectiveMultiplierBps)\n : getSyncRedeemMultiplier(client, provisioner, vault, token, feeCalculator, readContext),\n ]);\n\n return (tokenAmount * multiplier) / MAX_BPS;\n}\n\nexport async function getAsyncDepositUnitsOut(\n client: PublicClient,\n provisioner: Address,\n feeCalculator: Address,\n feeCalculatorVersion: ContractVersion,\n vault: Address,\n token: Address,\n tokensIn: bigint\n): Promise<bigint> {\n const quote = await getDepositQuote({\n client,\n provisioner,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n tokensIn,\n multiplierIndex: 4,\n });\n return quote.unitsOut;\n}\n\nconst getSyncDepositQuote = (\n client: PublicClient,\n provisioner: Address,\n feeCalculator: Address,\n feeCalculatorVersion: ContractVersion,\n vault: Address,\n token: Address,\n tokensIn: bigint\n) =>\n getDepositQuote({\n client,\n provisioner,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n tokensIn,\n multiplierIndex: 6,\n });\n\nexport async function getSyncDepositUnitsOut(\n client: PublicClient,\n provisioner: Address,\n feeCalculator: Address,\n feeCalculatorVersion: ContractVersion,\n vault: Address,\n token: Address,\n tokensIn: bigint\n): Promise<bigint> {\n const quote = await getSyncDepositQuote(\n client,\n provisioner,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n tokensIn\n );\n return quote.unitsOut;\n}\n\nexport async function getSyncDepositQuoteValues(\n client: PublicClient,\n provisioner: Address,\n feeCalculator: Address,\n feeCalculatorVersion: ContractVersion,\n vault: Address,\n token: Address,\n tokensIn: bigint\n): Promise<{ unitsOut: bigint; feeBps: bigint; numeraireOut: bigint }> {\n const { unitsOut, multiplierBps } = await getSyncDepositQuote(\n client,\n provisioner,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n tokensIn\n );\n const numeraireOut = await convertTokenToNumeraire(\n client,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n (tokensIn * multiplierBps) / MAX_BPS\n );\n return { unitsOut, feeBps: MAX_BPS - multiplierBps, numeraireOut };\n}\n\n/** Reads the live Instant Supply fee for a vault token, independent of the deposit amount. */\nexport async function getSyncDepositFeeBps(\n client: PublicClient,\n provisioner: Address,\n token: Address,\n options: SyncRedeemReadOptions = {}\n): Promise<bigint> {\n const tokenDetails = await getTokenDetails(client, provisioner, token, options);\n return MAX_BPS - BigInt(tokenDetails[6]);\n}\n\nexport async function getAsyncRedeemTokenOut(\n client: PublicClient,\n provisioner: Address,\n feeCalculator: Address,\n feeCalculatorVersion: ContractVersion,\n vault: Address,\n token: Address,\n unitsIn: bigint\n): Promise<bigint> {\n return getRedeemTokenOut({\n client,\n provisioner,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n unitsIn,\n multiplierIndex: 5,\n });\n}\n\nexport async function getAsyncWithdrawUnitsIn(\n client: PublicClient,\n provisioner: Address,\n feeCalculator: Address,\n feeCalculatorVersion: ContractVersion,\n vault: Address,\n token: Address,\n tokensOut: bigint\n): Promise<bigint> {\n return getWithdrawUnitsIn({\n client,\n provisioner,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n tokensOut,\n multiplierIndex: 5,\n });\n}\n\nexport async function getSyncWithdrawUnitsIn(\n client: PublicClient,\n provisioner: Address,\n feeCalculator: Address,\n feeCalculatorVersion: ContractVersion,\n vault: Address,\n token: Address,\n tokensOut: bigint,\n effectiveMultiplierBps?: bigint,\n options: SyncRedeemReadOptions = {}\n): Promise<bigint> {\n const readContext =\n effectiveMultiplierBps === undefined ? await resolveReadContext(client, options) : options;\n const multiplier =\n effectiveMultiplierBps ??\n (await getSyncRedeemMultiplier(client, provisioner, vault, token, feeCalculator, readContext));\n const prePremiumTokens = (tokensOut * MAX_BPS + multiplier - 1n) / multiplier;\n\n return convertTokenToUnitsIfActive(\n client,\n feeCalculator,\n feeCalculatorVersion,\n vault,\n token,\n prePremiumTokens,\n Rounding.Ceil,\n readContext\n );\n}\n\n/** Current sync redeem epoch accounting, in numeraire (all values uint256). */\nexport interface SyncRedeemEpochState {\n epochTimestamp: bigint;\n epochStartTvlNumeraire: bigint;\n epochRedeemedNumeraire: bigint;\n epochCapNumeraire: bigint;\n}\n\nexport async function getSyncRedeemEpochState(\n client: PublicClient,\n provisioner: Address,\n options: SyncRedeemReadOptions = {}\n): Promise<SyncRedeemEpochState> {\n const [epochTimestamp, epochStartTvlNumeraire, epochRedeemedNumeraire, epochCapNumeraire] =\n await client.readContract({\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'getSyncRedeemEpochState',\n ...readAtBlock(options),\n });\n\n return { epochTimestamp, epochStartTvlNumeraire, epochRedeemedNumeraire, epochCapNumeraire };\n}\n\n/**\n * Raw expiry timestamp for the user's latest sync-deposit lock (0 if none was recorded).\n * The user is locked while this value is greater than or equal to the relevant block timestamp.\n */\nexport async function getUserUnitsRefundableUntil(\n client: PublicClient,\n provisioner: Address,\n user: Address,\n options: SyncRedeemReadOptions = {}\n): Promise<bigint> {\n return client.readContract({\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'userUnitsRefundableUntil',\n args: [user],\n ...readAtBlock(options),\n });\n}\n\nexport function depositTxRequest(\n provisioner: Address,\n token: Address,\n tokensIn: bigint,\n minUnitsOut: bigint,\n receiver: Address,\n account: Address\n) {\n return {\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'deposit' as const,\n args: [token, tokensIn, minUnitsOut, receiver] as const,\n account,\n };\n}\n\nexport function requestDepositTxRequest(\n provisioner: Address,\n token: Address,\n tokensIn: bigint,\n minUnitsOut: bigint,\n solverTip: bigint,\n deadline: bigint,\n maxPriceAge: bigint,\n isFixedPrice: boolean,\n receiver: Address,\n account: Address\n) {\n return {\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'requestDeposit' as const,\n args: [\n token,\n tokensIn,\n minUnitsOut,\n solverTip,\n deadline,\n maxPriceAge,\n isFixedPrice,\n receiver,\n ] as const,\n account,\n };\n}\n\nexport function setDepositReceiverApprovalTxRequest(\n provisioner: Address,\n depositor: Address,\n approved: boolean,\n receiver: Address\n) {\n return {\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'setDepositReceiverApproval' as const,\n args: [depositor, approved] as const,\n account: receiver,\n };\n}\n\nexport function requestRedeemTxRequest(\n provisioner: Address,\n token: Address,\n unitsIn: bigint,\n minTokenOut: bigint,\n solverTip: bigint,\n deadline: bigint,\n maxPriceAge: bigint,\n isFixedPrice: boolean,\n receiver: Address,\n account: Address\n) {\n return {\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'requestRedeem' as const,\n args: [\n token,\n unitsIn,\n minTokenOut,\n solverTip,\n deadline,\n maxPriceAge,\n isFixedPrice,\n receiver,\n ] as const,\n account,\n };\n}\n\nexport function redeemTxRequest(\n provisioner: Address,\n token: Address,\n unitsIn: bigint,\n minTokenOut: bigint,\n receiver: Address,\n account: Address\n) {\n return {\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'redeem' as const,\n args: [token, unitsIn, minTokenOut, receiver] as const,\n account,\n };\n}\n\nexport function withdrawTxRequest(\n provisioner: Address,\n token: Address,\n tokensOut: bigint,\n maxUnitsIn: bigint,\n receiver: Address,\n account: Address\n) {\n return {\n address: provisioner,\n abi: provisionerV2Abi,\n functionName: 'withdraw' as const,\n args: [token, tokensOut, maxUnitsIn, receiver] as const,\n account,\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAOO;AACP,mBAAyB;AACzB,qCAA2C;AAC3C,2BAAiC;AACjC,mCAKO;AACP,uBAAwB;AACxB,oBAAyD;AAEzD,yBAA4B;AAQrB,SAAS,yBACd,QACA,SACkC;AAClC,aAAO,yBAAY;AAAA,IACjB;AAAA,IACA,KAAK;AAAA,IACL;AAAA,EACF,CAAC;AACH;AAOA,eAAe,mBACb,QACA,UAAiC,CAAC,GACQ;AAC1C,MAAI,QAAQ,gBAAgB,UAAa,QAAQ,mBAAmB,QAAW;AAC7E,WAAO,EAAE,aAAa,QAAQ,aAAa,gBAAgB,QAAQ,eAAe;AAAA,EACpF;AAEA,QAAM,QACJ,QAAQ,gBAAgB,SAAY,MAAM,OAAO,SAAS,IAAI,MAAM,OAAO,SAAS,OAAO;AAC7F,MAAI,MAAM,WAAW,MAAM;AACzB,UAAM,IAAI,sCAAwB,kDAAkD;AAAA,EACtF;AAEA,SAAO;AAAA,IACL,aAAa,QAAQ,eAAe,MAAM;AAAA,IAC1C,gBAAgB,QAAQ,kBAAkB,OAAO,MAAM,SAAS;AAAA,EAClE;AACF;AAEA,eAAe,gBACb,QACA,aACA,OACA,UAAiC,CAAC,GAClC;AACA,SAAO,OAAO,aAAa;AAAA,IACzB,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,MAAM,CAAC,KAAK;AAAA,IACZ,OAAG,gCAAY,OAAO;AAAA,EACxB,CAAC;AACH;AAQA,eAAsB,kCACpB,QACA,OACA,OACA,wBACA,UAAiC,CAAC,GACL;AAC7B,MAAI,uBAAwB,QAAO;AAEnC,SAAO,OAAO,aAAa;AAAA,IACzB,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,MAAM,CAAC,KAAK;AAAA,IACZ,OAAG,gCAAY,OAAO;AAAA,EACxB,CAAC;AACH;AAEA,eAAe,gBAAgB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAUyD;AACvD,QAAM,eAAe,MAAM,gBAAgB,QAAQ,aAAa,OAAO,OAAO;AAC9E,QAAM,gBAAgB,OAAO,aAAa,eAAe,CAAC;AAC1D,QAAM,mBAAoB,WAAW,gBAAiB;AAEtD,QAAM,WAAW,UAAM;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,sCAAS;AAAA,IACT;AAAA,EACF;AAEA,SAAO,EAAE,UAAU,cAAc;AACnC;AAEA,eAAe,kBAAkB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAUoB;AAClB,QAAM,CAAC,cAAc,SAAS,IAAI,MAAM,QAAQ,IAAI;AAAA,IAClD,gBAAgB,QAAQ,aAAa,OAAO,OAAO;AAAA,QACnD;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,sCAAS;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AACD,QAAM,aAAa,OAAO,aAAa,eAAe,CAAC;AAEvD,SAAQ,YAAY,aAAc;AACpC;AAEA,eAAe,mBAAmB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAUoB;AAClB,QAAM,eAAe,MAAM,gBAAgB,QAAQ,aAAa,OAAO,OAAO;AAC9E,QAAM,aAAa,OAAO,aAAa,eAAe,CAAC;AACvD,QAAM,uBAAuB,YAAY,2BAAU,aAAa,MAAM;AAEtE,aAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,sCAAS;AAAA,IACT;AAAA,EACF;AACF;AAqBA,eAAsB,yBACpB,QACA,aACA,OACA,OACA,eACA,UAAiC,CAAC,GACkC;AACpE,QAAM,cAAc,MAAM,mBAAmB,QAAQ,OAAO;AAC5D,QAAM,CAAC,cAAc,mBAAmB,eAAe,IAAI,MAAM,OAAO,UAAU;AAAA,IAChF,WAAW;AAAA,MACT;AAAA,QACE,SAAS;AAAA,QACT,KAAK;AAAA,QACL,cAAc;AAAA,QACd,MAAM,CAAC,KAAK;AAAA,MACd;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,KAAK;AAAA,QACL,cAAc;AAAA,MAChB;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,KAAK;AAAA,QACL,cAAc;AAAA,QACd,MAAM,CAAC,KAAK;AAAA,MACd;AAAA,IACF;AAAA,IACA,cAAc;AAAA,IACd,aAAa,YAAY;AAAA,EAC3B,CAAC;AACD,QAAM,oBAAoB,OAAO,aAAa,CAAC,CAAC;AAChD,QAAM,cAAc,OAAO,kBAAkB,CAAC,CAAC;AAC/C,QAAM,uBAAuB,OAAO,kBAAkB,CAAC,CAAC;AACxD,QAAM,iBAAiB,YAAY;AACnC,QAAM,iBAAiB,OAAO,eAAe;AAE7C,MAAI,iBAAiB,cAAc,gBAAgB;AACjD,UAAM,IAAI,8BAAgB;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,oBACJ,yBAAyB,MAAM,gBAAgB,KAC3C,OACE,iBAAiB,kBAAkB,uBAAuB,cAAc,MAAM;AAEtF,SAAO;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,wBAAwB,oBAAoB;AAAA,IAC9C;AAAA,IACA,wBAAwB,aAAa,CAAC,MAAM;AAAA,EAC9C;AACF;AAGA,eAAsB,kBACpB,QACA,aACA,OACA,OACA,eACA,UAAiC,CAAC,GACT;AACzB,UAAQ,MAAM,yBAAyB,QAAQ,aAAa,OAAO,OAAO,eAAe,OAAO,GAC7F;AACL;AAEA,eAAe,wBACb,QACA,aACA,OACA,OACA,eACA,UAAiC,CAAC,GACjB;AACjB,UAAQ,MAAM,kBAAkB,QAAQ,aAAa,OAAO,OAAO,eAAe,OAAO,GACtF;AACL;AAEA,eAAsB,sBACpB,QACA,aACA,eACA,sBACA,OACA,OACA,SACA,wBACA,UAAiC,CAAC,GACjB;AACjB,QAAM,cACJ,2BAA2B,SAAY,MAAM,mBAAmB,QAAQ,OAAO,IAAI;AACrF,QAAM,CAAC,aAAa,UAAU,IAAI,MAAM,QAAQ,IAAI;AAAA,QAClD;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,sCAAS;AAAA,MACT;AAAA,IACF;AAAA,IACA,2BAA2B,SACvB,QAAQ,QAAQ,sBAAsB,IACtC,wBAAwB,QAAQ,aAAa,OAAO,OAAO,eAAe,WAAW;AAAA,EAC3F,CAAC;AAED,SAAQ,cAAc,aAAc;AACtC;AAEA,eAAsB,wBACpB,QACA,aACA,eACA,sBACA,OACA,OACA,UACiB;AACjB,QAAM,QAAQ,MAAM,gBAAgB;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,EACnB,CAAC;AACD,SAAO,MAAM;AACf;AAEA,MAAM,sBAAsB,CAC1B,QACA,aACA,eACA,sBACA,OACA,OACA,aAEA,gBAAgB;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AACnB,CAAC;AAEH,eAAsB,uBACpB,QACA,aACA,eACA,sBACA,OACA,OACA,UACiB;AACjB,QAAM,QAAQ,MAAM;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO,MAAM;AACf;AAEA,eAAsB,0BACpB,QACA,aACA,eACA,sBACA,OACA,OACA,UACqE;AACrE,QAAM,EAAE,UAAU,cAAc,IAAI,MAAM;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,eAAe,UAAM;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACC,WAAW,gBAAiB;AAAA,EAC/B;AACA,SAAO,EAAE,UAAU,QAAQ,2BAAU,eAAe,aAAa;AACnE;AAGA,eAAsB,qBACpB,QACA,aACA,OACA,UAAiC,CAAC,GACjB;AACjB,QAAM,eAAe,MAAM,gBAAgB,QAAQ,aAAa,OAAO,OAAO;AAC9E,SAAO,2BAAU,OAAO,aAAa,CAAC,CAAC;AACzC;AAEA,eAAsB,uBACpB,QACA,aACA,eACA,sBACA,OACA,OACA,SACiB;AACjB,SAAO,kBAAkB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,EACnB,CAAC;AACH;AAEA,eAAsB,wBACpB,QACA,aACA,eACA,sBACA,OACA,OACA,WACiB;AACjB,SAAO,mBAAmB;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,EACnB,CAAC;AACH;AAEA,eAAsB,uBACpB,QACA,aACA,eACA,sBACA,OACA,OACA,WACA,wBACA,UAAiC,CAAC,GACjB;AACjB,QAAM,cACJ,2BAA2B,SAAY,MAAM,mBAAmB,QAAQ,OAAO,IAAI;AACrF,QAAM,aACJ,0BACC,MAAM,wBAAwB,QAAQ,aAAa,OAAO,OAAO,eAAe,WAAW;AAC9F,QAAM,oBAAoB,YAAY,2BAAU,aAAa,MAAM;AAEnE,aAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,sCAAS;AAAA,IACT;AAAA,EACF;AACF;AAUA,eAAsB,wBACpB,QACA,aACA,UAAiC,CAAC,GACH;AAC/B,QAAM,CAAC,gBAAgB,wBAAwB,wBAAwB,iBAAiB,IACtF,MAAM,OAAO,aAAa;AAAA,IACxB,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,OAAG,gCAAY,OAAO;AAAA,EACxB,CAAC;AAEH,SAAO,EAAE,gBAAgB,wBAAwB,wBAAwB,kBAAkB;AAC7F;AAMA,eAAsB,4BACpB,QACA,aACA,MACA,UAAiC,CAAC,GACjB;AACjB,SAAO,OAAO,aAAa;AAAA,IACzB,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,MAAM,CAAC,IAAI;AAAA,IACX,OAAG,gCAAY,OAAO;AAAA,EACxB,CAAC;AACH;AAEO,SAAS,iBACd,aACA,OACA,UACA,aACA,UACA,SACA;AACA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,MAAM,CAAC,OAAO,UAAU,aAAa,QAAQ;AAAA,IAC7C;AAAA,EACF;AACF;AAEO,SAAS,wBACd,aACA,OACA,UACA,aACA,WACA,UACA,aACA,cACA,UACA,SACA;AACA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,oCACd,aACA,WACA,UACA,UACA;AACA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,MAAM,CAAC,WAAW,QAAQ;AAAA,IAC1B,SAAS;AAAA,EACX;AACF;AAEO,SAAS,uBACd,aACA,OACA,SACA,aACA,WACA,UACA,aACA,cACA,UACA,SACA;AACA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,gBACd,aACA,OACA,SACA,aACA,UACA,SACA;AACA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,MAAM,CAAC,OAAO,SAAS,aAAa,QAAQ;AAAA,IAC5C;AAAA,EACF;AACF;AAEO,SAAS,kBACd,aACA,OACA,WACA,YACA,UACA,SACA;AACA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,cAAc;AAAA,IACd,MAAM,CAAC,OAAO,WAAW,YAAY,QAAQ;AAAA,IAC7C;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,33 @@
1
+ import { type Address, type Client, type GetContractReturnType, type PublicClient } from 'viem';
2
+ import { multiDepositorVaultAbi } from "./abis/multiDepositorVault.js";
3
+ import { ContractVersion, type EvmVaultDeployment } from "./types.js";
4
+ export interface AeraRuntimeContracts {
5
+ provisioner: {
6
+ address: Address;
7
+ version: ContractVersion;
8
+ };
9
+ feeCalculator: {
10
+ address: Address;
11
+ version: ContractVersion;
12
+ };
13
+ }
14
+ export interface AeraTokenModeSupport {
15
+ asyncDeposit: boolean;
16
+ asyncRedeem: boolean;
17
+ syncDeposit: boolean;
18
+ syncRedeem: boolean;
19
+ }
20
+ export declare function requireAeraSyncRedeemRuntime(runtime: AeraRuntimeContracts): void;
21
+ export type AeraReadOptions = {
22
+ blockNumber?: bigint;
23
+ };
24
+ export declare function applySlippageDown(amount: bigint, slippageBps: number): bigint;
25
+ export declare function applySlippageUp(amount: bigint, slippageBps: number): bigint;
26
+ export type MultiDepositorVaultContract<T extends Client> = GetContractReturnType<typeof multiDepositorVaultAbi, T, Address>;
27
+ export declare function getMultiDepositorVault<T extends Client>(client: T, vaultAddress: Address): MultiDepositorVaultContract<T>;
28
+ export declare function resolveContractVersion(client: PublicClient, address: Address, options?: AeraReadOptions): Promise<ContractVersion>;
29
+ export declare function resolveAeraRuntimeContracts(client: PublicClient, vault: EvmVaultDeployment, options?: AeraReadOptions): Promise<AeraRuntimeContracts>;
30
+ export declare function resolveAeraTokenModeSupport(client: PublicClient, runtime: AeraRuntimeContracts, token: Address, options?: AeraReadOptions & {
31
+ includeSyncModes?: boolean;
32
+ }): Promise<AeraTokenModeSupport>;
33
+ //# sourceMappingURL=aeraContracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aeraContracts.d.ts","sourceRoot":"","sources":["../../../src/evm/aeraContracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAGlB,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,sBAAsB,EAAE,sCAAmC;AAIpE,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,mBAAgB;AA4BnE,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,eAAe,CAAC;KAC1B,CAAC;IACF,aAAa,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,eAAe,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAOhF;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3E;AA0BD,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,MAAM,IAAI,qBAAqB,CAC/E,OAAO,sBAAsB,EAC7B,CAAC,EACD,OAAO,CACR,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,OAAO,GACpB,2BAA2B,CAAC,CAAC,CAAC,CAMhC;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAsB1B;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CA0C/B;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,eAAe,GAAG;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7D,OAAO,CAAC,oBAAoB,CAAC,CAsE/B"}