@gearbox-protocol/sdk 12.8.1 → 12.9.0-txparser.2
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.
- package/dist/cjs/dev/providers.js +0 -12
- package/dist/cjs/history/assembleOperations.js +110 -0
- package/dist/cjs/history/classifyMulticallOperations.js +157 -0
- package/dist/cjs/history/enrichTokens.js +80 -0
- package/dist/cjs/history/errors.js +91 -0
- package/dist/cjs/history/extractProtocolCalls.js +53 -0
- package/dist/cjs/history/extractTransfers.js +166 -0
- package/dist/cjs/history/findFacadeCalls.js +84 -0
- package/dist/cjs/history/index.js +38 -0
- package/dist/cjs/history/inner-operations.js +16 -0
- package/dist/cjs/history/internal-types.js +16 -0
- package/dist/cjs/history/package.json +1 -0
- package/dist/cjs/history/parseCreditAccountTransaction.js +83 -0
- package/dist/cjs/history/populateContractsRegister.js +68 -0
- package/dist/cjs/history/toLegacyOperation.js +120 -0
- package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
- package/dist/cjs/history/types.js +16 -0
- package/dist/cjs/plugins/adapters/AdaptersPlugin.js +13 -106
- package/dist/cjs/plugins/adapters/abi/index.js +2 -0
- package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +5168 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +102 -3
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +91 -25
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +63 -25
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +68 -31
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +68 -31
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +73 -31
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +80 -33
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +62 -26
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +80 -34
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +39 -14
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +55 -27
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +39 -14
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +27 -14
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +45 -23
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +23 -14
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +22 -12
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +26 -16
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +39 -17
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +21 -11
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +38 -14
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +71 -42
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +21 -11
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +36 -17
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +38 -21
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +63 -53
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +62 -37
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +35 -21
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +32 -23
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +41 -27
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +34 -17
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +31 -11
- package/dist/cjs/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +585 -0
- package/dist/cjs/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +262 -0
- package/dist/cjs/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +296 -0
- package/dist/cjs/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +415 -0
- package/dist/cjs/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +74 -0
- package/dist/cjs/plugins/adapters/contracts/{MellowRedeemQueueAdapterContract.js → deprecated/MellowRedeemQueueAdapterContract.js} +33 -14
- package/dist/cjs/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +233 -0
- package/dist/cjs/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +359 -0
- package/dist/cjs/plugins/adapters/contracts/deprecated/index.js +36 -0
- package/dist/cjs/plugins/adapters/contracts/index.js +3 -17
- package/dist/cjs/plugins/adapters/contracts/types.js +0 -9
- package/dist/cjs/plugins/adapters/createAdapter.js +140 -0
- package/dist/cjs/plugins/adapters/index.js +6 -0
- package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +16 -0
- package/dist/cjs/plugins/adapters/transferHelpers.js +127 -0
- package/dist/cjs/sdk/base/BaseContract.js +51 -0
- package/dist/cjs/sdk/base/ChainContractsRegister.js +33 -0
- package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
- package/dist/cjs/sdk/base/TokensMeta.js +1 -2
- package/dist/cjs/sdk/base/errors.js +35 -0
- package/dist/cjs/sdk/base/index.js +2 -0
- package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +10 -4
- package/dist/cjs/sdk/market/adapters/{factory.js → createAdapter.js} +3 -3
- package/dist/cjs/sdk/market/adapters/index.js +2 -2
- package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +108 -0
- package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -40
- package/dist/cjs/sdk/market/credit/index.js +2 -0
- package/dist/cjs/sdk/utils/abi-decode.js +43 -2
- package/dist/esm/dev/providers.js +0 -12
- package/dist/esm/history/assembleOperations.js +86 -0
- package/dist/esm/history/classifyMulticallOperations.js +137 -0
- package/dist/esm/history/enrichTokens.js +56 -0
- package/dist/esm/history/errors.js +62 -0
- package/dist/esm/history/extractProtocolCalls.js +32 -0
- package/dist/esm/history/extractTransfers.js +146 -0
- package/dist/esm/history/findFacadeCalls.js +63 -0
- package/dist/esm/history/index.js +9 -0
- package/dist/esm/history/inner-operations.js +0 -0
- package/dist/esm/history/internal-types.js +0 -0
- package/dist/esm/history/package.json +1 -0
- package/dist/esm/history/parseCreditAccountTransaction.js +59 -0
- package/dist/esm/history/populateContractsRegister.js +52 -0
- package/dist/esm/history/toLegacyOperation.js +96 -0
- package/dist/esm/history/trace-utils.js +36 -0
- package/dist/esm/history/types.js +0 -0
- package/dist/esm/plugins/adapters/AdaptersPlugin.js +14 -148
- package/dist/esm/plugins/adapters/abi/index.js +1 -0
- package/dist/esm/plugins/adapters/abi/targetContractAbi.js +5113 -0
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +111 -4
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +40 -30
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -11
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +31 -21
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -26
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +65 -25
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +70 -31
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +70 -31
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +75 -31
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +82 -33
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +64 -26
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +85 -34
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +41 -14
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +57 -27
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +41 -14
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +29 -14
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +47 -23
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +29 -15
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +27 -12
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +31 -16
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +41 -17
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +23 -11
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +40 -14
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +74 -43
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +23 -11
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +38 -17
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +44 -22
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +65 -53
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +64 -37
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +35 -25
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +36 -22
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +33 -24
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +45 -28
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +40 -18
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +35 -25
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +33 -11
- package/dist/esm/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.js +559 -0
- package/dist/esm/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.js +236 -0
- package/dist/esm/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.js +272 -0
- package/dist/esm/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.js +390 -0
- package/dist/esm/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.js +52 -0
- package/dist/esm/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.js +45 -0
- package/dist/esm/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.js +209 -0
- package/dist/esm/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.js +336 -0
- package/dist/esm/plugins/adapters/contracts/deprecated/index.js +8 -0
- package/dist/esm/plugins/adapters/contracts/index.js +1 -8
- package/dist/esm/plugins/adapters/contracts/types.js +0 -8
- package/dist/esm/plugins/adapters/createAdapter.js +158 -0
- package/dist/esm/plugins/adapters/index.js +3 -0
- package/dist/esm/plugins/adapters/legacyAdapterOperations.js +0 -0
- package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
- package/dist/esm/sdk/base/BaseContract.js +53 -0
- package/dist/esm/sdk/base/ChainContractsRegister.js +33 -0
- package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
- package/dist/esm/sdk/base/TokensMeta.js +6 -2
- package/dist/esm/sdk/base/errors.js +11 -0
- package/dist/esm/sdk/base/index.js +1 -0
- package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +14 -5
- package/dist/esm/sdk/market/adapters/index.js +1 -1
- package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +86 -0
- package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +3 -43
- package/dist/esm/sdk/market/credit/index.js +1 -0
- package/dist/esm/sdk/utils/abi-decode.js +43 -2
- package/dist/types/dev/providers.d.ts +5 -5
- package/dist/types/history/assembleOperations.d.ts +24 -0
- package/dist/types/history/classifyMulticallOperations.d.ts +35 -0
- package/dist/types/history/enrichTokens.d.ts +5 -0
- package/dist/types/history/errors.d.ts +30 -0
- package/dist/types/history/extractProtocolCalls.d.ts +8 -0
- package/dist/types/history/extractTransfers.d.ts +22 -0
- package/dist/types/history/findFacadeCalls.d.ts +9 -0
- package/dist/types/history/index.d.ts +6 -0
- package/dist/types/history/inner-operations.d.ts +57 -0
- package/dist/types/history/internal-types.d.ts +47 -0
- package/dist/types/history/parseCreditAccountTransaction.d.ts +29 -0
- package/dist/types/history/populateContractsRegister.d.ts +19 -0
- package/dist/types/history/toLegacyOperation.d.ts +35 -0
- package/dist/types/history/trace-utils.d.ts +12 -0
- package/dist/types/history/types.d.ts +65 -0
- package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
- package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +8262 -0
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +50 -8
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +238 -4
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +113 -4
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +37 -4
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +210 -4
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +407 -8
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +208 -5
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1244 -10
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1244 -10
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1244 -10
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +575 -11
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1244 -10
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1213 -11
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +60 -6
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +483 -6
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +58 -6
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +123 -6
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +133 -8
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +155 -5
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +240 -6
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +356 -6
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +94 -7
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +38 -5
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +479 -6
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +483 -7
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +48 -5
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +42 -7
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +186 -7
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1010 -5
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +71 -8
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +123 -4
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +747 -5
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +171 -4
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +96 -5
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +74 -7
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +109 -4
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +267 -5
- package/dist/types/plugins/adapters/contracts/deprecated/BalancerV2VaultAdapterContract.d.ts +1664 -0
- package/dist/types/plugins/adapters/contracts/deprecated/EqualizerRouterAdapterContract.d.ts +611 -0
- package/dist/types/plugins/adapters/contracts/deprecated/InfraredVaultAdapterContract.d.ts +686 -0
- package/dist/types/plugins/adapters/contracts/deprecated/KodiakIslandGatewayAdapterContract.d.ts +1270 -0
- package/dist/types/plugins/adapters/contracts/deprecated/MellowDepositQueueAdapterContract.d.ts +19 -0
- package/dist/types/plugins/adapters/contracts/deprecated/MellowRedeemQueueAdapterContract.d.ts +18 -0
- package/dist/types/plugins/adapters/contracts/deprecated/MellowVaultAdapterContract.d.ts +531 -0
- package/dist/types/plugins/adapters/contracts/deprecated/YearnV2AdapterContract.d.ts +662 -0
- package/dist/types/plugins/adapters/contracts/deprecated/index.d.ts +8 -0
- package/dist/types/plugins/adapters/contracts/index.d.ts +1 -8
- package/dist/types/plugins/adapters/contracts/types.d.ts +0 -6
- package/dist/types/plugins/adapters/createAdapter.d.ts +7 -0
- package/dist/types/plugins/adapters/index.d.ts +3 -0
- package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +200 -0
- package/dist/types/plugins/adapters/transferHelpers.d.ts +60 -0
- package/dist/types/plugins/adapters/types.d.ts +64 -1
- package/dist/types/sdk/base/BaseContract.d.ts +14 -1
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -1
- package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
- package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
- package/dist/types/sdk/base/errors.d.ts +3 -0
- package/dist/types/sdk/base/index.d.ts +1 -0
- package/dist/types/sdk/base/types.d.ts +31 -0
- package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +9 -4
- package/dist/types/sdk/market/adapters/index.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditFacadeV310BaseContract.d.ts +856 -0
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
- package/dist/types/sdk/market/credit/index.d.ts +1 -0
- package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
- package/package.json +7 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -51
- package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -58
- package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -49
- package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -56
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -51
- package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -46
- package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -27
- package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -34
- package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -25
- package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -32
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -27
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -24
- package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -22
- package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
- package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +0 -482
- package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +0 -225
- package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +0 -198
- package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +0 -396
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -13
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -12
- package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +0 -203
- package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
- /package/dist/esm/sdk/market/adapters/{factory.js → createAdapter.js} +0 -0
- /package/dist/types/sdk/market/adapters/{factory.d.ts → createAdapter.d.ts} +0 -0
|
@@ -1,14 +1,121 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
decodeFunctionData,
|
|
3
|
+
zeroAddress
|
|
4
|
+
} from "viem";
|
|
5
|
+
import {
|
|
6
|
+
BaseContract,
|
|
7
|
+
functionArgsToRecord,
|
|
8
|
+
getFunctionSignature,
|
|
9
|
+
MissingSerializedParamsError
|
|
10
|
+
} from "../../../sdk/index.js";
|
|
11
|
+
import { swapFromTransfers, toNetTransfers } from "../transferHelpers.js";
|
|
2
12
|
class AbstractAdapterContract extends BaseContract {
|
|
3
|
-
targetContract;
|
|
13
|
+
#targetContract;
|
|
14
|
+
protocolAbi;
|
|
4
15
|
constructor(options, args) {
|
|
5
|
-
const { baseParams, targetContract, ...rest } = args;
|
|
16
|
+
const { baseParams, targetContract, protocolAbi, ...rest } = args;
|
|
6
17
|
super(options, { ...rest, ...baseParams });
|
|
7
|
-
this
|
|
18
|
+
this.#targetContract = targetContract;
|
|
19
|
+
this.protocolAbi = protocolAbi;
|
|
20
|
+
}
|
|
21
|
+
get targetContract() {
|
|
22
|
+
if (this.#targetContract === void 0) {
|
|
23
|
+
throw new MissingSerializedParamsError("targetContract");
|
|
24
|
+
}
|
|
25
|
+
return this.#targetContract;
|
|
8
26
|
}
|
|
9
27
|
get adapterType() {
|
|
10
28
|
return this.contractType;
|
|
11
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Builds an {@link AdapterOperation} from a parsed call and ordered transfer entries.
|
|
32
|
+
*
|
|
33
|
+
* Returns `PartialBy<AdapterOperation, "targetContract">` because the adapter
|
|
34
|
+
* may not have `targetContract` (adapters created without SDK do not have serializedParams)
|
|
35
|
+
*
|
|
36
|
+
* @param protocolCalldata Raw calldata of the actual CALL to targetContract, extracted from trace
|
|
37
|
+
* @param strict When true, throws if protocol ABI is missing or decode fails
|
|
38
|
+
*/
|
|
39
|
+
parseAdapterOperation(parsed, transfers, creditAccount, protocolCalldata, strict) {
|
|
40
|
+
const netTransfers = toNetTransfers(transfers, creditAccount);
|
|
41
|
+
const protocol = this.parseProtocolCall(protocolCalldata, strict);
|
|
42
|
+
return {
|
|
43
|
+
operation: "Execute",
|
|
44
|
+
adapter: this.address,
|
|
45
|
+
protocol: this.#targetContract,
|
|
46
|
+
adapterType: this.adapterType,
|
|
47
|
+
version: this.version,
|
|
48
|
+
label: parsed.label,
|
|
49
|
+
adapterFunctionName: parsed.functionName,
|
|
50
|
+
adapterArgs: parsed.rawArgs,
|
|
51
|
+
...protocol,
|
|
52
|
+
transfers,
|
|
53
|
+
legacy: this.classifyLegacyOperation(parsed, netTransfers)
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Decodes protocol-level function name and args from the raw calldata
|
|
58
|
+
* sent to targetContract.
|
|
59
|
+
*/
|
|
60
|
+
parseProtocolCall(calldata, strict) {
|
|
61
|
+
const selector = calldata.slice(0, 10);
|
|
62
|
+
if (this.protocolAbi.length === 0) {
|
|
63
|
+
if (strict) {
|
|
64
|
+
throw new Error(`Protocol ABI is missing for selector ${selector}`);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
protocolFunctionName: `unknown function ${selector}`,
|
|
68
|
+
protocolArgs: {}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
const decoded = decodeFunctionData({
|
|
73
|
+
abi: this.protocolAbi,
|
|
74
|
+
data: calldata
|
|
75
|
+
});
|
|
76
|
+
const functionName = getFunctionSignature(this.protocolAbi, calldata);
|
|
77
|
+
const protocolArgs = functionArgsToRecord(
|
|
78
|
+
this.protocolAbi,
|
|
79
|
+
decoded.functionName,
|
|
80
|
+
decoded.args
|
|
81
|
+
);
|
|
82
|
+
return { protocolFunctionName: functionName, protocolArgs };
|
|
83
|
+
} catch (e) {
|
|
84
|
+
if (strict) {
|
|
85
|
+
throw new Error(
|
|
86
|
+
`Failed to decode protocol calldata for selector ${selector}`,
|
|
87
|
+
{ cause: e }
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
protocolFunctionName: `unknown function ${selector}`,
|
|
92
|
+
protocolArgs: {}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Classifies an adapter call into a {@link LegacyAdapterOperation} using the
|
|
98
|
+
* parsed call and credit-account transfer deltas.
|
|
99
|
+
*
|
|
100
|
+
* Default: replicates charts_server fallback —
|
|
101
|
+
* - no positive transfers (swap.to is zero) → {@link MakerDeposit}
|
|
102
|
+
* - otherwise → generic {@link Swap}
|
|
103
|
+
*
|
|
104
|
+
* Override in protocol-specific subclasses for richer classification.
|
|
105
|
+
*
|
|
106
|
+
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/account_operation.go#L238-L264
|
|
107
|
+
*/
|
|
108
|
+
classifyLegacyOperation(_parsed, transfers) {
|
|
109
|
+
const swap = swapFromTransfers(transfers);
|
|
110
|
+
if (swap.to === zeroAddress) {
|
|
111
|
+
return {
|
|
112
|
+
operation: "MakerDeposit",
|
|
113
|
+
token: swap.from,
|
|
114
|
+
amount: swap.fromAmount
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
return { operation: "Swap", ...swap };
|
|
118
|
+
}
|
|
12
119
|
}
|
|
13
120
|
export {
|
|
14
121
|
AbstractAdapterContract
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { accountMigratorAbi } from "../../../abi/AccountMigrator.js";
|
|
2
2
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
3
3
|
const abi = accountMigratorAbi;
|
|
4
|
+
const protocolAbi = accountMigratorAbi;
|
|
4
5
|
class AccountMigratorAdapterContract extends AbstractAdapterContract {
|
|
5
6
|
constructor(options, args) {
|
|
6
|
-
super(options, { ...args, abi });
|
|
7
|
+
super(options, { ...args, abi, protocolAbi });
|
|
8
|
+
}
|
|
9
|
+
/** Legacy adapter not present in integrations-v3. */
|
|
10
|
+
classifyLegacyOperation(_parsed, _transfers) {
|
|
11
|
+
throw new Error(
|
|
12
|
+
`classifyLegacyOperation is not supported for legacy adapter: ${this.contractType}`
|
|
13
|
+
);
|
|
7
14
|
}
|
|
8
15
|
}
|
|
9
16
|
export {
|
|
@@ -1,41 +1,51 @@
|
|
|
1
1
|
import { iBalancerV3RouterAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
2
|
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { MissingSerializedParamsError } from "../../../sdk/index.js";
|
|
4
|
+
import { iBalancerV3RouterAbi } from "../abi/targetContractAbi.js";
|
|
3
5
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
6
|
const abi = iBalancerV3RouterAdapterAbi;
|
|
7
|
+
const protocolAbi = iBalancerV3RouterAbi;
|
|
5
8
|
class BalancerV3RouterAdapterContract extends AbstractAdapterContract {
|
|
6
|
-
allowedPools;
|
|
9
|
+
#allowedPools;
|
|
7
10
|
constructor(options, args) {
|
|
8
|
-
super(options, { ...args, abi });
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
11
|
+
super(options, { ...args, abi, protocolAbi });
|
|
12
|
+
if (args.baseParams.serializedParams) {
|
|
13
|
+
const version = Number(args.baseParams.version);
|
|
14
|
+
if (version === 310) {
|
|
15
|
+
const decoded = decodeAbiParameters(
|
|
16
|
+
[
|
|
17
|
+
{ type: "address", name: "creditManager" },
|
|
18
|
+
{ type: "address", name: "targetContract" },
|
|
19
|
+
{ type: "address[]", name: "allowedPools" }
|
|
20
|
+
],
|
|
21
|
+
args.baseParams.serializedParams
|
|
22
|
+
);
|
|
23
|
+
this.#allowedPools = [...decoded[2]];
|
|
24
|
+
} else {
|
|
25
|
+
const decoded = decodeAbiParameters(
|
|
26
|
+
[
|
|
27
|
+
{ type: "address", name: "creditManager" },
|
|
28
|
+
{ type: "address", name: "targetContract" },
|
|
29
|
+
{
|
|
30
|
+
type: "tuple[]",
|
|
31
|
+
name: "allowedPairs",
|
|
32
|
+
components: [
|
|
33
|
+
{ type: "address", name: "pool" },
|
|
34
|
+
{ type: "uint8", name: "status" }
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
args.baseParams.serializedParams
|
|
39
|
+
);
|
|
40
|
+
this.#allowedPools = [...decoded[2]];
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
}
|
|
44
|
+
get allowedPools() {
|
|
45
|
+
if (!this.#allowedPools)
|
|
46
|
+
throw new MissingSerializedParamsError("allowedPools");
|
|
47
|
+
return this.#allowedPools;
|
|
48
|
+
}
|
|
39
49
|
}
|
|
40
50
|
export {
|
|
41
51
|
BalancerV3RouterAdapterContract
|
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
import { iBalancerV3WrapperAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
2
|
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { MissingSerializedParamsError } from "../../../sdk/index.js";
|
|
4
|
+
import { iBalancerV3WrapperAbi } from "../abi/targetContractAbi.js";
|
|
3
5
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
6
|
const abi = iBalancerV3WrapperAdapterAbi;
|
|
7
|
+
const protocolAbi = iBalancerV3WrapperAbi;
|
|
5
8
|
class BalancerV3WrapperAdapterContract extends AbstractAdapterContract {
|
|
6
|
-
balancerPoolToken;
|
|
9
|
+
#balancerPoolToken;
|
|
7
10
|
constructor(options, args) {
|
|
8
|
-
super(options, { ...args, abi });
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
super(options, { ...args, abi, protocolAbi });
|
|
12
|
+
if (args.baseParams.serializedParams) {
|
|
13
|
+
const decoded = decodeAbiParameters(
|
|
14
|
+
[
|
|
15
|
+
{ type: "address", name: "creditManager" },
|
|
16
|
+
{ type: "address", name: "targetContract" },
|
|
17
|
+
{ type: "address", name: "balancerPoolToken" }
|
|
18
|
+
],
|
|
19
|
+
args.baseParams.serializedParams
|
|
20
|
+
);
|
|
21
|
+
this.#balancerPoolToken = decoded[2];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
get balancerPoolToken() {
|
|
25
|
+
if (!this.#balancerPoolToken)
|
|
26
|
+
throw new MissingSerializedParamsError("balancerPoolToken");
|
|
27
|
+
return this.#balancerPoolToken;
|
|
18
28
|
}
|
|
19
29
|
}
|
|
20
30
|
export {
|
|
@@ -1,30 +1,40 @@
|
|
|
1
1
|
import { iCamelotV3AdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
2
|
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import { MissingSerializedParamsError } from "../../../sdk/index.js";
|
|
4
|
+
import { iCamelotV3RouterAbi } from "../abi/targetContractAbi.js";
|
|
3
5
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
6
|
const abi = iCamelotV3AdapterAbi;
|
|
7
|
+
const protocolAbi = iCamelotV3RouterAbi;
|
|
5
8
|
class CamelotV3AdapterContract extends AbstractAdapterContract {
|
|
6
|
-
supportedPools;
|
|
9
|
+
#supportedPools;
|
|
7
10
|
constructor(options, args) {
|
|
8
|
-
super(options, { ...args, abi });
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
11
|
+
super(options, { ...args, abi, protocolAbi });
|
|
12
|
+
if (args.baseParams.serializedParams) {
|
|
13
|
+
const decoded = decodeAbiParameters(
|
|
14
|
+
[
|
|
15
|
+
{ type: "address", name: "creditManager" },
|
|
16
|
+
{ type: "address", name: "targetContract" },
|
|
17
|
+
{
|
|
18
|
+
type: "tuple[]",
|
|
19
|
+
name: "supportedPools",
|
|
20
|
+
components: [
|
|
21
|
+
{ type: "address", name: "token0" },
|
|
22
|
+
{ type: "address", name: "token1" }
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
args.baseParams.serializedParams
|
|
27
|
+
);
|
|
28
|
+
this.#supportedPools = decoded[2].map((pool) => ({
|
|
29
|
+
token0: pool.token0,
|
|
30
|
+
token1: pool.token1
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
get supportedPools() {
|
|
35
|
+
if (!this.#supportedPools)
|
|
36
|
+
throw new MissingSerializedParamsError("supportedPools");
|
|
37
|
+
return this.#supportedPools;
|
|
28
38
|
}
|
|
29
39
|
}
|
|
30
40
|
export {
|
|
@@ -1,34 +1,108 @@
|
|
|
1
1
|
import { iConvexV1BaseRewardPoolAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
|
-
import { decodeAbiParameters } from "viem";
|
|
2
|
+
import { decodeAbiParameters, zeroAddress } from "viem";
|
|
3
|
+
import {
|
|
4
|
+
MissingSerializedParamsError
|
|
5
|
+
} from "../../../sdk/index.js";
|
|
6
|
+
import { iBaseRewardPoolAbi } from "../abi/targetContractAbi.js";
|
|
7
|
+
import {
|
|
8
|
+
allTransfersAsTokenAmounts,
|
|
9
|
+
fnSigToName,
|
|
10
|
+
parsePosNegAmount,
|
|
11
|
+
rewardsFromTransfers,
|
|
12
|
+
swapFromTransfers
|
|
13
|
+
} from "../transferHelpers.js";
|
|
3
14
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
15
|
const abi = iConvexV1BaseRewardPoolAdapterAbi;
|
|
16
|
+
const protocolAbi = iBaseRewardPoolAbi;
|
|
5
17
|
class ConvexV1BaseRewardPoolAdapterContract extends AbstractAdapterContract {
|
|
6
|
-
curveLPtoken;
|
|
7
|
-
stakingToken;
|
|
8
|
-
stakedPhantomToken;
|
|
9
|
-
extraRewards;
|
|
18
|
+
#curveLPtoken;
|
|
19
|
+
#stakingToken;
|
|
20
|
+
#stakedPhantomToken;
|
|
21
|
+
#extraRewards;
|
|
10
22
|
constructor(options, args) {
|
|
11
|
-
super(options, { ...args, abi });
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
super(options, { ...args, abi, protocolAbi });
|
|
24
|
+
if (args.baseParams.serializedParams) {
|
|
25
|
+
const decoded = decodeAbiParameters(
|
|
26
|
+
[
|
|
27
|
+
{ type: "address", name: "creditManager" },
|
|
28
|
+
{ type: "address", name: "targetContract" },
|
|
29
|
+
{ type: "address", name: "curveLPtoken" },
|
|
30
|
+
{ type: "address", name: "stakingToken" },
|
|
31
|
+
{ type: "address", name: "stakedPhantomToken" },
|
|
32
|
+
{ type: "address[4]", name: "extraRewards" }
|
|
33
|
+
],
|
|
34
|
+
args.baseParams.serializedParams
|
|
35
|
+
);
|
|
36
|
+
this.#curveLPtoken = decoded[2];
|
|
37
|
+
this.#stakingToken = decoded[3];
|
|
38
|
+
this.#stakedPhantomToken = decoded[4];
|
|
39
|
+
this.#extraRewards = [
|
|
40
|
+
decoded[5][0],
|
|
41
|
+
decoded[5][1],
|
|
42
|
+
decoded[5][2],
|
|
43
|
+
decoded[5][3]
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
get curveLPtoken() {
|
|
48
|
+
if (!this.#curveLPtoken)
|
|
49
|
+
throw new MissingSerializedParamsError("curveLPtoken");
|
|
50
|
+
return this.#curveLPtoken;
|
|
51
|
+
}
|
|
52
|
+
get stakingToken() {
|
|
53
|
+
if (!this.#stakingToken)
|
|
54
|
+
throw new MissingSerializedParamsError("stakingToken");
|
|
55
|
+
return this.#stakingToken;
|
|
56
|
+
}
|
|
57
|
+
get stakedPhantomToken() {
|
|
58
|
+
if (!this.#stakedPhantomToken)
|
|
59
|
+
throw new MissingSerializedParamsError("stakedPhantomToken");
|
|
60
|
+
return this.#stakedPhantomToken;
|
|
61
|
+
}
|
|
62
|
+
get extraRewards() {
|
|
63
|
+
if (!this.#extraRewards)
|
|
64
|
+
throw new MissingSerializedParamsError("extraRewards");
|
|
65
|
+
return this.#extraRewards;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L200-L262
|
|
69
|
+
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L76-L83
|
|
70
|
+
*/
|
|
71
|
+
classifyLegacyOperation(parsed, transfers) {
|
|
72
|
+
const fn = fnSigToName(parsed.functionName);
|
|
73
|
+
const { rawArgs: args } = parsed;
|
|
74
|
+
if (fn === "getReward") {
|
|
75
|
+
return {
|
|
76
|
+
operation: "GetReward",
|
|
77
|
+
rewards: rewardsFromTransfers(transfers)
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (fn === "stake" || fn === "stakeDiff" || fn === "depositPhantomToken") {
|
|
81
|
+
const neg = parsePosNegAmount(transfers).neg;
|
|
82
|
+
return {
|
|
83
|
+
operation: "ConvexStake",
|
|
84
|
+
stakedToken: neg[0] ?? { token: zeroAddress, amount: "0" }
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (fn === "withdrawAll") {
|
|
88
|
+
return {
|
|
89
|
+
operation: "CurveClaims",
|
|
90
|
+
claims: parsePosNegAmount(transfers).pos
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const claim = args.claim;
|
|
94
|
+
if (claim) {
|
|
95
|
+
return {
|
|
96
|
+
operation: "ConvexWithdrawAndClaim",
|
|
97
|
+
rewards: allTransfersAsTokenAmounts(transfers)
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
const swap = swapFromTransfers(transfers);
|
|
101
|
+
return {
|
|
102
|
+
operation: "ConvexWithdraw",
|
|
103
|
+
withdrawToken: swap.to,
|
|
104
|
+
withdrawAmount: swap.toAmount
|
|
105
|
+
};
|
|
32
106
|
}
|
|
33
107
|
}
|
|
34
108
|
export {
|
|
@@ -1,34 +1,74 @@
|
|
|
1
1
|
import { iConvexV1BoosterAdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
2
|
import { decodeAbiParameters } from "viem";
|
|
3
|
+
import {
|
|
4
|
+
MissingSerializedParamsError
|
|
5
|
+
} from "../../../sdk/index.js";
|
|
6
|
+
import { iBoosterAbi } from "../abi/targetContractAbi.js";
|
|
7
|
+
import { fnSigToName, swapFromTransfers } from "../transferHelpers.js";
|
|
3
8
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
4
9
|
const abi = iConvexV1BoosterAdapterAbi;
|
|
10
|
+
const protocolAbi = iBoosterAbi;
|
|
5
11
|
class ConvexV1BoosterAdapterContract extends AbstractAdapterContract {
|
|
6
|
-
supportedPools;
|
|
12
|
+
#supportedPools;
|
|
7
13
|
constructor(options, args) {
|
|
8
|
-
super(options, { ...args, abi });
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
super(options, { ...args, abi, protocolAbi });
|
|
15
|
+
if (args.baseParams.serializedParams) {
|
|
16
|
+
const decoded = decodeAbiParameters(
|
|
17
|
+
[
|
|
18
|
+
{ type: "address", name: "creditManager" },
|
|
19
|
+
{ type: "address", name: "targetContract" },
|
|
20
|
+
{
|
|
21
|
+
type: "tuple[]",
|
|
22
|
+
name: "supportedPools",
|
|
23
|
+
components: [
|
|
24
|
+
{ type: "uint256", name: "pid" },
|
|
25
|
+
{ type: "address", name: "curveToken" },
|
|
26
|
+
{ type: "address", name: "convexToken" },
|
|
27
|
+
{ type: "address", name: "phantomToken" }
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
args.baseParams.serializedParams
|
|
32
|
+
);
|
|
33
|
+
this.#supportedPools = decoded[2].map((pool) => ({
|
|
34
|
+
pid: Number(pool.pid),
|
|
35
|
+
curveToken: pool.curveToken,
|
|
36
|
+
convexToken: pool.convexToken,
|
|
37
|
+
phantomToken: pool.phantomToken
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
get supportedPools() {
|
|
42
|
+
if (!this.#supportedPools)
|
|
43
|
+
throw new MissingSerializedParamsError("supportedPools");
|
|
44
|
+
return this.#supportedPools;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Charts_server only maps `withdrawAll(uint256)` → CurveWithdrawal.
|
|
48
|
+
* `withdrawDiff` and other withdraw variants fall to the base class fallback → Swap.
|
|
49
|
+
*
|
|
50
|
+
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L166-L199
|
|
51
|
+
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L84-L91
|
|
52
|
+
*/
|
|
53
|
+
classifyLegacyOperation(parsed, transfers) {
|
|
54
|
+
const fn = fnSigToName(parsed.functionName);
|
|
55
|
+
const { rawArgs: args } = parsed;
|
|
56
|
+
if (fn === "withdrawAll") {
|
|
57
|
+
return { operation: "CurveWithdrawal", ...swapFromTransfers(transfers) };
|
|
58
|
+
}
|
|
59
|
+
const staked = args._stake ?? args.stake;
|
|
60
|
+
const swap = swapFromTransfers(transfers);
|
|
61
|
+
if (staked === true) {
|
|
62
|
+
return {
|
|
63
|
+
operation: "ConvexDepositAndStake",
|
|
64
|
+
depositToken: swap.from,
|
|
65
|
+
depositAmount: swap.fromAmount
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (fn === "depositAll" || fn === "deposit") {
|
|
69
|
+
return { operation: "ConvexDeposit", ...swap };
|
|
70
|
+
}
|
|
71
|
+
return super.classifyLegacyOperation(parsed, transfers);
|
|
32
72
|
}
|
|
33
73
|
}
|
|
34
74
|
export {
|