@gearbox-protocol/sdk 14.11.3 → 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 (387) hide show
  1. package/dist/cjs/abi/iZapper.js +62 -24
  2. package/dist/cjs/common-utils/utils/index.js +2 -0
  3. package/dist/cjs/{history/trace-utils.js → common-utils/utils/trace.js} +62 -5
  4. package/dist/cjs/dev/AccountOpener.js +7 -13
  5. package/dist/cjs/dev/index.js +3 -1
  6. package/dist/cjs/dev/verifyTestnet.js +52 -0
  7. package/dist/cjs/history/assembleOperations.js +6 -6
  8. package/dist/cjs/history/classifyMulticallOperations.js +33 -25
  9. package/dist/cjs/history/index.js +0 -2
  10. package/dist/cjs/history/mapOperations.js +7 -0
  11. package/dist/cjs/history/parseCreditAccountTransaction.js +5 -6
  12. package/dist/cjs/history/toLegacyOperation.js +5 -1
  13. package/dist/cjs/plugins/adapters/abi/iConvexV1BoosterAdapter.js +143 -0
  14. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  15. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +61 -37
  16. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
  17. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
  18. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +19 -0
  19. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +15 -0
  20. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +20 -0
  21. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +18 -0
  22. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
  23. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  24. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  25. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  26. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  27. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  28. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  29. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +14 -0
  30. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +15 -0
  31. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +14 -0
  32. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +15 -0
  33. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +21 -0
  34. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +10 -0
  35. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +11 -0
  36. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +15 -0
  37. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +15 -0
  38. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +11 -0
  39. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +10 -0
  40. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +12 -0
  41. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +58 -0
  42. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +11 -0
  43. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +22 -1
  44. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +17 -0
  45. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +10 -0
  46. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  47. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  48. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +15 -0
  49. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +14 -0
  50. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +10 -0
  51. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +15 -0
  52. package/dist/cjs/{history/internal-types.js → plugins/adapters/transfers.js} +2 -2
  53. package/dist/cjs/preview/index.js +26 -0
  54. package/dist/cjs/preview/package.json +1 -0
  55. package/dist/cjs/preview/parse/classifyInnerOperations.js +105 -0
  56. package/dist/cjs/preview/parse/errors.js +50 -0
  57. package/dist/cjs/preview/parse/index.js +34 -0
  58. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +108 -0
  59. package/dist/cjs/preview/parse/parseOperationCalldata.js +85 -0
  60. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +89 -0
  61. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
  62. package/dist/cjs/{history/inner-operations.js → preview/parse/types-adapters.js} +2 -2
  63. package/dist/cjs/preview/parse/types-facades.js +16 -0
  64. package/dist/cjs/preview/parse/types-pools.js +16 -0
  65. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  66. package/dist/cjs/preview/parse/types.js +44 -0
  67. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +78 -0
  68. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +95 -0
  69. package/dist/cjs/preview/prerequisites/Prerequisite.js +85 -0
  70. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +66 -0
  71. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +297 -0
  72. package/dist/cjs/preview/prerequisites/index.js +36 -0
  73. package/dist/cjs/preview/prerequisites/prepareAction.js +48 -0
  74. package/dist/cjs/preview/prerequisites/runPrerequisites.js +71 -0
  75. package/dist/cjs/preview/prerequisites/types.js +16 -0
  76. package/dist/cjs/preview/preview/applyInnerOperations.js +132 -0
  77. package/dist/cjs/preview/preview/errors.js +52 -0
  78. package/dist/cjs/preview/preview/index.js +30 -0
  79. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +95 -0
  80. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +69 -0
  81. package/dist/cjs/preview/preview/previewOperation.js +45 -0
  82. package/dist/cjs/preview/preview/previewPoolOperation.js +75 -0
  83. package/dist/cjs/preview/preview/types.js +16 -0
  84. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +45 -0
  85. package/dist/cjs/preview/simulate/errors.js +91 -0
  86. package/dist/cjs/preview/simulate/index.js +40 -0
  87. package/dist/cjs/preview/simulate/simulateFacadeOperation.js +30 -0
  88. package/dist/cjs/preview/simulate/simulateOperation.js +41 -0
  89. package/dist/cjs/preview/simulate/simulatePoolOperation.js +91 -0
  90. package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -0
  91. package/dist/cjs/preview/simulate/types.js +16 -0
  92. package/dist/cjs/{history → preview/trace}/errors.js +0 -26
  93. package/dist/cjs/preview/trace/extractAdapterCallTraces.js +58 -0
  94. package/dist/cjs/{history → preview/trace}/extractTransfers.js +9 -12
  95. package/dist/cjs/{history → preview/trace}/findFacadeCalls.js +3 -3
  96. package/dist/cjs/preview/trace/index.js +30 -0
  97. package/dist/cjs/preview/trace/types.js +16 -0
  98. package/dist/cjs/sdk/MultichainSDK.js +1 -0
  99. package/dist/cjs/sdk/OnchainSDK.js +7 -3
  100. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +157 -4
  101. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  102. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  103. package/dist/cjs/sdk/market/MarketRegister.js +10 -5
  104. package/dist/cjs/sdk/market/ZapperRegister.js +54 -0
  105. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +30 -0
  106. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  107. package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  108. package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +3 -38
  109. package/dist/cjs/sdk/market/zapper/ZapperContract.js +106 -0
  110. package/dist/cjs/sdk/market/zapper/createZapper.js +12 -4
  111. package/dist/cjs/sdk/market/zapper/{Zapper.js → errors.js} +13 -23
  112. package/dist/cjs/sdk/market/zapper/index.js +6 -2
  113. package/dist/cjs/sdk/market/zapper/types.js +16 -0
  114. package/dist/cjs/sdk/options.js +41 -17
  115. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  116. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  117. package/dist/cjs/sdk/router/helpers.js +0 -5
  118. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  119. package/dist/cjs/sdk/utils/AssetsMap.js +62 -0
  120. package/dist/cjs/sdk/utils/index.js +2 -0
  121. package/dist/esm/abi/iZapper.js +62 -24
  122. package/dist/esm/common-utils/utils/index.js +1 -0
  123. package/dist/esm/common-utils/utils/trace.js +93 -0
  124. package/dist/esm/dev/AccountOpener.js +8 -13
  125. package/dist/esm/dev/index.js +1 -0
  126. package/dist/esm/dev/verifyTestnet.js +27 -0
  127. package/dist/esm/history/assembleOperations.js +8 -6
  128. package/dist/esm/history/classifyMulticallOperations.js +31 -23
  129. package/dist/esm/history/index.js +0 -1
  130. package/dist/esm/history/mapOperations.js +7 -0
  131. package/dist/esm/history/parseCreditAccountTransaction.js +3 -4
  132. package/dist/esm/history/toLegacyOperation.js +5 -1
  133. package/dist/esm/plugins/adapters/abi/iConvexV1BoosterAdapter.js +119 -0
  134. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  135. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +64 -38
  136. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
  137. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
  138. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +22 -1
  139. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +18 -1
  140. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -1
  141. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +22 -1
  142. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
  143. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
  144. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
  145. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
  146. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
  147. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
  148. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
  149. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +17 -1
  150. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +19 -1
  151. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +17 -1
  152. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +18 -1
  153. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +24 -1
  154. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -1
  155. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +14 -1
  156. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +18 -1
  157. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +18 -1
  158. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +14 -1
  159. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -1
  160. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -1
  161. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +61 -1
  162. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +14 -1
  163. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +25 -2
  164. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +20 -1
  165. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +13 -1
  166. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
  167. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
  168. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -1
  169. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -1
  170. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +13 -1
  171. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +18 -1
  172. package/dist/esm/preview/index.js +3 -0
  173. package/dist/esm/preview/package.json +1 -0
  174. package/dist/esm/preview/parse/classifyInnerOperations.js +81 -0
  175. package/dist/esm/preview/parse/errors.js +24 -0
  176. package/dist/esm/preview/parse/index.js +7 -0
  177. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +84 -0
  178. package/dist/esm/preview/parse/parseOperationCalldata.js +66 -0
  179. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +65 -0
  180. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
  181. package/dist/esm/preview/parse/types-facades.js +0 -0
  182. package/dist/esm/preview/parse/types-pools.js +0 -0
  183. package/dist/esm/preview/parse/types-rwa.js +0 -0
  184. package/dist/esm/preview/parse/types.js +14 -0
  185. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +57 -0
  186. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +74 -0
  187. package/dist/esm/preview/prerequisites/Prerequisite.js +63 -0
  188. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +42 -0
  189. package/dist/esm/preview/prerequisites/buildPrerequisites.js +279 -0
  190. package/dist/esm/preview/prerequisites/index.js +8 -0
  191. package/dist/esm/preview/prerequisites/prepareAction.js +23 -0
  192. package/dist/esm/preview/prerequisites/runPrerequisites.js +47 -0
  193. package/dist/esm/preview/prerequisites/types.js +0 -0
  194. package/dist/esm/preview/preview/applyInnerOperations.js +110 -0
  195. package/dist/esm/preview/preview/errors.js +27 -0
  196. package/dist/esm/preview/preview/index.js +5 -0
  197. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +79 -0
  198. package/dist/esm/preview/preview/previewOpenCreditAccount.js +51 -0
  199. package/dist/esm/preview/preview/previewOperation.js +21 -0
  200. package/dist/esm/preview/preview/previewPoolOperation.js +53 -0
  201. package/dist/esm/preview/preview/types.js +0 -0
  202. package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
  203. package/dist/esm/preview/simulate/errors.js +69 -0
  204. package/dist/esm/preview/simulate/index.js +12 -0
  205. package/dist/esm/preview/simulate/simulateFacadeOperation.js +6 -0
  206. package/dist/esm/preview/simulate/simulateOperation.js +20 -0
  207. package/dist/esm/preview/simulate/simulatePoolOperation.js +67 -0
  208. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  209. package/dist/esm/preview/simulate/types.js +0 -0
  210. package/dist/esm/{history → preview/trace}/errors.js +0 -24
  211. package/dist/esm/preview/trace/extractAdapterCallTraces.js +40 -0
  212. package/dist/esm/{history → preview/trace}/extractTransfers.js +9 -12
  213. package/dist/esm/{history → preview/trace}/findFacadeCalls.js +4 -2
  214. package/dist/esm/preview/trace/index.js +5 -0
  215. package/dist/esm/preview/trace/types.js +0 -0
  216. package/dist/esm/sdk/MultichainSDK.js +1 -0
  217. package/dist/esm/sdk/OnchainSDK.js +7 -3
  218. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +158 -5
  219. package/dist/esm/sdk/base/BaseContract.js +4 -2
  220. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  221. package/dist/esm/sdk/market/MarketRegister.js +10 -5
  222. package/dist/esm/sdk/market/ZapperRegister.js +54 -0
  223. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +33 -1
  224. package/dist/esm/sdk/market/rwa/types.js +5 -2
  225. package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +3 -38
  226. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +3 -38
  227. package/dist/esm/sdk/market/zapper/ZapperContract.js +82 -0
  228. package/dist/esm/sdk/market/zapper/createZapper.js +12 -4
  229. package/dist/esm/sdk/market/zapper/errors.js +13 -0
  230. package/dist/esm/sdk/market/zapper/index.js +3 -1
  231. package/dist/esm/sdk/market/zapper/types.js +0 -0
  232. package/dist/esm/sdk/options.js +39 -15
  233. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  234. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  235. package/dist/esm/sdk/router/helpers.js +0 -4
  236. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  237. package/dist/esm/sdk/utils/AssetsMap.js +38 -0
  238. package/dist/esm/sdk/utils/index.js +1 -0
  239. package/dist/types/abi/iERC20Zapper.d.ts +91 -23
  240. package/dist/types/abi/iETHZapper.d.ts +91 -23
  241. package/dist/types/abi/iZapper.d.ts +91 -23
  242. package/dist/types/common-utils/utils/index.d.ts +1 -0
  243. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  244. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  245. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  246. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  247. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  248. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  249. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  250. package/dist/types/common-utils/utils/trace.d.ts +73 -0
  251. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  252. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  253. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  254. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  255. package/dist/types/dev/index.d.ts +1 -0
  256. package/dist/types/dev/verifyTestnet.d.ts +24 -0
  257. package/dist/types/history/assembleOperations.d.ts +11 -6
  258. package/dist/types/history/classifyMulticallOperations.d.ts +21 -9
  259. package/dist/types/history/index.d.ts +0 -1
  260. package/dist/types/history/mapOperations.d.ts +7 -9
  261. package/dist/types/history/types.d.ts +22 -71
  262. package/dist/types/plugins/adapters/abi/iConvexV1BoosterAdapter.d.ts +204 -0
  263. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  264. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +33 -16
  265. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
  266. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +10 -1
  267. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +4 -2
  268. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +4 -2
  269. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +4 -2
  270. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +5 -3
  271. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +9 -7
  272. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +3 -6
  273. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +3 -6
  274. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +3 -6
  275. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +3 -3
  276. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
  277. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +3 -6
  278. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +5 -3
  279. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +5 -3
  280. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +5 -3
  281. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +4 -2
  282. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +4 -2
  283. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +4 -2
  284. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +5 -3
  285. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +5 -3
  286. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +5 -3
  287. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +4 -2
  288. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +4 -2
  289. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +4 -2
  290. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +4 -2
  291. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +4 -2
  292. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +15 -3
  293. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +4 -2
  294. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +4 -2
  295. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +4 -2
  296. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
  297. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +5 -3
  298. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +4 -2
  299. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +4 -2
  300. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +5 -3
  301. package/dist/types/plugins/adapters/transferHelpers.d.ts +1 -1
  302. package/dist/types/plugins/adapters/transfers.d.ts +17 -0
  303. package/dist/types/plugins/adapters/types.d.ts +18 -46
  304. package/dist/types/preview/index.d.ts +3 -0
  305. package/dist/types/preview/parse/classifyInnerOperations.d.ts +19 -0
  306. package/dist/types/preview/parse/errors.d.ts +18 -0
  307. package/dist/types/preview/parse/index.d.ts +7 -0
  308. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +19 -0
  309. package/dist/types/preview/parse/parseOperationCalldata.d.ts +23 -0
  310. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +17 -0
  311. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +22 -0
  312. package/dist/types/preview/parse/types-adapters.d.ts +73 -0
  313. package/dist/types/preview/parse/types-facades.d.ts +147 -0
  314. package/dist/types/preview/parse/types-pools.d.ts +143 -0
  315. package/dist/types/preview/parse/types-rwa.d.ts +48 -0
  316. package/dist/types/preview/parse/types.d.ts +49 -0
  317. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +22 -0
  318. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +26 -0
  319. package/dist/types/preview/prerequisites/Prerequisite.d.ts +60 -0
  320. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +36 -0
  321. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +25 -0
  322. package/dist/types/preview/prerequisites/index.d.ts +8 -0
  323. package/dist/types/preview/prerequisites/prepareAction.d.ts +52 -0
  324. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +12 -0
  325. package/dist/types/preview/prerequisites/types.d.ts +80 -0
  326. package/dist/types/preview/preview/applyInnerOperations.d.ts +77 -0
  327. package/dist/types/preview/preview/errors.d.ts +21 -0
  328. package/dist/types/preview/preview/index.d.ts +5 -0
  329. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +11 -0
  330. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +4 -0
  331. package/dist/types/preview/preview/previewOperation.d.ts +7 -0
  332. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  333. package/dist/types/preview/preview/types.d.ts +177 -0
  334. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
  335. package/dist/types/preview/simulate/errors.d.ts +45 -0
  336. package/dist/types/preview/simulate/index.d.ts +10 -0
  337. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +23 -0
  338. package/dist/types/preview/simulate/simulateOperation.d.ts +18 -0
  339. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +14 -0
  340. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +23 -0
  341. package/dist/types/preview/simulate/types.d.ts +52 -0
  342. package/dist/types/{history → preview/trace}/errors.d.ts +0 -10
  343. package/dist/types/preview/trace/extractAdapterCallTraces.d.ts +23 -0
  344. package/dist/types/{history → preview/trace}/extractTransfers.d.ts +14 -5
  345. package/dist/types/{history → preview/trace}/findFacadeCalls.d.ts +3 -2
  346. package/dist/types/preview/trace/index.d.ts +5 -0
  347. package/dist/types/preview/trace/types.d.ts +21 -0
  348. package/dist/types/sdk/MultichainSDK.d.ts +5 -0
  349. package/dist/types/sdk/OnchainSDK.d.ts +4 -0
  350. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +22 -2
  351. package/dist/types/sdk/accounts/types.d.ts +84 -2
  352. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  353. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  354. package/dist/types/sdk/base/types.d.ts +18 -0
  355. package/dist/types/sdk/market/MarketRegister.d.ts +15 -6
  356. package/dist/types/sdk/market/ZapperRegister.d.ts +25 -4
  357. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +6 -1
  358. package/dist/types/sdk/market/rwa/types.d.ts +13 -5
  359. package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +93 -39
  360. package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +93 -39
  361. package/dist/types/sdk/market/zapper/ZapperContract.d.ts +35 -0
  362. package/dist/types/sdk/market/zapper/createZapper.d.ts +2 -4
  363. package/dist/types/sdk/market/zapper/errors.d.ts +10 -0
  364. package/dist/types/sdk/market/zapper/index.d.ts +3 -1
  365. package/dist/types/sdk/market/zapper/types.d.ts +64 -0
  366. package/dist/types/sdk/options.d.ts +10 -5
  367. package/dist/types/sdk/pools/types.d.ts +4 -4
  368. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  369. package/dist/types/sdk/router/helpers.d.ts +1 -2
  370. package/dist/types/sdk/router/types.d.ts +1 -15
  371. package/dist/types/sdk/types/state-human.d.ts +9 -0
  372. package/dist/types/sdk/types/state.d.ts +7 -0
  373. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  374. package/dist/types/sdk/utils/AssetsMap.d.ts +27 -0
  375. package/dist/types/sdk/utils/index.d.ts +1 -0
  376. package/package.json +8 -3
  377. package/dist/cjs/history/extractProtocolCalls.js +0 -53
  378. package/dist/esm/history/extractProtocolCalls.js +0 -32
  379. package/dist/esm/history/trace-utils.js +0 -36
  380. package/dist/esm/sdk/market/zapper/Zapper.js +0 -23
  381. package/dist/types/history/extractProtocolCalls.d.ts +0 -8
  382. package/dist/types/history/inner-operations.d.ts +0 -57
  383. package/dist/types/history/internal-types.d.ts +0 -47
  384. package/dist/types/history/trace-utils.d.ts +0 -12
  385. package/dist/types/sdk/market/zapper/Zapper.d.ts +0 -13
  386. /package/dist/esm/{history/inner-operations.js → plugins/adapters/transfers.js} +0 -0
  387. /package/dist/esm/{history/internal-types.js → preview/parse/types-adapters.js} +0 -0
@@ -1,5 +1,7 @@
1
1
  import { iBalancerV3RouterAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import { MissingSerializedParamsError } from "../../../sdk/index.js";
4
6
  import { iBalancerV3RouterAbi } from "../abi/targetContractAbi.js";
5
7
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -69,6 +71,25 @@ class BalancerV3RouterAdapterContract extends AbstractAdapterContract {
69
71
  }))
70
72
  };
71
73
  }
74
+ decodeDiffLeftovers(decoded, balances) {
75
+ switch (decoded.functionName) {
76
+ case "swapSingleTokenDiffIn": {
77
+ const [, tokenIn, , leftoverAmount] = decoded.args;
78
+ return [{ tokenIn, leftoverAmount }];
79
+ }
80
+ // BPT (pool token) is spent down to the leftover
81
+ case "removeLiquiditySingleTokenDiff": {
82
+ const [pool, leftoverAmount] = decoded.args;
83
+ return [{ tokenIn: pool, leftoverAmount }];
84
+ }
85
+ case "addLiquidityUnbalancedDiff":
86
+ throw new Error(
87
+ `previewBalanceChanges cannot resolve pool tokens for addLiquidityUnbalancedDiff on ${this.contractType} adapter at ${this.address}`
88
+ );
89
+ default:
90
+ return super.decodeDiffLeftovers(decoded, balances);
91
+ }
92
+ }
72
93
  }
73
94
  export {
74
95
  BalancerV3PoolStatus,
@@ -1,5 +1,7 @@
1
1
  import { iBalancerV3WrapperAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import { MissingSerializedParamsError } from "../../../sdk/index.js";
4
6
  import { iBalancerV3WrapperAbi } from "../abi/targetContractAbi.js";
5
7
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -32,6 +34,21 @@ class BalancerV3WrapperAdapterContract extends AbstractAdapterContract {
32
34
  balancerPoolToken: this.#balancerPoolToken ? this.labelAddress(this.#balancerPoolToken) : void 0
33
35
  };
34
36
  }
37
+ decodeDiffLeftovers(decoded, balances) {
38
+ switch (decoded.functionName) {
39
+ // mint spends the pool token, burn spends the wrapper (target contract)
40
+ case "mintDiff": {
41
+ const [leftoverAmount] = decoded.args;
42
+ return [{ tokenIn: this.balancerPoolToken, leftoverAmount }];
43
+ }
44
+ case "burnDiff": {
45
+ const [leftoverAmount] = decoded.args;
46
+ return [{ tokenIn: this.targetContract, leftoverAmount }];
47
+ }
48
+ default:
49
+ return super.decodeDiffLeftovers(decoded, balances);
50
+ }
51
+ }
35
52
  }
36
53
  export {
37
54
  BalancerV3WrapperAdapterContract
@@ -1,5 +1,7 @@
1
1
  import { iCamelotV3AdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import { MissingSerializedParamsError } from "../../../sdk/index.js";
4
6
  import { iCamelotV3RouterAbi } from "../abi/targetContractAbi.js";
5
7
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -45,6 +47,26 @@ class CamelotV3AdapterContract extends AbstractAdapterContract {
45
47
  }))
46
48
  };
47
49
  }
50
+ decodeDiffLeftovers(decoded, balances) {
51
+ switch (decoded.functionName) {
52
+ case "exactDiffInputSingle": {
53
+ const [params] = decoded.args;
54
+ return [
55
+ {
56
+ tokenIn: params.tokenIn,
57
+ leftoverAmount: params.leftoverAmount
58
+ }
59
+ ];
60
+ }
61
+ case "exactDiffInput": {
62
+ const [params] = decoded.args;
63
+ const tokenIn = `0x${params.path.replace("0x", "").slice(0, 40)}`;
64
+ return [{ tokenIn, leftoverAmount: params.leftoverAmount }];
65
+ }
66
+ default:
67
+ return super.decodeDiffLeftovers(decoded, balances);
68
+ }
69
+ }
48
70
  }
49
71
  export {
50
72
  CamelotV3AdapterContract
@@ -1,5 +1,8 @@
1
1
  import { iConvexV1BaseRewardPoolAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters, zeroAddress } from "viem";
2
+ import {
3
+ decodeAbiParameters,
4
+ zeroAddress
5
+ } from "viem";
3
6
  import {
4
7
  MissingSerializedParamsError
5
8
  } from "../../../sdk/index.js";
@@ -113,6 +116,24 @@ class ConvexV1BaseRewardPoolAdapterContract extends AbstractAdapterContract {
113
116
  withdrawAmount: swap.toAmount
114
117
  };
115
118
  }
119
+ decodeDiffLeftovers(decoded, balances) {
120
+ switch (decoded.functionName) {
121
+ case "stakeDiff": {
122
+ const [leftoverAmount] = decoded.args;
123
+ return [{ tokenIn: this.stakingToken, leftoverAmount }];
124
+ }
125
+ case "withdrawDiff":
126
+ case "withdrawDiffAndUnwrap": {
127
+ const [leftoverAmount] = decoded.args;
128
+ return [{ tokenIn: this.stakedPhantomToken, leftoverAmount }];
129
+ }
130
+ // no accrued rewards on a freshly opened account
131
+ case "getReward":
132
+ return [];
133
+ default:
134
+ return super.decodeDiffLeftovers(decoded, balances);
135
+ }
136
+ }
116
137
  }
117
138
  export {
118
139
  ConvexV1BaseRewardPoolAdapterContract
@@ -1,8 +1,10 @@
1
- import { iConvexV1BoosterAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
1
+ import {
2
+ decodeAbiParameters
3
+ } from "viem";
3
4
  import {
4
5
  MissingSerializedParamsError
5
6
  } from "../../../sdk/index.js";
7
+ import { iConvexV1BoosterAdapterAbi } from "../abi/iConvexV1BoosterAdapter.js";
6
8
  import { iBoosterAbi } from "../abi/targetContractAbi.js";
7
9
  import { fnSigToName, swapFromTransfers } from "../transferHelpers.js";
8
10
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -81,6 +83,32 @@ class ConvexV1BoosterAdapterContract extends AbstractAdapterContract {
81
83
  }
82
84
  return super.classifyLegacyOperation(parsed, transfers);
83
85
  }
86
+ decodeDiffLeftovers(decoded, balances) {
87
+ switch (decoded.functionName) {
88
+ // deposit spends the curve LP token, withdraw spends the convex token
89
+ case "depositDiff": {
90
+ const [pid, leftoverAmount] = decoded.args;
91
+ const pool = this.#mustFindPool(Number(pid));
92
+ return [{ tokenIn: pool.curveToken, leftoverAmount }];
93
+ }
94
+ case "withdrawDiff": {
95
+ const [pid, leftoverAmount] = decoded.args;
96
+ const pool = this.#mustFindPool(Number(pid));
97
+ return [{ tokenIn: pool.convexToken, leftoverAmount }];
98
+ }
99
+ default:
100
+ return super.decodeDiffLeftovers(decoded, balances);
101
+ }
102
+ }
103
+ #mustFindPool(pid) {
104
+ const pool = this.supportedPools.find((p) => p.pid === pid);
105
+ if (!pool) {
106
+ throw new Error(
107
+ `convex pool with pid ${pid} not found on booster adapter at ${this.address}`
108
+ );
109
+ }
110
+ return pool;
111
+ }
84
112
  }
85
113
  export {
86
114
  ConvexV1BoosterAdapterContract
@@ -4,11 +4,10 @@ import {
4
4
  MissingSerializedParamsError
5
5
  } from "../../../sdk/index.js";
6
6
  import { iCurvePool_2Abi, iCurvePoolAbi } from "../abi/targetContractAbi.js";
7
- import { classifyCurveOperation } from "../transferHelpers.js";
8
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
9
8
  const abi = iCurveV1_2AssetsAdapterAbi;
10
9
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePool_2Abi];
11
- class Curve2AssetsAdapterContract extends AbstractAdapterContract {
10
+ class Curve2AssetsAdapterContract extends AbstractCurveAdapterContract {
12
11
  #token;
13
12
  #lpToken;
14
13
  #metapoolBase;
@@ -82,10 +81,6 @@ class Curve2AssetsAdapterContract extends AbstractAdapterContract {
82
81
  underlyings: this.#underlyings?.map((t) => this.labelAddress(t))
83
82
  };
84
83
  }
85
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
86
- classifyLegacyOperation(parsed, transfers) {
87
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
88
- }
89
84
  }
90
85
  export {
91
86
  Curve2AssetsAdapterContract
@@ -4,11 +4,10 @@ import {
4
4
  MissingSerializedParamsError
5
5
  } from "../../../sdk/index.js";
6
6
  import { iCurvePool_3Abi, iCurvePoolAbi } from "../abi/targetContractAbi.js";
7
- import { classifyCurveOperation } from "../transferHelpers.js";
8
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
9
8
  const abi = iCurveV1_3AssetsAdapterAbi;
10
9
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePool_3Abi];
11
- class Curve3AssetsAdapterContract extends AbstractAdapterContract {
10
+ class Curve3AssetsAdapterContract extends AbstractCurveAdapterContract {
12
11
  #token;
13
12
  #lpToken;
14
13
  #metapoolBase;
@@ -82,10 +81,6 @@ class Curve3AssetsAdapterContract extends AbstractAdapterContract {
82
81
  underlyings: this.#underlyings?.map((t) => this.labelAddress(t))
83
82
  };
84
83
  }
85
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
86
- classifyLegacyOperation(parsed, transfers) {
87
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
88
- }
89
84
  }
90
85
  export {
91
86
  Curve3AssetsAdapterContract
@@ -4,11 +4,10 @@ import {
4
4
  MissingSerializedParamsError
5
5
  } from "../../../sdk/index.js";
6
6
  import { iCurvePool_4Abi, iCurvePoolAbi } from "../abi/targetContractAbi.js";
7
- import { classifyCurveOperation } from "../transferHelpers.js";
8
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
9
8
  const abi = iCurveV1_4AssetsAdapterAbi;
10
9
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePool_4Abi];
11
- class Curve4AssetsAdapterContract extends AbstractAdapterContract {
10
+ class Curve4AssetsAdapterContract extends AbstractCurveAdapterContract {
12
11
  #token;
13
12
  #lpToken;
14
13
  #metapoolBase;
@@ -87,10 +86,6 @@ class Curve4AssetsAdapterContract extends AbstractAdapterContract {
87
86
  underlyings: this.#underlyings?.map((t) => this.labelAddress(t))
88
87
  };
89
88
  }
90
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
91
- classifyLegacyOperation(parsed, transfers) {
92
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
93
- }
94
89
  }
95
90
  export {
96
91
  Curve4AssetsAdapterContract
@@ -4,10 +4,10 @@ import {
4
4
  MissingSerializedParamsError
5
5
  } from "../../../sdk/index.js";
6
6
  import { iCurvePoolAbi } from "../abi/targetContractAbi.js";
7
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
8
8
  const abi = iCurveV1AdapterAbi;
9
9
  const protocolAbi = iCurvePoolAbi;
10
- class CurveV1AdapterDeposit extends AbstractAdapterContract {
10
+ class CurveV1AdapterDeposit extends AbstractCurveAdapterContract {
11
11
  #token;
12
12
  #lpToken;
13
13
  #metapoolBase;
@@ -4,11 +4,10 @@ import {
4
4
  MissingSerializedParamsError
5
5
  } from "../../../sdk/index.js";
6
6
  import { iCurvePool_2Abi, iCurvePoolAbi } from "../abi/targetContractAbi.js";
7
- import { classifyCurveOperation } from "../transferHelpers.js";
8
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
9
8
  const abi = iCurveV1_2AssetsAdapterAbi;
10
9
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePool_2Abi];
11
- class CurveV1AdapterStETHContract extends AbstractAdapterContract {
10
+ class CurveV1AdapterStETHContract extends AbstractCurveAdapterContract {
12
11
  #token;
13
12
  #lpToken;
14
13
  #metapoolBase;
@@ -65,10 +64,6 @@ class CurveV1AdapterStETHContract extends AbstractAdapterContract {
65
64
  if (!this.#tokens) throw new MissingSerializedParamsError("tokens");
66
65
  return this.#tokens;
67
66
  }
68
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
69
- classifyLegacyOperation(parsed, transfers) {
70
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
71
- }
72
67
  }
73
68
  export {
74
69
  CurveV1AdapterStETHContract
@@ -7,11 +7,10 @@ import {
7
7
  iCurvePoolAbi,
8
8
  iCurvePoolStableNGAbi
9
9
  } from "../abi/targetContractAbi.js";
10
- import { classifyCurveOperation } from "../transferHelpers.js";
11
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
10
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
12
11
  const abi = iCurveV1StableNgAdapterAbi;
13
12
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePoolStableNGAbi];
14
- class CurveV1StableNGAdapterContract extends AbstractAdapterContract {
13
+ class CurveV1StableNGAdapterContract extends AbstractCurveAdapterContract {
15
14
  #token;
16
15
  #lpToken;
17
16
  #metapoolBase;
@@ -98,10 +97,6 @@ class CurveV1StableNGAdapterContract extends AbstractAdapterContract {
98
97
  underlyings: this.#underlyings?.map((t) => this.labelAddress(t))
99
98
  };
100
99
  }
101
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
102
- classifyLegacyOperation(parsed, transfers) {
103
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
104
- }
105
100
  }
106
101
  export {
107
102
  CurveV1StableNGAdapterContract
@@ -1,5 +1,7 @@
1
1
  import { iDaiUsdsAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import {
4
6
  MissingSerializedParamsError
5
7
  } from "../../../sdk/index.js";
@@ -53,6 +55,20 @@ class DaiUsdsAdapterContract extends AbstractAdapterContract {
53
55
  }
54
56
  return super.classifyLegacyOperation(parsed, transfers);
55
57
  }
58
+ decodeDiffLeftovers(decoded, balances) {
59
+ switch (decoded.functionName) {
60
+ case "daiToUsdsDiff": {
61
+ const [leftoverAmount] = decoded.args;
62
+ return [{ tokenIn: this.dai, leftoverAmount }];
63
+ }
64
+ case "usdsToDaiDiff": {
65
+ const [leftoverAmount] = decoded.args;
66
+ return [{ tokenIn: this.usds, leftoverAmount }];
67
+ }
68
+ default:
69
+ return super.decodeDiffLeftovers(decoded, balances);
70
+ }
71
+ }
56
72
  }
57
73
  export {
58
74
  DaiUsdsAdapterContract
@@ -1,5 +1,8 @@
1
1
  import { ierc4626AdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters, zeroAddress } from "viem";
2
+ import {
3
+ decodeAbiParameters,
4
+ zeroAddress
5
+ } from "viem";
3
6
  import {
4
7
  MissingSerializedParamsError
5
8
  } from "../../../sdk/index.js";
@@ -70,6 +73,21 @@ class ERC4626AdapterContract extends AbstractAdapterContract {
70
73
  }
71
74
  return super.classifyLegacyOperation(parsed, transfers);
72
75
  }
76
+ decodeDiffLeftovers(decoded, balances) {
77
+ const share = this.#vault && this.#vault !== zeroAddress ? this.#vault : this.targetContract;
78
+ switch (decoded.functionName) {
79
+ case "depositDiff": {
80
+ const [leftoverAmount] = decoded.args;
81
+ return [{ tokenIn: this.asset, leftoverAmount }];
82
+ }
83
+ case "redeemDiff": {
84
+ const [leftoverAmount] = decoded.args;
85
+ return [{ tokenIn: share, leftoverAmount }];
86
+ }
87
+ default:
88
+ return super.decodeDiffLeftovers(decoded, balances);
89
+ }
90
+ }
73
91
  }
74
92
  export {
75
93
  ERC4626AdapterContract
@@ -1,5 +1,7 @@
1
1
  import { erc4626ReferralAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import {
4
6
  MissingSerializedParamsError
5
7
  } from "../../../sdk/index.js";
@@ -53,6 +55,20 @@ class ERC4626ReferralAdapterContract extends AbstractAdapterContract {
53
55
  }
54
56
  return super.classifyLegacyOperation(parsed, transfers);
55
57
  }
58
+ decodeDiffLeftovers(decoded, balances) {
59
+ switch (decoded.functionName) {
60
+ case "depositDiff": {
61
+ const [leftoverAmount] = decoded.args;
62
+ return [{ tokenIn: this.asset, leftoverAmount }];
63
+ }
64
+ case "redeemDiff": {
65
+ const [leftoverAmount] = decoded.args;
66
+ return [{ tokenIn: this.targetContract, leftoverAmount }];
67
+ }
68
+ default:
69
+ return super.decodeDiffLeftovers(decoded, balances);
70
+ }
71
+ }
56
72
  }
57
73
  export {
58
74
  ERC4626ReferralAdapterContract
@@ -1,5 +1,7 @@
1
1
  import { iFluidDexAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import {
4
6
  MissingSerializedParamsError
5
7
  } from "../../../sdk/index.js";
@@ -41,6 +43,21 @@ class FluidDexAdapterContract extends AbstractAdapterContract {
41
43
  token1: this.#token1 ? this.labelAddress(this.#token1) : void 0
42
44
  };
43
45
  }
46
+ decodeDiffLeftovers(decoded, balances) {
47
+ switch (decoded.functionName) {
48
+ case "swapInDiff": {
49
+ const [swap0to1, leftoverAmount] = decoded.args;
50
+ return [
51
+ {
52
+ tokenIn: swap0to1 ? this.token0 : this.token1,
53
+ leftoverAmount
54
+ }
55
+ ];
56
+ }
57
+ default:
58
+ return super.decodeDiffLeftovers(decoded, balances);
59
+ }
60
+ }
44
61
  }
45
62
  export {
46
63
  FluidDexAdapterContract
@@ -1,5 +1,7 @@
1
1
  import { iInfinifiGatewayAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import {
4
6
  MissingSerializedParamsError
5
7
  } from "../../../sdk/index.js";
@@ -63,6 +65,27 @@ class InfinifiGatewayAdapterContract extends AbstractAdapterContract {
63
65
  )
64
66
  };
65
67
  }
68
+ decodeDiffLeftovers(decoded, balances) {
69
+ switch (decoded.functionName) {
70
+ case "mintDiff": {
71
+ const [leftoverAmount] = decoded.args;
72
+ return [{ tokenIn: this.usdc, leftoverAmount }];
73
+ }
74
+ // redeem, stake and lock all spend iUSD
75
+ case "redeemDiff":
76
+ case "stakeDiff":
77
+ case "createPositionDiff": {
78
+ const [leftoverAmount] = decoded.args;
79
+ return [{ tokenIn: this.iusd, leftoverAmount }];
80
+ }
81
+ case "unstakeDiff": {
82
+ const [leftoverAmount] = decoded.args;
83
+ return [{ tokenIn: this.siusd, leftoverAmount }];
84
+ }
85
+ default:
86
+ return super.decodeDiffLeftovers(decoded, balances);
87
+ }
88
+ }
66
89
  }
67
90
  export {
68
91
  InfinifiGatewayAdapterContract
@@ -2,7 +2,9 @@ import {
2
2
  iKelpLrtDepositPoolAdapterAbi,
3
3
  iKelpLrtDepositPoolGatewayAbi
4
4
  } from "@gearbox-protocol/integrations-v3";
5
- import { decodeAbiParameters } from "viem";
5
+ import {
6
+ decodeAbiParameters
7
+ } from "viem";
6
8
  import {
7
9
  MissingSerializedParamsError
8
10
  } from "../../../sdk/index.js";
@@ -36,6 +38,16 @@ class KelpLRTDepositPoolAdapterContract extends AbstractAdapterContract {
36
38
  allowedAssets: this.#allowedAssets?.map((a) => this.labelAddress(a))
37
39
  };
38
40
  }
41
+ decodeDiffLeftovers(decoded, balances) {
42
+ switch (decoded.functionName) {
43
+ case "depositAssetDiff": {
44
+ const [tokenIn, leftoverAmount] = decoded.args;
45
+ return [{ tokenIn, leftoverAmount }];
46
+ }
47
+ default:
48
+ return super.decodeDiffLeftovers(decoded, balances);
49
+ }
50
+ }
39
51
  }
40
52
  export {
41
53
  KelpLRTDepositPoolAdapterContract
@@ -1,5 +1,7 @@
1
1
  import { iLidoV1AdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import {
4
6
  MissingSerializedParamsError
5
7
  } from "../../../sdk/index.js";
@@ -54,6 +56,17 @@ class LidoV1AdapterContract extends AbstractAdapterContract {
54
56
  classifyLegacyOperation(_parsed, transfers) {
55
57
  return { operation: "LidoSubmit", ...swapFromTransfers(transfers) };
56
58
  }
59
+ decodeDiffLeftovers(decoded, balances) {
60
+ switch (decoded.functionName) {
61
+ // the adapter targets the WETH gateway, so WETH is spent
62
+ case "submitDiff": {
63
+ const [leftoverAmount] = decoded.args;
64
+ return [{ tokenIn: this.weth, leftoverAmount }];
65
+ }
66
+ default:
67
+ return super.decodeDiffLeftovers(decoded, balances);
68
+ }
69
+ }
57
70
  }
58
71
  export {
59
72
  LidoV1AdapterContract
@@ -1,5 +1,7 @@
1
1
  import { mellowDvvAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import {
4
6
  MissingSerializedParamsError
5
7
  } from "../../../sdk/index.js";
@@ -52,6 +54,21 @@ class MellowDVVAdapterContract extends AbstractAdapterContract {
52
54
  }
53
55
  return super.classifyLegacyOperation(parsed, transfers);
54
56
  }
57
+ decodeDiffLeftovers(decoded, balances) {
58
+ const share = this.#vault ?? this.targetContract;
59
+ switch (decoded.functionName) {
60
+ case "depositDiff": {
61
+ const [leftoverAmount] = decoded.args;
62
+ return [{ tokenIn: this.asset, leftoverAmount }];
63
+ }
64
+ case "redeemDiff": {
65
+ const [leftoverAmount] = decoded.args;
66
+ return [{ tokenIn: share, leftoverAmount }];
67
+ }
68
+ default:
69
+ return super.decodeDiffLeftovers(decoded, balances);
70
+ }
71
+ }
55
72
  }
56
73
  export {
57
74
  MellowDVVAdapterContract
@@ -1,5 +1,7 @@
1
1
  import { iMellow4626VaultAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import {
4
6
  MissingSerializedParamsError
5
7
  } from "../../../sdk/index.js";
@@ -87,6 +89,21 @@ class MellowERC4626VaultAdapterContract extends AbstractAdapterContract {
87
89
  }
88
90
  return super.classifyLegacyOperation(parsed, transfers);
89
91
  }
92
+ decodeDiffLeftovers(decoded, balances) {
93
+ const share = this.#vault ?? this.targetContract;
94
+ switch (decoded.functionName) {
95
+ case "depositDiff": {
96
+ const [leftoverAmount] = decoded.args;
97
+ return [{ tokenIn: this.asset, leftoverAmount }];
98
+ }
99
+ case "redeemDiff": {
100
+ const [leftoverAmount] = decoded.args;
101
+ return [{ tokenIn: share, leftoverAmount }];
102
+ }
103
+ default:
104
+ return super.decodeDiffLeftovers(decoded, balances);
105
+ }
106
+ }
90
107
  }
91
108
  export {
92
109
  MellowERC4626VaultAdapterContract
@@ -1,5 +1,7 @@
1
1
  import { iMellowWrapperAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import {
4
6
  MissingSerializedParamsError
5
7
  } from "../../../sdk/index.js";
@@ -34,6 +36,17 @@ class MellowWrapperAdapterContract extends AbstractAdapterContract {
34
36
  allowedVaults: this.#allowedVaults?.map((v) => this.labelAddress(v))
35
37
  };
36
38
  }
39
+ decodeDiffLeftovers(decoded, balances) {
40
+ switch (decoded.functionName) {
41
+ case "depositDiff": {
42
+ const weth = this.tokensMeta.mustFindBySymbol("WETH").addr;
43
+ const [leftoverAmount] = decoded.args;
44
+ return [{ tokenIn: weth, leftoverAmount }];
45
+ }
46
+ default:
47
+ return super.decodeDiffLeftovers(decoded, balances);
48
+ }
49
+ }
37
50
  }
38
51
  export {
39
52
  MellowWrapperAdapterContract
@@ -1,5 +1,7 @@
1
1
  import { iMidasIssuanceVaultAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import { decodeAbiParameters } from "viem";
2
+ import {
3
+ decodeAbiParameters
4
+ } from "viem";
3
5
  import {
4
6
  MissingSerializedParamsError
5
7
  } from "../../../sdk/index.js";
@@ -51,6 +53,16 @@ class MidasIssuanceVaultAdapterContract extends AbstractAdapterContract {
51
53
  allowedTokens: this.#allowedTokens?.map((t) => this.labelAddress(t))
52
54
  };
53
55
  }
56
+ decodeDiffLeftovers(decoded, balances) {
57
+ switch (decoded.functionName) {
58
+ case "depositInstantDiff": {
59
+ const [tokenIn, leftoverAmount] = decoded.args;
60
+ return [{ tokenIn, leftoverAmount }];
61
+ }
62
+ default:
63
+ return super.decodeDiffLeftovers(decoded, balances);
64
+ }
65
+ }
54
66
  }
55
67
  export {
56
68
  MidasIssuanceVaultAdapterContract