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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/dist/cjs/abi/iZapper.js +62 -24
  2. package/dist/cjs/dev/AccountOpener.js +7 -13
  3. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  4. package/dist/cjs/history/mapOperations.js +7 -0
  5. package/dist/cjs/plugins/adapters/abi/iConvexV1BoosterAdapter.js +143 -0
  6. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  7. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  8. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
  9. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +19 -0
  10. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +15 -0
  11. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +20 -0
  12. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +18 -0
  13. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
  14. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  15. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  16. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  17. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  18. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  19. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  20. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +14 -0
  21. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +15 -0
  22. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +14 -0
  23. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +15 -0
  24. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +21 -0
  25. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +10 -0
  26. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +11 -0
  27. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +15 -0
  28. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +15 -0
  29. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +11 -0
  30. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +10 -0
  31. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +12 -0
  32. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +58 -0
  33. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +11 -0
  34. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +22 -1
  35. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +17 -0
  36. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +10 -0
  37. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  38. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  39. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +15 -0
  40. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +14 -0
  41. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +10 -0
  42. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +15 -0
  43. package/dist/cjs/preview/index.js +2 -4
  44. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  45. package/dist/cjs/preview/parse/errors.js +5 -2
  46. package/dist/cjs/preview/parse/index.js +2 -2
  47. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +5 -12
  48. package/dist/cjs/preview/parse/parseOperationCalldata.js +40 -1
  49. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +14 -2
  50. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
  51. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  52. package/dist/cjs/preview/parse/types.js +9 -2
  53. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +13 -13
  54. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +32 -14
  55. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +66 -0
  56. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +124 -14
  57. package/dist/cjs/preview/prerequisites/index.js +2 -0
  58. package/dist/cjs/preview/preview/applyInnerOperations.js +132 -0
  59. package/dist/cjs/preview/preview/errors.js +52 -0
  60. package/dist/cjs/preview/preview/index.js +30 -0
  61. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +95 -0
  62. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +69 -0
  63. package/dist/cjs/preview/preview/previewOperation.js +45 -0
  64. package/dist/cjs/preview/preview/previewPoolOperation.js +75 -0
  65. package/dist/cjs/preview/preview/types.js +16 -0
  66. package/dist/cjs/{sdk/market/zapper/Zapper.js → preview/preview/unwrapNativeCollateral.js} +20 -22
  67. package/dist/cjs/preview/simulate/errors.js +0 -7
  68. package/dist/cjs/preview/simulate/index.js +5 -5
  69. package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
  70. package/dist/cjs/preview/simulate/simulatePoolOperation.js +60 -31
  71. package/dist/cjs/preview/simulate/{constants.js → simulateRWAOperation.js} +8 -6
  72. package/dist/cjs/sdk/MultichainSDK.js +1 -0
  73. package/dist/cjs/sdk/OnchainSDK.js +7 -3
  74. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +3 -4
  75. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  76. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  77. package/dist/cjs/sdk/market/MarketRegister.js +10 -5
  78. package/dist/cjs/sdk/market/ZapperRegister.js +54 -0
  79. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +30 -0
  80. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  81. package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  82. package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +3 -38
  83. package/dist/cjs/sdk/market/zapper/ZapperContract.js +106 -0
  84. package/dist/cjs/sdk/market/zapper/createZapper.js +12 -4
  85. package/dist/cjs/{preview/simulate/holders.js → sdk/market/zapper/errors.js} +13 -21
  86. package/dist/cjs/sdk/market/zapper/index.js +6 -2
  87. package/dist/cjs/sdk/market/zapper/types.js +16 -0
  88. package/dist/cjs/sdk/options.js +41 -17
  89. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  90. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  91. package/dist/cjs/sdk/router/helpers.js +0 -5
  92. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  93. package/dist/cjs/sdk/utils/AssetsMap.js +62 -0
  94. package/dist/cjs/sdk/utils/index.js +2 -0
  95. package/dist/esm/abi/iZapper.js +62 -24
  96. package/dist/esm/dev/AccountOpener.js +8 -13
  97. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  98. package/dist/esm/history/mapOperations.js +7 -0
  99. package/dist/esm/plugins/adapters/abi/iConvexV1BoosterAdapter.js +119 -0
  100. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  101. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  102. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
  103. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +22 -1
  104. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +18 -1
  105. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -1
  106. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +22 -1
  107. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
  108. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  109. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  110. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  111. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  112. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  113. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  114. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +17 -1
  115. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +19 -1
  116. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +17 -1
  117. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +18 -1
  118. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +24 -1
  119. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -1
  120. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +14 -1
  121. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +18 -1
  122. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +18 -1
  123. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +14 -1
  124. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -1
  125. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -1
  126. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +61 -1
  127. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +14 -1
  128. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +25 -2
  129. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +20 -1
  130. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +13 -1
  131. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  132. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  133. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -1
  134. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -1
  135. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +13 -1
  136. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +18 -1
  137. package/dist/esm/preview/index.js +1 -2
  138. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  139. package/dist/esm/preview/parse/errors.js +3 -1
  140. package/dist/esm/preview/parse/index.js +1 -1
  141. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +5 -12
  142. package/dist/esm/preview/parse/parseOperationCalldata.js +43 -2
  143. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +14 -2
  144. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
  145. package/dist/esm/preview/parse/types-rwa.js +0 -0
  146. package/dist/esm/preview/parse/types.js +6 -1
  147. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +13 -13
  148. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +32 -14
  149. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +42 -0
  150. package/dist/esm/preview/prerequisites/buildPrerequisites.js +130 -14
  151. package/dist/esm/preview/prerequisites/index.js +1 -0
  152. package/dist/esm/preview/preview/applyInnerOperations.js +110 -0
  153. package/dist/esm/preview/preview/errors.js +27 -0
  154. package/dist/esm/preview/preview/index.js +5 -0
  155. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +79 -0
  156. package/dist/esm/preview/preview/previewOpenCreditAccount.js +51 -0
  157. package/dist/esm/preview/preview/previewOperation.js +21 -0
  158. package/dist/esm/preview/preview/previewPoolOperation.js +53 -0
  159. package/dist/esm/preview/preview/types.js +0 -0
  160. package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
  161. package/dist/esm/preview/simulate/errors.js +0 -6
  162. package/dist/esm/preview/simulate/index.js +3 -3
  163. package/dist/esm/preview/simulate/simulateOperation.js +8 -1
  164. package/dist/esm/preview/simulate/simulatePoolOperation.js +61 -35
  165. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  166. package/dist/esm/sdk/MultichainSDK.js +1 -0
  167. package/dist/esm/sdk/OnchainSDK.js +7 -3
  168. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +4 -5
  169. package/dist/esm/sdk/base/BaseContract.js +4 -2
  170. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  171. package/dist/esm/sdk/market/MarketRegister.js +10 -5
  172. package/dist/esm/sdk/market/ZapperRegister.js +54 -0
  173. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +33 -1
  174. package/dist/esm/sdk/market/rwa/types.js +5 -2
  175. package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  176. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +3 -38
  177. package/dist/esm/sdk/market/zapper/ZapperContract.js +82 -0
  178. package/dist/esm/sdk/market/zapper/createZapper.js +12 -4
  179. package/dist/esm/sdk/market/zapper/errors.js +13 -0
  180. package/dist/esm/sdk/market/zapper/index.js +3 -1
  181. package/dist/esm/sdk/market/zapper/types.js +0 -0
  182. package/dist/esm/sdk/options.js +39 -15
  183. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  184. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  185. package/dist/esm/sdk/router/helpers.js +0 -4
  186. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  187. package/dist/esm/sdk/utils/AssetsMap.js +38 -0
  188. package/dist/esm/sdk/utils/index.js +1 -0
  189. package/dist/types/abi/iERC20Zapper.d.ts +91 -23
  190. package/dist/types/abi/iETHZapper.d.ts +91 -23
  191. package/dist/types/abi/iZapper.d.ts +91 -23
  192. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  193. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  194. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  195. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  196. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  197. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  198. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  199. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  200. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  201. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  202. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  203. package/dist/types/history/types.d.ts +4 -4
  204. package/dist/types/plugins/adapters/abi/iConvexV1BoosterAdapter.d.ts +204 -0
  205. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  206. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +21 -3
  207. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
  208. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +4 -2
  209. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +4 -2
  210. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +4 -2
  211. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +4 -2
  212. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +8 -6
  213. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +3 -6
  214. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +3 -6
  215. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +3 -6
  216. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +2 -2
  217. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
  218. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +3 -6
  219. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +4 -2
  220. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +4 -2
  221. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +4 -2
  222. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +4 -2
  223. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +4 -2
  224. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +4 -2
  225. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +4 -2
  226. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +4 -2
  227. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +4 -2
  228. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +4 -2
  229. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +4 -2
  230. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +4 -2
  231. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +4 -2
  232. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +4 -2
  233. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +15 -3
  234. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +4 -2
  235. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +4 -2
  236. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +3 -1
  237. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
  238. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +4 -2
  239. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +4 -2
  240. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +4 -2
  241. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +4 -2
  242. package/dist/types/plugins/adapters/types.d.ts +10 -0
  243. package/dist/types/preview/index.d.ts +1 -2
  244. package/dist/types/preview/parse/classifyInnerOperations.d.ts +0 -2
  245. package/dist/types/preview/parse/errors.d.ts +1 -0
  246. package/dist/types/preview/parse/index.d.ts +1 -1
  247. package/dist/types/preview/parse/parseOperationCalldata.d.ts +3 -3
  248. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +22 -0
  249. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  250. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  251. package/dist/types/preview/parse/types-pools.d.ts +90 -2
  252. package/dist/types/preview/parse/types-rwa.d.ts +48 -0
  253. package/dist/types/preview/parse/types.d.ts +11 -6
  254. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +1 -3
  255. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +9 -6
  256. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +36 -0
  257. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +15 -6
  258. package/dist/types/preview/prerequisites/index.d.ts +1 -0
  259. package/dist/types/preview/prerequisites/types.d.ts +10 -8
  260. package/dist/types/preview/preview/applyInnerOperations.d.ts +77 -0
  261. package/dist/types/preview/preview/errors.d.ts +21 -0
  262. package/dist/types/preview/preview/index.d.ts +5 -0
  263. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +11 -0
  264. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +4 -0
  265. package/dist/types/preview/preview/previewOperation.d.ts +7 -0
  266. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  267. package/dist/types/preview/preview/types.d.ts +177 -0
  268. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
  269. package/dist/types/preview/simulate/errors.d.ts +6 -12
  270. package/dist/types/preview/simulate/index.d.ts +3 -2
  271. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -2
  272. package/dist/types/preview/simulate/simulateOperation.d.ts +0 -2
  273. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +9 -3
  274. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +23 -0
  275. package/dist/types/preview/simulate/types.d.ts +12 -39
  276. package/dist/types/sdk/MultichainSDK.d.ts +5 -0
  277. package/dist/types/sdk/OnchainSDK.d.ts +4 -0
  278. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
  279. package/dist/types/sdk/accounts/types.d.ts +2 -2
  280. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  281. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  282. package/dist/types/sdk/base/types.d.ts +18 -0
  283. package/dist/types/sdk/market/MarketRegister.d.ts +15 -6
  284. package/dist/types/sdk/market/ZapperRegister.d.ts +25 -4
  285. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +6 -1
  286. package/dist/types/sdk/market/rwa/types.d.ts +13 -5
  287. package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +93 -39
  288. package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +93 -39
  289. package/dist/types/sdk/market/zapper/ZapperContract.d.ts +35 -0
  290. package/dist/types/sdk/market/zapper/createZapper.d.ts +2 -4
  291. package/dist/types/sdk/market/zapper/errors.d.ts +10 -0
  292. package/dist/types/sdk/market/zapper/index.d.ts +3 -1
  293. package/dist/types/sdk/market/zapper/types.d.ts +64 -0
  294. package/dist/types/sdk/options.d.ts +10 -5
  295. package/dist/types/sdk/pools/types.d.ts +4 -4
  296. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  297. package/dist/types/sdk/router/helpers.d.ts +1 -2
  298. package/dist/types/sdk/router/types.d.ts +1 -15
  299. package/dist/types/sdk/types/state-human.d.ts +9 -0
  300. package/dist/types/sdk/types/state.d.ts +7 -0
  301. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  302. package/dist/types/sdk/utils/AssetsMap.d.ts +27 -0
  303. package/dist/types/sdk/utils/index.d.ts +1 -0
  304. package/package.json +3 -3
  305. package/dist/cjs/preview/parse/extractExpectedBalanceChanges.js +0 -48
  306. package/dist/cjs/preview/simulate/extractERC20Transfers.js +0 -47
  307. package/dist/cjs/preview/simulate/simulatePoolOpMulticall.js +0 -155
  308. package/dist/cjs/preview/simulate/simulatePoolOpV1.js +0 -106
  309. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  310. package/dist/esm/preview/simulate/constants.js +0 -4
  311. package/dist/esm/preview/simulate/extractERC20Transfers.js +0 -23
  312. package/dist/esm/preview/simulate/holders.js +0 -21
  313. package/dist/esm/preview/simulate/simulatePoolOpMulticall.js +0 -130
  314. package/dist/esm/preview/simulate/simulatePoolOpV1.js +0 -82
  315. package/dist/esm/sdk/market/zapper/Zapper.js +0 -23
  316. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  317. package/dist/types/preview/simulate/constants.d.ts +0 -6
  318. package/dist/types/preview/simulate/extractERC20Transfers.d.ts +0 -11
  319. package/dist/types/preview/simulate/holders.d.ts +0 -7
  320. package/dist/types/preview/simulate/simulatePoolOpMulticall.d.ts +0 -28
  321. package/dist/types/preview/simulate/simulatePoolOpV1.d.ts +0 -14
  322. package/dist/types/sdk/market/zapper/Zapper.d.ts +0 -13
@@ -0,0 +1,75 @@
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 previewPoolOperation_exports = {};
20
+ __export(previewPoolOperation_exports, {
21
+ previewPoolOperation: () => previewPoolOperation
22
+ });
23
+ module.exports = __toCommonJS(previewPoolOperation_exports);
24
+ var import_simulate = require("../simulate/index.js");
25
+ async function previewPoolOperation(input, operation, options) {
26
+ const { sdk, to, calldata } = input;
27
+ const { tokenIn, tokenOut } = operation;
28
+ const sim = await (0, import_simulate.simulatePoolOperation)(
29
+ { sdk, operation, to, calldata },
30
+ options
31
+ );
32
+ if (sim.status === "success") {
33
+ return {
34
+ operation: operation.operation,
35
+ pool: operation.pool,
36
+ tokenIn: { token: tokenIn, balance: sim.amountIn },
37
+ tokenOut: { token: tokenOut, balance: sim.amountOut }
38
+ };
39
+ }
40
+ const { error } = sim;
41
+ switch (operation.operation) {
42
+ case "Deposit":
43
+ return {
44
+ operation: "Deposit",
45
+ pool: operation.pool,
46
+ tokenIn: { token: tokenIn, balance: operation.assets },
47
+ tokenOut: { token: tokenOut, error }
48
+ };
49
+ case "Mint":
50
+ return {
51
+ operation: "Mint",
52
+ pool: operation.pool,
53
+ tokenIn: { token: tokenIn, error },
54
+ tokenOut: { token: tokenOut, balance: operation.shares }
55
+ };
56
+ case "Withdraw":
57
+ return {
58
+ operation: "Withdraw",
59
+ pool: operation.pool,
60
+ tokenIn: { token: tokenIn, error },
61
+ tokenOut: { token: tokenOut, balance: operation.assets }
62
+ };
63
+ case "Redeem":
64
+ return {
65
+ operation: "Redeem",
66
+ pool: operation.pool,
67
+ tokenIn: { token: tokenIn, balance: operation.shares },
68
+ tokenOut: { token: tokenOut, error }
69
+ };
70
+ }
71
+ }
72
+ // Annotate the CommonJS export names for ESM import in node:
73
+ 0 && (module.exports = {
74
+ previewPoolOperation
75
+ });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -16,32 +16,30 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Zapper_exports = {};
20
- __export(Zapper_exports, {
21
- Zapper: () => Zapper
19
+ var unwrapNativeCollateral_exports = {};
20
+ __export(unwrapNativeCollateral_exports, {
21
+ unwrapNativeCollateral: () => unwrapNativeCollateral
22
22
  });
23
- module.exports = __toCommonJS(Zapper_exports);
24
- var import_utils = require("../../utils/index.js");
25
- class Zapper {
26
- pool;
27
- type;
28
- baseParams;
29
- tokenIn;
30
- tokenOut;
31
- contractType;
32
- constructor(data) {
33
- this.pool = data.pool;
34
- this.type = data.type;
35
- this.baseParams = data.baseParams;
36
- this.tokenIn = data.tokenIn;
37
- this.tokenOut = data.tokenOut;
38
- this.contractType = Zapper.contractType(data.baseParams);
23
+ module.exports = __toCommonJS(unwrapNativeCollateral_exports);
24
+ var import_sdk = require("../../sdk/index.js");
25
+ var import_errors = require("./errors.js");
26
+ function unwrapNativeCollateral(collateral, nativeAmount, wethToken) {
27
+ if (nativeAmount === 0n) {
28
+ return collateral;
39
29
  }
40
- static contractType(baseParams) {
41
- return (0, import_utils.bytes32ToString)(baseParams.contractType);
30
+ const balances = new import_sdk.AssetsMap(collateral);
31
+ const wethBalance = balances.get(wethToken) ?? 0n;
32
+ if (wethBalance < nativeAmount) {
33
+ throw new import_errors.InvalidTransactionValueError(nativeAmount, wethBalance);
42
34
  }
35
+ balances.upsert(
36
+ wethToken,
37
+ wethBalance === nativeAmount ? void 0 : wethBalance - nativeAmount
38
+ );
39
+ balances.inc(import_sdk.NATIVE_ADDRESS, nativeAmount);
40
+ return balances.toAssets();
43
41
  }
44
42
  // Annotate the CommonJS export names for ESM import in node:
45
43
  0 && (module.exports = {
46
- Zapper
44
+ unwrapNativeCollateral
47
45
  });
@@ -20,7 +20,6 @@ var errors_exports = {};
20
20
  __export(errors_exports, {
21
21
  PreviewSimulationError: () => PreviewSimulationError,
22
22
  asPreviewSimulationError: () => asPreviewSimulationError,
23
- combinePreviewSimulationErrors: () => combinePreviewSimulationErrors,
24
23
  decodeSimulationError: () => decodeSimulationError
25
24
  });
26
25
  module.exports = __toCommonJS(errors_exports);
@@ -49,11 +48,6 @@ function asPreviewSimulationError(reason, source) {
49
48
  { source, detail: decodeSimulationError({ error }) }
50
49
  ]);
51
50
  }
52
- function combinePreviewSimulationErrors(...errors) {
53
- return new PreviewSimulationError(
54
- errors.filter((e) => e).flatMap((e) => e?.failures ?? [])
55
- );
56
- }
57
51
  function decodeSimulationError(revert) {
58
52
  const { error, data } = revert;
59
53
  if (data && data !== "0x") {
@@ -93,6 +87,5 @@ function formatDecodedError(errorName, args) {
93
87
  0 && (module.exports = {
94
88
  PreviewSimulationError,
95
89
  asPreviewSimulationError,
96
- combinePreviewSimulationErrors,
97
90
  decodeSimulationError
98
91
  });
@@ -18,23 +18,23 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var simulate_exports = {};
20
20
  __export(simulate_exports, {
21
- ETH_SIMULATE_V1_NETWORKS: () => import_constants.ETH_SIMULATE_V1_NETWORKS,
22
21
  PreviewSimulationError: () => import_errors.PreviewSimulationError,
23
22
  simulateFacadeOperation: () => import_simulateFacadeOperation.simulateFacadeOperation,
24
23
  simulateOperation: () => import_simulateOperation.simulateOperation,
25
- simulatePoolOperation: () => import_simulatePoolOperation.simulatePoolOperation
24
+ simulatePoolOperation: () => import_simulatePoolOperation.simulatePoolOperation,
25
+ simulateRWAOperation: () => import_simulateRWAOperation.simulateRWAOperation
26
26
  });
27
27
  module.exports = __toCommonJS(simulate_exports);
28
- var import_constants = require("./constants.js");
29
28
  var import_errors = require("./errors.js");
30
29
  var import_simulateFacadeOperation = require("./simulateFacadeOperation.js");
31
30
  var import_simulateOperation = require("./simulateOperation.js");
32
31
  var import_simulatePoolOperation = require("./simulatePoolOperation.js");
32
+ var import_simulateRWAOperation = require("./simulateRWAOperation.js");
33
33
  // Annotate the CommonJS export names for ESM import in node:
34
34
  0 && (module.exports = {
35
- ETH_SIMULATE_V1_NETWORKS,
36
35
  PreviewSimulationError,
37
36
  simulateFacadeOperation,
38
37
  simulateOperation,
39
- simulatePoolOperation
38
+ simulatePoolOperation,
39
+ simulateRWAOperation
40
40
  });
@@ -24,11 +24,15 @@ module.exports = __toCommonJS(simulateOperation_exports);
24
24
  var import_parse = require("../parse/index.js");
25
25
  var import_simulateFacadeOperation = require("./simulateFacadeOperation.js");
26
26
  var import_simulatePoolOperation = require("./simulatePoolOperation.js");
27
+ var import_simulateRWAOperation = require("./simulateRWAOperation.js");
27
28
  async function simulateOperation(input, options) {
28
29
  const { operation } = input;
29
30
  if ((0, import_parse.isPoolOperation)(operation)) {
30
31
  return (0, import_simulatePoolOperation.simulatePoolOperation)({ ...input, operation }, options);
31
32
  }
33
+ if ((0, import_parse.isRWAOperation)(operation)) {
34
+ return (0, import_simulateRWAOperation.simulateRWAOperation)({ ...input, operation }, options);
35
+ }
32
36
  return (0, import_simulateFacadeOperation.simulateFacadeOperation)({ ...input, operation }, options);
33
37
  }
34
38
  // Annotate the CommonJS export names for ESM import in node:
@@ -21,40 +21,69 @@ __export(simulatePoolOperation_exports, {
21
21
  simulatePoolOperation: () => simulatePoolOperation
22
22
  });
23
23
  module.exports = __toCommonJS(simulatePoolOperation_exports);
24
- var import_constants = require("./constants.js");
24
+ var import_generated = require("../../abi/310/generated.js");
25
+ var import_iZapper = require("../../abi/iZapper.js");
25
26
  var import_errors = require("./errors.js");
26
- var import_simulatePoolOpMulticall = require("./simulatePoolOpMulticall.js");
27
- var import_simulatePoolOpV1 = require("./simulatePoolOpV1.js");
28
- async function simulatePoolOperation(input, options = {}) {
29
- const { sdk } = input;
30
- const { logger } = options;
31
- const useSimulateV1 = options.useSimulateV1 ?? import_constants.ETH_SIMULATE_V1_NETWORKS.has(sdk.networkType);
32
- logger?.debug(
33
- { wallet: input.wallet, to: input.to },
34
- "simulating pool operation"
35
- );
36
- const [v1, multicall] = await Promise.allSettled([
37
- useSimulateV1 ? (0, import_simulatePoolOpV1.simulatePoolOpV1)(input, options) : void 0,
38
- (0, import_simulatePoolOpMulticall.simulatePoolOpMulticall)(input, options)
39
- ]);
40
- if (v1.status === "fulfilled" && v1.value) {
41
- return { status: "success", ...v1.value };
27
+ function previewRead(operation) {
28
+ switch (operation.operation) {
29
+ case "Deposit":
30
+ return { functionName: "previewDeposit", amount: operation.assets };
31
+ case "Mint":
32
+ return { functionName: "previewMint", amount: operation.shares };
33
+ case "Withdraw":
34
+ return { functionName: "previewWithdraw", amount: operation.assets };
35
+ case "Redeem":
36
+ return { functionName: "previewRedeem", amount: operation.shares };
37
+ }
38
+ }
39
+ function previewContract(operation) {
40
+ const { functionName, amount } = previewRead(operation);
41
+ if (operation.zapper) {
42
+ return {
43
+ address: operation.zapper,
44
+ abi: import_iZapper.iZapperAbi,
45
+ functionName,
46
+ args: [amount]
47
+ };
42
48
  }
43
- if (multicall.status === "fulfilled") {
44
- if (v1.status === "rejected") {
45
- logger?.debug(
46
- (0, import_errors.asPreviewSimulationError)(v1.reason, "eth_simulateV1"),
47
- "eth_simulateV1 flow failed; falling back to multicall result"
48
- );
49
- }
50
- return { status: "success", ...multicall.value };
49
+ return {
50
+ address: operation.pool,
51
+ abi: import_generated.iPoolV310Abi,
52
+ functionName,
53
+ args: [amount]
54
+ };
55
+ }
56
+ function amountsInOut(operation, previewAmount) {
57
+ switch (operation.operation) {
58
+ case "Deposit":
59
+ return { amountIn: operation.assets, amountOut: previewAmount };
60
+ case "Mint":
61
+ return { amountIn: previewAmount, amountOut: operation.shares };
62
+ case "Withdraw":
63
+ return { amountIn: previewAmount, amountOut: operation.assets };
64
+ case "Redeem":
65
+ return { amountIn: operation.shares, amountOut: previewAmount };
66
+ }
67
+ }
68
+ async function simulatePoolOperation(input, options = {}) {
69
+ const { sdk, operation } = input;
70
+ const { blockNumber, logger } = options;
71
+ try {
72
+ const previewAmount = await sdk.client.readContract({
73
+ // `undefined` lets viem read at `latest`; `blockNumber` is only set for
74
+ // testnet forks pinned to a specific block.
75
+ blockNumber,
76
+ ...previewContract(operation)
77
+ });
78
+ return {
79
+ status: "success",
80
+ ...amountsInOut(operation, previewAmount)
81
+ };
82
+ } catch (cause) {
83
+ const error = (0, import_errors.asPreviewSimulationError)(cause, "multicall");
84
+ logger?.error(error, "pool operation simulation failed");
85
+ return { status: "failure", error };
51
86
  }
52
- const error = (0, import_errors.combinePreviewSimulationErrors)(
53
- v1.status === "rejected" ? (0, import_errors.asPreviewSimulationError)(v1.reason, "eth_simulateV1") : void 0,
54
- (0, import_errors.asPreviewSimulationError)(multicall.reason, "multicall")
55
- );
56
- logger?.error(error, "pool operation simulation failed");
57
- return { status: "failure", error };
58
87
  }
59
88
  // Annotate the CommonJS export names for ESM import in node:
60
89
  0 && (module.exports = {
@@ -16,13 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var constants_exports = {};
20
- __export(constants_exports, {
21
- ETH_SIMULATE_V1_NETWORKS: () => ETH_SIMULATE_V1_NETWORKS
19
+ var simulateRWAOperation_exports = {};
20
+ __export(simulateRWAOperation_exports, {
21
+ simulateRWAOperation: () => simulateRWAOperation
22
22
  });
23
- module.exports = __toCommonJS(constants_exports);
24
- const ETH_SIMULATE_V1_NETWORKS = /* @__PURE__ */ new Set(["Mainnet", "Plasma", "Somnia"]);
23
+ module.exports = __toCommonJS(simulateRWAOperation_exports);
24
+ async function simulateRWAOperation(_input, _options) {
25
+ throw new Error("not yet implemented");
26
+ }
25
27
  // Annotate the CommonJS export names for ESM import in node:
26
28
  0 && (module.exports = {
27
- ETH_SIMULATE_V1_NETWORKS
29
+ simulateRWAOperation
28
30
  });
@@ -81,6 +81,7 @@ class MultichainSDK {
81
81
  const perChainOpts = options?.perChain?.[network] ?? {};
82
82
  return sdk.attach({
83
83
  ...perChainOpts,
84
+ loadZappers: perChainOpts.loadZappers ?? options?.loadZappers,
84
85
  redstone: {
85
86
  ...options?.redstone,
86
87
  cache: this.#redstoneCache,
@@ -127,7 +127,8 @@ class OnchainSDK extends import_base.ChainContractsRegister {
127
127
  ignoreMarkets,
128
128
  marketConfigurators: mcs,
129
129
  redstone,
130
- pyth
130
+ pyth,
131
+ loadZappers
131
132
  } = options ?? {};
132
133
  const marketConfigurators = mcs ?? import_utils.TypedObjectUtils.keys(
133
134
  this.client.chain.defaultMarketConfigurators
@@ -196,6 +197,9 @@ class OnchainSDK extends import_base.ChainContractsRegister {
196
197
  blockNumber: this.currentBlock,
197
198
  gas: this.gasLimit
198
199
  });
200
+ if (loadZappers) {
201
+ await this.#marketRegister.loadZappers();
202
+ }
199
203
  }
200
204
  const pluginsList = import_utils.TypedObjectUtils.entries(this.plugins);
201
205
  const pluginResponse = await Promise.allSettled(
@@ -248,7 +252,7 @@ class OnchainSDK extends import_base.ChainContractsRegister {
248
252
  `address provider version: ${this.#addressProvider.version}`
249
253
  );
250
254
  this.#marketRegister = new import_MarketRegister.MarketRegister(this, ignoreMarkets);
251
- this.#marketRegister.hydrate(state.markets);
255
+ this.#marketRegister.hydrate(state);
252
256
  this.#rwa = new import_market.RWARegistry(this);
253
257
  this.#rwa.setState(state.rwa);
254
258
  for (const [name, plugin] of import_utils.TypedObjectUtils.entries(this.plugins)) {
@@ -313,7 +317,7 @@ class OnchainSDK extends import_base.ChainContractsRegister {
313
317
  currentBlock: this.currentBlock,
314
318
  timestamp: this.timestamp,
315
319
  addressProvider: this.addressProvider.state,
316
- markets: this.marketRegister.state,
320
+ ...this.marketRegister.state,
317
321
  rwa: this.#rwa.state,
318
322
  plugins: Object.fromEntries(
319
323
  import_utils.TypedObjectUtils.entries(this.plugins).map(([name, plugin]) => [
@@ -36,7 +36,6 @@ var import_base = require("../base/index.js");
36
36
  var import_chains = require("../chain/chains.js");
37
37
  var import_constants = require("../constants/index.js");
38
38
  var import_market = require("../market/index.js");
39
- var import_router = require("../router/index.js");
40
39
  var import_utils = require("../utils/index.js");
41
40
  var import_viem2 = require("../utils/viem/index.js");
42
41
  var import_multicall_utils = require("./multicall-utils.js");
@@ -1723,10 +1722,10 @@ class CreditAccountsServiceV310 extends import_base.SDKConstruct {
1723
1722
  return calls;
1724
1723
  }
1725
1724
  #prepareUpdateQuotas(creditFacade, { averageQuota, minQuota }) {
1726
- const minRecord = (0, import_router.assetsMap)(minQuota);
1725
+ const minRecord = new import_utils.AssetsMap(minQuota);
1727
1726
  const calls = averageQuota.map((q) => {
1728
- const minAsset = minRecord.get(q.token);
1729
- const min = minAsset && minAsset?.balance > 0 ? minAsset.balance : 0n;
1727
+ const minBalance = minRecord.get(q.token);
1728
+ const min = minBalance && minBalance > 0n ? minBalance : 0n;
1730
1729
  return {
1731
1730
  target: creditFacade,
1732
1731
  callData: (0, import_viem.encodeFunctionData)({
@@ -244,6 +244,7 @@ class BaseContract extends import_Construct.Construct {
244
244
  const functionName = (0, import_utils.getFunctionSignature)(this.abi, calldata);
245
245
  return this.wrapParseCallV2(
246
246
  functionName,
247
+ calldata,
247
248
  this.parseFunctionParamsV2(decoded, strict)
248
249
  );
249
250
  } catch (e) {
@@ -257,7 +258,7 @@ class BaseContract extends import_Construct.Construct {
257
258
  this.logger?.warn(e);
258
259
  const selector = calldata.slice(0, 10);
259
260
  const data = `0x${calldata.slice(10)}`;
260
- return this.wrapParseCallV2(`unknown function ${selector}`, {
261
+ return this.wrapParseCallV2(`unknown function ${selector}`, calldata, {
261
262
  _data: data
262
263
  });
263
264
  }
@@ -270,7 +271,7 @@ class BaseContract extends import_Construct.Construct {
270
271
  parseFunctionParamsV2(params, _strict) {
271
272
  return (0, import_utils.functionArgsToRecord)(this.abi, params.functionName, params.args);
272
273
  }
273
- wrapParseCallV2(functionName, rawArgs) {
274
+ wrapParseCallV2(functionName, calldata, rawArgs) {
274
275
  return {
275
276
  chainId: this.chainId,
276
277
  target: this.address,
@@ -278,6 +279,7 @@ class BaseContract extends import_Construct.Construct {
278
279
  label: this.labelAddress(this.address, true),
279
280
  version: this.version,
280
281
  functionName,
282
+ calldata,
281
283
  rawArgs
282
284
  };
283
285
  }
@@ -184,6 +184,7 @@ class ChainContractsRegister {
184
184
  label: this.labelAddress(address, true),
185
185
  version: 0,
186
186
  functionName: `unknown function ${selector}`,
187
+ calldata,
187
188
  rawArgs: { _data: data }
188
189
  };
189
190
  }
@@ -52,10 +52,11 @@ class MarketRegister extends import_ZapperRegister.ZapperRegister {
52
52
  * bypassing on-chain reads.
53
53
  * @param state - Array of market data snapshots.
54
54
  **/
55
- hydrate(state) {
56
- const configurators = new Set(state.map((m) => m.configurator));
55
+ hydrate({ markets, zappers }) {
56
+ const configurators = new Set(markets.map((m) => m.configurator));
57
57
  this.#setMarketFilter([...configurators]);
58
- this.#setMarkets(state);
58
+ this.#setMarkets(markets);
59
+ this.hydrateZappers(zappers);
59
60
  }
60
61
  /**
61
62
  * @internal
@@ -174,7 +175,10 @@ class MarketRegister extends import_ZapperRegister.ZapperRegister {
174
175
  * Serializable snapshot of all loaded markets, suitable for hydration.
175
176
  **/
176
177
  get state() {
177
- return this.markets.map((market) => market.state);
178
+ return {
179
+ markets: this.markets.map((market) => market.state),
180
+ zappers: this.zappersState
181
+ };
178
182
  }
179
183
  /**
180
184
  * Returns a human-readable snapshot of all markets.
@@ -182,7 +186,8 @@ class MarketRegister extends import_ZapperRegister.ZapperRegister {
182
186
  **/
183
187
  stateHuman(raw = true) {
184
188
  return {
185
- markets: this.markets.map((market) => market.stateHuman(raw))
189
+ markets: this.markets.map((market) => market.stateHuman(raw)),
190
+ zappers: this.zappersStateHuman(raw)
186
191
  };
187
192
  }
188
193
  /**
@@ -75,6 +75,60 @@ class ZapperRegister extends import_base.SDKConstruct {
75
75
  }
76
76
  }
77
77
  }
78
+ /**
79
+ * Serializable snapshot of all loaded zappers, suitable for hydration.
80
+ * Returns `undefined` when zappers were never loaded (i.e. `loadZappers` was
81
+ * not called), so the not-loaded state round-trips cleanly.
82
+ **/
83
+ get zappersState() {
84
+ if (!this.#zappers) {
85
+ return void 0;
86
+ }
87
+ return this.#zappers.values().flatMap(
88
+ (zappers) => zappers.map((z) => ({
89
+ pool: z.pool,
90
+ type: z.type,
91
+ baseParams: z.baseParams,
92
+ tokenIn: z.tokenIn,
93
+ tokenOut: z.tokenOut
94
+ }))
95
+ );
96
+ }
97
+ /**
98
+ * Restores zapper state from a previously serialized snapshot,
99
+ * bypassing on-chain reads.
100
+ * @param state - Array of zapper data snapshots, or `undefined` when zappers
101
+ * were not loaded in the snapshot (leaves the registry in the not-loaded state).
102
+ **/
103
+ hydrateZappers(state) {
104
+ if (!state) {
105
+ return;
106
+ }
107
+ this.#zappers = new import_utils.AddressMap(void 0, "zappers");
108
+ for (const z of state) {
109
+ this.#addZapper(z);
110
+ }
111
+ }
112
+ /**
113
+ * Returns a human-readable snapshot of all loaded zappers.
114
+ * Returns `undefined` when zappers were never loaded.
115
+ * @param raw - When `true`, includes raw/unformatted values.
116
+ **/
117
+ zappersStateHuman(_ = true) {
118
+ if (!this.#zappers) {
119
+ return void 0;
120
+ }
121
+ return this.#zappers.values().flatMap(
122
+ (zappers) => zappers.map((z) => ({
123
+ address: this.labelAddress(z.baseParams.addr),
124
+ contractType: z.contractType,
125
+ type: z.type,
126
+ pool: this.labelAddress(z.pool),
127
+ tokenIn: this.sdk.labelAddress(z.tokenIn.addr),
128
+ tokenOut: this.sdk.labelAddress(z.tokenOut.addr)
129
+ }))
130
+ );
131
+ }
78
132
  #addZapper(z) {
79
133
  const zapper = (0, import_zapper.createZapper)(this.sdk, z);
80
134
  const existing = this.zappers.get(z.pool);
@@ -70,6 +70,30 @@ class SecuritizeRWAFactory extends import_base.BaseContract {
70
70
  operators: [...t.operators]
71
71
  }));
72
72
  }
73
+ parseFunctionParamsV2(params, strict) {
74
+ switch (params.functionName) {
75
+ case "openCreditAccount": {
76
+ const [creditManager, calls, tokensToRegister, signaturesToCache] = params.args;
77
+ return {
78
+ creditManager,
79
+ calls: this.register.parseMultiCallV2([...calls], strict),
80
+ tokensToRegister,
81
+ signaturesToCache
82
+ };
83
+ }
84
+ case "multicall": {
85
+ const [creditAccount, calls, tokensToRegister, signaturesToCache] = params.args;
86
+ return {
87
+ creditAccount,
88
+ calls: this.register.parseMultiCallV2([...calls], strict),
89
+ tokensToRegister,
90
+ signaturesToCache
91
+ };
92
+ }
93
+ default:
94
+ return super.parseFunctionParamsV2(params, strict);
95
+ }
96
+ }
73
97
  /**
74
98
  * {@inheritDoc IRWAFactory.decodeInvestorData}
75
99
  */
@@ -125,6 +149,12 @@ class SecuritizeRWAFactory extends import_base.BaseContract {
125
149
  })
126
150
  };
127
151
  }
152
+ /**
153
+ * {@inheritDoc IRWAFactory.getTokens}
154
+ */
155
+ getTokens() {
156
+ return this.dsTokens.map((t) => t.address);
157
+ }
128
158
  /**
129
159
  * {@inheritDoc IRWAFactory.getInvestor}
130
160
  */
@@ -24,8 +24,11 @@ __export(types_exports, {
24
24
  module.exports = __toCommonJS(types_exports);
25
25
  var import_securitize = require("./securitize/index.js");
26
26
  const RWA_FACTORY_TYPES = [import_securitize.RWA_FACTORY_SECURITIZE];
27
- function isRWAFactory(factory, type) {
28
- return factory.contractType === type;
27
+ function isRWAFactory(contract, type) {
28
+ if (type) {
29
+ return contract.contractType === type;
30
+ }
31
+ return contract.contractType.startsWith("RWA_FACTORY::");
29
32
  }
30
33
  // Annotate the CommonJS export names for ESM import in node:
31
34
  0 && (module.exports = {