@gearbox-protocol/sdk 14.12.0-next.1 → 14.12.0-next.10

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 (322) hide show
  1. package/dist/cjs/abi/iZapper.js +62 -24
  2. package/dist/cjs/dev/AccountOpener.js +7 -13
  3. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  4. package/dist/cjs/history/mapOperations.js +7 -0
  5. package/dist/cjs/plugins/adapters/abi/iConvexV1BoosterAdapter.js +143 -0
  6. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  7. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  8. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
  9. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +19 -0
  10. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +15 -0
  11. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +20 -0
  12. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +18 -0
  13. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
  14. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  15. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  16. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  17. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  18. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  19. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  20. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +14 -0
  21. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +15 -0
  22. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +14 -0
  23. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +15 -0
  24. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +21 -0
  25. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +10 -0
  26. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +11 -0
  27. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +15 -0
  28. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +15 -0
  29. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +11 -0
  30. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +10 -0
  31. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +12 -0
  32. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +58 -0
  33. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +11 -0
  34. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +22 -1
  35. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +17 -0
  36. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +10 -0
  37. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  38. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  39. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +15 -0
  40. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +14 -0
  41. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +10 -0
  42. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +15 -0
  43. package/dist/cjs/preview/index.js +2 -4
  44. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  45. package/dist/cjs/preview/parse/errors.js +5 -2
  46. package/dist/cjs/preview/parse/index.js +2 -2
  47. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +5 -12
  48. package/dist/cjs/preview/parse/parseOperationCalldata.js +40 -1
  49. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +14 -2
  50. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
  51. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  52. package/dist/cjs/preview/parse/types.js +9 -2
  53. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +13 -13
  54. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +32 -14
  55. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +66 -0
  56. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +124 -14
  57. package/dist/cjs/preview/prerequisites/index.js +2 -0
  58. package/dist/cjs/preview/preview/applyInnerOperations.js +132 -0
  59. package/dist/cjs/preview/preview/errors.js +52 -0
  60. package/dist/cjs/preview/preview/index.js +30 -0
  61. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +95 -0
  62. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +69 -0
  63. package/dist/cjs/preview/preview/previewOperation.js +45 -0
  64. package/dist/cjs/preview/preview/previewPoolOperation.js +75 -0
  65. package/dist/cjs/preview/preview/types.js +16 -0
  66. package/dist/cjs/{sdk/market/zapper/Zapper.js → preview/preview/unwrapNativeCollateral.js} +20 -22
  67. package/dist/cjs/preview/simulate/errors.js +0 -7
  68. package/dist/cjs/preview/simulate/index.js +5 -5
  69. package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
  70. package/dist/cjs/preview/simulate/simulatePoolOperation.js +60 -31
  71. package/dist/cjs/preview/simulate/{constants.js → simulateRWAOperation.js} +8 -6
  72. package/dist/cjs/sdk/MultichainSDK.js +1 -0
  73. package/dist/cjs/sdk/OnchainSDK.js +7 -3
  74. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +3 -4
  75. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  76. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  77. package/dist/cjs/sdk/market/MarketRegister.js +10 -5
  78. package/dist/cjs/sdk/market/ZapperRegister.js +54 -0
  79. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +30 -0
  80. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  81. package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  82. package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +3 -38
  83. package/dist/cjs/sdk/market/zapper/ZapperContract.js +106 -0
  84. package/dist/cjs/sdk/market/zapper/createZapper.js +12 -4
  85. package/dist/cjs/{preview/simulate/holders.js → sdk/market/zapper/errors.js} +13 -21
  86. package/dist/cjs/sdk/market/zapper/index.js +6 -2
  87. package/dist/cjs/sdk/market/zapper/types.js +16 -0
  88. package/dist/cjs/sdk/options.js +41 -17
  89. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  90. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  91. package/dist/cjs/sdk/router/helpers.js +0 -5
  92. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  93. package/dist/cjs/sdk/utils/AssetsMap.js +62 -0
  94. package/dist/cjs/sdk/utils/index.js +2 -0
  95. package/dist/esm/abi/iZapper.js +62 -24
  96. package/dist/esm/dev/AccountOpener.js +8 -13
  97. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  98. package/dist/esm/history/mapOperations.js +7 -0
  99. package/dist/esm/plugins/adapters/abi/iConvexV1BoosterAdapter.js +119 -0
  100. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  101. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  102. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
  103. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +22 -1
  104. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +18 -1
  105. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -1
  106. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +22 -1
  107. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
  108. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  109. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  110. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  111. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  112. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  113. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  114. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +17 -1
  115. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +19 -1
  116. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +17 -1
  117. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +18 -1
  118. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +24 -1
  119. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -1
  120. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +14 -1
  121. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +18 -1
  122. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +18 -1
  123. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +14 -1
  124. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -1
  125. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -1
  126. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +61 -1
  127. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +14 -1
  128. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +25 -2
  129. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +20 -1
  130. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +13 -1
  131. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  132. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  133. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -1
  134. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -1
  135. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +13 -1
  136. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +18 -1
  137. package/dist/esm/preview/index.js +1 -2
  138. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  139. package/dist/esm/preview/parse/errors.js +3 -1
  140. package/dist/esm/preview/parse/index.js +1 -1
  141. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +5 -12
  142. package/dist/esm/preview/parse/parseOperationCalldata.js +43 -2
  143. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +14 -2
  144. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
  145. package/dist/esm/preview/parse/types-rwa.js +0 -0
  146. package/dist/esm/preview/parse/types.js +6 -1
  147. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +13 -13
  148. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +32 -14
  149. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +42 -0
  150. package/dist/esm/preview/prerequisites/buildPrerequisites.js +130 -14
  151. package/dist/esm/preview/prerequisites/index.js +1 -0
  152. package/dist/esm/preview/preview/applyInnerOperations.js +110 -0
  153. package/dist/esm/preview/preview/errors.js +27 -0
  154. package/dist/esm/preview/preview/index.js +5 -0
  155. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +79 -0
  156. package/dist/esm/preview/preview/previewOpenCreditAccount.js +51 -0
  157. package/dist/esm/preview/preview/previewOperation.js +21 -0
  158. package/dist/esm/preview/preview/previewPoolOperation.js +53 -0
  159. package/dist/esm/preview/preview/types.js +0 -0
  160. package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
  161. package/dist/esm/preview/simulate/errors.js +0 -6
  162. package/dist/esm/preview/simulate/index.js +3 -3
  163. package/dist/esm/preview/simulate/simulateOperation.js +8 -1
  164. package/dist/esm/preview/simulate/simulatePoolOperation.js +61 -35
  165. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  166. package/dist/esm/sdk/MultichainSDK.js +1 -0
  167. package/dist/esm/sdk/OnchainSDK.js +7 -3
  168. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +4 -5
  169. package/dist/esm/sdk/base/BaseContract.js +4 -2
  170. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  171. package/dist/esm/sdk/market/MarketRegister.js +10 -5
  172. package/dist/esm/sdk/market/ZapperRegister.js +54 -0
  173. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +33 -1
  174. package/dist/esm/sdk/market/rwa/types.js +5 -2
  175. package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  176. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +3 -38
  177. package/dist/esm/sdk/market/zapper/ZapperContract.js +82 -0
  178. package/dist/esm/sdk/market/zapper/createZapper.js +12 -4
  179. package/dist/esm/sdk/market/zapper/errors.js +13 -0
  180. package/dist/esm/sdk/market/zapper/index.js +3 -1
  181. package/dist/esm/sdk/market/zapper/types.js +0 -0
  182. package/dist/esm/sdk/options.js +39 -15
  183. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  184. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  185. package/dist/esm/sdk/router/helpers.js +0 -4
  186. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  187. package/dist/esm/sdk/utils/AssetsMap.js +38 -0
  188. package/dist/esm/sdk/utils/index.js +1 -0
  189. package/dist/types/abi/iERC20Zapper.d.ts +91 -23
  190. package/dist/types/abi/iETHZapper.d.ts +91 -23
  191. package/dist/types/abi/iZapper.d.ts +91 -23
  192. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  193. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  194. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  195. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  196. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  197. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  198. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  199. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  200. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  201. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  202. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  203. package/dist/types/history/types.d.ts +4 -4
  204. package/dist/types/plugins/adapters/abi/iConvexV1BoosterAdapter.d.ts +204 -0
  205. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  206. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +21 -3
  207. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
  208. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +4 -2
  209. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +4 -2
  210. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +4 -2
  211. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +4 -2
  212. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +8 -6
  213. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +3 -6
  214. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +3 -6
  215. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +3 -6
  216. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  217. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
  218. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +3 -6
  219. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +4 -2
  220. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +4 -2
  221. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +4 -2
  222. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +4 -2
  223. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +4 -2
  224. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +4 -2
  225. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +4 -2
  226. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +4 -2
  227. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +4 -2
  228. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +4 -2
  229. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +4 -2
  230. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +4 -2
  231. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +4 -2
  232. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +4 -2
  233. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +15 -3
  234. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +4 -2
  235. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +4 -2
  236. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -1
  237. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
  238. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +4 -2
  239. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +4 -2
  240. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +4 -2
  241. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +4 -2
  242. package/dist/types/plugins/adapters/types.d.ts +10 -0
  243. package/dist/types/preview/index.d.ts +1 -2
  244. package/dist/types/preview/parse/classifyInnerOperations.d.ts +0 -2
  245. package/dist/types/preview/parse/errors.d.ts +1 -0
  246. package/dist/types/preview/parse/index.d.ts +1 -1
  247. package/dist/types/preview/parse/parseOperationCalldata.d.ts +3 -3
  248. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +22 -0
  249. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  250. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  251. package/dist/types/preview/parse/types-pools.d.ts +90 -2
  252. package/dist/types/preview/parse/types-rwa.d.ts +48 -0
  253. package/dist/types/preview/parse/types.d.ts +11 -6
  254. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +1 -3
  255. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +9 -6
  256. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +36 -0
  257. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +15 -6
  258. package/dist/types/preview/prerequisites/index.d.ts +1 -0
  259. package/dist/types/preview/prerequisites/types.d.ts +10 -8
  260. package/dist/types/preview/preview/applyInnerOperations.d.ts +77 -0
  261. package/dist/types/preview/preview/errors.d.ts +21 -0
  262. package/dist/types/preview/preview/index.d.ts +5 -0
  263. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +11 -0
  264. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +4 -0
  265. package/dist/types/preview/preview/previewOperation.d.ts +7 -0
  266. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  267. package/dist/types/preview/preview/types.d.ts +177 -0
  268. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
  269. package/dist/types/preview/simulate/errors.d.ts +6 -12
  270. package/dist/types/preview/simulate/index.d.ts +3 -2
  271. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -2
  272. package/dist/types/preview/simulate/simulateOperation.d.ts +0 -2
  273. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +9 -3
  274. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +23 -0
  275. package/dist/types/preview/simulate/types.d.ts +12 -39
  276. package/dist/types/sdk/MultichainSDK.d.ts +5 -0
  277. package/dist/types/sdk/OnchainSDK.d.ts +4 -0
  278. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
  279. package/dist/types/sdk/accounts/types.d.ts +2 -2
  280. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  281. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  282. package/dist/types/sdk/base/types.d.ts +18 -0
  283. package/dist/types/sdk/market/MarketRegister.d.ts +15 -6
  284. package/dist/types/sdk/market/ZapperRegister.d.ts +25 -4
  285. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +6 -1
  286. package/dist/types/sdk/market/rwa/types.d.ts +13 -5
  287. package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +93 -39
  288. package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +93 -39
  289. package/dist/types/sdk/market/zapper/ZapperContract.d.ts +35 -0
  290. package/dist/types/sdk/market/zapper/createZapper.d.ts +2 -4
  291. package/dist/types/sdk/market/zapper/errors.d.ts +10 -0
  292. package/dist/types/sdk/market/zapper/index.d.ts +3 -1
  293. package/dist/types/sdk/market/zapper/types.d.ts +64 -0
  294. package/dist/types/sdk/options.d.ts +10 -5
  295. package/dist/types/sdk/pools/types.d.ts +4 -4
  296. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  297. package/dist/types/sdk/router/helpers.d.ts +1 -2
  298. package/dist/types/sdk/router/types.d.ts +1 -15
  299. package/dist/types/sdk/types/state-human.d.ts +9 -0
  300. package/dist/types/sdk/types/state.d.ts +7 -0
  301. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  302. package/dist/types/sdk/utils/AssetsMap.d.ts +27 -0
  303. package/dist/types/sdk/utils/index.d.ts +1 -0
  304. package/package.json +3 -3
  305. package/dist/cjs/preview/parse/extractExpectedBalanceChanges.js +0 -48
  306. package/dist/cjs/preview/simulate/extractERC20Transfers.js +0 -47
  307. package/dist/cjs/preview/simulate/simulatePoolOpMulticall.js +0 -155
  308. package/dist/cjs/preview/simulate/simulatePoolOpV1.js +0 -106
  309. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  310. package/dist/esm/preview/simulate/constants.js +0 -4
  311. package/dist/esm/preview/simulate/extractERC20Transfers.js +0 -23
  312. package/dist/esm/preview/simulate/holders.js +0 -21
  313. package/dist/esm/preview/simulate/simulatePoolOpMulticall.js +0 -130
  314. package/dist/esm/preview/simulate/simulatePoolOpV1.js +0 -82
  315. package/dist/esm/sdk/market/zapper/Zapper.js +0 -23
  316. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  317. package/dist/types/preview/simulate/constants.d.ts +0 -6
  318. package/dist/types/preview/simulate/extractERC20Transfers.d.ts +0 -11
  319. package/dist/types/preview/simulate/holders.d.ts +0 -7
  320. package/dist/types/preview/simulate/simulatePoolOpMulticall.d.ts +0 -28
  321. package/dist/types/preview/simulate/simulatePoolOpV1.d.ts +0 -14
  322. package/dist/types/sdk/market/zapper/Zapper.d.ts +0 -13
@@ -22,27 +22,11 @@ __export(IERC20ZapperContract_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(IERC20ZapperContract_exports);
24
24
  var import_iERC20Zapper = require("../../../abi/iERC20Zapper.js");
25
- var import_base = require("../../base/index.js");
25
+ var import_ZapperContract = require("./ZapperContract.js");
26
26
  const abi = import_iERC20Zapper.ierc20ZapperAbi;
27
- class IERC20ZapperContract extends import_base.BaseContract {
28
- pool;
29
- type;
30
- baseParams;
31
- tokenIn;
32
- tokenOut;
27
+ class IERC20ZapperContract extends import_ZapperContract.ZapperContract {
33
28
  constructor(sdk, data) {
34
- super(sdk, {
35
- addr: data.baseParams.addr,
36
- abi,
37
- name: `ERC20Zapper(${sdk.labelAddress(data.baseParams.addr)})`,
38
- version: data.baseParams.version,
39
- contractType: data.baseParams.contractType
40
- });
41
- this.pool = data.pool;
42
- this.type = data.type;
43
- this.baseParams = data.baseParams;
44
- this.tokenIn = data.tokenIn;
45
- this.tokenOut = data.tokenOut;
29
+ super(sdk, data, abi, "ERC20Zapper");
46
30
  }
47
31
  /**
48
32
  * Deposits ERC20 tokens into the pool via this zapper.
@@ -72,25 +56,6 @@ class IERC20ZapperContract extends import_base.BaseContract {
72
56
  args: [tokenInAmount, receiver, referralCode, deadline, v, r, s]
73
57
  });
74
58
  }
75
- /**
76
- * Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
77
- */
78
- redeem(tokenInAmount, receiver) {
79
- return this.createRawTx({
80
- functionName: "redeem",
81
- args: [tokenInAmount, receiver]
82
- });
83
- }
84
- /**
85
- * Redeems pool shares via this zapper with an EIP-2612 permit signature,
86
- * skipping a separate approve transaction.
87
- */
88
- redeemWithPermit(tokenInAmount, receiver, deadline, v, r, s) {
89
- return this.createRawTx({
90
- functionName: "redeemWithPermit",
91
- args: [tokenInAmount, receiver, deadline, v, r, s]
92
- });
93
- }
94
59
  }
95
60
  // Annotate the CommonJS export names for ESM import in node:
96
61
  0 && (module.exports = {
@@ -22,27 +22,11 @@ __export(IETHZapperContract_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(IETHZapperContract_exports);
24
24
  var import_iETHZapper = require("../../../abi/iETHZapper.js");
25
- var import_base = require("../../base/index.js");
25
+ var import_ZapperContract = require("./ZapperContract.js");
26
26
  const abi = import_iETHZapper.iethZapperAbi;
27
- class IETHZapperContract extends import_base.BaseContract {
28
- pool;
29
- type;
30
- baseParams;
31
- tokenIn;
32
- tokenOut;
27
+ class IETHZapperContract extends import_ZapperContract.ZapperContract {
33
28
  constructor(sdk, data) {
34
- super(sdk, {
35
- addr: data.baseParams.addr,
36
- abi,
37
- name: `ETHZapper(${sdk.labelAddress(data.baseParams.addr)})`,
38
- version: data.baseParams.version,
39
- contractType: data.baseParams.contractType
40
- });
41
- this.pool = data.pool;
42
- this.type = data.type;
43
- this.baseParams = data.baseParams;
44
- this.tokenIn = data.tokenIn;
45
- this.tokenOut = data.tokenOut;
29
+ super(sdk, data, abi, "ETHZapper");
46
30
  }
47
31
  /**
48
32
  * Deposits native ETH into the pool via this zapper.
@@ -63,25 +47,6 @@ class IETHZapperContract extends import_base.BaseContract {
63
47
  args: [receiver, referralCode]
64
48
  });
65
49
  }
66
- /**
67
- * Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
68
- */
69
- redeem(tokenInAmount, receiver) {
70
- return this.createRawTx({
71
- functionName: "redeem",
72
- args: [tokenInAmount, receiver]
73
- });
74
- }
75
- /**
76
- * Redeems pool shares via this zapper with an EIP-2612 permit signature,
77
- * skipping a separate approve transaction.
78
- */
79
- redeemWithPermit(tokenInAmount, receiver, deadline, v, r, s) {
80
- return this.createRawTx({
81
- functionName: "redeemWithPermit",
82
- args: [tokenInAmount, receiver, deadline, v, r, s]
83
- });
84
- }
85
50
  }
86
51
  // Annotate the CommonJS export names for ESM import in node:
87
52
  0 && (module.exports = {
@@ -0,0 +1,106 @@
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 ZapperContract_exports = {};
20
+ __export(ZapperContract_exports, {
21
+ ZapperContract: () => ZapperContract
22
+ });
23
+ module.exports = __toCommonJS(ZapperContract_exports);
24
+ var import_iZapper = require("../../../abi/iZapper.js");
25
+ var import_base = require("../../base/index.js");
26
+ var import_errors = require("./errors.js");
27
+ class ZapperContract extends import_base.BaseContract {
28
+ sdk;
29
+ pool;
30
+ type;
31
+ baseParams;
32
+ tokenIn;
33
+ tokenOut;
34
+ constructor(sdk, data, abi = import_iZapper.iZapperAbi, namePrefix = "Zapper") {
35
+ super(sdk, {
36
+ addr: data.baseParams.addr,
37
+ abi,
38
+ name: `${namePrefix}(${sdk.labelAddress(data.baseParams.addr)})`,
39
+ version: data.baseParams.version,
40
+ contractType: data.baseParams.contractType
41
+ });
42
+ this.sdk = sdk;
43
+ this.pool = data.pool;
44
+ this.type = data.type;
45
+ this.baseParams = data.baseParams;
46
+ this.tokenIn = data.tokenIn;
47
+ this.tokenOut = data.tokenOut;
48
+ }
49
+ /**
50
+ * Decodes zapper calldata into {@link ParsedZapperOperation}.
51
+ * Throws {@link UnsupportedZapperFunctionError} for unknown selectors.
52
+ */
53
+ parseOperation(calldata, value) {
54
+ const parsed = this.parseFunctionDataV2(calldata);
55
+ const { rawArgs } = parsed;
56
+ const pool = this.pool;
57
+ const zapper = this.address;
58
+ const underlying = this.sdk.marketRegister.findByPool(pool).underlying;
59
+ const receiver = rawArgs.receiver;
60
+ if (parsed.functionName.startsWith("deposit")) {
61
+ return {
62
+ operation: "Deposit",
63
+ pool,
64
+ zapper,
65
+ receiver,
66
+ assets: rawArgs.tokenInAmount ?? value ?? 0n,
67
+ underlying,
68
+ referralCode: rawArgs.referralCode
69
+ };
70
+ }
71
+ if (parsed.functionName.startsWith("redeem")) {
72
+ return {
73
+ operation: "Redeem",
74
+ pool,
75
+ zapper,
76
+ receiver,
77
+ shares: rawArgs.tokenOutAmount,
78
+ underlying
79
+ };
80
+ }
81
+ throw new import_errors.UnsupportedZapperFunctionError(zapper, parsed.functionName);
82
+ }
83
+ /**
84
+ * Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
85
+ */
86
+ redeem(tokenInAmount, receiver) {
87
+ return this.createRawTx({
88
+ functionName: "redeem",
89
+ args: [tokenInAmount, receiver]
90
+ });
91
+ }
92
+ /**
93
+ * Redeems pool shares via this zapper with an EIP-2612 permit signature,
94
+ * skipping a separate approve transaction.
95
+ */
96
+ redeemWithPermit(tokenInAmount, receiver, deadline, v, r, s) {
97
+ return this.createRawTx({
98
+ functionName: "redeemWithPermit",
99
+ args: [tokenInAmount, receiver, deadline, v, r, s]
100
+ });
101
+ }
102
+ }
103
+ // Annotate the CommonJS export names for ESM import in node:
104
+ 0 && (module.exports = {
105
+ ZapperContract
106
+ });
@@ -21,23 +21,31 @@ __export(createZapper_exports, {
21
21
  createZapper: () => createZapper
22
22
  });
23
23
  module.exports = __toCommonJS(createZapper_exports);
24
+ var import_utils = require("../../utils/index.js");
24
25
  var import_IERC20ZapperContract = require("./IERC20ZapperContract.js");
25
26
  var import_IETHZapperContract = require("./IETHZapperContract.js");
26
- var import_Zapper = require("./Zapper.js");
27
+ var import_ZapperContract = require("./ZapperContract.js");
27
28
  function createZapper(sdk, data) {
29
+ const existing = sdk.getContract(data.baseParams.addr);
30
+ if (existing) {
31
+ return existing;
32
+ }
28
33
  if (data.type === "base") {
29
- const contractType = import_Zapper.Zapper.contractType(data.baseParams);
34
+ const contractType = (0, import_utils.bytes32ToString)(data.baseParams.contractType);
30
35
  switch (contractType) {
31
36
  case "ZAPPER::ERC4626_UNDERLYING":
32
37
  return new import_IERC20ZapperContract.IERC20ZapperContract(sdk, data);
33
38
  case "ZAPPER::WETH_DEPOSIT":
34
39
  return new import_IETHZapperContract.IETHZapperContract(sdk, data);
35
40
  default:
41
+ if (sdk.strictContractTypes) {
42
+ throw new Error(`Unknown zapper contract type: ${contractType}`);
43
+ }
36
44
  sdk.logger?.warn(`Unknown zapper contract type: ${contractType}`);
37
- return new import_Zapper.Zapper(data);
45
+ return new import_ZapperContract.ZapperContract(sdk, data);
38
46
  }
39
47
  }
40
- return new import_Zapper.Zapper(data);
48
+ return new import_ZapperContract.ZapperContract(sdk, data);
41
49
  }
42
50
  // Annotate the CommonJS export names for ESM import in node:
43
51
  0 && (module.exports = {
@@ -16,30 +16,22 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var holders_exports = {};
20
- __export(holders_exports, {
21
- watchedHolders: () => watchedHolders
19
+ var errors_exports = {};
20
+ __export(errors_exports, {
21
+ UnsupportedZapperFunctionError: () => UnsupportedZapperFunctionError
22
22
  });
23
- module.exports = __toCommonJS(holders_exports);
24
- var import_sdk = require("../../sdk/index.js");
25
- function sourceHolder(operation, wallet) {
26
- switch (operation.operation) {
27
- case "Deposit":
28
- case "Mint":
29
- return wallet;
30
- case "Withdraw":
31
- case "Redeem":
32
- return operation.owner;
23
+ module.exports = __toCommonJS(errors_exports);
24
+ class UnsupportedZapperFunctionError extends Error {
25
+ zapper;
26
+ functionName;
27
+ constructor(zapper, functionName) {
28
+ super(`unsupported zapper function "${functionName}" on ${zapper}`);
29
+ this.name = "UnsupportedZapperFunctionError";
30
+ this.zapper = zapper;
31
+ this.functionName = functionName;
33
32
  }
34
33
  }
35
- function watchedHolders(operation, wallet) {
36
- const holders = new import_sdk.AddressSet([
37
- sourceHolder(operation, wallet),
38
- operation.receiver
39
- ]);
40
- return holders.asArray();
41
- }
42
34
  // Annotate the CommonJS export names for ESM import in node:
43
35
  0 && (module.exports = {
44
- watchedHolders
36
+ UnsupportedZapperFunctionError
45
37
  });
@@ -16,13 +16,17 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
16
16
  var zapper_exports = {};
17
17
  module.exports = __toCommonJS(zapper_exports);
18
18
  __reExport(zapper_exports, require("./createZapper.js"), module.exports);
19
+ __reExport(zapper_exports, require("./errors.js"), module.exports);
19
20
  __reExport(zapper_exports, require("./IERC20ZapperContract.js"), module.exports);
20
21
  __reExport(zapper_exports, require("./IETHZapperContract.js"), module.exports);
21
- __reExport(zapper_exports, require("./Zapper.js"), module.exports);
22
+ __reExport(zapper_exports, require("./types.js"), module.exports);
23
+ __reExport(zapper_exports, require("./ZapperContract.js"), module.exports);
22
24
  // Annotate the CommonJS export names for ESM import in node:
23
25
  0 && (module.exports = {
24
26
  ...require("./createZapper.js"),
27
+ ...require("./errors.js"),
25
28
  ...require("./IERC20ZapperContract.js"),
26
29
  ...require("./IETHZapperContract.js"),
27
- ...require("./Zapper.js")
30
+ ...require("./types.js"),
31
+ ...require("./ZapperContract.js")
28
32
  });
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -18,19 +18,25 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var options_exports = {};
20
20
  __export(options_exports, {
21
- AttachOptionsSchema: () => AttachOptionsSchema,
22
- OnchainSDKOptionsSchema: () => OnchainSDKOptionsSchema
21
+ attachOptionsSchema: () => attachOptionsSchema,
22
+ onchainSDKOptionsSchema: () => onchainSDKOptionsSchema
23
23
  });
24
24
  module.exports = __toCommonJS(options_exports);
25
25
  var import_v4 = require("zod/v4");
26
26
  var import_updates = require("./market/pricefeeds/updates/index.js");
27
27
  var import_utils = require("./utils/index.js");
28
- const OnchainSDKOptionsSchema = import_v4.z.object({
29
- /** When `true`, throw on unrecognised contract types. */
28
+ const onchainSDKOptionsSchema = import_v4.z.object({
29
+ /**
30
+ * When `true`, throw on unrecognised contract types.
31
+ **/
30
32
  strictContractTypes: import_v4.z.boolean().optional(),
31
- /** Plugins that extend SDK functionality. */
33
+ /**
34
+ * Plugins that extend SDK functionality.
35
+ **/
32
36
  plugins: import_v4.z.record(import_v4.z.string(), import_v4.z.any()).optional(),
33
- /** Custom logger implementation. */
37
+ /**
38
+ * Custom logger implementation.
39
+ **/
34
40
  logger: import_v4.z.any(),
35
41
  /**
36
42
  * Explicit gas limit for read-only `eth_call` requests.
@@ -39,10 +45,14 @@ const OnchainSDKOptionsSchema = import_v4.z.object({
39
45
  **/
40
46
  gasLimit: import_v4.z.bigint().nonnegative().nullable().optional()
41
47
  });
42
- const AttachOptionsSchema = import_v4.z.object({
43
- /** Override address of the Gearbox AddressProvider contract. */
48
+ const attachOptionsSchema = import_v4.z.object({
49
+ /**
50
+ * Override address of the Gearbox AddressProvider contract.
51
+ **/
44
52
  addressProvider: (0, import_utils.ZodAddress)().optional(),
45
- /** Addresses of market configurator contracts to load. */
53
+ /**
54
+ * Addresses of market configurator contracts to load.
55
+ **/
46
56
  marketConfigurators: import_v4.z.array((0, import_utils.ZodAddress)()).optional(),
47
57
  /**
48
58
  * Addresses of RWA factory contracts to load.
@@ -50,19 +60,33 @@ const AttachOptionsSchema = import_v4.z.object({
50
60
  * (from {@link GearboxChain.rwaFactories})
51
61
  **/
52
62
  rwaFactories: import_v4.z.array((0, import_utils.ZodAddress)()).optional(),
53
- /** Pin SDK to a specific block number during attach. */
63
+ /**
64
+ * Pin SDK to a specific block number during attach.
65
+ **/
54
66
  blockNumber: import_v4.z.union([import_v4.z.bigint().nonnegative(), import_v4.z.number().int().nonnegative()]).optional(),
55
- /** Skip fetching updatable price feeds on attach and sync. */
67
+ /**
68
+ * Skip fetching updatable price feeds on attach and sync.
69
+ **/
56
70
  ignoreUpdateablePrices: import_v4.z.boolean().optional(),
57
- /** Pool addresses whose markets should be skipped. */
71
+ /**
72
+ * Pool addresses whose markets should be skipped.
73
+ **/
58
74
  ignoreMarkets: import_v4.z.array((0, import_utils.ZodAddress)()).optional(),
59
- /** Options for Redstone price-feed updates. */
75
+ /**
76
+ * Options for Redstone price-feed updates.
77
+ **/
60
78
  redstone: import_updates.RedstoneOptions.optional(),
61
- /** Options for Pyth price-feed updates. */
62
- pyth: import_updates.PythOptions.optional()
79
+ /**
80
+ * Options for Pyth price-feed updates.
81
+ **/
82
+ pyth: import_updates.PythOptions.optional(),
83
+ /**
84
+ * When `true`, automatically load zappers during attach.
85
+ **/
86
+ loadZappers: import_v4.z.boolean().optional()
63
87
  });
64
88
  // Annotate the CommonJS export names for ESM import in node:
65
89
  0 && (module.exports = {
66
- AttachOptionsSchema,
67
- OnchainSDKOptionsSchema
90
+ attachOptionsSchema,
91
+ onchainSDKOptionsSchema
68
92
  });
@@ -41,15 +41,15 @@ class AbstractRouterContract extends import_base.BaseContract {
41
41
  options.debtOnly
42
42
  );
43
43
  const { leftoverBalances, expectedBalances, tokensToClaim } = b;
44
- const expected = new import_utils.AddressMap();
45
- const leftover = new import_utils.AddressMap();
44
+ const expected = new import_utils.AssetsMap();
45
+ const leftover = new import_utils.AssetsMap();
46
46
  for (const token of cm.collateralTokens) {
47
- const actual = expectedBalances.get(token)?.balance || 0n;
48
- expected.upsert(token, { token, balance: actual > 10n ? actual : 0n });
49
- leftover.upsert(token, {
47
+ const actual = expectedBalances.get(token) || 0n;
48
+ expected.upsert(token, actual > 10n ? actual : 0n);
49
+ leftover.upsert(
50
50
  token,
51
- balance: (0, import_helpers.limitLeftover)(leftoverBalances.get(token)?.balance || 1n, token) ?? 1n
52
- });
51
+ (0, import_helpers.limitLeftover)(leftoverBalances.get(token) || 1n, token) ?? 1n
52
+ );
53
53
  }
54
54
  return {
55
55
  expectedBalances: expected,
@@ -58,8 +58,8 @@ class AbstractRouterContract extends import_base.BaseContract {
58
58
  };
59
59
  }
60
60
  getDefaultExpectedAndLeftover(ca, keepAssets, debtOnly) {
61
- const expectedBalances = new import_utils.AddressMap();
62
- const leftoverBalances = new import_utils.AddressMap();
61
+ const expectedBalances = new import_utils.AssetsMap();
62
+ const leftoverBalances = new import_utils.AssetsMap();
63
63
  const keepAssetsSet = new import_utils.AddressSet(keepAssets);
64
64
  if (debtOnly) {
65
65
  const result = this.getLeftoversAfterBuyingDebt(ca, keepAssetsSet);
@@ -71,23 +71,23 @@ class AbstractRouterContract extends import_base.BaseContract {
71
71
  }
72
72
  for (const { token, balance, mask } of ca.tokens) {
73
73
  const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
74
- expectedBalances.upsert(token, { token, balance });
74
+ expectedBalances.upsert(token, balance);
75
75
  if (keepAssetsSet.has(token) || !isEnabled || (0, import_utils.isDust)({
76
76
  sdk: this.sdk,
77
77
  token,
78
78
  balance,
79
79
  creditManager: ca.creditManager
80
80
  })) {
81
- leftoverBalances.upsert(token, {
81
+ leftoverBalances.upsert(
82
82
  token,
83
- balance: (0, import_helpers.limitLeftover)(balance, token) ?? balance
84
- });
83
+ (0, import_helpers.limitLeftover)(balance, token) ?? balance
84
+ );
85
85
  }
86
86
  }
87
87
  return {
88
88
  expectedBalances,
89
89
  leftoverBalances,
90
- tokensToClaim: new import_utils.AddressMap()
90
+ tokensToClaim: new import_utils.AssetsMap()
91
91
  };
92
92
  }
93
93
  /**
@@ -100,16 +100,13 @@ class AbstractRouterContract extends import_base.BaseContract {
100
100
  const { priceOracle } = this.sdk.marketRegister.findByCreditManager(
101
101
  ca.creditManager
102
102
  );
103
- const expectedBalances = new import_utils.AddressMap();
104
- const leftoverBalances = new import_utils.AddressMap();
103
+ const expectedBalances = new import_utils.AssetsMap();
104
+ const leftoverBalances = new import_utils.AssetsMap();
105
105
  const usdBalances = [];
106
106
  for (const { token, balance, mask } of ca.tokens) {
107
107
  const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
108
- expectedBalances.upsert(token, { token, balance });
109
- leftoverBalances.upsert(token, {
110
- token,
111
- balance: (0, import_helpers.limitLeftover)(balance, token) ?? balance
112
- });
108
+ expectedBalances.upsert(token, balance);
109
+ leftoverBalances.upsert(token, (0, import_helpers.limitLeftover)(balance, token) ?? balance);
113
110
  if (isEnabled && !keepAssets.has(token)) {
114
111
  usdBalances.push({
115
112
  token,
@@ -139,15 +136,12 @@ class AbstractRouterContract extends import_base.BaseContract {
139
136
  if (tokenAmount === 0n) {
140
137
  return void 0;
141
138
  }
142
- let leftoverBalance = leftoverBalances.get(highestToken.token)?.balance ?? 0n;
139
+ let leftoverBalance = leftoverBalances.get(highestToken.token) ?? 0n;
143
140
  leftoverBalance -= tokenAmount;
144
141
  if (leftoverBalance < 0n) {
145
142
  return void 0;
146
143
  }
147
- leftoverBalances.upsert(highestToken.token, {
148
- token: highestToken.token,
149
- balance: leftoverBalance
150
- });
144
+ leftoverBalances.upsert(highestToken.token, leftoverBalance);
151
145
  const tokenAmountStr = this.sdk.tokensMeta.formatBN(
152
146
  highestToken.token,
153
147
  tokenAmount,
@@ -160,7 +154,7 @@ class AbstractRouterContract extends import_base.BaseContract {
160
154
  return {
161
155
  expectedBalances,
162
156
  leftoverBalances,
163
- tokensToClaim: new import_utils.AddressMap()
157
+ tokensToClaim: new import_utils.AssetsMap()
164
158
  };
165
159
  }
166
160
  safeConvertToUSD(priceOracle, token, balance) {
@@ -23,14 +23,13 @@ __export(RouterV310Contract_exports, {
23
23
  module.exports = __toCommonJS(RouterV310Contract_exports);
24
24
  var import_viem = require("viem");
25
25
  var import_gearboxRouter = require("../../abi/router/gearboxRouter.js");
26
- var import_AddressMap = require("../utils/AddressMap.js");
27
26
  var import_formatter = require("../utils/formatter.js");
28
27
  var import_utils = require("../utils/index.js");
29
28
  var import_AbstractRouterContract = require("./AbstractRouterContract.js");
30
29
  var import_helpers = require("./helpers.js");
31
30
  const abi = import_gearboxRouter.gearboxRouterAbi;
32
31
  class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterContract {
33
- #numSplits = new import_AddressMap.AddressMap();
32
+ #numSplits = new import_utils.AddressMap();
34
33
  #defaultNumSplits = 4n;
35
34
  constructor(sdk, address, version) {
36
35
  super(sdk, {
@@ -94,8 +93,8 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
94
93
  slippage
95
94
  } = props;
96
95
  const [expectedMap, leftoverMap] = [
97
- (0, import_helpers.balancesMap)(expectedBalances),
98
- (0, import_helpers.balancesMap)(leftoverBalances)
96
+ new import_utils.AssetsMap(expectedBalances),
97
+ new import_utils.AssetsMap(leftoverBalances)
99
98
  ];
100
99
  const getNumSplits = this.#numSplitsGetter(cm, expectedBalances);
101
100
  const tData = cm.collateralTokens.map(
@@ -180,22 +179,22 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
180
179
  } = props;
181
180
  const { expectedBalances, leftoverBalances, tokensToClaim } = this.getExpectedAndLeftover(ca, cm, {
182
181
  balances: balances ? {
183
- expectedBalances: (0, import_helpers.assetsMap)(balances.expectedBalances),
184
- leftoverBalances: (0, import_helpers.assetsMap)(balances.leftoverBalances),
185
- tokensToClaim: (0, import_helpers.assetsMap)(balances.tokensToClaim || [])
182
+ expectedBalances: new import_utils.AssetsMap(balances.expectedBalances),
183
+ leftoverBalances: new import_utils.AssetsMap(balances.leftoverBalances),
184
+ tokensToClaim: new import_utils.AssetsMap(balances.tokensToClaim || [])
186
185
  } : void 0,
187
186
  keepAssets: balances ? void 0 : keepAssets,
188
187
  debtOnly
189
188
  });
190
- const getNumSplits = this.#numSplitsGetter(cm, expectedBalances.values());
189
+ const getNumSplits = this.#numSplitsGetter(cm, expectedBalances.toAssets());
191
190
  const tData = [];
192
191
  for (const token of cm.collateralTokens) {
193
192
  tData.push({
194
193
  token,
195
- balance: expectedBalances.get(token)?.balance || 0n,
196
- leftoverBalance: (0, import_helpers.limitLeftover)(leftoverBalances.get(token)?.balance, token) ?? 0n,
194
+ balance: expectedBalances.get(token) || 0n,
195
+ leftoverBalance: (0, import_helpers.limitLeftover)(leftoverBalances.get(token), token) ?? 0n,
197
196
  numSplits: getNumSplits(token),
198
- claimRewards: !!tokensToClaim.get(token)
197
+ claimRewards: tokensToClaim.has(token)
199
198
  });
200
199
  }
201
200
  this.logger?.debug(
@@ -278,7 +277,7 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
278
277
  })),
279
278
  "balances in usd"
280
279
  );
281
- const map = new import_AddressMap.AddressMap(
280
+ const map = new import_utils.AddressMap(
282
281
  inUSD.map(({ token }, i) => [
283
282
  token,
284
283
  i === 0 ? this.#defaultNumSplits : 1n
@@ -19,14 +19,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var helpers_exports = {};
20
20
  __export(helpers_exports, {
21
21
  assetsMap: () => assetsMap,
22
- balancesMap: () => balancesMap,
23
22
  limitLeftover: () => limitLeftover
24
23
  });
25
24
  module.exports = __toCommonJS(helpers_exports);
26
25
  var import_utils = require("../utils/index.js");
27
- function balancesMap(assets) {
28
- return new import_utils.AddressMap(assets.map(({ token, balance }) => [token, balance]));
29
- }
30
26
  function assetsMap(assets) {
31
27
  return new import_utils.AddressMap(assets.map((a) => [a.token, a]));
32
28
  }
@@ -42,6 +38,5 @@ function limitLeftover(balance, token) {
42
38
  // Annotate the CommonJS export names for ESM import in node:
43
39
  0 && (module.exports = {
44
40
  assetsMap,
45
- balancesMap,
46
41
  limitLeftover
47
42
  });
@@ -136,6 +136,12 @@ class AddressMap {
136
136
  keys() {
137
137
  return Array.from(this.#map.keys());
138
138
  }
139
+ /**
140
+ * Returns an unfrozen shallow copy of the map.
141
+ **/
142
+ clone() {
143
+ return new AddressMap(this.entries(), this.name);
144
+ }
139
145
  /**
140
146
  * Converts the map to a plain `Record<Address, T>` object.
141
147
  **/