@gearbox-protocol/sdk 14.12.0-next.5 → 14.12.0-next.51

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 (609) hide show
  1. package/dist/cjs/abi/ILiquidationCompressorV313.js +103 -0
  2. package/dist/cjs/abi/IWithdrawalCompressorV313.js +444 -0
  3. package/dist/cjs/abi/compressors/liquidationCompressor.js +215 -0
  4. package/dist/cjs/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.js +104 -0
  5. package/dist/cjs/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.js +104 -0
  6. package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
  7. package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
  8. package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
  9. package/dist/cjs/abi/compressors/withdrawalCompressor.js +244 -3
  10. package/dist/cjs/abi/helpers/redemptionLogger.js +160 -0
  11. package/dist/cjs/abi/iRedemptionLoggerV310.js +119 -0
  12. package/dist/cjs/abi/ierc4626Adapter.js +264 -0
  13. package/dist/cjs/abi/router/midasWorker.js +4 -4
  14. package/dist/cjs/dev/AccountOpener.js +9 -15
  15. package/dist/cjs/dev/claimDSToken.js +10 -122
  16. package/dist/cjs/dev/index.js +5 -1
  17. package/dist/cjs/dev/kycUtils.js +351 -0
  18. package/dist/cjs/dev/withdrawalAbi.js +2137 -0
  19. package/dist/cjs/dev/withdrawalUtils.js +285 -0
  20. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  21. package/dist/cjs/history/mapOperations.js +7 -0
  22. package/dist/cjs/history/populateContractsRegister.js +14 -11
  23. package/dist/cjs/{preview/prerequisites/prepareAction.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -24
  24. package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
  25. package/dist/cjs/plugins/adapters/abi/actionAbi.js +14 -15
  26. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  35. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  36. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  37. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  38. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  39. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  40. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  41. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  42. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  43. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  44. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  45. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  46. package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +471 -0
  47. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
  48. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
  49. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  50. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
  51. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +49 -14
  52. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  53. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  54. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  55. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  56. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  57. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  58. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  59. package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
  60. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  61. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  62. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +6 -43
  63. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  64. package/dist/cjs/plugins/adapters/abi/index.js +4 -0
  65. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGateway.js → midas/iMidasGatewayV311.js} +82 -37
  66. package/dist/cjs/plugins/adapters/abi/midas/index.js +22 -0
  67. package/dist/cjs/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.js +317 -0
  68. package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
  69. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
  70. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +92 -2
  71. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +69 -0
  72. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  73. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +25 -4
  74. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -4
  75. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +21 -4
  76. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +24 -4
  77. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +32 -4
  78. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +6 -11
  79. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +6 -11
  80. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +6 -11
  81. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +6 -11
  82. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +6 -11
  83. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +20 -4
  84. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +42 -4
  85. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +20 -4
  86. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -4
  87. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +28 -4
  88. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +5 -5
  89. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -5
  90. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +5 -5
  91. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +16 -4
  92. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +26 -4
  93. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +21 -4
  94. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +57 -4
  95. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +16 -4
  96. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +169 -0
  97. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +16 -5
  98. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +18 -5
  99. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -4
  100. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -4
  101. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +59 -6
  102. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +23 -4
  103. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +15 -4
  104. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +15 -4
  105. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -4
  106. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -5
  107. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +21 -5
  108. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +15 -4
  109. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +21 -4
  110. package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
  111. package/dist/cjs/plugins/adapters/createAdapter.js +42 -49
  112. package/dist/cjs/plugins/adapters/types.js +2 -11
  113. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +25 -55
  114. package/dist/cjs/preview/index.js +5 -1
  115. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  116. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +1 -2
  117. package/dist/cjs/preview/parse/parseOperationCalldata.js +3 -11
  118. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +1 -2
  119. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +18 -18
  120. package/dist/cjs/preview/parse/types.js +1 -1
  121. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +19 -42
  122. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +22 -54
  123. package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
  124. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +36 -31
  125. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +91 -0
  126. package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +40 -0
  127. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
  128. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
  129. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +86 -0
  130. package/dist/cjs/preview/prerequisites/helpers.js +36 -0
  131. package/dist/cjs/preview/prerequisites/index.js +2 -6
  132. package/dist/cjs/preview/preview/CreditAccountState.js +154 -0
  133. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  134. package/dist/cjs/preview/preview/buildDelayedPreview.js +173 -0
  135. package/dist/cjs/preview/preview/detectCloseOrRepay.js +54 -0
  136. package/dist/cjs/preview/preview/detectDelayedClaim.js +53 -0
  137. package/dist/cjs/preview/preview/detectDelayedOperation.js +70 -0
  138. package/dist/cjs/preview/preview/index.js +18 -0
  139. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +78 -0
  140. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +94 -0
  141. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +36 -51
  142. package/dist/cjs/preview/preview/previewOperation.js +74 -1
  143. package/dist/cjs/preview/preview/previewPoolOperation.js +6 -39
  144. package/dist/cjs/preview/preview/replayInnerOperations.js +153 -0
  145. package/dist/cjs/preview/preview/replayMulticall.js +37 -0
  146. package/dist/cjs/preview/preview/types.js +33 -0
  147. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +51 -0
  148. package/dist/cjs/preview/simulate/simulatePoolOperation.js +2 -5
  149. package/dist/cjs/preview/types.js +16 -0
  150. package/dist/cjs/rewards/rewards/extra-apy.js +8 -4
  151. package/dist/cjs/sdk/MultichainSDK.js +7 -0
  152. package/dist/cjs/sdk/OnchainSDK.js +29 -0
  153. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +172 -210
  154. package/dist/cjs/sdk/accounts/index.js +5 -1
  155. package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +251 -0
  156. package/dist/cjs/sdk/accounts/liquidations/MultichainLiquidationsService.js +97 -0
  157. package/dist/cjs/sdk/accounts/liquidations/constants.js +29 -0
  158. package/dist/cjs/sdk/accounts/liquidations/helpers.js +140 -0
  159. package/dist/cjs/sdk/accounts/liquidations/index.js +28 -0
  160. package/dist/cjs/sdk/accounts/liquidations/types.js +16 -0
  161. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +292 -0
  162. package/dist/cjs/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +72 -0
  163. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
  164. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
  165. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +222 -0
  166. package/dist/cjs/sdk/accounts/withdrawal-compressor/addresses.js +40 -0
  167. package/dist/cjs/{preview/preview/extractExpectedBalanceChanges.js → sdk/accounts/withdrawal-compressor/createRedemptionLogger.js} +16 -21
  168. package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +45 -0
  169. package/dist/cjs/sdk/accounts/withdrawal-compressor/errors.js +38 -0
  170. package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +42 -0
  171. package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +119 -0
  172. package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +36 -0
  173. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  174. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  175. package/dist/cjs/sdk/chain/chains.js +4 -2
  176. package/dist/cjs/sdk/constants/address-provider.js +3 -0
  177. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
  178. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  179. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  180. package/dist/cjs/sdk/router/helpers.js +0 -5
  181. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  182. package/dist/cjs/sdk/utils/AddressSet.js +7 -0
  183. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  184. package/dist/cjs/sdk/utils/index.js +2 -0
  185. package/dist/esm/abi/ILiquidationCompressorV313.js +79 -0
  186. package/dist/esm/abi/IWithdrawalCompressorV313.js +420 -0
  187. package/dist/esm/abi/compressors/liquidationCompressor.js +191 -0
  188. package/dist/esm/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.js +80 -0
  189. package/dist/esm/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.js +80 -0
  190. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
  191. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
  192. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
  193. package/dist/esm/abi/compressors/withdrawalCompressor.js +244 -3
  194. package/dist/esm/abi/helpers/redemptionLogger.js +136 -0
  195. package/dist/esm/abi/iRedemptionLoggerV310.js +95 -0
  196. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  197. package/dist/esm/abi/router/midasWorker.js +4 -4
  198. package/dist/esm/dev/AccountOpener.js +10 -15
  199. package/dist/esm/dev/claimDSToken.js +9 -123
  200. package/dist/esm/dev/index.js +2 -0
  201. package/dist/esm/dev/kycUtils.js +332 -0
  202. package/dist/esm/dev/withdrawalAbi.js +2106 -0
  203. package/dist/esm/dev/withdrawalUtils.js +273 -0
  204. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  205. package/dist/esm/history/mapOperations.js +7 -0
  206. package/dist/esm/history/populateContractsRegister.js +17 -12
  207. package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
  208. package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
  209. package/dist/esm/plugins/adapters/abi/actionAbi.js +14 -15
  210. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  211. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  212. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  213. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  214. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  215. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
  216. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  217. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  218. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  219. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  220. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  221. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  222. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  223. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  224. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  225. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  226. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  227. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  228. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  229. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  230. package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +447 -0
  231. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
  232. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
  233. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  234. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
  235. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +45 -10
  236. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  237. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  238. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  239. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  240. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  241. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  242. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  243. package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
  244. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  245. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  246. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +6 -45
  247. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  248. package/dist/esm/plugins/adapters/abi/index.js +2 -0
  249. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGateway.js → midas/iMidasGatewayV311.js} +78 -33
  250. package/dist/esm/plugins/adapters/abi/midas/index.js +1 -0
  251. package/dist/esm/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.js +293 -0
  252. package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
  253. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
  254. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +92 -2
  255. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +45 -0
  256. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  257. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +27 -4
  258. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +23 -4
  259. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -4
  260. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +27 -4
  261. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +34 -4
  262. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +5 -10
  263. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +5 -10
  264. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +5 -10
  265. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +5 -10
  266. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +5 -10
  267. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +22 -4
  268. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +45 -4
  269. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +22 -4
  270. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +21 -4
  271. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +30 -4
  272. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +6 -6
  273. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +19 -6
  274. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +6 -6
  275. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +18 -4
  276. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +28 -4
  277. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +23 -4
  278. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +60 -4
  279. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +18 -4
  280. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +152 -0
  281. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +20 -7
  282. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +23 -8
  283. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -4
  284. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +19 -5
  285. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +63 -7
  286. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +25 -4
  287. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +17 -4
  288. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +14 -3
  289. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -3
  290. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +22 -5
  291. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +24 -6
  292. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +17 -4
  293. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +23 -4
  294. package/dist/esm/plugins/adapters/contracts/index.js +1 -6
  295. package/dist/esm/plugins/adapters/createAdapter.js +43 -52
  296. package/dist/esm/plugins/adapters/types.js +2 -11
  297. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +26 -60
  298. package/dist/esm/preview/index.js +2 -0
  299. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  300. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +1 -2
  301. package/dist/esm/preview/parse/parseOperationCalldata.js +3 -11
  302. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +1 -2
  303. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +18 -18
  304. package/dist/esm/preview/parse/types.js +1 -1
  305. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +20 -46
  306. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +23 -58
  307. package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
  308. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +38 -33
  309. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +72 -0
  310. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
  311. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
  312. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
  313. package/dist/esm/preview/prerequisites/checkPrerequisites.js +62 -0
  314. package/dist/esm/preview/prerequisites/helpers.js +14 -0
  315. package/dist/esm/preview/prerequisites/index.js +1 -3
  316. package/dist/esm/preview/preview/CreditAccountState.js +133 -0
  317. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  318. package/dist/esm/preview/preview/buildDelayedPreview.js +154 -0
  319. package/dist/esm/preview/preview/detectCloseOrRepay.js +29 -0
  320. package/dist/esm/preview/preview/detectDelayedClaim.js +30 -0
  321. package/dist/esm/preview/preview/detectDelayedOperation.js +51 -0
  322. package/dist/esm/preview/preview/index.js +9 -0
  323. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +57 -0
  324. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +76 -0
  325. package/dist/esm/preview/preview/previewOpenCreditAccount.js +43 -52
  326. package/dist/esm/preview/preview/previewOperation.js +80 -2
  327. package/dist/esm/preview/preview/previewPoolOperation.js +7 -42
  328. package/dist/esm/preview/preview/replayInnerOperations.js +137 -0
  329. package/dist/esm/preview/preview/replayMulticall.js +16 -0
  330. package/dist/esm/preview/preview/types.js +18 -0
  331. package/dist/esm/preview/preview/unwrapNativeCollateral.js +29 -0
  332. package/dist/esm/preview/simulate/simulateOperation.js +1 -4
  333. package/dist/esm/preview/simulate/simulatePoolOperation.js +2 -5
  334. package/dist/esm/preview/types.js +0 -0
  335. package/dist/esm/rewards/rewards/extra-apy.js +8 -4
  336. package/dist/esm/sdk/MultichainSDK.js +7 -0
  337. package/dist/esm/sdk/OnchainSDK.js +33 -1
  338. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +168 -205
  339. package/dist/esm/sdk/accounts/index.js +2 -0
  340. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +236 -0
  341. package/dist/esm/sdk/accounts/liquidations/MultichainLiquidationsService.js +73 -0
  342. package/dist/esm/sdk/accounts/liquidations/constants.js +5 -0
  343. package/dist/esm/sdk/accounts/liquidations/helpers.js +108 -0
  344. package/dist/esm/sdk/accounts/liquidations/index.js +4 -0
  345. package/dist/esm/sdk/accounts/liquidations/types.js +0 -0
  346. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +264 -0
  347. package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +48 -0
  348. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
  349. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
  350. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +204 -0
  351. package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +16 -0
  352. package/dist/esm/sdk/accounts/withdrawal-compressor/createRedemptionLogger.js +23 -0
  353. package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +21 -0
  354. package/dist/esm/sdk/accounts/withdrawal-compressor/errors.js +14 -0
  355. package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +11 -0
  356. package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +92 -0
  357. package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +12 -0
  358. package/dist/esm/sdk/base/BaseContract.js +4 -2
  359. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  360. package/dist/esm/sdk/chain/chains.js +4 -2
  361. package/dist/esm/sdk/constants/address-provider.js +2 -0
  362. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
  363. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  364. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  365. package/dist/esm/sdk/router/helpers.js +0 -4
  366. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  367. package/dist/esm/sdk/utils/AddressSet.js +7 -0
  368. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  369. package/dist/esm/sdk/utils/index.js +1 -0
  370. package/dist/types/abi/ILiquidationCompressorV313.d.ts +107 -0
  371. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +596 -0
  372. package/dist/types/abi/compressors/liquidationCompressor.d.ts +262 -0
  373. package/dist/types/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.d.ts +111 -0
  374. package/dist/types/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.d.ts +111 -0
  375. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +198 -0
  376. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +198 -0
  377. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +198 -0
  378. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +355 -0
  379. package/dist/types/abi/helpers/redemptionLogger.d.ts +167 -0
  380. package/dist/types/abi/iRedemptionLoggerV310.d.ts +122 -0
  381. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  382. package/dist/types/abi/router/midasWorker.d.ts +4 -4
  383. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  384. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  385. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  386. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  387. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  388. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  389. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  390. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  391. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  392. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  393. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  394. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  395. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  396. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  397. package/dist/types/dev/abi.d.ts +4 -4
  398. package/dist/types/dev/claimDSToken.d.ts +2 -3
  399. package/dist/types/dev/index.d.ts +2 -0
  400. package/dist/types/dev/kycUtils.d.ts +124 -0
  401. package/dist/types/dev/providers.d.ts +1 -1
  402. package/dist/types/dev/withdrawalAbi.d.ts +1608 -0
  403. package/dist/types/dev/withdrawalUtils.d.ts +19 -0
  404. package/dist/types/history/populateContractsRegister.d.ts +1 -1
  405. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  406. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +355 -0
  407. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
  408. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
  409. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  410. package/dist/types/plugins/adapters/abi/actionAbi.d.ts +1 -1
  411. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  412. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  413. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  414. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  415. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  416. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
  417. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  418. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  419. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  420. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  421. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  422. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  423. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  424. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  425. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  426. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  427. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  428. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iMellow4626VaultAdapter.d.ts} +81 -83
  429. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  430. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  431. package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +335 -0
  432. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
  433. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
  434. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  435. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
  436. package/dist/types/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts +251 -0
  437. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  438. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  439. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  440. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  441. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  442. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  443. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  444. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
  445. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  446. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  447. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  448. package/dist/types/plugins/adapters/abi/index.d.ts +2 -0
  449. package/dist/types/plugins/adapters/abi/midas/iMidasGatewayV311.d.ts +261 -0
  450. package/dist/types/plugins/adapters/abi/midas/index.d.ts +1 -0
  451. package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +39 -1
  452. package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
  453. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
  454. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +66 -4
  455. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +17 -0
  456. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  457. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -8
  458. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -6
  459. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -8
  460. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -8
  461. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -12
  462. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +9 -12
  463. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +9 -12
  464. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +9 -12
  465. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +4 -7
  466. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +9 -12
  467. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -7
  468. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -7
  469. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -7
  470. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -7
  471. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -8
  472. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +5 -5
  473. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -6
  474. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +7 -7
  475. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -8
  476. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +7 -6
  477. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -7
  478. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +22 -8
  479. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -6
  480. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +642 -0
  481. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -8
  482. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -8
  483. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -8
  484. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -7
  485. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +134 -15
  486. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -8
  487. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -8
  488. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -7
  489. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -7
  490. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -8
  491. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -8
  492. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -8
  493. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -6
  494. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
  495. package/dist/types/plugins/adapters/createAdapter.d.ts +2 -2
  496. package/dist/types/plugins/adapters/types.d.ts +54 -14
  497. package/dist/types/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.d.ts +7 -7
  498. package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
  499. package/dist/types/preview/index.d.ts +2 -0
  500. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  501. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  502. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  503. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +5 -14
  504. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  505. package/dist/types/preview/parse/types-facades.d.ts +23 -1
  506. package/dist/types/preview/parse/types-rwa.d.ts +11 -23
  507. package/dist/types/preview/parse/types.d.ts +0 -25
  508. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +15 -14
  509. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +16 -16
  510. package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
  511. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +40 -25
  512. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +15 -0
  513. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
  514. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
  515. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
  516. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
  517. package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
  518. package/dist/types/preview/prerequisites/index.d.ts +1 -3
  519. package/dist/types/preview/prerequisites/types.d.ts +24 -55
  520. package/dist/types/preview/preview/CreditAccountState.d.ts +83 -0
  521. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  522. package/dist/types/preview/preview/buildDelayedPreview.d.ts +29 -0
  523. package/dist/types/preview/preview/detectCloseOrRepay.d.ts +22 -0
  524. package/dist/types/preview/preview/detectDelayedClaim.d.ts +45 -0
  525. package/dist/types/preview/preview/detectDelayedOperation.d.ts +29 -0
  526. package/dist/types/preview/preview/index.d.ts +9 -0
  527. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
  528. package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
  529. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +4 -3
  530. package/dist/types/preview/preview/previewOperation.d.ts +3 -3
  531. package/dist/types/preview/preview/previewPoolOperation.d.ts +3 -3
  532. package/dist/types/preview/preview/replayInnerOperations.d.ts +44 -0
  533. package/dist/types/preview/preview/replayMulticall.d.ts +38 -0
  534. package/dist/types/preview/preview/types.d.ts +274 -43
  535. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +35 -0
  536. package/dist/types/preview/simulate/index.d.ts +1 -4
  537. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -14
  538. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -16
  539. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +7 -3
  540. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +3 -14
  541. package/dist/types/preview/simulate/types.d.ts +13 -30
  542. package/dist/types/preview/types.d.ts +63 -0
  543. package/dist/types/rewards/rewards/extra-apy.d.ts +3 -1
  544. package/dist/types/rewards/rewards/merkl-api.d.ts +1 -1
  545. package/dist/types/sdk/MultichainSDK.d.ts +6 -0
  546. package/dist/types/sdk/OnchainSDK.d.ts +17 -1
  547. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +23 -15
  548. package/dist/types/sdk/accounts/index.d.ts +2 -0
  549. package/dist/types/sdk/accounts/liquidations/LiquidationsService.d.ts +29 -0
  550. package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +32 -0
  551. package/dist/types/sdk/accounts/liquidations/constants.d.ts +6 -0
  552. package/dist/types/sdk/accounts/liquidations/helpers.d.ts +126 -0
  553. package/dist/types/sdk/accounts/liquidations/index.d.ts +4 -0
  554. package/dist/types/sdk/accounts/liquidations/types.d.ts +339 -0
  555. package/dist/types/sdk/accounts/types.d.ts +188 -55
  556. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +112 -0
  557. package/dist/types/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +149 -0
  558. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
  559. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
  560. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +629 -0
  561. package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +20 -0
  562. package/dist/types/sdk/accounts/withdrawal-compressor/createRedemptionLogger.d.ts +10 -0
  563. package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +10 -0
  564. package/dist/types/sdk/accounts/withdrawal-compressor/errors.d.ts +13 -0
  565. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +11 -0
  566. package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
  567. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +443 -0
  568. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  569. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  570. package/dist/types/sdk/base/types.d.ts +26 -4
  571. package/dist/types/sdk/chain/chains.d.ts +9 -9
  572. package/dist/types/sdk/constants/address-provider.d.ts +1 -0
  573. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  574. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  575. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +11 -3
  576. package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
  577. package/dist/types/sdk/market/rwa/types.d.ts +26 -9
  578. package/dist/types/sdk/pools/types.d.ts +1 -1
  579. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  580. package/dist/types/sdk/router/helpers.d.ts +1 -2
  581. package/dist/types/sdk/router/types.d.ts +25 -18
  582. package/dist/types/sdk/types/state.d.ts +8 -0
  583. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  584. package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
  585. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  586. package/dist/types/sdk/utils/index.d.ts +1 -0
  587. package/package.json +16 -15
  588. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  589. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  590. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  591. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
  592. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -302
  593. package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
  594. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  595. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  596. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  597. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
  598. package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -283
  599. package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
  600. package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
  601. package/dist/esm/preview/preview/extractExpectedBalanceChanges.js +0 -24
  602. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  603. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  604. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  605. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
  606. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -25
  607. package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
  608. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
  609. package/dist/types/preview/preview/extractExpectedBalanceChanges.d.ts +0 -21
@@ -19,129 +19,18 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var claimDSToken_exports = {};
20
20
  __export(claimDSToken_exports, {
21
21
  claimDSToken: () => claimDSToken,
22
- claimDSTokens: () => claimDSTokens,
23
- registerInvestor: () => registerInvestor
22
+ claimDSTokens: () => claimDSTokens
24
23
  });
25
24
  module.exports = __toCommonJS(claimDSToken_exports);
26
25
  var import_viem = require("viem");
27
26
  var import_accounts = require("viem/accounts");
28
- var import_iDSRegistryService = require("../abi/rwa/iDSRegistryService.js");
29
27
  var import_iDSToken = require("../abi/rwa/iDSToken.js");
30
28
  var import_sdk = require("../sdk/index.js");
31
- async function writeAndWait(anvil, params) {
32
- const hash = await anvil.writeContract(params);
33
- await anvil.mine({ blocks: 1 });
34
- await anvil.waitForTransactionReceipt({
35
- hash,
36
- pollingInterval: 100
37
- });
38
- return hash;
39
- }
40
- async function registerInvestor(props) {
41
- const { claimer, anvil, token, adminPrivateKey, logger } = props;
42
- const account = (0, import_accounts.privateKeyToAccount)(adminPrivateKey);
43
- const registryServiceId = await anvil.readContract({
44
- address: token,
45
- abi: import_iDSToken.iDSTokenAbi,
46
- functionName: "REGISTRY_SERVICE"
47
- });
48
- const registryService = await anvil.readContract({
49
- address: token,
50
- abi: import_iDSToken.iDSTokenAbi,
51
- functionName: "getDSService",
52
- args: [registryServiceId]
53
- });
54
- logger?.debug(`Registry service: ${registryService} (${registryServiceId})`);
55
- const [isRegistered, ACCREDITED, APPROVED] = await anvil.multicall({
56
- contracts: [
57
- {
58
- address: registryService,
59
- abi: import_iDSRegistryService.iDSRegistryServiceAbi,
60
- functionName: "isWallet",
61
- args: [claimer]
62
- },
63
- {
64
- address: registryService,
65
- abi: import_iDSRegistryService.iDSRegistryServiceAbi,
66
- functionName: "ACCREDITED",
67
- args: []
68
- },
69
- {
70
- address: registryService,
71
- abi: import_iDSRegistryService.iDSRegistryServiceAbi,
72
- functionName: "APPROVED",
73
- args: []
74
- }
75
- ],
76
- allowFailure: false
77
- });
78
- if (!isRegistered) {
79
- logger?.debug(
80
- `Claimer ${claimer} is not a registered wallet, registering...`
81
- );
82
- const investorId = `investor-${claimer.toLowerCase()}`;
83
- const investorExists = await anvil.readContract({
84
- address: registryService,
85
- abi: import_iDSRegistryService.iDSRegistryServiceAbi,
86
- functionName: "isInvestor",
87
- args: [investorId]
88
- });
89
- if (!investorExists) {
90
- await writeAndWait(anvil, {
91
- account,
92
- chain: anvil.chain,
93
- address: registryService,
94
- abi: import_iDSRegistryService.iDSRegistryServiceAbi,
95
- functionName: "registerInvestor",
96
- args: [investorId, investorId]
97
- });
98
- logger?.debug(`Registered investor "${investorId}"`);
99
- }
100
- await writeAndWait(anvil, {
101
- account,
102
- chain: anvil.chain,
103
- address: registryService,
104
- abi: import_iDSRegistryService.iDSRegistryServiceAbi,
105
- functionName: "addWallet",
106
- args: [claimer, investorId]
107
- });
108
- logger?.debug(`Added wallet ${claimer} for investor "${investorId}"`);
109
- try {
110
- await writeAndWait(anvil, {
111
- account,
112
- chain: anvil.chain,
113
- address: registryService,
114
- abi: import_iDSRegistryService.iDSRegistryServiceAbi,
115
- functionName: "setCountry",
116
- args: [investorId, "US"]
117
- });
118
- logger?.debug(`Set country for investor "${investorId}" to "US"`);
119
- await writeAndWait(anvil, {
120
- account,
121
- chain: anvil.chain,
122
- address: registryService,
123
- abi: import_iDSRegistryService.iDSRegistryServiceAbi,
124
- functionName: "setAttribute",
125
- args: [
126
- investorId,
127
- ACCREDITED,
128
- BigInt(APPROVED),
129
- import_sdk.MAX_UINT256,
130
- "fake proof"
131
- ]
132
- });
133
- logger?.debug(`Set attributes for investor "${investorId}"`);
134
- } catch (e) {
135
- logger?.error(e);
136
- }
137
- } else {
138
- logger?.debug(`Claimer ${claimer} is already a registered wallet`);
139
- }
140
- }
29
+ var import_kycUtils = require("./kycUtils.js");
141
30
  async function claimDSToken(props) {
142
31
  const {
143
32
  anvil,
144
- claimer,
33
+ investor,
145
34
  adminPrivateKey,
146
35
  token,
147
36
  marketConfigurators,
@@ -173,25 +62,25 @@ async function claimDSToken(props) {
173
62
  throw new Error(`No market found for token ${token}`);
174
63
  }
175
64
  logger?.debug(`${usdAmountProp} USD === ${amount} ${symbol}`);
176
- await registerInvestor({ ...props, logger });
177
- logger?.debug(`Issuing ${amount} tokens to ${claimer}...`);
178
- const mintHash = await writeAndWait(anvil, {
65
+ await (0, import_kycUtils.registerSecuritizeInvestor)({ ...props, logger });
66
+ logger?.debug(`Issuing ${amount} tokens to ${investor}...`);
67
+ const mintHash = await (0, import_kycUtils.writeAndWait)(anvil, {
179
68
  account,
180
69
  chain: anvil.chain,
181
70
  address: token,
182
71
  abi: import_iDSToken.iDSTokenAbi,
183
72
  functionName: "issueTokens",
184
- args: [claimer, amount]
73
+ args: [investor, amount]
185
74
  });
186
75
  logger?.debug(`Done! tx: ${mintHash}`);
187
76
  const balance = await anvil.readContract({
188
77
  address: token,
189
78
  abi: import_viem.erc20Abi,
190
79
  functionName: "balanceOf",
191
- args: [claimer]
80
+ args: [investor]
192
81
  });
193
82
  logger?.debug(
194
- `Balance of ${claimer}: ${sdk.tokensMeta.formatBN(token, balance)}`
83
+ `Balance of ${investor}: ${sdk.tokensMeta.formatBN(token, balance)}`
195
84
  );
196
85
  }
197
86
  async function claimDSTokens(props) {
@@ -203,6 +92,5 @@ async function claimDSTokens(props) {
203
92
  // Annotate the CommonJS export names for ESM import in node:
204
93
  0 && (module.exports = {
205
94
  claimDSToken,
206
- claimDSTokens,
207
- registerInvestor
95
+ claimDSTokens
208
96
  });
@@ -35,6 +35,7 @@ __reExport(dev_exports, require("./EthCallSpy.js"), module.exports);
35
35
  __reExport(dev_exports, require("./isOutOfSyncError.js"), module.exports);
36
36
  __reExport(dev_exports, require("./isRateLimitError.js"), module.exports);
37
37
  __reExport(dev_exports, require("./isTransientError.js"), module.exports);
38
+ __reExport(dev_exports, require("./kycUtils.js"), module.exports);
38
39
  var import_logSplitterTransport = require("./logSplitterTransport.js");
39
40
  __reExport(dev_exports, require("./ltUtils.js"), module.exports);
40
41
  __reExport(dev_exports, require("./migrateFaucet.js"), module.exports);
@@ -46,6 +47,7 @@ __reExport(dev_exports, require("./resilientTransport.js"), module.exports);
46
47
  __reExport(dev_exports, require("./transports.js"), module.exports);
47
48
  __reExport(dev_exports, require("./types.js"), module.exports);
48
49
  __reExport(dev_exports, require("./verifyTestnet.js"), module.exports);
50
+ __reExport(dev_exports, require("./withdrawalUtils.js"), module.exports);
49
51
  // Annotate the CommonJS export names for ESM import in node:
50
52
  0 && (module.exports = {
51
53
  isRangeError,
@@ -62,6 +64,7 @@ __reExport(dev_exports, require("./verifyTestnet.js"), module.exports);
62
64
  ...require("./isOutOfSyncError.js"),
63
65
  ...require("./isRateLimitError.js"),
64
66
  ...require("./isTransientError.js"),
67
+ ...require("./kycUtils.js"),
65
68
  ...require("./ltUtils.js"),
66
69
  ...require("./migrateFaucet.js"),
67
70
  ...require("./mint/index.js"),
@@ -71,5 +74,6 @@ __reExport(dev_exports, require("./verifyTestnet.js"), module.exports);
71
74
  ...require("./resilientTransport.js"),
72
75
  ...require("./transports.js"),
73
76
  ...require("./types.js"),
74
- ...require("./verifyTestnet.js")
77
+ ...require("./verifyTestnet.js"),
78
+ ...require("./withdrawalUtils.js")
75
79
  });
@@ -0,0 +1,351 @@
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 kycUtils_exports = {};
20
+ __export(kycUtils_exports, {
21
+ greenlistMidasGateway: () => greenlistMidasGateway,
22
+ registerMidasInvestor: () => registerMidasInvestor,
23
+ registerRWAInvestor: () => registerRWAInvestor,
24
+ registerSecuritizeInvestor: () => registerSecuritizeInvestor,
25
+ writeAndWait: () => writeAndWait
26
+ });
27
+ module.exports = __toCommonJS(kycUtils_exports);
28
+ var import_viem = require("viem");
29
+ var import_accounts = require("viem/accounts");
30
+ var import_iDSRegistryService = require("../abi/rwa/iDSRegistryService.js");
31
+ var import_iDSToken = require("../abi/rwa/iDSToken.js");
32
+ var import_sdk = require("../sdk/index.js");
33
+ var import_withdrawalAbi = require("./withdrawalAbi.js");
34
+ async function writeAndWait(anvil, params) {
35
+ const hash = await anvil.writeContract(params);
36
+ await anvil.mine({ blocks: 1 });
37
+ await anvil.waitForTransactionReceipt({
38
+ hash,
39
+ pollingInterval: 100
40
+ });
41
+ return hash;
42
+ }
43
+ async function registerSecuritizeInvestor(props) {
44
+ const { investor, anvil, token, adminPrivateKey, logger } = props;
45
+ const account = (0, import_accounts.privateKeyToAccount)(adminPrivateKey);
46
+ const registryServiceId = await anvil.readContract({
47
+ address: token,
48
+ abi: import_iDSToken.iDSTokenAbi,
49
+ functionName: "REGISTRY_SERVICE"
50
+ });
51
+ const registryService = await anvil.readContract({
52
+ address: token,
53
+ abi: import_iDSToken.iDSTokenAbi,
54
+ functionName: "getDSService",
55
+ args: [registryServiceId]
56
+ });
57
+ logger?.debug(`Registry service: ${registryService} (${registryServiceId})`);
58
+ const [isRegistered, ACCREDITED, APPROVED] = await anvil.multicall({
59
+ contracts: [
60
+ {
61
+ address: registryService,
62
+ abi: import_iDSRegistryService.iDSRegistryServiceAbi,
63
+ functionName: "isWallet",
64
+ args: [investor]
65
+ },
66
+ {
67
+ address: registryService,
68
+ abi: import_iDSRegistryService.iDSRegistryServiceAbi,
69
+ functionName: "ACCREDITED",
70
+ args: []
71
+ },
72
+ {
73
+ address: registryService,
74
+ abi: import_iDSRegistryService.iDSRegistryServiceAbi,
75
+ functionName: "APPROVED",
76
+ args: []
77
+ }
78
+ ],
79
+ allowFailure: false
80
+ });
81
+ if (!isRegistered) {
82
+ logger?.debug(
83
+ `Investor ${investor} is not a registered wallet, registering...`
84
+ );
85
+ const investorId = `investor-${investor.toLowerCase()}`;
86
+ const investorExists = await anvil.readContract({
87
+ address: registryService,
88
+ abi: import_iDSRegistryService.iDSRegistryServiceAbi,
89
+ functionName: "isInvestor",
90
+ args: [investorId]
91
+ });
92
+ if (!investorExists) {
93
+ await writeAndWait(anvil, {
94
+ account,
95
+ chain: anvil.chain,
96
+ address: registryService,
97
+ abi: import_iDSRegistryService.iDSRegistryServiceAbi,
98
+ functionName: "registerInvestor",
99
+ args: [investorId, investorId]
100
+ });
101
+ logger?.debug(`Registered investor "${investorId}"`);
102
+ }
103
+ await writeAndWait(anvil, {
104
+ account,
105
+ chain: anvil.chain,
106
+ address: registryService,
107
+ abi: import_iDSRegistryService.iDSRegistryServiceAbi,
108
+ functionName: "addWallet",
109
+ args: [investor, investorId]
110
+ });
111
+ logger?.debug(`Added wallet ${investor} for investor "${investorId}"`);
112
+ try {
113
+ await writeAndWait(anvil, {
114
+ account,
115
+ chain: anvil.chain,
116
+ address: registryService,
117
+ abi: import_iDSRegistryService.iDSRegistryServiceAbi,
118
+ functionName: "setCountry",
119
+ args: [investorId, "US"]
120
+ });
121
+ logger?.debug(`Set country for investor "${investorId}" to "US"`);
122
+ await writeAndWait(anvil, {
123
+ account,
124
+ chain: anvil.chain,
125
+ address: registryService,
126
+ abi: import_iDSRegistryService.iDSRegistryServiceAbi,
127
+ functionName: "setAttribute",
128
+ args: [
129
+ investorId,
130
+ ACCREDITED,
131
+ BigInt(APPROVED),
132
+ import_sdk.MAX_UINT256,
133
+ "fake proof"
134
+ ]
135
+ });
136
+ logger?.debug(`Set attributes for investor "${investorId}"`);
137
+ } catch (e) {
138
+ logger?.error(e);
139
+ }
140
+ } else {
141
+ logger?.debug(`Investor ${investor} is already a registered wallet`);
142
+ }
143
+ }
144
+ const MIDAS_MODE_PERMISSIONED = 2;
145
+ const iMidasGatewayExtAbi = (0, import_viem.parseAbi)([
146
+ "function greenlistedRole() external view returns (bytes32)"
147
+ ]);
148
+ const iMidasAccessControlAbi = (0, import_viem.parseAbi)([
149
+ "function hasRole(bytes32 role, address account) external view returns (bool)",
150
+ "function getRoleAdmin(bytes32 role) external view returns (bytes32)",
151
+ "function grantRole(bytes32 role, address account) external"
152
+ ]);
153
+ async function registerMidasInvestor(props) {
154
+ const { anvil, investor, admin, logger } = props;
155
+ const gateway = await findMidasGateway(props);
156
+ await greenlistMidasGateway({ anvil, investor, admin, gateway, logger });
157
+ }
158
+ async function greenlistMidasGateway(props) {
159
+ const { anvil, investor, admin, gateway, logger } = props;
160
+ const [accessControl, mode, greenlistedRole] = await anvil.multicall({
161
+ allowFailure: false,
162
+ contracts: [
163
+ {
164
+ address: gateway,
165
+ abi: import_withdrawalAbi.midasGatewayAbi,
166
+ functionName: "accessControl"
167
+ },
168
+ {
169
+ address: gateway,
170
+ abi: import_withdrawalAbi.midasGatewayAbi,
171
+ functionName: "mode"
172
+ },
173
+ {
174
+ address: gateway,
175
+ abi: iMidasGatewayExtAbi,
176
+ functionName: "greenlistedRole"
177
+ }
178
+ ]
179
+ });
180
+ if ((0, import_viem.isAddressEqual)(accessControl, import_viem.zeroAddress)) {
181
+ logger?.debug(
182
+ `midas: gateway ${gateway} is permissionless, nothing to greenlist`
183
+ );
184
+ return;
185
+ }
186
+ const operatorRole = await anvil.readContract({
187
+ address: accessControl,
188
+ abi: iMidasAccessControlAbi,
189
+ functionName: "getRoleAdmin",
190
+ args: [greenlistedRole]
191
+ });
192
+ logger?.debug(
193
+ `midas: gateway ${gateway}, access control ${accessControl}, mode ${mode}, greenlisted role ${greenlistedRole}, operator role ${operatorRole}`
194
+ );
195
+ const grants = [[operatorRole, gateway]];
196
+ if (mode === MIDAS_MODE_PERMISSIONED) {
197
+ grants.push([operatorRole, admin], [greenlistedRole, investor]);
198
+ } else {
199
+ logger?.debug(
200
+ `midas: gateway ${gateway} does not require greenlisted borrowers, only granting the operator role to the gateway`
201
+ );
202
+ }
203
+ const granted = await anvil.multicall({
204
+ allowFailure: false,
205
+ contracts: grants.map(([role, account]) => ({
206
+ address: accessControl,
207
+ abi: iMidasAccessControlAbi,
208
+ functionName: "hasRole",
209
+ args: [role, account]
210
+ }))
211
+ });
212
+ await anvil.impersonateAccount({ address: admin });
213
+ try {
214
+ await anvil.setBalance({ address: admin, value: (0, import_viem.parseEther)("100") });
215
+ for (const [i, [role, account]] of grants.entries()) {
216
+ if (granted[i]) {
217
+ logger?.debug(`midas: ${account} already has role ${role}`);
218
+ continue;
219
+ }
220
+ await writeAndWait(anvil, {
221
+ account: admin,
222
+ chain: anvil.chain,
223
+ address: accessControl,
224
+ abi: iMidasAccessControlAbi,
225
+ functionName: "grantRole",
226
+ args: [role, account]
227
+ });
228
+ logger?.debug(`midas: granted role ${role} to ${account}`);
229
+ }
230
+ } finally {
231
+ await anvil.stopImpersonatingAccount({ address: admin });
232
+ }
233
+ if (mode === MIDAS_MODE_PERMISSIONED) {
234
+ const isGreenlisted = await anvil.readContract({
235
+ address: accessControl,
236
+ abi: iMidasAccessControlAbi,
237
+ functionName: "hasRole",
238
+ args: [greenlistedRole, investor]
239
+ });
240
+ if (!isGreenlisted) {
241
+ throw new Error(`midas: failed to greenlist investor ${investor}`);
242
+ }
243
+ logger?.debug(`midas: investor ${investor} is greenlisted`);
244
+ }
245
+ }
246
+ async function findMidasGateway(props) {
247
+ const { anvil, token, marketConfigurators, logger } = props;
248
+ let sdk = props.sdk;
249
+ if (!sdk) {
250
+ sdk = new import_sdk.OnchainSDK(anvil.chain.network, {
251
+ client: anvil,
252
+ timeout: 12e4
253
+ });
254
+ await sdk.attach({ marketConfigurators });
255
+ }
256
+ const candidates = collectMidasGateways(sdk);
257
+ if (candidates.length === 0) {
258
+ throw new Error("no midas gateway adapters found in loaded markets");
259
+ }
260
+ const mTokens = await anvil.multicall({
261
+ allowFailure: false,
262
+ contracts: candidates.map((address) => ({
263
+ address,
264
+ abi: import_withdrawalAbi.midasGatewayAbi,
265
+ functionName: "mToken"
266
+ }))
267
+ });
268
+ const index = mTokens.findIndex((mToken) => (0, import_viem.isAddressEqual)(mToken, token));
269
+ if (index === -1) {
270
+ throw new Error(`no midas gateway found for token ${token}`);
271
+ }
272
+ logger?.debug(`midas: gateway for ${token} is ${candidates[index]}`);
273
+ return candidates[index];
274
+ }
275
+ function collectMidasGateways(sdk) {
276
+ const gateways = new import_sdk.AddressSet();
277
+ for (const cm of sdk.marketRegister.creditManagers) {
278
+ for (const adapter of cm.creditManager.adapters.values()) {
279
+ if (adapter.contractType === "ADAPTER::MIDAS_GATEWAY") {
280
+ gateways.add(adapter.targetContract);
281
+ }
282
+ }
283
+ }
284
+ return gateways.asArray();
285
+ }
286
+ async function registerRWAInvestor(props) {
287
+ const { anvil, sdk, investor, adminPrivateKey, midasAdmin, logger } = props;
288
+ const securitizeTokens = [];
289
+ const midasGateways = [];
290
+ const failed = [];
291
+ const dsTokens = new import_sdk.AddressSet(
292
+ sdk.rwa.factories.flatMap((factory) => factory.getTokens())
293
+ );
294
+ if (adminPrivateKey) {
295
+ for (const token of dsTokens) {
296
+ try {
297
+ await registerSecuritizeInvestor({
298
+ anvil,
299
+ investor,
300
+ adminPrivateKey,
301
+ token,
302
+ logger
303
+ });
304
+ securitizeTokens.push(token);
305
+ } catch (e) {
306
+ logger?.error(`securitize: failed to register ${investor} in ${token}`);
307
+ logger?.error(e);
308
+ failed.push({ target: token, error: e });
309
+ }
310
+ }
311
+ } else if (dsTokens.size > 0) {
312
+ logger?.warn(
313
+ `securitize: no admin private key, skipping ${dsTokens.size} DSToken(s)`
314
+ );
315
+ }
316
+ const gateways = collectMidasGateways(sdk);
317
+ if (midasAdmin) {
318
+ for (const gateway of gateways) {
319
+ try {
320
+ await greenlistMidasGateway({
321
+ anvil,
322
+ investor,
323
+ admin: midasAdmin,
324
+ gateway,
325
+ logger
326
+ });
327
+ midasGateways.push(gateway);
328
+ } catch (e) {
329
+ logger?.error(`midas: failed to greenlist ${investor} in ${gateway}`);
330
+ logger?.error(e);
331
+ failed.push({ target: gateway, error: e });
332
+ }
333
+ }
334
+ } else if (gateways.length > 0) {
335
+ logger?.warn(
336
+ `midas: no access control admin, skipping ${gateways.length} gateway(s)`
337
+ );
338
+ }
339
+ logger?.debug(
340
+ `${investor} passed KYC on ${securitizeTokens.length} DSToken(s) and ${midasGateways.length} midas gateway(s), ${failed.length} failure(s)`
341
+ );
342
+ return { securitizeTokens, midasGateways, failed };
343
+ }
344
+ // Annotate the CommonJS export names for ESM import in node:
345
+ 0 && (module.exports = {
346
+ greenlistMidasGateway,
347
+ registerMidasInvestor,
348
+ registerRWAInvestor,
349
+ registerSecuritizeInvestor,
350
+ writeAndWait
351
+ });