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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/dist/cjs/abi/310/iSecuritizeDegenNFT.js +263 -0
  2. package/dist/cjs/abi/310/iSecuritizeKYCFactory.js +278 -0
  3. package/dist/cjs/dev/AccountOpener.js +45 -5
  4. package/dist/cjs/dev/providers.js +12 -0
  5. package/dist/cjs/history/assembleOperations.js +103 -0
  6. package/dist/cjs/history/classifyMulticallOperations.js +157 -0
  7. package/dist/cjs/history/errors.js +91 -0
  8. package/dist/cjs/history/extractProtocolCalls.js +53 -0
  9. package/dist/cjs/history/extractTransfers.js +168 -0
  10. package/dist/cjs/history/findFacadeCalls.js +84 -0
  11. package/dist/cjs/history/index.js +39 -0
  12. package/dist/cjs/history/inner-operations.js +16 -0
  13. package/dist/cjs/history/internal-types.js +16 -0
  14. package/dist/cjs/history/mapOperations.js +79 -0
  15. package/dist/cjs/history/package.json +1 -0
  16. package/dist/cjs/history/parseCreditAccountTransaction.js +86 -0
  17. package/dist/cjs/history/populateContractsRegister.js +68 -0
  18. package/dist/cjs/history/toLegacyOperation.js +182 -0
  19. package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
  20. package/dist/cjs/history/types.js +16 -0
  21. package/dist/cjs/plugins/adapters/AdaptersPlugin.js +13 -106
  22. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  23. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +5168 -0
  24. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +102 -3
  25. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  26. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
  27. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
  28. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
  29. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +91 -25
  30. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +63 -25
  31. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +68 -31
  32. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +68 -31
  33. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +73 -31
  34. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +80 -33
  35. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +62 -26
  36. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +80 -34
  37. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +39 -14
  38. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +55 -27
  39. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +39 -14
  40. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +27 -14
  41. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +45 -23
  42. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +23 -14
  43. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +22 -12
  44. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +26 -16
  45. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +39 -17
  46. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +21 -11
  47. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +38 -14
  48. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +71 -42
  49. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +21 -11
  50. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +36 -17
  51. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +38 -21
  52. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +63 -53
  53. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +62 -37
  54. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
  55. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +35 -21
  56. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +32 -23
  57. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +41 -27
  58. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +34 -17
  59. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
  60. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +31 -11
  61. package/dist/cjs/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +585 -0
  62. package/dist/cjs/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +262 -0
  63. package/dist/cjs/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +296 -0
  64. package/dist/cjs/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +415 -0
  65. package/dist/cjs/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +74 -0
  66. package/dist/cjs/plugins/adapters/contracts/{MellowRedeemQueueAdapterContract.js → deprecated/MellowRedeemQueueAdapterContract.js} +33 -14
  67. package/dist/cjs/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +233 -0
  68. package/dist/cjs/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +359 -0
  69. package/dist/cjs/plugins/adapters/contracts/deprecated/index.js +36 -0
  70. package/dist/cjs/plugins/adapters/contracts/index.js +3 -17
  71. package/dist/cjs/plugins/adapters/contracts/types.js +0 -9
  72. package/dist/cjs/plugins/adapters/createAdapter.js +140 -0
  73. package/dist/cjs/plugins/adapters/index.js +6 -0
  74. package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +16 -0
  75. package/dist/cjs/plugins/adapters/transferHelpers.js +127 -0
  76. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +464 -105
  77. package/dist/cjs/sdk/accounts/CreditAccountsServiceV300.js +9 -4
  78. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +16 -5
  79. package/dist/cjs/sdk/base/BaseContract.js +54 -3
  80. package/dist/cjs/sdk/base/ChainContractsRegister.js +34 -1
  81. package/dist/cjs/sdk/base/Construct.js +11 -3
  82. package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
  83. package/dist/cjs/sdk/base/TokensMeta.js +161 -22
  84. package/dist/cjs/sdk/base/errors.js +35 -0
  85. package/dist/cjs/sdk/base/index.js +2 -0
  86. package/dist/cjs/sdk/chain/chains.js +2 -1
  87. package/dist/cjs/sdk/market/MarketRegister.js +2 -2
  88. package/dist/cjs/sdk/market/MarketSuite.js +3 -0
  89. package/dist/cjs/sdk/{pools/extraZappers.js → market/ZapperRegister.js} +110 -6
  90. package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +10 -4
  91. package/dist/cjs/sdk/market/adapters/{factory.js → createAdapter.js} +3 -3
  92. package/dist/cjs/sdk/market/adapters/index.js +2 -2
  93. package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +108 -0
  94. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -40
  95. package/dist/cjs/sdk/market/credit/index.js +2 -0
  96. package/dist/cjs/sdk/market/index.js +3 -1
  97. package/dist/cjs/sdk/market/pool/PoolSuite.js +3 -0
  98. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +3 -0
  99. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +17 -2
  100. package/dist/cjs/sdk/market/pool/SecuritizeKYCFactory.js +97 -0
  101. package/dist/cjs/sdk/market/pool/index.js +2 -0
  102. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +20 -0
  103. package/dist/cjs/sdk/market/types.js +16 -0
  104. package/dist/cjs/sdk/pools/PoolService.js +181 -91
  105. package/dist/cjs/sdk/sdk-legacy/core/creditAccount.js +2 -0
  106. package/dist/cjs/sdk/utils/AddressMap.js +1 -1
  107. package/dist/cjs/sdk/utils/abi-decode.js +43 -2
  108. package/dist/cjs/sdk/utils/viem/sendRawTx.js +16 -0
  109. package/dist/esm/abi/310/iSecuritizeDegenNFT.js +239 -0
  110. package/dist/esm/abi/310/iSecuritizeKYCFactory.js +254 -0
  111. package/dist/esm/dev/AccountOpener.js +47 -6
  112. package/dist/esm/dev/providers.js +12 -0
  113. package/dist/esm/history/assembleOperations.js +79 -0
  114. package/dist/esm/history/classifyMulticallOperations.js +137 -0
  115. package/dist/esm/history/errors.js +62 -0
  116. package/dist/esm/history/extractProtocolCalls.js +32 -0
  117. package/dist/esm/history/extractTransfers.js +148 -0
  118. package/dist/esm/history/findFacadeCalls.js +63 -0
  119. package/dist/esm/history/index.js +9 -0
  120. package/dist/esm/history/inner-operations.js +0 -0
  121. package/dist/esm/history/internal-types.js +0 -0
  122. package/dist/esm/history/mapOperations.js +55 -0
  123. package/dist/esm/history/package.json +1 -0
  124. package/dist/esm/history/parseCreditAccountTransaction.js +62 -0
  125. package/dist/esm/history/populateContractsRegister.js +52 -0
  126. package/dist/esm/history/toLegacyOperation.js +157 -0
  127. package/dist/esm/history/trace-utils.js +36 -0
  128. package/dist/esm/history/types.js +0 -0
  129. package/dist/esm/plugins/adapters/AdaptersPlugin.js +14 -148
  130. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  131. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +5113 -0
  132. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +111 -4
  133. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  134. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
  135. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
  136. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
  137. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -26
  138. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +65 -25
  139. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +70 -31
  140. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +70 -31
  141. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +75 -31
  142. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +82 -33
  143. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +64 -26
  144. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +85 -34
  145. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +41 -14
  146. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +57 -27
  147. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +41 -14
  148. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +29 -14
  149. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +47 -23
  150. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +29 -15
  151. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +27 -12
  152. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +31 -16
  153. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +41 -17
  154. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +23 -11
  155. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +40 -14
  156. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +74 -43
  157. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +23 -11
  158. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +38 -17
  159. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +44 -22
  160. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +65 -53
  161. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +64 -37
  162. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
  163. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +36 -22
  164. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +33 -24
  165. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +45 -28
  166. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +40 -18
  167. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
  168. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +33 -11
  169. package/dist/esm/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +559 -0
  170. package/dist/esm/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +236 -0
  171. package/dist/esm/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +272 -0
  172. package/dist/esm/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +390 -0
  173. package/dist/esm/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +52 -0
  174. package/dist/esm/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.js +45 -0
  175. package/dist/esm/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +209 -0
  176. package/dist/esm/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +336 -0
  177. package/dist/esm/plugins/adapters/contracts/deprecated/index.js +8 -0
  178. package/dist/esm/plugins/adapters/contracts/index.js +1 -8
  179. package/dist/esm/plugins/adapters/contracts/types.js +0 -8
  180. package/dist/esm/plugins/adapters/createAdapter.js +158 -0
  181. package/dist/esm/plugins/adapters/index.js +3 -0
  182. package/dist/esm/plugins/adapters/legacyAdapterOperations.js +0 -0
  183. package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
  184. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +464 -105
  185. package/dist/esm/sdk/accounts/CreditAccountsServiceV300.js +9 -4
  186. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +16 -5
  187. package/dist/esm/sdk/base/BaseContract.js +56 -3
  188. package/dist/esm/sdk/base/ChainContractsRegister.js +34 -1
  189. package/dist/esm/sdk/base/Construct.js +11 -3
  190. package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
  191. package/dist/esm/sdk/base/TokensMeta.js +165 -21
  192. package/dist/esm/sdk/base/errors.js +11 -0
  193. package/dist/esm/sdk/base/index.js +1 -0
  194. package/dist/esm/sdk/chain/chains.js +2 -1
  195. package/dist/esm/sdk/market/MarketRegister.js +2 -2
  196. package/dist/esm/sdk/market/MarketSuite.js +3 -0
  197. package/dist/esm/sdk/{pools/extraZappers.js → market/ZapperRegister.js} +109 -2
  198. package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +14 -5
  199. package/dist/esm/sdk/market/adapters/index.js +1 -1
  200. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +86 -0
  201. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +3 -43
  202. package/dist/esm/sdk/market/credit/index.js +1 -0
  203. package/dist/esm/sdk/market/index.js +1 -0
  204. package/dist/esm/sdk/market/pool/PoolSuite.js +3 -0
  205. package/dist/esm/sdk/market/pool/PoolV300Contract.js +3 -0
  206. package/dist/esm/sdk/market/pool/PoolV310Contract.js +17 -2
  207. package/dist/esm/sdk/market/pool/SecuritizeKYCFactory.js +73 -0
  208. package/dist/esm/sdk/market/pool/index.js +1 -0
  209. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +21 -1
  210. package/dist/esm/sdk/market/types.js +0 -0
  211. package/dist/esm/sdk/pools/PoolService.js +182 -98
  212. package/dist/esm/sdk/sdk-legacy/core/creditAccount.js +2 -0
  213. package/dist/esm/sdk/utils/AddressMap.js +1 -1
  214. package/dist/esm/sdk/utils/abi-decode.js +43 -2
  215. package/dist/esm/sdk/utils/viem/sendRawTx.js +19 -1
  216. package/dist/types/abi/310/iSecuritizeDegenNFT.d.ts +324 -0
  217. package/dist/types/abi/310/iSecuritizeKYCFactory.d.ts +322 -0
  218. package/dist/types/dev/providers.d.ts +5 -5
  219. package/dist/types/history/assembleOperations.d.ts +22 -0
  220. package/dist/types/history/classifyMulticallOperations.d.ts +35 -0
  221. package/dist/types/history/errors.d.ts +30 -0
  222. package/dist/types/history/extractProtocolCalls.d.ts +8 -0
  223. package/dist/types/history/extractTransfers.d.ts +22 -0
  224. package/dist/types/history/findFacadeCalls.d.ts +9 -0
  225. package/dist/types/history/index.d.ts +6 -0
  226. package/dist/types/history/inner-operations.d.ts +57 -0
  227. package/dist/types/history/internal-types.d.ts +47 -0
  228. package/dist/types/history/mapOperations.d.ts +27 -0
  229. package/dist/types/history/parseCreditAccountTransaction.d.ts +27 -0
  230. package/dist/types/history/populateContractsRegister.d.ts +19 -0
  231. package/dist/types/history/toLegacyOperation.d.ts +18 -0
  232. package/dist/types/history/trace-utils.d.ts +12 -0
  233. package/dist/types/history/types.d.ts +71 -0
  234. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  235. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +8262 -0
  236. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +50 -8
  237. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +238 -4
  238. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +113 -4
  239. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +37 -4
  240. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +210 -4
  241. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +407 -8
  242. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +208 -5
  243. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1244 -10
  244. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1244 -10
  245. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1244 -10
  246. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +575 -11
  247. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1244 -10
  248. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1213 -11
  249. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +60 -6
  250. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +483 -6
  251. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +58 -6
  252. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +123 -6
  253. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +133 -8
  254. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +155 -5
  255. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +240 -6
  256. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +356 -6
  257. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +94 -7
  258. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +38 -5
  259. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +479 -6
  260. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +483 -7
  261. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +48 -5
  262. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +42 -7
  263. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +186 -7
  264. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1010 -5
  265. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +71 -8
  266. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +123 -4
  267. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +747 -5
  268. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +171 -4
  269. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +96 -5
  270. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +74 -7
  271. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +109 -4
  272. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +267 -5
  273. package/dist/types/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.d.ts +1664 -0
  274. package/dist/types/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.d.ts +611 -0
  275. package/dist/types/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.d.ts +686 -0
  276. package/dist/types/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.d.ts +1270 -0
  277. package/dist/types/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.d.ts +19 -0
  278. package/dist/types/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.d.ts +18 -0
  279. package/dist/types/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.d.ts +531 -0
  280. package/dist/types/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.d.ts +662 -0
  281. package/dist/types/plugins/adapters/contracts/deprecated/index.d.ts +8 -0
  282. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -8
  283. package/dist/types/plugins/adapters/contracts/types.d.ts +0 -6
  284. package/dist/types/plugins/adapters/createAdapter.d.ts +7 -0
  285. package/dist/types/plugins/adapters/index.d.ts +3 -0
  286. package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +200 -0
  287. package/dist/types/plugins/adapters/transferHelpers.d.ts +60 -0
  288. package/dist/types/plugins/adapters/types.d.ts +59 -1
  289. package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +123 -27
  290. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
  291. package/dist/types/sdk/accounts/types.d.ts +108 -8
  292. package/dist/types/sdk/base/BaseContract.d.ts +15 -2
  293. package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -1
  294. package/dist/types/sdk/base/Construct.d.ts +6 -3
  295. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  296. package/dist/types/sdk/base/TokensMeta.d.ts +30 -5
  297. package/dist/types/sdk/base/errors.d.ts +3 -0
  298. package/dist/types/sdk/base/index.d.ts +1 -0
  299. package/dist/types/sdk/base/token-types.d.ts +10 -2
  300. package/dist/types/sdk/base/types.d.ts +31 -0
  301. package/dist/types/sdk/chain/chains.d.ts +1 -1
  302. package/dist/types/sdk/market/MarketRegister.d.ts +2 -2
  303. package/dist/types/sdk/market/MarketSuite.d.ts +2 -0
  304. package/dist/types/sdk/market/ZapperRegister.d.ts +17 -0
  305. package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +9 -4
  306. package/dist/types/sdk/market/adapters/index.d.ts +1 -1
  307. package/dist/types/sdk/market/credit/CreditFacadeV310BaseContract.d.ts +856 -0
  308. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
  309. package/dist/types/sdk/market/credit/index.d.ts +1 -0
  310. package/dist/types/sdk/market/index.d.ts +1 -0
  311. package/dist/types/sdk/market/pool/PoolSuite.d.ts +2 -0
  312. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +2 -0
  313. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +6 -2
  314. package/dist/types/sdk/market/pool/SecuritizeKYCFactory.d.ts +345 -0
  315. package/dist/types/sdk/market/pool/index.d.ts +1 -0
  316. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +21 -1
  317. package/dist/types/sdk/market/types.d.ts +10 -0
  318. package/dist/types/sdk/pools/PoolService.d.ts +4 -4
  319. package/dist/types/sdk/pools/types.d.ts +25 -16
  320. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +1 -0
  321. package/dist/types/sdk/sdk-legacy/payload/creditAccount.d.ts +1 -0
  322. package/dist/types/sdk/utils/AddressMap.d.ts +1 -1
  323. package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
  324. package/dist/types/sdk/utils/viem/sendRawTx.d.ts +5 -1
  325. package/package.json +16 -11
  326. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -51
  327. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -58
  328. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -49
  329. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -56
  330. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -51
  331. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -46
  332. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -27
  333. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -34
  334. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -25
  335. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -32
  336. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -27
  337. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -24
  338. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -22
  339. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
  340. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +0 -482
  341. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +0 -225
  342. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +0 -198
  343. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +0 -396
  344. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -13
  345. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -12
  346. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +0 -203
  347. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
  348. package/dist/types/sdk/pools/extraZappers.d.ts +0 -9
  349. /package/dist/esm/sdk/market/adapters/{factory.js → createAdapter.js} +0 -0
  350. /package/dist/types/sdk/market/adapters/{factory.d.ts → createAdapter.d.ts} +0 -0
@@ -21,7 +21,6 @@ __export(PoolService_exports, {
21
21
  PoolService: () => PoolService
22
22
  });
23
23
  module.exports = __toCommonJS(PoolService_exports);
24
- var import_peripheryCompressor = require("../../abi/compressors/peripheryCompressor.js");
25
24
  var import_iERC20 = require("../../abi/iERC20.js");
26
25
  var import_iERC20ZapperDeposits = require("../../abi/iERC20ZapperDeposits.js");
27
26
  var import_iETHZapperDeposits = require("../../abi/iETHZapperDeposits.js");
@@ -29,59 +28,18 @@ var import_iZapper = require("../../abi/iZapper.js");
29
28
  var import_v300 = require("../../abi/v300.js");
30
29
  var import_base = require("../base/index.js");
31
30
  var import__ = require("../index.js");
32
- var import_extraZappers = require("./extraZappers.js");
31
+ var import_utils = require("../utils/index.js");
33
32
  const NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
33
+ const POOL_TOKENS_TO_MIGRATE = new import_utils.AddressMap([
34
+ // v2 diesels
35
+ ["0x6CFaF95457d7688022FC53e7AbE052ef8DFBbdBA", "dDAI"],
36
+ ["0xc411dB5f5Eb3f7d552F9B8454B2D74097ccdE6E3", "dUSDC"],
37
+ ["0xe753260F1955e8678DCeA8887759e07aa57E8c54", "dWBTC"],
38
+ ["0xF21fc650C1B34eb0FDE786D52d23dA99Db3D6278", "dWETH"],
39
+ ["0x2158034dB06f06dcB9A786D2F1F8c38781bA779d", "dwstETH"],
40
+ ["0x8A1112AFef7F4FC7c066a77AABBc01b3Fff31D47", "dFRAX"]
41
+ ]);
34
42
  class PoolService extends import_base.SDKConstruct {
35
- #zappers;
36
- get zappers() {
37
- if (!this.#zappers) {
38
- throw new Error("zappers not loaded, call loadZappers first");
39
- }
40
- return this.#zappers;
41
- }
42
- async loadZappers(force) {
43
- if (!force && this.#zappers) {
44
- return;
45
- }
46
- const [pcAddr] = this.sdk.addressProvider.mustGetLatest(
47
- import__.AP_PERIPHERY_COMPRESSOR,
48
- import__.VERSION_RANGE_310
49
- );
50
- this.logger?.debug(`loading zappers with periphery compressor ${pcAddr}`);
51
- const markets = this.sdk.marketRegister.markets;
52
- const resp = await this.client.multicall({
53
- contracts: markets.map(
54
- (m) => ({
55
- abi: import_peripheryCompressor.peripheryCompressorAbi,
56
- address: pcAddr,
57
- functionName: "getZappers",
58
- args: [m.configurator.address, m.pool.pool.address]
59
- })
60
- ),
61
- allowFailure: true,
62
- batchSize: 0
63
- });
64
- this.#zappers = new import__.AddressMap(void 0, "zappers");
65
- for (let i = 0; i < resp.length; i++) {
66
- const { status, result, error } = resp[i];
67
- const marketConfigurator = markets[i].configurator.address;
68
- const pool = markets[i].pool.pool.address;
69
- if (status === "success") {
70
- for (const z of result) {
71
- this.#addZapper({ ...z, pool });
72
- }
73
- } else {
74
- this.sdk.logger?.error(
75
- `failed to load zapper for market configurator ${this.labelAddress(
76
- marketConfigurator
77
- )} and pool ${this.labelAddress(pool)}: ${error}`
78
- );
79
- }
80
- }
81
- for (const z of import_extraZappers.extraZappers[this.networkType] ?? []) {
82
- this.#addZapper(z);
83
- }
84
- }
85
43
  getDepositTokensIn(pool) {
86
44
  const underlying = this.#describeUnderlying(pool);
87
45
  if (this.sdk.tokensMeta.isKYCUnderlying(underlying)) {
@@ -111,17 +69,24 @@ class PoolService extends import_base.SDKConstruct {
111
69
  if (this.sdk.tokensMeta.isKYCUnderlying(underlying)) {
112
70
  switch (underlying.contractType) {
113
71
  case import_base.KYC_UNDERLYING_DEFAULT: {
114
- return this.#depositMetadata(pool, tokenIn, tokenOut, false);
72
+ return this.#depositMetadata(
73
+ "kyc-default",
74
+ pool,
75
+ tokenIn,
76
+ tokenOut,
77
+ false
78
+ );
115
79
  }
116
80
  case import_base.KYC_UNDERLYING_ON_DEMAND:
117
81
  return {
118
82
  zapper: void 0,
119
83
  approveTarget: underlying.liquidityProvider,
120
- permissible: false
84
+ permissible: false,
85
+ type: "kyc-on-demand"
121
86
  };
122
87
  }
123
88
  }
124
- return this.#depositMetadata(pool, tokenIn, tokenOut, true);
89
+ return this.#depositMetadata("classic", pool, tokenIn, tokenOut, true);
125
90
  }
126
91
  addLiquidity(props) {
127
92
  const { collateral, meta, permit, referralCode, pool, wallet } = props;
@@ -132,7 +97,7 @@ class PoolService extends import_base.SDKConstruct {
132
97
  }
133
98
  }
134
99
  const { zapper } = meta;
135
- if (zapper?.tokenIn.addr === NATIVE_ADDRESS) {
100
+ if (zapper && (0, import__.hexEq)(zapper.tokenIn.addr, NATIVE_ADDRESS)) {
136
101
  return {
137
102
  target: zapper.baseParams.addr,
138
103
  abi: import_iETHZapperDeposits.iethZapperDepositsAbi,
@@ -169,8 +134,32 @@ class PoolService extends import_base.SDKConstruct {
169
134
  };
170
135
  }
171
136
  }
137
+ getWithdrawalTokensIn(pool) {
138
+ const underlying = this.#describeUnderlying(pool);
139
+ if (this.sdk.tokensMeta.isKYCUnderlying(underlying)) {
140
+ switch (underlying.contractType) {
141
+ case import_base.KYC_UNDERLYING_DEFAULT:
142
+ return this.#withdrawalTokensIn(pool, false);
143
+ case import_base.KYC_UNDERLYING_ON_DEMAND:
144
+ return [];
145
+ }
146
+ }
147
+ return this.#withdrawalTokensIn(pool, true);
148
+ }
149
+ getWithdrawalTokensOut(pool, tokenIn) {
150
+ const underlying = this.#describeUnderlying(pool);
151
+ if (this.sdk.tokensMeta.isKYCUnderlying(underlying)) {
152
+ switch (underlying.contractType) {
153
+ case import_base.KYC_UNDERLYING_DEFAULT:
154
+ return this.#withdrawalTokensOut(pool, tokenIn, false);
155
+ case import_base.KYC_UNDERLYING_ON_DEMAND:
156
+ return [underlying.asset];
157
+ }
158
+ }
159
+ return this.#withdrawalTokensOut(pool, tokenIn, true);
160
+ }
172
161
  removeLiquidity(props) {
173
- const { pool, amount, account, zapper, permit } = props;
162
+ const { pool, amount, meta, wallet, permit } = props;
174
163
  const underlying = this.#describeUnderlying(pool);
175
164
  if (this.sdk.tokensMeta.isKYCUnderlying(underlying)) {
176
165
  if (underlying.contractType === import_base.KYC_UNDERLYING_ON_DEMAND) {
@@ -182,40 +171,74 @@ class PoolService extends import_base.SDKConstruct {
182
171
  };
183
172
  }
184
173
  }
185
- if (zapper) {
174
+ if (meta.zapper) {
186
175
  return permit ? {
187
- target: zapper.zapper,
176
+ target: meta.zapper.baseParams.addr,
188
177
  abi: import_iZapper.iZapperAbi,
189
178
  functionName: "redeemWithPermit",
190
179
  args: [
191
180
  amount,
192
- account,
181
+ wallet,
193
182
  permit.deadline,
194
183
  permit.v,
195
184
  permit.r,
196
185
  permit.s
197
186
  ]
198
187
  } : {
199
- target: zapper.zapper,
188
+ target: meta.zapper.baseParams.addr,
200
189
  abi: import_iZapper.iZapperAbi,
201
190
  functionName: "redeem",
202
- args: [amount, account]
191
+ args: [amount, wallet]
203
192
  };
204
193
  }
205
194
  return {
206
195
  target: pool,
207
196
  abi: import_v300.iPoolV300Abi,
208
197
  functionName: "redeem",
209
- args: [amount, account, account]
198
+ args: [amount, wallet, wallet]
210
199
  };
211
200
  }
201
+ getWithdrawalMetadata(pool, tokenIn, tokenOut) {
202
+ const underlying = this.#describeUnderlying(pool);
203
+ if (this.sdk.tokensMeta.isKYCUnderlying(underlying)) {
204
+ switch (underlying.contractType) {
205
+ case import_base.KYC_UNDERLYING_DEFAULT: {
206
+ return this.#withdrawalMetadata(
207
+ "kyc-default",
208
+ pool,
209
+ tokenIn,
210
+ tokenOut,
211
+ false
212
+ );
213
+ }
214
+ case import_base.KYC_UNDERLYING_ON_DEMAND:
215
+ return {
216
+ zapper: void 0,
217
+ approveTarget: void 0,
218
+ permissible: false,
219
+ type: "kyc-on-demand"
220
+ };
221
+ }
222
+ }
223
+ return this.#withdrawalMetadata("classic", pool, tokenIn, tokenOut, true);
224
+ }
225
+ /**
226
+ * Filter out v2 diesel tokens (can come from migration v2 -> v3 zappers)
227
+ * Also omits "migration" zappers (v3 -> v3.1) since they are treated in a different way
228
+ */
229
+ #getDepositZappers(poolAddr) {
230
+ const zappers = this.sdk.marketRegister.poolZappers(poolAddr);
231
+ return zappers.filter(
232
+ (z) => z.type !== "migration" && !POOL_TOKENS_TO_MIGRATE.has(z.tokenIn.addr)
233
+ );
234
+ }
212
235
  #depositTokensIn(poolAddr, allowDirectDeposit) {
213
236
  const { pool } = this.sdk.marketRegister.findByPool(poolAddr);
214
237
  const result = new import__.AddressSet();
215
238
  if (allowDirectDeposit) {
216
239
  result.add(pool.underlying);
217
240
  }
218
- const zappers = this.zappers.get(poolAddr) ?? [];
241
+ const zappers = this.#getDepositZappers(poolAddr);
219
242
  for (const z of zappers) {
220
243
  if ((0, import__.hexEq)(z.tokenOut.addr, poolAddr)) {
221
244
  result.add(z.tokenIn.addr);
@@ -228,10 +251,27 @@ class PoolService extends import_base.SDKConstruct {
228
251
  }
229
252
  return result.asArray();
230
253
  }
254
+ #withdrawalTokensIn(poolAddr, allowDirectDeposit) {
255
+ const { pool } = this.sdk.marketRegister.findByPool(poolAddr);
256
+ const result = new import__.AddressSet();
257
+ if (allowDirectDeposit && pool) {
258
+ result.add(poolAddr);
259
+ }
260
+ const zappers = this.#getDepositZappers(poolAddr);
261
+ for (const z of zappers) {
262
+ result.add(z.tokenOut.addr);
263
+ }
264
+ if (result.size === 0) {
265
+ throw new Error(
266
+ `No tokensIn found for pool ${this.labelAddress(poolAddr)}`
267
+ );
268
+ }
269
+ return result.asArray();
270
+ }
231
271
  #depositTokensOut(poolAddr, tokenIn, allowDirectDeposit) {
232
272
  const result = new import__.AddressSet();
233
273
  const { pool } = this.sdk.marketRegister.findByPool(poolAddr);
234
- const zappers = this.zappers.get(poolAddr) ?? [];
274
+ const zappers = this.#getDepositZappers(poolAddr);
235
275
  for (const z of zappers) {
236
276
  if ((0, import__.hexEq)(z.tokenIn.addr, tokenIn)) {
237
277
  result.add(z.tokenOut.addr);
@@ -242,20 +282,68 @@ class PoolService extends import_base.SDKConstruct {
242
282
  }
243
283
  if (result.size === 0) {
244
284
  throw new Error(
245
- `No tokensOut found for tokenIn ${this.labelAddress(tokenIn)} on pool ${this.labelAddress(poolAddr)}`
285
+ `No tokensOut found for tokenIn ${this.labelAddress(
286
+ tokenIn
287
+ )} on pool ${this.labelAddress(poolAddr)}`
246
288
  );
247
289
  }
248
- return result.asArray();
290
+ const r = result.asArray();
291
+ return r;
249
292
  }
250
- #depositMetadata(poolAddr, tokenIn, tokenOut, allowDirectDeposit) {
293
+ #withdrawalTokensOut(poolAddr, tokenIn, allowDirectDeposit) {
294
+ const result = new import__.AddressSet();
295
+ const { pool } = this.sdk.marketRegister.findByPool(poolAddr);
296
+ const zappers = this.#getDepositZappers(poolAddr);
297
+ for (const z of zappers) {
298
+ if ((0, import__.hexEq)(z.tokenOut.addr, tokenIn)) {
299
+ result.add(z.tokenIn.addr);
300
+ }
301
+ }
302
+ if (allowDirectDeposit && (0, import__.hexEq)(tokenIn, poolAddr)) {
303
+ result.add(pool.underlying);
304
+ }
305
+ if (result.size === 0) {
306
+ throw new Error(
307
+ `No tokensOut found for tokenIn ${this.labelAddress(
308
+ tokenIn
309
+ )} on pool ${this.labelAddress(poolAddr)}`
310
+ );
311
+ }
312
+ const r = result.asArray();
313
+ return r;
314
+ }
315
+ /**
316
+ * Filter out v2 diesel tokens (can come from migration v2 -> v3 zappers)
317
+ * Also omits "migration" zappers (v3 -> v3.1) since they are treated in a different way
318
+ */
319
+ #getDepositZapper(poolAddr, tokenIn, tokenOut) {
320
+ const zappers = this.sdk.marketRegister.getZapper(poolAddr, tokenIn, tokenOut)?.filter(
321
+ (z) => z.type !== "migration" && !POOL_TOKENS_TO_MIGRATE.has(z.tokenIn.addr)
322
+ );
323
+ if (zappers && zappers.length > 1) {
324
+ throw new Error(
325
+ `Multiple zappers found for tokenIn ${this.labelAddress(
326
+ tokenIn
327
+ )} and tokenOut ${this.labelAddress(
328
+ tokenOut
329
+ )} on pool ${this.labelAddress(poolAddr)}`
330
+ );
331
+ }
332
+ return zappers?.[0];
333
+ }
334
+ #depositMetadata(type, poolAddr, tokenIn, tokenOut, allowDirectDeposit) {
251
335
  if (!tokenOut) {
252
336
  throw new Error("tokenOut is required for classic pool deposit");
253
337
  }
254
338
  const { pool } = this.sdk.marketRegister.findByPool(poolAddr);
255
- const zapper = this.#getZapper(poolAddr, tokenIn, tokenOut);
339
+ const zapper = this.#getDepositZapper(poolAddr, tokenIn, tokenOut);
256
340
  if (!zapper && !allowDirectDeposit) {
257
341
  throw new Error(
258
- `No zapper found for tokenIn ${this.labelAddress(tokenIn)} and tokenOut ${this.labelAddress(tokenOut)} on pool ${this.labelAddress(poolAddr)}`
342
+ `No zapper found for tokenIn ${this.labelAddress(
343
+ tokenIn
344
+ )} and tokenOut ${this.labelAddress(
345
+ tokenOut
346
+ )} on pool ${this.labelAddress(poolAddr)}`
259
347
  );
260
348
  }
261
349
  return {
@@ -264,31 +352,33 @@ class PoolService extends import_base.SDKConstruct {
264
352
  approveTarget: zapper?.baseParams.addr ?? pool.pool.address,
265
353
  // TODO: instead of permissible, return permitType зависимости от tokenIn
266
354
  // "none" | "eip2612" | "dai_like";
267
- permissible: !!zapper && tokenIn !== NATIVE_ADDRESS
355
+ permissible: !!zapper && !(0, import__.hexEq)(tokenIn, NATIVE_ADDRESS),
356
+ type
268
357
  };
269
358
  }
270
- #getZapper(pool, tokenIn, tokenOut) {
271
- return this.zappers.get(pool)?.find(
272
- (z) => (0, import__.hexEq)(z.tokenIn.addr, tokenIn) && (0, import__.hexEq)(z.tokenOut.addr, tokenOut)
273
- );
274
- }
275
- #addZapper(z) {
276
- const existing = this.zappers.get(z.pool);
277
- if (existing) {
278
- const hasZapper = existing.some(
279
- (zz) => (0, import__.hexEq)(zz.baseParams.addr, z.baseParams.addr)
280
- );
281
- if (!hasZapper) {
282
- existing.push(z);
283
- }
284
- } else {
285
- this.zappers.upsert(z.pool, [z]);
359
+ #withdrawalMetadata(type, poolAddr, tokenIn, tokenOut, allowDirectDeposit) {
360
+ if (!tokenOut) {
361
+ throw new Error("tokenOut is required for classic pool deposit");
286
362
  }
287
- const zappersTokens = [z.tokenIn, z.tokenOut];
288
- for (const t of zappersTokens) {
289
- this.sdk.tokensMeta.upsert(t.addr, t);
290
- this.sdk.setAddressLabel(t.addr, t.symbol);
363
+ const zapper = this.#getDepositZapper(poolAddr, tokenOut, tokenIn);
364
+ if (!zapper && !allowDirectDeposit) {
365
+ throw new Error(
366
+ `No zapper found for tokenIn ${this.labelAddress(
367
+ tokenOut
368
+ )} and tokenOut ${this.labelAddress(
369
+ tokenIn
370
+ )} on pool ${this.labelAddress(poolAddr)}`
371
+ );
291
372
  }
373
+ return {
374
+ zapper,
375
+ // zapper or pool itself
376
+ approveTarget: zapper?.baseParams.addr,
377
+ // TODO: instead of permissible, return permitType зависимости от tokenIn
378
+ // "none" | "eip2612" | "dai_like";
379
+ permissible: !!zapper,
380
+ type
381
+ };
292
382
  }
293
383
  #describeUnderlying(pool) {
294
384
  const market = this.sdk.marketRegister.findByPool(pool);
@@ -38,6 +38,7 @@ class CreditAccountData_Legacy {
38
38
  underlying;
39
39
  expirationDate;
40
40
  version;
41
+ investor;
41
42
  enabledTokensMask;
42
43
  healthFactor;
43
44
  baseBorrowRateWithoutFee;
@@ -67,6 +68,7 @@ class CreditAccountData_Legacy {
67
68
  this.underlying = payload.underlying.toLowerCase();
68
69
  this.expirationDate = Number(payload.expirationDate);
69
70
  this.version = Number(payload.cfVersion);
71
+ this.investor = payload.investor.toLowerCase();
70
72
  this.healthFactor = Number(
71
73
  (payload.healthFactor || 0n) * import_constants.PERCENTAGE_FACTOR / import_constants.WAD
72
74
  );
@@ -37,7 +37,7 @@ class AddressMap {
37
37
  this.#name = name;
38
38
  }
39
39
  /**
40
- * Adds or updates value, undefined removes value
40
+ * Adds or overwrites value, undefined removes value
41
41
  * @param address
42
42
  * @param value
43
43
  */
@@ -18,11 +18,22 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var abi_decode_exports = {};
20
20
  __export(abi_decode_exports, {
21
- functionArgsToMap: () => functionArgsToMap
21
+ functionArgsToMap: () => functionArgsToMap,
22
+ functionArgsToRecord: () => functionArgsToRecord,
23
+ getFunctionSignature: () => getFunctionSignature
22
24
  });
23
25
  module.exports = __toCommonJS(abi_decode_exports);
24
26
  var import_viem = require("viem");
25
27
  var import_utils = require("../../sdk/utils/index.js");
28
+ function getFunctionSignature(abi, calldataOrSelector) {
29
+ const selector = calldataOrSelector.slice(0, 10);
30
+ for (const item of abi) {
31
+ if (item.type === "function" && (0, import_viem.toFunctionSelector)(item) === selector) {
32
+ return (0, import_viem.toFunctionSignature)(item);
33
+ }
34
+ }
35
+ throw new Error(`Function with selector ${selector} not found in ABI`);
36
+ }
26
37
  function functionArgsToMap(abi, functionName, args) {
27
38
  const abiItem = (0, import_viem.getAbiItem)({
28
39
  abi,
@@ -52,7 +63,37 @@ function functionArgsToMap(abi, functionName, args) {
52
63
  }
53
64
  return namedArgs;
54
65
  }
66
+ function functionArgsToRecord(abi, functionName, args) {
67
+ const abiItem = (0, import_viem.getAbiItem)({
68
+ abi,
69
+ name: functionName,
70
+ args
71
+ });
72
+ if (!abiItem || abiItem.type !== "function") {
73
+ throw new import_viem.AbiFunctionNotFoundError(functionName);
74
+ }
75
+ const namedArgs = {};
76
+ if (Array.isArray(args)) {
77
+ args.forEach((value, i) => {
78
+ const input = abiItem.inputs?.[i];
79
+ const key = input?.name || `${i}`;
80
+ namedArgs[key] = value;
81
+ });
82
+ } else {
83
+ Object.entries(args || {}).forEach(([key, value]) => {
84
+ const index = parseInt(key, 10);
85
+ if (!Number.isNaN(index) && abiItem.inputs?.[index]?.name) {
86
+ namedArgs[abiItem.inputs[index].name] = value;
87
+ } else {
88
+ namedArgs[key] = value;
89
+ }
90
+ });
91
+ }
92
+ return namedArgs;
93
+ }
55
94
  // Annotate the CommonJS export names for ESM import in node:
56
95
  0 && (module.exports = {
57
- functionArgsToMap
96
+ functionArgsToMap,
97
+ functionArgsToRecord,
98
+ getFunctionSignature
58
99
  });
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var sendRawTx_exports = {};
20
20
  __export(sendRawTx_exports, {
21
+ estimateRawTxGas: () => estimateRawTxGas,
21
22
  sendRawTx: () => sendRawTx
22
23
  });
23
24
  module.exports = __toCommonJS(sendRawTx_exports);
@@ -36,7 +37,22 @@ async function sendRawTx(client, params) {
36
37
  value: BigInt(tx.value)
37
38
  });
38
39
  }
40
+ async function estimateRawTxGas(client, params) {
41
+ const { tx, ...rest } = params;
42
+ return (0, import_utils.getAction)(
43
+ client,
44
+ import_actions.estimateGas,
45
+ "estimateGas"
46
+ )({
47
+ ...rest,
48
+ account: params.account,
49
+ data: tx.callData,
50
+ to: tx.to,
51
+ value: BigInt(tx.value)
52
+ });
53
+ }
39
54
  // Annotate the CommonJS export names for ESM import in node:
40
55
  0 && (module.exports = {
56
+ estimateRawTxGas,
41
57
  sendRawTx
42
58
  });