@gearbox-protocol/sdk 14.12.0-next.3 → 14.12.0-next.31

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 (554) hide show
  1. package/dist/cjs/abi/IWithdrawalCompressorV313.js +230 -0
  2. package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
  3. package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
  4. package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
  5. package/dist/cjs/abi/compressors/withdrawalCompressor.js +47 -2
  6. package/dist/cjs/abi/ierc4626Adapter.js +264 -0
  7. package/dist/cjs/dev/AccountOpener.js +7 -13
  8. package/dist/cjs/dev/index.js +3 -1
  9. package/dist/cjs/dev/withdrawalAbi.js +2105 -0
  10. package/dist/cjs/dev/withdrawalUtils.js +278 -0
  11. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  12. package/dist/cjs/history/mapOperations.js +7 -0
  13. package/dist/cjs/history/populateContractsRegister.js +14 -11
  14. package/dist/cjs/{preview/simulate/holders.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -21
  15. package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
  16. package/dist/cjs/plugins/adapters/abi/actionAbi.js +1 -10
  17. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  18. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  19. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  20. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  21. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  22. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
  23. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  24. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  25. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  26. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  35. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  36. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  37. package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +1015 -0
  38. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
  39. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
  40. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  41. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
  42. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +26 -6
  43. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  44. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  45. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  46. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  47. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  48. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  49. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  50. package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
  51. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  52. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  53. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +4 -42
  54. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  55. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  56. package/dist/cjs/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +15 -7
  57. package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
  58. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
  59. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +80 -2
  60. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +69 -0
  61. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +25 -4
  63. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -4
  64. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +21 -4
  65. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +24 -4
  66. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +32 -4
  67. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +6 -11
  68. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +6 -11
  69. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +6 -11
  70. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +6 -11
  71. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +6 -11
  72. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +20 -4
  73. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +42 -4
  74. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +20 -4
  75. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -4
  76. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +28 -4
  77. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +5 -5
  78. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -5
  79. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +5 -5
  80. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +16 -4
  81. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +26 -4
  82. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +21 -4
  83. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +57 -4
  84. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +16 -4
  85. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +155 -0
  86. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +16 -5
  87. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +18 -5
  88. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -4
  89. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -4
  90. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +43 -6
  91. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +23 -4
  92. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +15 -4
  93. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +15 -4
  94. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -4
  95. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -5
  96. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +21 -5
  97. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +15 -4
  98. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +21 -4
  99. package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
  100. package/dist/cjs/plugins/adapters/createAdapter.js +42 -49
  101. package/dist/cjs/plugins/adapters/types.js +2 -11
  102. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +18 -39
  103. package/dist/cjs/preview/index.js +5 -3
  104. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  105. package/dist/cjs/preview/parse/index.js +0 -2
  106. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +6 -14
  107. package/dist/cjs/preview/parse/parseOperationCalldata.js +9 -15
  108. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
  109. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +24 -12
  110. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  111. package/dist/cjs/preview/parse/types.js +9 -2
  112. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +20 -43
  113. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +25 -39
  114. package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
  115. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +71 -0
  116. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +55 -0
  117. package/dist/cjs/preview/prerequisites/{prepareAction.js → buildPartialLiquidationPrerequisites.js} +16 -24
  118. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
  119. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
  120. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +85 -0
  121. package/dist/cjs/preview/prerequisites/helpers.js +36 -0
  122. package/dist/cjs/preview/prerequisites/index.js +4 -6
  123. package/dist/cjs/preview/preview/CreditAccountState.js +154 -0
  124. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  125. package/dist/cjs/preview/preview/buildDelayedPreview.js +146 -0
  126. package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
  127. package/dist/cjs/preview/preview/detectDelayedOperation.js +71 -0
  128. package/dist/cjs/preview/preview/errors.js +53 -0
  129. package/dist/cjs/preview/preview/index.js +42 -0
  130. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +78 -0
  131. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +79 -0
  132. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +84 -0
  133. package/dist/cjs/preview/preview/previewOperation.js +94 -0
  134. package/dist/cjs/preview/preview/previewPoolOperation.js +42 -0
  135. package/dist/cjs/preview/preview/replayInnerOperations.js +153 -0
  136. package/dist/cjs/preview/preview/replayMulticall.js +37 -0
  137. package/dist/cjs/preview/preview/types.js +49 -0
  138. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +51 -0
  139. package/dist/cjs/preview/simulate/index.js +5 -2
  140. package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
  141. package/dist/cjs/preview/simulate/simulatePoolOperation.js +20 -119
  142. package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -0
  143. package/dist/cjs/preview/types.js +16 -0
  144. package/dist/cjs/sdk/OnchainSDK.js +8 -0
  145. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +157 -210
  146. package/dist/cjs/sdk/accounts/index.js +3 -1
  147. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +224 -0
  148. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
  149. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
  150. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +40 -0
  151. package/dist/cjs/sdk/accounts/withdrawal-compressor/addresses.js +40 -0
  152. package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +51 -0
  153. package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +36 -0
  154. package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +118 -0
  155. package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +16 -0
  156. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  157. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  158. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +40 -8
  159. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  160. package/dist/cjs/sdk/market/zapper/ZapperContract.js +0 -3
  161. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  162. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  163. package/dist/cjs/sdk/router/helpers.js +0 -5
  164. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  165. package/dist/cjs/sdk/utils/AddressSet.js +7 -0
  166. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  167. package/dist/cjs/sdk/utils/index.js +2 -0
  168. package/dist/esm/abi/IWithdrawalCompressorV313.js +206 -0
  169. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
  170. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
  171. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
  172. package/dist/esm/abi/compressors/withdrawalCompressor.js +47 -2
  173. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  174. package/dist/esm/dev/AccountOpener.js +8 -13
  175. package/dist/esm/dev/index.js +1 -0
  176. package/dist/esm/dev/withdrawalAbi.js +2074 -0
  177. package/dist/esm/dev/withdrawalUtils.js +266 -0
  178. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  179. package/dist/esm/history/mapOperations.js +7 -0
  180. package/dist/esm/history/populateContractsRegister.js +17 -12
  181. package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
  182. package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
  183. package/dist/esm/plugins/adapters/abi/actionAbi.js +1 -10
  184. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  185. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  186. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  187. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  188. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  189. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
  190. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  191. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  192. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  193. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  194. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  195. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  196. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  197. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  198. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  199. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  200. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  201. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  202. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  203. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  204. package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +990 -0
  205. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
  206. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
  207. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  208. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
  209. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +22 -2
  210. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  211. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  212. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  213. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  214. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  215. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  216. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  217. package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
  218. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  219. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  220. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +4 -44
  221. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  222. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  223. package/dist/esm/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +11 -3
  224. package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
  225. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
  226. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +80 -2
  227. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +45 -0
  228. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  229. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +27 -4
  230. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +23 -4
  231. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -4
  232. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +27 -4
  233. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +34 -4
  234. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +5 -10
  235. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +5 -10
  236. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +5 -10
  237. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +5 -10
  238. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +5 -10
  239. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +22 -4
  240. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +45 -4
  241. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +22 -4
  242. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +21 -4
  243. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +30 -4
  244. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +6 -6
  245. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +19 -6
  246. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +6 -6
  247. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +18 -4
  248. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +28 -4
  249. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +23 -4
  250. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +60 -4
  251. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +18 -4
  252. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +140 -0
  253. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +20 -7
  254. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +23 -8
  255. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -4
  256. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +19 -5
  257. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +47 -7
  258. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +25 -4
  259. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +17 -4
  260. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +14 -3
  261. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -3
  262. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +22 -5
  263. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +24 -6
  264. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +17 -4
  265. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +23 -4
  266. package/dist/esm/plugins/adapters/contracts/index.js +1 -6
  267. package/dist/esm/plugins/adapters/createAdapter.js +43 -52
  268. package/dist/esm/plugins/adapters/types.js +2 -11
  269. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +19 -44
  270. package/dist/esm/preview/index.js +2 -1
  271. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  272. package/dist/esm/preview/parse/index.js +0 -1
  273. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +6 -14
  274. package/dist/esm/preview/parse/parseOperationCalldata.js +10 -16
  275. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
  276. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +27 -13
  277. package/dist/esm/preview/parse/types-rwa.js +0 -0
  278. package/dist/esm/preview/parse/types.js +6 -1
  279. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +21 -47
  280. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +26 -43
  281. package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
  282. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +47 -0
  283. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +33 -0
  284. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
  285. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
  286. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
  287. package/dist/esm/preview/prerequisites/checkPrerequisites.js +61 -0
  288. package/dist/esm/preview/prerequisites/helpers.js +14 -0
  289. package/dist/esm/preview/prerequisites/index.js +2 -3
  290. package/dist/esm/preview/preview/CreditAccountState.js +133 -0
  291. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  292. package/dist/esm/preview/preview/buildDelayedPreview.js +125 -0
  293. package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
  294. package/dist/esm/preview/preview/detectDelayedOperation.js +51 -0
  295. package/dist/esm/preview/preview/errors.js +28 -0
  296. package/dist/esm/preview/preview/index.js +11 -0
  297. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +57 -0
  298. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +57 -0
  299. package/dist/esm/preview/preview/previewOpenCreditAccount.js +68 -0
  300. package/dist/esm/preview/preview/previewOperation.js +75 -0
  301. package/dist/esm/preview/preview/previewPoolOperation.js +18 -0
  302. package/dist/esm/preview/preview/replayInnerOperations.js +137 -0
  303. package/dist/esm/preview/preview/replayMulticall.js +16 -0
  304. package/dist/esm/preview/preview/types.js +18 -0
  305. package/dist/esm/preview/preview/unwrapNativeCollateral.js +29 -0
  306. package/dist/esm/preview/simulate/index.js +3 -1
  307. package/dist/esm/preview/simulate/simulateOperation.js +5 -1
  308. package/dist/esm/preview/simulate/simulatePoolOperation.js +21 -123
  309. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  310. package/dist/esm/preview/types.js +0 -0
  311. package/dist/esm/sdk/OnchainSDK.js +10 -1
  312. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +153 -205
  313. package/dist/esm/sdk/accounts/index.js +1 -0
  314. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +200 -0
  315. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
  316. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
  317. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +16 -0
  318. package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +16 -0
  319. package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +27 -0
  320. package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +8 -0
  321. package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +91 -0
  322. package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +0 -0
  323. package/dist/esm/sdk/base/BaseContract.js +4 -2
  324. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  325. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +40 -8
  326. package/dist/esm/sdk/market/rwa/types.js +5 -2
  327. package/dist/esm/sdk/market/zapper/ZapperContract.js +0 -3
  328. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  329. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  330. package/dist/esm/sdk/router/helpers.js +0 -4
  331. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  332. package/dist/esm/sdk/utils/AddressSet.js +7 -0
  333. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  334. package/dist/esm/sdk/utils/index.js +1 -0
  335. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +293 -0
  336. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +77 -0
  337. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +77 -0
  338. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +77 -0
  339. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +81 -0
  340. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  341. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  342. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  343. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  344. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  345. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  346. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  347. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  348. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  349. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  350. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  351. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  352. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  353. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  354. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  355. package/dist/types/dev/abi.d.ts +4 -4
  356. package/dist/types/dev/index.d.ts +1 -0
  357. package/dist/types/dev/providers.d.ts +1 -1
  358. package/dist/types/dev/withdrawalAbi.d.ts +1584 -0
  359. package/dist/types/dev/withdrawalUtils.d.ts +19 -0
  360. package/dist/types/history/populateContractsRegister.d.ts +1 -1
  361. package/dist/types/history/types.d.ts +4 -4
  362. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  363. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +81 -0
  364. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
  365. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
  366. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  367. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  368. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  369. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  370. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  371. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  372. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
  373. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  374. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  375. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  376. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  377. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  378. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  379. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  380. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  381. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  382. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  383. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  384. package/dist/types/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.d.ts +183 -0
  385. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  386. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  387. package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +754 -0
  388. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
  389. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
  390. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  391. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
  392. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts} +37 -1
  393. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  394. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  395. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  396. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  397. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  398. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  399. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  400. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
  401. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  402. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  403. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  404. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  405. package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +15 -1
  406. package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
  407. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
  408. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +56 -4
  409. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +17 -0
  410. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  411. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -8
  412. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -6
  413. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -8
  414. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -8
  415. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -12
  416. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +9 -12
  417. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +9 -12
  418. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +9 -12
  419. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +4 -7
  420. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +9 -12
  421. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -7
  422. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -7
  423. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -7
  424. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -7
  425. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -8
  426. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +5 -5
  427. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -6
  428. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +7 -7
  429. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -8
  430. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +7 -6
  431. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -7
  432. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +22 -8
  433. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -6
  434. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +797 -0
  435. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -8
  436. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -8
  437. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -8
  438. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -7
  439. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +67 -8
  440. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -8
  441. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -8
  442. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -7
  443. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -7
  444. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -8
  445. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -8
  446. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -8
  447. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -6
  448. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
  449. package/dist/types/plugins/adapters/createAdapter.d.ts +2 -2
  450. package/dist/types/plugins/adapters/types.d.ts +43 -14
  451. package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
  452. package/dist/types/preview/index.d.ts +2 -1
  453. package/dist/types/preview/parse/index.d.ts +0 -1
  454. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  455. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  456. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  457. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +9 -19
  458. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  459. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  460. package/dist/types/preview/parse/types-pools.d.ts +29 -1
  461. package/dist/types/preview/parse/types-rwa.d.ts +36 -0
  462. package/dist/types/preview/parse/types.d.ts +11 -31
  463. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +16 -17
  464. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +21 -18
  465. package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
  466. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +51 -0
  467. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +14 -0
  468. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
  469. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
  470. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
  471. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
  472. package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
  473. package/dist/types/preview/prerequisites/index.d.ts +2 -3
  474. package/dist/types/preview/prerequisites/types.d.ts +13 -50
  475. package/dist/types/preview/preview/CreditAccountState.d.ts +83 -0
  476. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  477. package/dist/types/preview/preview/buildDelayedPreview.d.ts +42 -0
  478. package/dist/types/preview/preview/detectCloseOrRepay.d.ts +18 -0
  479. package/dist/types/preview/preview/detectDelayedOperation.d.ts +29 -0
  480. package/dist/types/preview/preview/errors.d.ts +24 -0
  481. package/dist/types/preview/preview/index.d.ts +11 -0
  482. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
  483. package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
  484. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +5 -0
  485. package/dist/types/preview/preview/previewOperation.d.ts +8 -0
  486. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  487. package/dist/types/preview/preview/replayInnerOperations.d.ts +44 -0
  488. package/dist/types/preview/preview/replayMulticall.d.ts +38 -0
  489. package/dist/types/preview/preview/types.d.ts +317 -0
  490. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +35 -0
  491. package/dist/types/preview/simulate/index.d.ts +2 -3
  492. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -16
  493. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -18
  494. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +10 -18
  495. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +12 -0
  496. package/dist/types/preview/simulate/types.d.ts +20 -51
  497. package/dist/types/preview/types.d.ts +63 -0
  498. package/dist/types/sdk/OnchainSDK.d.ts +7 -1
  499. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +23 -15
  500. package/dist/types/sdk/accounts/index.d.ts +1 -0
  501. package/dist/types/sdk/accounts/types.d.ts +171 -53
  502. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +38 -0
  503. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
  504. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
  505. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +304 -0
  506. package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +20 -0
  507. package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +9 -0
  508. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +8 -0
  509. package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
  510. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +296 -0
  511. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  512. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  513. package/dist/types/sdk/base/types.d.ts +18 -0
  514. package/dist/types/sdk/chain/chains.d.ts +8 -8
  515. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  516. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  517. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +15 -3
  518. package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
  519. package/dist/types/sdk/market/rwa/types.d.ts +39 -14
  520. package/dist/types/sdk/market/zapper/types.d.ts +6 -6
  521. package/dist/types/sdk/pools/types.d.ts +1 -1
  522. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  523. package/dist/types/sdk/router/helpers.d.ts +1 -2
  524. package/dist/types/sdk/router/types.d.ts +1 -15
  525. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  526. package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
  527. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  528. package/dist/types/sdk/utils/index.d.ts +1 -0
  529. package/package.json +11 -12
  530. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  531. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  532. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  533. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
  534. package/dist/cjs/preview/parse/extractExpectedBalanceChanges.js +0 -48
  535. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -234
  536. package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
  537. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  538. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  539. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  540. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
  541. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  542. package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -210
  543. package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
  544. package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
  545. package/dist/esm/preview/simulate/holders.js +0 -21
  546. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  547. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  548. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  549. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
  550. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  551. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -16
  552. package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
  553. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
  554. package/dist/types/preview/simulate/holders.d.ts +0 -7
@@ -0,0 +1,200 @@
1
+ import { isAddressEqual } from "viem";
2
+ import { BaseContract } from "../../base/index.js";
3
+ import { decodeDelayedIntent, encodeDelayedIntent } from "./intent-codec.js";
4
+ const iCreditAccountAbi = [
5
+ {
6
+ type: "function",
7
+ name: "creditManager",
8
+ inputs: [],
9
+ outputs: [{ name: "", type: "address", internalType: "address" }],
10
+ stateMutability: "view"
11
+ }
12
+ ];
13
+ class AbstractWithdrawalCompressorContract extends BaseContract {
14
+ #sdk;
15
+ constructor(sdk, args) {
16
+ super(sdk, args);
17
+ this.#sdk = sdk;
18
+ }
19
+ /**
20
+ * The contract is instantiated with the actual versioned ABI,
21
+ * this cast is type-level only (see {@link CommonAbi}).
22
+ **/
23
+ get common() {
24
+ return this.contract;
25
+ }
26
+ /**
27
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawableAssets}
28
+ **/
29
+ async getWithdrawableAssets(creditManager) {
30
+ const resp = await this.common.read.getWithdrawableAssets([creditManager]);
31
+ return resp.map((a) => toWithdrawableAsset(a, creditManager));
32
+ }
33
+ /**
34
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawableAssetsBatch}
35
+ **/
36
+ async getWithdrawableAssetsBatch(creditManagers) {
37
+ const cms = creditManagers ?? this.#sdk.marketRegister.creditManagers.map(
38
+ (cm) => cm.creditManager.address
39
+ );
40
+ const resp = await this.client.multicall({
41
+ contracts: cms.map(
42
+ (cm) => ({
43
+ address: this.address,
44
+ abi: this.abi,
45
+ functionName: "getWithdrawableAssets",
46
+ args: [cm]
47
+ })
48
+ ),
49
+ allowFailure: true,
50
+ batchSize: 0
51
+ });
52
+ return resp.flatMap((r, i) => {
53
+ if (r.status !== "success") {
54
+ this.logger?.warn(
55
+ `failed to get withdrawable assets of credit manager ${cms[i]}: ${r.error}`
56
+ );
57
+ return [];
58
+ }
59
+ return r.result.map((a) => toWithdrawableAsset(a, cms[i]));
60
+ });
61
+ }
62
+ /**
63
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawalPhantomToken}
64
+ **/
65
+ async getWithdrawalPhantomToken(creditManager, token) {
66
+ const assets = await this.getWithdrawableAssets(creditManager);
67
+ const asset = assets.find((a) => isAddressEqual(a.token, token));
68
+ if (!asset) {
69
+ throw new Error(
70
+ `token ${token} is not withdrawable from credit manager ${creditManager}`
71
+ );
72
+ }
73
+ return asset.withdrawalPhantomToken;
74
+ }
75
+ /**
76
+ * {@inheritDoc IWithdrawalCompressorContract.getCurrentWithdrawals}
77
+ **/
78
+ async getCurrentWithdrawals(creditAccount) {
79
+ const [[claimable, pending], creditManager] = await this.client.multicall({
80
+ contracts: [
81
+ {
82
+ address: this.address,
83
+ abi: this.abi,
84
+ functionName: "getCurrentWithdrawals",
85
+ args: [creditAccount]
86
+ },
87
+ {
88
+ address: creditAccount,
89
+ abi: iCreditAccountAbi,
90
+ functionName: "creditManager"
91
+ }
92
+ ],
93
+ allowFailure: false,
94
+ batchSize: 0
95
+ });
96
+ return {
97
+ claimable: claimable.map(
98
+ (w) => toClaimableWithdrawal(w, creditManager, this.version >= 313)
99
+ ),
100
+ pending: pending.map((w) => toPendingWithdrawal(w, creditManager, this.version >= 313)).sort((a, b) => a.claimableAt < b.claimableAt ? -1 : 1)
101
+ };
102
+ }
103
+ /**
104
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawalRequestResult}
105
+ **/
106
+ async getWithdrawalRequestResult(creditAccount, token, amount, intent) {
107
+ const resp = intent ? await this.#getWithdrawalRequestResultWithIntent(
108
+ creditAccount,
109
+ token,
110
+ amount,
111
+ intent
112
+ ) : await this.common.read.getWithdrawalRequestResult([
113
+ creditAccount,
114
+ token,
115
+ amount
116
+ ]);
117
+ return {
118
+ token: resp.token,
119
+ amountIn: resp.amountIn,
120
+ outputs: [...resp.outputs],
121
+ requestCalls: [...resp.requestCalls],
122
+ claimableAt: resp.claimableAt
123
+ };
124
+ }
125
+ /**
126
+ * Previews a delayed withdrawal request with an intent attached as
127
+ * `extraData`. Only supported on v313+ compressors; on older versions,
128
+ * throws if `sdk.strictContractTypes` is `true`, otherwise logs a warning
129
+ * and previews the request without the intent.
130
+ *
131
+ * The contract overload accepting `extraData` also requires the withdrawal
132
+ * phantom token, which is resolved here the same way the 3-arg overload
133
+ * does it internally: via `getWithdrawableAssets` of the account's credit
134
+ * manager.
135
+ **/
136
+ async #getWithdrawalRequestResultWithIntent(creditAccount, token, amount, intent) {
137
+ if (this.version < 313) {
138
+ const message = `withdrawal intents are not supported by ${this.name} v${this.version}`;
139
+ if (this.#sdk.strictContractTypes) {
140
+ throw new Error(message);
141
+ }
142
+ this.logger?.warn(`${message}, requesting withdrawal without intent`);
143
+ return this.common.read.getWithdrawalRequestResult([
144
+ creditAccount,
145
+ token,
146
+ amount
147
+ ]);
148
+ }
149
+ const extraData = encodeDelayedIntent(intent);
150
+ const creditManager = await this.client.readContract({
151
+ address: creditAccount,
152
+ abi: iCreditAccountAbi,
153
+ functionName: "creditManager"
154
+ });
155
+ const withdrawalPhantomToken = await this.getWithdrawalPhantomToken(
156
+ creditManager,
157
+ token
158
+ );
159
+ return this.common.read.getWithdrawalRequestResult([
160
+ creditAccount,
161
+ token,
162
+ withdrawalPhantomToken,
163
+ amount,
164
+ extraData
165
+ ]);
166
+ }
167
+ }
168
+ function toWithdrawableAsset(a, creditManager) {
169
+ return { creditManager, ...a };
170
+ }
171
+ function toClaimableWithdrawal(w, creditManager, decodeIntent) {
172
+ let intent;
173
+ if (decodeIntent && w.extraData && w.extraData !== "0x") {
174
+ intent = { ...decodeDelayedIntent(w.extraData), creditManager };
175
+ }
176
+ return {
177
+ token: w.token,
178
+ withdrawalPhantomToken: w.withdrawalPhantomToken,
179
+ withdrawalTokenSpent: w.withdrawalTokenSpent,
180
+ outputs: [...w.outputs],
181
+ claimCalls: [...w.claimCalls],
182
+ intent
183
+ };
184
+ }
185
+ function toPendingWithdrawal(w, creditManager, decodeIntent) {
186
+ let intent;
187
+ if (decodeIntent && w.extraData && w.extraData !== "0x") {
188
+ intent = { ...decodeDelayedIntent(w.extraData), creditManager };
189
+ }
190
+ return {
191
+ token: w.token,
192
+ withdrawalPhantomToken: w.withdrawalPhantomToken,
193
+ expectedOutputs: [...w.expectedOutputs],
194
+ claimableAt: w.claimableAt,
195
+ intent
196
+ };
197
+ }
198
+ export {
199
+ AbstractWithdrawalCompressorContract
200
+ };
@@ -0,0 +1,16 @@
1
+ import { iWithdrawalCompressorV310Abi } from "../../../abi/IWithdrawalCompressorV310.js";
2
+ import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
3
+ const abi = iWithdrawalCompressorV310Abi;
4
+ class WithdrawalCompressorV310Contract extends AbstractWithdrawalCompressorContract {
5
+ constructor(sdk, address) {
6
+ super(sdk, {
7
+ addr: address,
8
+ name: "WithdrawalCompressorV310",
9
+ abi,
10
+ version: 310
11
+ });
12
+ }
13
+ }
14
+ export {
15
+ WithdrawalCompressorV310Contract
16
+ };
@@ -0,0 +1,16 @@
1
+ import { iWithdrawalCompressorV311Abi } from "../../../abi/IWithdrawalCompressorV311.js";
2
+ import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
3
+ const abi = iWithdrawalCompressorV311Abi;
4
+ class WithdrawalCompressorV311Contract extends AbstractWithdrawalCompressorContract {
5
+ constructor(sdk, address) {
6
+ super(sdk, {
7
+ addr: address,
8
+ name: "WithdrawalCompressorV311",
9
+ abi,
10
+ version: 311
11
+ });
12
+ }
13
+ }
14
+ export {
15
+ WithdrawalCompressorV311Contract
16
+ };
@@ -0,0 +1,16 @@
1
+ import { iWithdrawalCompressorV313Abi } from "../../../abi/IWithdrawalCompressorV313.js";
2
+ import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
3
+ const abi = iWithdrawalCompressorV313Abi;
4
+ class WithdrawalCompressorV313Contract extends AbstractWithdrawalCompressorContract {
5
+ constructor(sdk, address) {
6
+ super(sdk, {
7
+ addr: address,
8
+ name: "WithdrawalCompressorV313",
9
+ abi,
10
+ version: 313
11
+ });
12
+ }
13
+ }
14
+ export {
15
+ WithdrawalCompressorV313Contract
16
+ };
@@ -0,0 +1,16 @@
1
+ const WITHDRAWAL_COMPRESSORS = {
2
+ Mainnet: {
3
+ address: "0x83e5AaC6590Cf9c6Dd323851a0D66fEc2Bc4F5A3",
4
+ version: 313
5
+ },
6
+ Monad: {
7
+ address: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
8
+ version: 310
9
+ }
10
+ };
11
+ function getWithdrawalCompressorAddress(network) {
12
+ return WITHDRAWAL_COMPRESSORS[network];
13
+ }
14
+ export {
15
+ getWithdrawalCompressorAddress
16
+ };
@@ -0,0 +1,27 @@
1
+ import { getWithdrawalCompressorAddress } from "./addresses.js";
2
+ import { WithdrawalCompressorV310Contract } from "./WithdrawalCompressorV310Contract.js";
3
+ import { WithdrawalCompressorV311Contract } from "./WithdrawalCompressorV311Contract.js";
4
+ import { WithdrawalCompressorV313Contract } from "./WithdrawalCompressorV313Contract.js";
5
+ function createWithdrawalCompressor(sdk) {
6
+ const location = getWithdrawalCompressorAddress(sdk.networkType);
7
+ if (!location) {
8
+ throw new Error(`no withdrawal compressor on ${sdk.networkType}`);
9
+ }
10
+ const cached = sdk.getContract(
11
+ location.address
12
+ );
13
+ if (cached) {
14
+ return cached;
15
+ }
16
+ switch (location.version) {
17
+ case 310:
18
+ return new WithdrawalCompressorV310Contract(sdk, location.address);
19
+ case 311:
20
+ return new WithdrawalCompressorV311Contract(sdk, location.address);
21
+ case 313:
22
+ return new WithdrawalCompressorV313Contract(sdk, location.address);
23
+ }
24
+ }
25
+ export {
26
+ createWithdrawalCompressor
27
+ };
@@ -0,0 +1,8 @@
1
+ export * from "./AbstractWithdrawalCompressorContract.js";
2
+ export * from "./addresses.js";
3
+ export * from "./createWithdrawalCompressor.js";
4
+ export * from "./intent-codec.js";
5
+ export * from "./types.js";
6
+ export * from "./WithdrawalCompressorV310Contract.js";
7
+ export * from "./WithdrawalCompressorV311Contract.js";
8
+ export * from "./WithdrawalCompressorV313Contract.js";
@@ -0,0 +1,91 @@
1
+ import { decodeAbiParameters, encodeAbiParameters } from "viem";
2
+ const DELAYED_INTENT_VERSION = 1;
3
+ const DELAYED_INTENT_TYPES = {
4
+ INCREASE_LEVERAGE: 1,
5
+ DEPOSIT: 2,
6
+ DEPOSIT_AND_INCREASE_LEVERAGE: 3,
7
+ WITHDRAW_COLLATERAL: 4,
8
+ CLOSE_ACCOUNT: 5,
9
+ ADD_COLLATERAL: 6,
10
+ DECREASE_LEVERAGE: 7
11
+ };
12
+ const HEADER_PARAMS = [
13
+ { type: "uint8", name: "version" },
14
+ { type: "uint8", name: "intentType" }
15
+ ];
16
+ const TO_PARAMS = [...HEADER_PARAMS, { type: "address", name: "to" }];
17
+ const WITHDRAW_COLLATERAL_PARAMS = [
18
+ ...TO_PARAMS,
19
+ { type: "address", name: "withdrawToken" },
20
+ { type: "uint256", name: "withdrawAmount" }
21
+ ];
22
+ function encodeDelayedIntent(intent) {
23
+ const version = DELAYED_INTENT_VERSION;
24
+ const intentType = DELAYED_INTENT_TYPES[intent.type];
25
+ switch (intent.type) {
26
+ case "INCREASE_LEVERAGE":
27
+ case "CLOSE_ACCOUNT":
28
+ return encodeAbiParameters(TO_PARAMS, [version, intentType, intent.to]);
29
+ case "WITHDRAW_COLLATERAL":
30
+ return encodeAbiParameters(WITHDRAW_COLLATERAL_PARAMS, [
31
+ version,
32
+ intentType,
33
+ intent.to,
34
+ intent.withdrawToken,
35
+ intent.withdrawAmount
36
+ ]);
37
+ case "DEPOSIT":
38
+ case "DEPOSIT_AND_INCREASE_LEVERAGE":
39
+ case "ADD_COLLATERAL":
40
+ case "DECREASE_LEVERAGE":
41
+ return encodeAbiParameters(HEADER_PARAMS, [version, intentType]);
42
+ default: {
43
+ const t = intent;
44
+ throw new Error(`unknown delayed intent: ${JSON.stringify(t)}`);
45
+ }
46
+ }
47
+ }
48
+ function decodeDelayedIntent(data) {
49
+ const [version, intentType] = decodeAbiParameters(HEADER_PARAMS, data);
50
+ if (version !== DELAYED_INTENT_VERSION) {
51
+ throw new Error(`unsupported delayed intent version: ${version}`);
52
+ }
53
+ switch (intentType) {
54
+ case DELAYED_INTENT_TYPES.INCREASE_LEVERAGE: {
55
+ const [, , to] = decodeAbiParameters(TO_PARAMS, data);
56
+ return { type: "INCREASE_LEVERAGE", to };
57
+ }
58
+ case DELAYED_INTENT_TYPES.DEPOSIT:
59
+ return { type: "DEPOSIT" };
60
+ case DELAYED_INTENT_TYPES.DEPOSIT_AND_INCREASE_LEVERAGE:
61
+ return { type: "DEPOSIT_AND_INCREASE_LEVERAGE" };
62
+ case DELAYED_INTENT_TYPES.WITHDRAW_COLLATERAL: {
63
+ const [, , to, withdrawToken, withdrawAmount] = decodeAbiParameters(
64
+ WITHDRAW_COLLATERAL_PARAMS,
65
+ data
66
+ );
67
+ return {
68
+ type: "WITHDRAW_COLLATERAL",
69
+ to,
70
+ withdrawToken,
71
+ withdrawAmount
72
+ };
73
+ }
74
+ case DELAYED_INTENT_TYPES.CLOSE_ACCOUNT: {
75
+ const [, , to] = decodeAbiParameters(TO_PARAMS, data);
76
+ return { type: "CLOSE_ACCOUNT", to };
77
+ }
78
+ case DELAYED_INTENT_TYPES.ADD_COLLATERAL:
79
+ return { type: "ADD_COLLATERAL" };
80
+ case DELAYED_INTENT_TYPES.DECREASE_LEVERAGE:
81
+ return { type: "DECREASE_LEVERAGE" };
82
+ default:
83
+ throw new Error(`unknown delayed intent type: ${intentType}`);
84
+ }
85
+ }
86
+ export {
87
+ DELAYED_INTENT_TYPES,
88
+ DELAYED_INTENT_VERSION,
89
+ decodeDelayedIntent,
90
+ encodeDelayedIntent
91
+ };
@@ -234,6 +234,7 @@ class BaseContract extends Construct {
234
234
  const functionName = getFunctionSignature(this.abi, calldata);
235
235
  return this.wrapParseCallV2(
236
236
  functionName,
237
+ calldata,
237
238
  this.parseFunctionParamsV2(decoded, strict)
238
239
  );
239
240
  } catch (e) {
@@ -247,7 +248,7 @@ class BaseContract extends Construct {
247
248
  this.logger?.warn(e);
248
249
  const selector = calldata.slice(0, 10);
249
250
  const data = `0x${calldata.slice(10)}`;
250
- return this.wrapParseCallV2(`unknown function ${selector}`, {
251
+ return this.wrapParseCallV2(`unknown function ${selector}`, calldata, {
251
252
  _data: data
252
253
  });
253
254
  }
@@ -260,7 +261,7 @@ class BaseContract extends Construct {
260
261
  parseFunctionParamsV2(params, _strict) {
261
262
  return functionArgsToRecord(this.abi, params.functionName, params.args);
262
263
  }
263
- wrapParseCallV2(functionName, rawArgs) {
264
+ wrapParseCallV2(functionName, calldata, rawArgs) {
264
265
  return {
265
266
  chainId: this.chainId,
266
267
  target: this.address,
@@ -268,6 +269,7 @@ class BaseContract extends Construct {
268
269
  label: this.labelAddress(this.address, true),
269
270
  version: this.version,
270
271
  functionName,
272
+ calldata,
271
273
  rawArgs
272
274
  };
273
275
  }
@@ -161,6 +161,7 @@ class ChainContractsRegister {
161
161
  label: this.labelAddress(address, true),
162
162
  version: 0,
163
163
  functionName: `unknown function ${selector}`,
164
+ calldata,
164
165
  rawArgs: { _data: data }
165
166
  };
166
167
  }
@@ -54,17 +54,21 @@ class SecuritizeRWAFactory extends BaseContract {
54
54
  parseFunctionParamsV2(params, strict) {
55
55
  switch (params.functionName) {
56
56
  case "openCreditAccount": {
57
- const [creditManager, calls] = params.args;
57
+ const [creditManager, calls, tokensToRegister, signaturesToCache] = params.args;
58
58
  return {
59
59
  creditManager,
60
- calls: this.register.parseMultiCallV2([...calls], strict)
60
+ calls: this.register.parseMultiCallV2([...calls], strict),
61
+ tokensToRegister,
62
+ signaturesToCache
61
63
  };
62
64
  }
63
65
  case "multicall": {
64
- const [creditAccount, calls] = params.args;
66
+ const [creditAccount, calls, tokensToRegister, signaturesToCache] = params.args;
65
67
  return {
66
68
  creditAccount,
67
- calls: this.register.parseMultiCallV2([...calls], strict)
69
+ calls: this.register.parseMultiCallV2([...calls], strict),
70
+ tokensToRegister,
71
+ signaturesToCache
68
72
  };
69
73
  }
70
74
  default:
@@ -126,6 +130,12 @@ class SecuritizeRWAFactory extends BaseContract {
126
130
  })
127
131
  };
128
132
  }
133
+ /**
134
+ * {@inheritDoc IRWAFactory.getTokens}
135
+ */
136
+ getTokens() {
137
+ return this.dsTokens.map((t) => t.address);
138
+ }
129
139
  /**
130
140
  * {@inheritDoc IRWAFactory.getInvestor}
131
141
  */
@@ -160,8 +170,8 @@ class SecuritizeRWAFactory extends BaseContract {
160
170
  /**
161
171
  * {@inheritDoc IRWAFactory.multicall}
162
172
  */
163
- multicall(creditAccount, calls, options) {
164
- const { tokensToRegister = [], signaturesToCache = [] } = options ?? {};
173
+ multicall(creditAccount, calls, args) {
174
+ const { tokensToRegister = [], signaturesToCache = [] } = args ?? {};
165
175
  return this.createRawTx({
166
176
  functionName: "multicall",
167
177
  args: [creditAccount, calls, tokensToRegister, signaturesToCache]
@@ -191,11 +201,33 @@ class SecuritizeRWAFactory extends BaseContract {
191
201
  requiredSignatures
192
202
  };
193
203
  }
204
+ /**
205
+ * {@inheritDoc IRWAFactory.getMissingRequirements}
206
+ *
207
+ * A required signature is omitted when `providedArgs.signaturesToCache`
208
+ * already carries a signature for the same token: the transaction caches it
209
+ * on-chain as part of the operation.
210
+ */
211
+ getMissingRequirements(requirements, providedArgs) {
212
+ const providedTokens = new AddressSet(
213
+ (providedArgs?.signaturesToCache ?? []).map((s) => s.token)
214
+ );
215
+ const requiredSignatures = requirements.requiredSignatures.filter(
216
+ (message) => !providedTokens.has(message.message.token)
217
+ );
218
+ if (requiredSignatures.length === 0) {
219
+ return void 0;
220
+ }
221
+ return {
222
+ type: RWA_FACTORY_SECURITIZE,
223
+ requiredSignatures
224
+ };
225
+ }
194
226
  /**
195
227
  * {@inheritDoc IRWAFactory.openCreditAccount}
196
228
  */
197
- openCreditAccount(creditManager, calls, options) {
198
- const { tokensToRegister = [], signaturesToCache = [] } = options ?? {};
229
+ openCreditAccount(creditManager, calls, args) {
230
+ const { tokensToRegister = [], signaturesToCache = [] } = args ?? {};
199
231
  return this.createRawTx({
200
232
  functionName: "openCreditAccount",
201
233
  args: [creditManager, calls, tokensToRegister, signaturesToCache]
@@ -1,7 +1,10 @@
1
1
  import { RWA_FACTORY_SECURITIZE } from "./securitize/index.js";
2
2
  const RWA_FACTORY_TYPES = [RWA_FACTORY_SECURITIZE];
3
- function isRWAFactory(factory, type) {
4
- return factory.contractType === type;
3
+ function isRWAFactory(contract, type) {
4
+ if (type) {
5
+ return contract.contractType === type;
6
+ }
7
+ return contract.contractType.startsWith("RWA_FACTORY::");
5
8
  }
6
9
  export {
7
10
  RWA_FACTORY_TYPES,
@@ -32,7 +32,6 @@ class ZapperContract extends BaseContract {
32
32
  const { rawArgs } = parsed;
33
33
  const pool = this.pool;
34
34
  const zapper = this.address;
35
- const token = this.tokenIn.addr;
36
35
  const underlying = this.sdk.marketRegister.findByPool(pool).underlying;
37
36
  const receiver = rawArgs.receiver;
38
37
  if (parsed.functionName.startsWith("deposit")) {
@@ -42,7 +41,6 @@ class ZapperContract extends BaseContract {
42
41
  zapper,
43
42
  receiver,
44
43
  assets: rawArgs.tokenInAmount ?? value ?? 0n,
45
- token,
46
44
  underlying,
47
45
  referralCode: rawArgs.referralCode
48
46
  };
@@ -54,7 +52,6 @@ class ZapperContract extends BaseContract {
54
52
  zapper,
55
53
  receiver,
56
54
  shares: rawArgs.tokenOutAmount,
57
- token,
58
55
  underlying
59
56
  };
60
57
  }
@@ -1,6 +1,8 @@
1
- import { BaseContract } from "../base/index.js";
1
+ import {
2
+ BaseContract
3
+ } from "../base/index.js";
2
4
  import { PERCENTAGE_FACTOR } from "../constants/math.js";
3
- import { AddressMap, AddressSet, formatBN, isDust } from "../utils/index.js";
5
+ import { AddressSet, AssetsMap, formatBN, isDust } from "../utils/index.js";
4
6
  import { limitLeftover } from "./helpers.js";
5
7
  class AbstractRouterContract extends BaseContract {
6
8
  /**
@@ -18,15 +20,15 @@ class AbstractRouterContract extends BaseContract {
18
20
  options.debtOnly
19
21
  );
20
22
  const { leftoverBalances, expectedBalances, tokensToClaim } = b;
21
- const expected = new AddressMap();
22
- const leftover = new AddressMap();
23
+ const expected = new AssetsMap();
24
+ const leftover = new AssetsMap();
23
25
  for (const token of cm.collateralTokens) {
24
- const actual = expectedBalances.get(token)?.balance || 0n;
25
- expected.upsert(token, { token, balance: actual > 10n ? actual : 0n });
26
- leftover.upsert(token, {
26
+ const actual = expectedBalances.get(token) || 0n;
27
+ expected.upsert(token, actual > 10n ? actual : 0n);
28
+ leftover.upsert(
27
29
  token,
28
- balance: limitLeftover(leftoverBalances.get(token)?.balance || 1n, token) ?? 1n
29
- });
30
+ limitLeftover(leftoverBalances.get(token) || 1n, token) ?? 1n
31
+ );
30
32
  }
31
33
  return {
32
34
  expectedBalances: expected,
@@ -35,8 +37,8 @@ class AbstractRouterContract extends BaseContract {
35
37
  };
36
38
  }
37
39
  getDefaultExpectedAndLeftover(ca, keepAssets, debtOnly) {
38
- const expectedBalances = new AddressMap();
39
- const leftoverBalances = new AddressMap();
40
+ const expectedBalances = new AssetsMap();
41
+ const leftoverBalances = new AssetsMap();
40
42
  const keepAssetsSet = new AddressSet(keepAssets);
41
43
  if (debtOnly) {
42
44
  const result = this.getLeftoversAfterBuyingDebt(ca, keepAssetsSet);
@@ -48,23 +50,23 @@ class AbstractRouterContract extends BaseContract {
48
50
  }
49
51
  for (const { token, balance, mask } of ca.tokens) {
50
52
  const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
51
- expectedBalances.upsert(token, { token, balance });
53
+ expectedBalances.upsert(token, balance);
52
54
  if (keepAssetsSet.has(token) || !isEnabled || isDust({
53
55
  sdk: this.sdk,
54
56
  token,
55
57
  balance,
56
58
  creditManager: ca.creditManager
57
59
  })) {
58
- leftoverBalances.upsert(token, {
60
+ leftoverBalances.upsert(
59
61
  token,
60
- balance: limitLeftover(balance, token) ?? balance
61
- });
62
+ limitLeftover(balance, token) ?? balance
63
+ );
62
64
  }
63
65
  }
64
66
  return {
65
67
  expectedBalances,
66
68
  leftoverBalances,
67
- tokensToClaim: new AddressMap()
69
+ tokensToClaim: new AssetsMap()
68
70
  };
69
71
  }
70
72
  /**
@@ -77,16 +79,13 @@ class AbstractRouterContract extends BaseContract {
77
79
  const { priceOracle } = this.sdk.marketRegister.findByCreditManager(
78
80
  ca.creditManager
79
81
  );
80
- const expectedBalances = new AddressMap();
81
- const leftoverBalances = new AddressMap();
82
+ const expectedBalances = new AssetsMap();
83
+ const leftoverBalances = new AssetsMap();
82
84
  const usdBalances = [];
83
85
  for (const { token, balance, mask } of ca.tokens) {
84
86
  const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
85
- expectedBalances.upsert(token, { token, balance });
86
- leftoverBalances.upsert(token, {
87
- token,
88
- balance: limitLeftover(balance, token) ?? balance
89
- });
87
+ expectedBalances.upsert(token, balance);
88
+ leftoverBalances.upsert(token, limitLeftover(balance, token) ?? balance);
90
89
  if (isEnabled && !keepAssets.has(token)) {
91
90
  usdBalances.push({
92
91
  token,
@@ -116,15 +115,12 @@ class AbstractRouterContract extends BaseContract {
116
115
  if (tokenAmount === 0n) {
117
116
  return void 0;
118
117
  }
119
- let leftoverBalance = leftoverBalances.get(highestToken.token)?.balance ?? 0n;
118
+ let leftoverBalance = leftoverBalances.get(highestToken.token) ?? 0n;
120
119
  leftoverBalance -= tokenAmount;
121
120
  if (leftoverBalance < 0n) {
122
121
  return void 0;
123
122
  }
124
- leftoverBalances.upsert(highestToken.token, {
125
- token: highestToken.token,
126
- balance: leftoverBalance
127
- });
123
+ leftoverBalances.upsert(highestToken.token, leftoverBalance);
128
124
  const tokenAmountStr = this.sdk.tokensMeta.formatBN(
129
125
  highestToken.token,
130
126
  tokenAmount,
@@ -137,7 +133,7 @@ class AbstractRouterContract extends BaseContract {
137
133
  return {
138
134
  expectedBalances,
139
135
  leftoverBalances,
140
- tokensToClaim: new AddressMap()
136
+ tokensToClaim: new AssetsMap()
141
137
  };
142
138
  }
143
139
  safeConvertToUSD(priceOracle, token, balance) {