@gearbox-protocol/sdk 14.12.0-next.8 → 14.12.0-next.9

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 (184) hide show
  1. package/dist/cjs/dev/AccountOpener.js +7 -13
  2. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  3. package/dist/cjs/history/mapOperations.js +7 -0
  4. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +10 -9
  5. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
  6. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +4 -5
  7. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +4 -9
  8. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +9 -5
  9. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +5 -10
  10. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +4 -5
  11. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -34
  12. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -34
  13. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -34
  14. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -29
  15. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -34
  16. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -34
  17. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +4 -5
  18. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +4 -5
  19. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +4 -5
  20. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +8 -8
  21. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +5 -6
  22. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +4 -5
  23. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +3 -4
  24. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +4 -5
  25. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +4 -5
  26. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +3 -4
  27. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +3 -4
  28. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +3 -4
  29. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +16 -11
  30. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +3 -4
  31. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +3 -4
  32. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +5 -10
  33. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +3 -4
  34. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +3 -4
  35. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +9 -5
  36. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +8 -8
  37. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +4 -5
  38. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +3 -4
  39. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +4 -5
  40. package/dist/cjs/plugins/adapters/index.js +0 -2
  41. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  42. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +3 -8
  43. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +51 -59
  44. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +10 -24
  45. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +3 -4
  46. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  47. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  48. package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +0 -31
  49. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +0 -25
  50. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  51. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  52. package/dist/cjs/sdk/router/helpers.js +0 -5
  53. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  54. package/dist/cjs/sdk/utils/AssetsMap.js +61 -0
  55. package/dist/cjs/sdk/utils/index.js +2 -0
  56. package/dist/esm/dev/AccountOpener.js +8 -13
  57. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  58. package/dist/esm/history/mapOperations.js +7 -0
  59. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +10 -9
  60. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
  61. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +4 -5
  62. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +4 -9
  63. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +9 -5
  64. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +5 -10
  65. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +4 -5
  66. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +3 -37
  67. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +3 -37
  68. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +3 -37
  69. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +3 -32
  70. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +3 -37
  71. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +3 -37
  72. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +4 -5
  73. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +4 -5
  74. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +4 -5
  75. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +8 -8
  76. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +5 -6
  77. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +4 -5
  78. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +3 -4
  79. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +4 -5
  80. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +4 -5
  81. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +3 -4
  82. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +3 -4
  83. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +3 -4
  84. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +16 -11
  85. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +3 -4
  86. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +3 -4
  87. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +5 -10
  88. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +3 -4
  89. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +3 -4
  90. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +9 -5
  91. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +8 -8
  92. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +4 -5
  93. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +3 -4
  94. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +4 -5
  95. package/dist/esm/plugins/adapters/index.js +0 -1
  96. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  97. package/dist/esm/preview/prerequisites/buildPrerequisites.js +4 -8
  98. package/dist/esm/preview/preview/previewOpenCreditAccount.js +54 -67
  99. package/dist/esm/preview/preview/unwrapNativeCollateral.js +11 -25
  100. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +4 -5
  101. package/dist/esm/sdk/base/BaseContract.js +4 -2
  102. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  103. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +0 -33
  104. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +1 -27
  105. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  106. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  107. package/dist/esm/sdk/router/helpers.js +0 -4
  108. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  109. package/dist/esm/sdk/utils/AssetsMap.js +37 -0
  110. package/dist/esm/sdk/utils/index.js +1 -0
  111. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  112. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  113. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  114. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  115. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  116. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  117. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  118. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  119. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  120. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  121. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  122. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +9 -11
  123. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
  124. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +2 -1
  125. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -1
  126. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +2 -1
  127. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -1
  128. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -1
  129. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +4 -8
  130. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +4 -9
  131. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +4 -8
  132. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +4 -5
  133. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +4 -8
  134. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +4 -8
  135. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -1
  136. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +2 -1
  137. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -1
  138. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +2 -1
  139. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -1
  140. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -1
  141. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +2 -1
  142. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -1
  143. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -1
  144. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -1
  145. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -1
  146. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -1
  147. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2 -1
  148. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +2 -1
  149. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +2 -1
  150. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -1
  151. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +2 -1
  152. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +2 -1
  153. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +2 -1
  154. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -1
  155. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -1
  156. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -1
  157. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -1
  158. package/dist/types/plugins/adapters/index.d.ts +0 -1
  159. package/dist/types/plugins/adapters/types.d.ts +10 -0
  160. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  161. package/dist/types/preview/parse/types-facades.d.ts +23 -1
  162. package/dist/types/preview/preview/types.d.ts +4 -0
  163. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +2 -2
  164. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
  165. package/dist/types/sdk/accounts/types.d.ts +2 -2
  166. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  167. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  168. package/dist/types/sdk/base/types.d.ts +18 -0
  169. package/dist/types/sdk/market/credit/CreditFacadeV310BaseContract.d.ts +1 -13
  170. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +1 -13
  171. package/dist/types/sdk/pools/types.d.ts +1 -1
  172. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  173. package/dist/types/sdk/router/helpers.d.ts +1 -2
  174. package/dist/types/sdk/router/types.d.ts +1 -15
  175. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  176. package/dist/types/sdk/utils/AssetsMap.d.ts +26 -0
  177. package/dist/types/sdk/utils/index.d.ts +1 -0
  178. package/package.json +1 -1
  179. package/dist/cjs/plugins/adapters/balanceChanges.js +0 -47
  180. package/dist/cjs/preview/preview/extractExpectedBalanceChanges.js +0 -70
  181. package/dist/esm/plugins/adapters/balanceChanges.js +0 -21
  182. package/dist/esm/preview/preview/extractExpectedBalanceChanges.js +0 -46
  183. package/dist/types/plugins/adapters/balanceChanges.d.ts +0 -21
  184. package/dist/types/preview/preview/extractExpectedBalanceChanges.d.ts +0 -33
@@ -1,17 +1,13 @@
1
1
  import { iCurveV1_2AssetsAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import {
3
- decodeAbiParameters
4
- } from "viem";
2
+ import { decodeAbiParameters } from "viem";
5
3
  import {
6
4
  MissingSerializedParamsError
7
5
  } from "../../../sdk/index.js";
8
6
  import { iCurvePool_2Abi, iCurvePoolAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover, curveCoin } from "../balanceChanges.js";
10
- import { classifyCurveOperation } from "../transferHelpers.js";
11
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
12
8
  const abi = iCurveV1_2AssetsAdapterAbi;
13
9
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePool_2Abi];
14
- class Curve2AssetsAdapterContract extends AbstractAdapterContract {
10
+ class Curve2AssetsAdapterContract extends AbstractCurveAdapterContract {
15
11
  #token;
16
12
  #lpToken;
17
13
  #metapoolBase;
@@ -85,36 +81,6 @@ class Curve2AssetsAdapterContract extends AbstractAdapterContract {
85
81
  underlyings: this.#underlyings?.map((t) => this.labelAddress(t))
86
82
  };
87
83
  }
88
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
89
- classifyLegacyOperation(parsed, transfers) {
90
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
91
- }
92
- previewDecodedBalanceChanges(balances, decoded) {
93
- switch (decoded.functionName) {
94
- case "exchange_diff": {
95
- const [i, , leftoverAmount] = decoded.args;
96
- return clampToLeftover(
97
- balances,
98
- curveCoin(this.tokens, i),
99
- leftoverAmount
100
- );
101
- }
102
- case "add_diff_liquidity_one_coin": {
103
- const [leftoverAmount, i] = decoded.args;
104
- return clampToLeftover(
105
- balances,
106
- curveCoin(this.tokens, i),
107
- leftoverAmount
108
- );
109
- }
110
- case "remove_diff_liquidity_one_coin": {
111
- const [leftoverAmount] = decoded.args;
112
- return clampToLeftover(balances, this.lpToken, leftoverAmount);
113
- }
114
- default:
115
- return super.previewDecodedBalanceChanges(balances, decoded);
116
- }
117
- }
118
84
  }
119
85
  export {
120
86
  Curve2AssetsAdapterContract
@@ -1,17 +1,13 @@
1
1
  import { iCurveV1_3AssetsAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import {
3
- decodeAbiParameters
4
- } from "viem";
2
+ import { decodeAbiParameters } from "viem";
5
3
  import {
6
4
  MissingSerializedParamsError
7
5
  } from "../../../sdk/index.js";
8
6
  import { iCurvePool_3Abi, iCurvePoolAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover, curveCoin } from "../balanceChanges.js";
10
- import { classifyCurveOperation } from "../transferHelpers.js";
11
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
12
8
  const abi = iCurveV1_3AssetsAdapterAbi;
13
9
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePool_3Abi];
14
- class Curve3AssetsAdapterContract extends AbstractAdapterContract {
10
+ class Curve3AssetsAdapterContract extends AbstractCurveAdapterContract {
15
11
  #token;
16
12
  #lpToken;
17
13
  #metapoolBase;
@@ -85,36 +81,6 @@ class Curve3AssetsAdapterContract extends AbstractAdapterContract {
85
81
  underlyings: this.#underlyings?.map((t) => this.labelAddress(t))
86
82
  };
87
83
  }
88
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
89
- classifyLegacyOperation(parsed, transfers) {
90
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
91
- }
92
- previewDecodedBalanceChanges(balances, decoded) {
93
- switch (decoded.functionName) {
94
- case "exchange_diff": {
95
- const [i, , leftoverAmount] = decoded.args;
96
- return clampToLeftover(
97
- balances,
98
- curveCoin(this.tokens, i),
99
- leftoverAmount
100
- );
101
- }
102
- case "add_diff_liquidity_one_coin": {
103
- const [leftoverAmount, i] = decoded.args;
104
- return clampToLeftover(
105
- balances,
106
- curveCoin(this.tokens, i),
107
- leftoverAmount
108
- );
109
- }
110
- case "remove_diff_liquidity_one_coin": {
111
- const [leftoverAmount] = decoded.args;
112
- return clampToLeftover(balances, this.lpToken, leftoverAmount);
113
- }
114
- default:
115
- return super.previewDecodedBalanceChanges(balances, decoded);
116
- }
117
- }
118
84
  }
119
85
  export {
120
86
  Curve3AssetsAdapterContract
@@ -1,17 +1,13 @@
1
1
  import { iCurveV1_4AssetsAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import {
3
- decodeAbiParameters
4
- } from "viem";
2
+ import { decodeAbiParameters } from "viem";
5
3
  import {
6
4
  MissingSerializedParamsError
7
5
  } from "../../../sdk/index.js";
8
6
  import { iCurvePool_4Abi, iCurvePoolAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover, curveCoin } from "../balanceChanges.js";
10
- import { classifyCurveOperation } from "../transferHelpers.js";
11
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
12
8
  const abi = iCurveV1_4AssetsAdapterAbi;
13
9
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePool_4Abi];
14
- class Curve4AssetsAdapterContract extends AbstractAdapterContract {
10
+ class Curve4AssetsAdapterContract extends AbstractCurveAdapterContract {
15
11
  #token;
16
12
  #lpToken;
17
13
  #metapoolBase;
@@ -90,36 +86,6 @@ class Curve4AssetsAdapterContract extends AbstractAdapterContract {
90
86
  underlyings: this.#underlyings?.map((t) => this.labelAddress(t))
91
87
  };
92
88
  }
93
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
94
- classifyLegacyOperation(parsed, transfers) {
95
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
96
- }
97
- previewDecodedBalanceChanges(balances, decoded) {
98
- switch (decoded.functionName) {
99
- case "exchange_diff": {
100
- const [i, , leftoverAmount] = decoded.args;
101
- return clampToLeftover(
102
- balances,
103
- curveCoin(this.tokens, i),
104
- leftoverAmount
105
- );
106
- }
107
- case "add_diff_liquidity_one_coin": {
108
- const [leftoverAmount, i] = decoded.args;
109
- return clampToLeftover(
110
- balances,
111
- curveCoin(this.tokens, i),
112
- leftoverAmount
113
- );
114
- }
115
- case "remove_diff_liquidity_one_coin": {
116
- const [leftoverAmount] = decoded.args;
117
- return clampToLeftover(balances, this.lpToken, leftoverAmount);
118
- }
119
- default:
120
- return super.previewDecodedBalanceChanges(balances, decoded);
121
- }
122
- }
123
89
  }
124
90
  export {
125
91
  Curve4AssetsAdapterContract
@@ -1,16 +1,13 @@
1
1
  import { iCurveV1AdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import {
3
- decodeAbiParameters
4
- } from "viem";
2
+ import { decodeAbiParameters } from "viem";
5
3
  import {
6
4
  MissingSerializedParamsError
7
5
  } from "../../../sdk/index.js";
8
6
  import { iCurvePoolAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover, curveCoin } from "../balanceChanges.js";
10
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
11
8
  const abi = iCurveV1AdapterAbi;
12
9
  const protocolAbi = iCurvePoolAbi;
13
- class CurveV1AdapterDeposit extends AbstractAdapterContract {
10
+ class CurveV1AdapterDeposit extends AbstractCurveAdapterContract {
14
11
  #token;
15
12
  #lpToken;
16
13
  #metapoolBase;
@@ -91,32 +88,6 @@ class CurveV1AdapterDeposit extends AbstractAdapterContract {
91
88
  `classifyLegacyOperation is not supported for legacy adapter: ${this.contractType}`
92
89
  );
93
90
  }
94
- previewDecodedBalanceChanges(balances, decoded) {
95
- switch (decoded.functionName) {
96
- case "exchange_diff": {
97
- const [i, , leftoverAmount] = decoded.args;
98
- return clampToLeftover(
99
- balances,
100
- curveCoin(this.tokens, i),
101
- leftoverAmount
102
- );
103
- }
104
- case "add_diff_liquidity_one_coin": {
105
- const [leftoverAmount, i] = decoded.args;
106
- return clampToLeftover(
107
- balances,
108
- curveCoin(this.tokens, i),
109
- leftoverAmount
110
- );
111
- }
112
- case "remove_diff_liquidity_one_coin": {
113
- const [leftoverAmount] = decoded.args;
114
- return clampToLeftover(balances, this.lpToken, leftoverAmount);
115
- }
116
- default:
117
- return super.previewDecodedBalanceChanges(balances, decoded);
118
- }
119
- }
120
91
  }
121
92
  export {
122
93
  CurveV1AdapterDeposit
@@ -1,17 +1,13 @@
1
1
  import { iCurveV1_2AssetsAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import {
3
- decodeAbiParameters
4
- } from "viem";
2
+ import { decodeAbiParameters } from "viem";
5
3
  import {
6
4
  MissingSerializedParamsError
7
5
  } from "../../../sdk/index.js";
8
6
  import { iCurvePool_2Abi, iCurvePoolAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover, curveCoin } from "../balanceChanges.js";
10
- import { classifyCurveOperation } from "../transferHelpers.js";
11
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
7
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
12
8
  const abi = iCurveV1_2AssetsAdapterAbi;
13
9
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePool_2Abi];
14
- class CurveV1AdapterStETHContract extends AbstractAdapterContract {
10
+ class CurveV1AdapterStETHContract extends AbstractCurveAdapterContract {
15
11
  #token;
16
12
  #lpToken;
17
13
  #metapoolBase;
@@ -68,36 +64,6 @@ class CurveV1AdapterStETHContract extends AbstractAdapterContract {
68
64
  if (!this.#tokens) throw new MissingSerializedParamsError("tokens");
69
65
  return this.#tokens;
70
66
  }
71
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
72
- classifyLegacyOperation(parsed, transfers) {
73
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
74
- }
75
- previewDecodedBalanceChanges(balances, decoded) {
76
- switch (decoded.functionName) {
77
- case "exchange_diff": {
78
- const [i, , leftoverAmount] = decoded.args;
79
- return clampToLeftover(
80
- balances,
81
- curveCoin(this.tokens, i),
82
- leftoverAmount
83
- );
84
- }
85
- case "add_diff_liquidity_one_coin": {
86
- const [leftoverAmount, i] = decoded.args;
87
- return clampToLeftover(
88
- balances,
89
- curveCoin(this.tokens, i),
90
- leftoverAmount
91
- );
92
- }
93
- case "remove_diff_liquidity_one_coin": {
94
- const [leftoverAmount] = decoded.args;
95
- return clampToLeftover(balances, this.lpToken, leftoverAmount);
96
- }
97
- default:
98
- return super.previewDecodedBalanceChanges(balances, decoded);
99
- }
100
- }
101
67
  }
102
68
  export {
103
69
  CurveV1AdapterStETHContract
@@ -1,7 +1,5 @@
1
1
  import { iCurveV1StableNgAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
- import {
3
- decodeAbiParameters
4
- } from "viem";
2
+ import { decodeAbiParameters } from "viem";
5
3
  import {
6
4
  MissingSerializedParamsError
7
5
  } from "../../../sdk/index.js";
@@ -9,12 +7,10 @@ import {
9
7
  iCurvePoolAbi,
10
8
  iCurvePoolStableNGAbi
11
9
  } from "../abi/targetContractAbi.js";
12
- import { clampToLeftover, curveCoin } from "../balanceChanges.js";
13
- import { classifyCurveOperation } from "../transferHelpers.js";
14
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
10
+ import { AbstractCurveAdapterContract } from "./AbstractCurveAdapter.js";
15
11
  const abi = iCurveV1StableNgAdapterAbi;
16
12
  const protocolAbi = [...iCurvePoolAbi, ...iCurvePoolStableNGAbi];
17
- class CurveV1StableNGAdapterContract extends AbstractAdapterContract {
13
+ class CurveV1StableNGAdapterContract extends AbstractCurveAdapterContract {
18
14
  #token;
19
15
  #lpToken;
20
16
  #metapoolBase;
@@ -101,36 +97,6 @@ class CurveV1StableNGAdapterContract extends AbstractAdapterContract {
101
97
  underlyings: this.#underlyings?.map((t) => this.labelAddress(t))
102
98
  };
103
99
  }
104
- /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
105
- classifyLegacyOperation(parsed, transfers) {
106
- return classifyCurveOperation(parsed.functionName, transfers) ?? super.classifyLegacyOperation(parsed, transfers);
107
- }
108
- previewDecodedBalanceChanges(balances, decoded) {
109
- switch (decoded.functionName) {
110
- case "exchange_diff": {
111
- const [i, , leftoverAmount] = decoded.args;
112
- return clampToLeftover(
113
- balances,
114
- curveCoin(this.tokens, i),
115
- leftoverAmount
116
- );
117
- }
118
- case "add_diff_liquidity_one_coin": {
119
- const [leftoverAmount, i] = decoded.args;
120
- return clampToLeftover(
121
- balances,
122
- curveCoin(this.tokens, i),
123
- leftoverAmount
124
- );
125
- }
126
- case "remove_diff_liquidity_one_coin": {
127
- const [leftoverAmount] = decoded.args;
128
- return clampToLeftover(balances, this.lpToken, leftoverAmount);
129
- }
130
- default:
131
- return super.previewDecodedBalanceChanges(balances, decoded);
132
- }
133
- }
134
100
  }
135
101
  export {
136
102
  CurveV1StableNGAdapterContract
@@ -6,7 +6,6 @@ import {
6
6
  MissingSerializedParamsError
7
7
  } from "../../../sdk/index.js";
8
8
  import { iDaiUsdsAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover } from "../balanceChanges.js";
10
9
  import { swapFromTransfers } from "../transferHelpers.js";
11
10
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
12
11
  const abi = iDaiUsdsAdapterAbi;
@@ -56,18 +55,18 @@ class DaiUsdsAdapterContract extends AbstractAdapterContract {
56
55
  }
57
56
  return super.classifyLegacyOperation(parsed, transfers);
58
57
  }
59
- previewDecodedBalanceChanges(balances, decoded) {
58
+ decodeDiffLeftovers(decoded, balances) {
60
59
  switch (decoded.functionName) {
61
60
  case "daiToUsdsDiff": {
62
61
  const [leftoverAmount] = decoded.args;
63
- return clampToLeftover(balances, this.dai, leftoverAmount);
62
+ return [{ tokenIn: this.dai, leftoverAmount }];
64
63
  }
65
64
  case "usdsToDaiDiff": {
66
65
  const [leftoverAmount] = decoded.args;
67
- return clampToLeftover(balances, this.usds, leftoverAmount);
66
+ return [{ tokenIn: this.usds, leftoverAmount }];
68
67
  }
69
68
  default:
70
- return super.previewDecodedBalanceChanges(balances, decoded);
69
+ return super.decodeDiffLeftovers(decoded, balances);
71
70
  }
72
71
  }
73
72
  }
@@ -7,7 +7,6 @@ import {
7
7
  MissingSerializedParamsError
8
8
  } from "../../../sdk/index.js";
9
9
  import { iERC4626Abi } from "../abi/targetContractAbi.js";
10
- import { clampToLeftover } from "../balanceChanges.js";
11
10
  import { fnSigToName, swapFromTransfers } from "../transferHelpers.js";
12
11
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
13
12
  const abi = ierc4626AdapterAbi;
@@ -74,19 +73,19 @@ class ERC4626AdapterContract extends AbstractAdapterContract {
74
73
  }
75
74
  return super.classifyLegacyOperation(parsed, transfers);
76
75
  }
77
- previewDecodedBalanceChanges(balances, decoded) {
76
+ decodeDiffLeftovers(decoded, balances) {
78
77
  const share = this.#vault && this.#vault !== zeroAddress ? this.#vault : this.targetContract;
79
78
  switch (decoded.functionName) {
80
79
  case "depositDiff": {
81
80
  const [leftoverAmount] = decoded.args;
82
- return clampToLeftover(balances, this.asset, leftoverAmount);
81
+ return [{ tokenIn: this.asset, leftoverAmount }];
83
82
  }
84
83
  case "redeemDiff": {
85
84
  const [leftoverAmount] = decoded.args;
86
- return clampToLeftover(balances, share, leftoverAmount);
85
+ return [{ tokenIn: share, leftoverAmount }];
87
86
  }
88
87
  default:
89
- return super.previewDecodedBalanceChanges(balances, decoded);
88
+ return super.decodeDiffLeftovers(decoded, balances);
90
89
  }
91
90
  }
92
91
  }
@@ -6,7 +6,6 @@ import {
6
6
  MissingSerializedParamsError
7
7
  } from "../../../sdk/index.js";
8
8
  import { iERC4626ReferralAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover } from "../balanceChanges.js";
10
9
  import { fnSigToName, swapFromTransfers } from "../transferHelpers.js";
11
10
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
12
11
  const abi = erc4626ReferralAdapterAbi;
@@ -56,18 +55,18 @@ class ERC4626ReferralAdapterContract extends AbstractAdapterContract {
56
55
  }
57
56
  return super.classifyLegacyOperation(parsed, transfers);
58
57
  }
59
- previewDecodedBalanceChanges(balances, decoded) {
58
+ decodeDiffLeftovers(decoded, balances) {
60
59
  switch (decoded.functionName) {
61
60
  case "depositDiff": {
62
61
  const [leftoverAmount] = decoded.args;
63
- return clampToLeftover(balances, this.asset, leftoverAmount);
62
+ return [{ tokenIn: this.asset, leftoverAmount }];
64
63
  }
65
64
  case "redeemDiff": {
66
65
  const [leftoverAmount] = decoded.args;
67
- return clampToLeftover(balances, this.targetContract, leftoverAmount);
66
+ return [{ tokenIn: this.targetContract, leftoverAmount }];
68
67
  }
69
68
  default:
70
- return super.previewDecodedBalanceChanges(balances, decoded);
69
+ return super.decodeDiffLeftovers(decoded, balances);
71
70
  }
72
71
  }
73
72
  }
@@ -6,7 +6,6 @@ import {
6
6
  MissingSerializedParamsError
7
7
  } from "../../../sdk/index.js";
8
8
  import { iFluidDexAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover } from "../balanceChanges.js";
10
9
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
11
10
  const abi = iFluidDexAdapterAbi;
12
11
  const protocolAbi = iFluidDexAbi;
@@ -44,18 +43,19 @@ class FluidDexAdapterContract extends AbstractAdapterContract {
44
43
  token1: this.#token1 ? this.labelAddress(this.#token1) : void 0
45
44
  };
46
45
  }
47
- previewDecodedBalanceChanges(balances, decoded) {
46
+ decodeDiffLeftovers(decoded, balances) {
48
47
  switch (decoded.functionName) {
49
48
  case "swapInDiff": {
50
49
  const [swap0to1, leftoverAmount] = decoded.args;
51
- return clampToLeftover(
52
- balances,
53
- swap0to1 ? this.token0 : this.token1,
54
- leftoverAmount
55
- );
50
+ return [
51
+ {
52
+ tokenIn: swap0to1 ? this.token0 : this.token1,
53
+ leftoverAmount
54
+ }
55
+ ];
56
56
  }
57
57
  default:
58
- return super.previewDecodedBalanceChanges(balances, decoded);
58
+ return super.decodeDiffLeftovers(decoded, balances);
59
59
  }
60
60
  }
61
61
  }
@@ -6,7 +6,6 @@ import {
6
6
  MissingSerializedParamsError
7
7
  } from "../../../sdk/index.js";
8
8
  import { iInfinifiGatewayAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover } from "../balanceChanges.js";
10
9
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
11
10
  const abi = iInfinifiGatewayAdapterAbi;
12
11
  const protocolAbi = iInfinifiGatewayAbi;
@@ -66,25 +65,25 @@ class InfinifiGatewayAdapterContract extends AbstractAdapterContract {
66
65
  )
67
66
  };
68
67
  }
69
- previewDecodedBalanceChanges(balances, decoded) {
68
+ decodeDiffLeftovers(decoded, balances) {
70
69
  switch (decoded.functionName) {
71
70
  case "mintDiff": {
72
71
  const [leftoverAmount] = decoded.args;
73
- return clampToLeftover(balances, this.usdc, leftoverAmount);
72
+ return [{ tokenIn: this.usdc, leftoverAmount }];
74
73
  }
75
74
  // redeem, stake and lock all spend iUSD
76
75
  case "redeemDiff":
77
76
  case "stakeDiff":
78
77
  case "createPositionDiff": {
79
78
  const [leftoverAmount] = decoded.args;
80
- return clampToLeftover(balances, this.iusd, leftoverAmount);
79
+ return [{ tokenIn: this.iusd, leftoverAmount }];
81
80
  }
82
81
  case "unstakeDiff": {
83
82
  const [leftoverAmount] = decoded.args;
84
- return clampToLeftover(balances, this.siusd, leftoverAmount);
83
+ return [{ tokenIn: this.siusd, leftoverAmount }];
85
84
  }
86
85
  default:
87
- return super.previewDecodedBalanceChanges(balances, decoded);
86
+ return super.decodeDiffLeftovers(decoded, balances);
88
87
  }
89
88
  }
90
89
  }
@@ -8,7 +8,6 @@ import {
8
8
  import {
9
9
  MissingSerializedParamsError
10
10
  } from "../../../sdk/index.js";
11
- import { clampToLeftover } from "../balanceChanges.js";
12
11
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
13
12
  const abi = iKelpLrtDepositPoolAdapterAbi;
14
13
  const protocolAbi = iKelpLrtDepositPoolGatewayAbi;
@@ -39,14 +38,14 @@ class KelpLRTDepositPoolAdapterContract extends AbstractAdapterContract {
39
38
  allowedAssets: this.#allowedAssets?.map((a) => this.labelAddress(a))
40
39
  };
41
40
  }
42
- previewDecodedBalanceChanges(balances, decoded) {
41
+ decodeDiffLeftovers(decoded, balances) {
43
42
  switch (decoded.functionName) {
44
43
  case "depositAssetDiff": {
45
- const [asset, leftoverAmount] = decoded.args;
46
- return clampToLeftover(balances, asset, leftoverAmount);
44
+ const [tokenIn, leftoverAmount] = decoded.args;
45
+ return [{ tokenIn, leftoverAmount }];
47
46
  }
48
47
  default:
49
- return super.previewDecodedBalanceChanges(balances, decoded);
48
+ return super.decodeDiffLeftovers(decoded, balances);
50
49
  }
51
50
  }
52
51
  }
@@ -6,7 +6,6 @@ import {
6
6
  MissingSerializedParamsError
7
7
  } from "../../../sdk/index.js";
8
8
  import { lidoV1_WETHGatewayAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover } from "../balanceChanges.js";
10
9
  import { swapFromTransfers } from "../transferHelpers.js";
11
10
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
12
11
  const abi = iLidoV1AdapterAbi;
@@ -57,15 +56,15 @@ class LidoV1AdapterContract extends AbstractAdapterContract {
57
56
  classifyLegacyOperation(_parsed, transfers) {
58
57
  return { operation: "LidoSubmit", ...swapFromTransfers(transfers) };
59
58
  }
60
- previewDecodedBalanceChanges(balances, decoded) {
59
+ decodeDiffLeftovers(decoded, balances) {
61
60
  switch (decoded.functionName) {
62
61
  // the adapter targets the WETH gateway, so WETH is spent
63
62
  case "submitDiff": {
64
63
  const [leftoverAmount] = decoded.args;
65
- return clampToLeftover(balances, this.weth, leftoverAmount);
64
+ return [{ tokenIn: this.weth, leftoverAmount }];
66
65
  }
67
66
  default:
68
- return super.previewDecodedBalanceChanges(balances, decoded);
67
+ return super.decodeDiffLeftovers(decoded, balances);
69
68
  }
70
69
  }
71
70
  }
@@ -6,7 +6,6 @@ import {
6
6
  MissingSerializedParamsError
7
7
  } from "../../../sdk/index.js";
8
8
  import { iERC4626Abi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover } from "../balanceChanges.js";
10
9
  import { fnSigToName, swapFromTransfers } from "../transferHelpers.js";
11
10
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
12
11
  const abi = mellowDvvAdapterAbi;
@@ -55,19 +54,19 @@ class MellowDVVAdapterContract extends AbstractAdapterContract {
55
54
  }
56
55
  return super.classifyLegacyOperation(parsed, transfers);
57
56
  }
58
- previewDecodedBalanceChanges(balances, decoded) {
57
+ decodeDiffLeftovers(decoded, balances) {
59
58
  const share = this.#vault ?? this.targetContract;
60
59
  switch (decoded.functionName) {
61
60
  case "depositDiff": {
62
61
  const [leftoverAmount] = decoded.args;
63
- return clampToLeftover(balances, this.asset, leftoverAmount);
62
+ return [{ tokenIn: this.asset, leftoverAmount }];
64
63
  }
65
64
  case "redeemDiff": {
66
65
  const [leftoverAmount] = decoded.args;
67
- return clampToLeftover(balances, share, leftoverAmount);
66
+ return [{ tokenIn: share, leftoverAmount }];
68
67
  }
69
68
  default:
70
- return super.previewDecodedBalanceChanges(balances, decoded);
69
+ return super.decodeDiffLeftovers(decoded, balances);
71
70
  }
72
71
  }
73
72
  }
@@ -6,7 +6,6 @@ import {
6
6
  MissingSerializedParamsError
7
7
  } from "../../../sdk/index.js";
8
8
  import { iERC4626Abi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover } from "../balanceChanges.js";
10
9
  import { fnSigToName, swapFromTransfers } from "../transferHelpers.js";
11
10
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
12
11
  const abi = iMellow4626VaultAdapterAbi;
@@ -90,19 +89,19 @@ class MellowERC4626VaultAdapterContract extends AbstractAdapterContract {
90
89
  }
91
90
  return super.classifyLegacyOperation(parsed, transfers);
92
91
  }
93
- previewDecodedBalanceChanges(balances, decoded) {
92
+ decodeDiffLeftovers(decoded, balances) {
94
93
  const share = this.#vault ?? this.targetContract;
95
94
  switch (decoded.functionName) {
96
95
  case "depositDiff": {
97
96
  const [leftoverAmount] = decoded.args;
98
- return clampToLeftover(balances, this.asset, leftoverAmount);
97
+ return [{ tokenIn: this.asset, leftoverAmount }];
99
98
  }
100
99
  case "redeemDiff": {
101
100
  const [leftoverAmount] = decoded.args;
102
- return clampToLeftover(balances, share, leftoverAmount);
101
+ return [{ tokenIn: share, leftoverAmount }];
103
102
  }
104
103
  default:
105
- return super.previewDecodedBalanceChanges(balances, decoded);
104
+ return super.decodeDiffLeftovers(decoded, balances);
106
105
  }
107
106
  }
108
107
  }
@@ -6,7 +6,6 @@ import {
6
6
  MissingSerializedParamsError
7
7
  } from "../../../sdk/index.js";
8
8
  import { iMellowWrapperAbi } from "../abi/targetContractAbi.js";
9
- import { clampToLeftover } from "../balanceChanges.js";
10
9
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
11
10
  const abi = iMellowWrapperAdapterAbi;
12
11
  const protocolAbi = iMellowWrapperAbi;
@@ -37,15 +36,15 @@ class MellowWrapperAdapterContract extends AbstractAdapterContract {
37
36
  allowedVaults: this.#allowedVaults?.map((v) => this.labelAddress(v))
38
37
  };
39
38
  }
40
- previewDecodedBalanceChanges(balances, decoded) {
39
+ decodeDiffLeftovers(decoded, balances) {
41
40
  switch (decoded.functionName) {
42
41
  case "depositDiff": {
43
42
  const weth = this.tokensMeta.mustFindBySymbol("WETH").addr;
44
43
  const [leftoverAmount] = decoded.args;
45
- return clampToLeftover(balances, weth, leftoverAmount);
44
+ return [{ tokenIn: weth, leftoverAmount }];
46
45
  }
47
46
  default:
48
- return super.previewDecodedBalanceChanges(balances, decoded);
47
+ return super.decodeDiffLeftovers(decoded, balances);
49
48
  }
50
49
  }
51
50
  }