@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
|
@@ -52,9 +52,6 @@ function getRpcProviderUrl(provider, network, apiKey, protocol = "http") {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
function getAlchemyUrl(network, apiKey, protocol = "http") {
|
|
55
|
-
if (!apiKey) {
|
|
56
|
-
return void 0;
|
|
57
|
-
}
|
|
58
55
|
const alchemyDomain = ALCHEMY_DOMAINS[network];
|
|
59
56
|
if (!alchemyDomain) {
|
|
60
57
|
return void 0;
|
|
@@ -98,9 +95,6 @@ const ALCHEMY_DOMAINS = {
|
|
|
98
95
|
Somnia: null
|
|
99
96
|
};
|
|
100
97
|
function getDrpcUrl(network, apiKey, protocol = "http") {
|
|
101
|
-
if (!apiKey) {
|
|
102
|
-
return void 0;
|
|
103
|
-
}
|
|
104
98
|
const net = DRPC_NETS[network];
|
|
105
99
|
return net ? `${protocol}s://lb.drpc.live/${net}/${apiKey}` : void 0;
|
|
106
100
|
}
|
|
@@ -123,9 +117,6 @@ const ANKR_DOMAINS = {
|
|
|
123
117
|
Somnia: "somnia_mainnet"
|
|
124
118
|
};
|
|
125
119
|
function getAnkrUrl(network, apiKey, protocol = "http") {
|
|
126
|
-
if (!apiKey) {
|
|
127
|
-
return void 0;
|
|
128
|
-
}
|
|
129
120
|
const net = ANKR_DOMAINS[network];
|
|
130
121
|
const sep = protocol === "ws" ? "/ws/" : "/";
|
|
131
122
|
return net ? `${protocol}s://rpc.ankr.com/${net}${sep}${apiKey}` : void 0;
|
|
@@ -149,9 +140,6 @@ const THIRDWEB_DOMAINS = {
|
|
|
149
140
|
Somnia: import_sdk.chains.Somnia.id.toString()
|
|
150
141
|
};
|
|
151
142
|
function getThirdWebUrl(network, apiKey, protocol = "http") {
|
|
152
|
-
if (!apiKey) {
|
|
153
|
-
return void 0;
|
|
154
|
-
}
|
|
155
143
|
if (protocol === "ws") {
|
|
156
144
|
return void 0;
|
|
157
145
|
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var assembleOperations_exports = {};
|
|
20
|
+
__export(assembleOperations_exports, {
|
|
21
|
+
assembleOperations: () => assembleOperations
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(assembleOperations_exports);
|
|
24
|
+
var import_adapters = require("../plugins/adapters/index.js");
|
|
25
|
+
var import_classifyMulticallOperations = require("./classifyMulticallOperations.js");
|
|
26
|
+
var import_extractProtocolCalls = require("./extractProtocolCalls.js");
|
|
27
|
+
function assembleOperations(input) {
|
|
28
|
+
const {
|
|
29
|
+
facadeCalls,
|
|
30
|
+
executeResults,
|
|
31
|
+
register,
|
|
32
|
+
underlying,
|
|
33
|
+
txHash,
|
|
34
|
+
blockNumber,
|
|
35
|
+
liquidationRemainingFunds,
|
|
36
|
+
phantomTokens,
|
|
37
|
+
strict
|
|
38
|
+
} = input;
|
|
39
|
+
let offset = 0;
|
|
40
|
+
const meta = { txHash, blockNumber };
|
|
41
|
+
return facadeCalls.map((fc) => {
|
|
42
|
+
if (fc.operation === "PartiallyLiquidateCreditAccount") {
|
|
43
|
+
return assemblePartialLiquidation(fc, meta);
|
|
44
|
+
}
|
|
45
|
+
const count = countAdapterCalls(fc.innerCalls, register);
|
|
46
|
+
const sliced = executeResults.slice(offset, offset + count);
|
|
47
|
+
offset += count;
|
|
48
|
+
const protocolCalldatas = (0, import_extractProtocolCalls.extractProtocolCalls)(fc.trace, sliced);
|
|
49
|
+
const multicall = (0, import_classifyMulticallOperations.classifyMulticallOperations)({
|
|
50
|
+
innerCalls: fc.innerCalls,
|
|
51
|
+
executeResults: sliced,
|
|
52
|
+
protocolCalldatas,
|
|
53
|
+
register,
|
|
54
|
+
creditAccount: fc.creditAccount,
|
|
55
|
+
underlying,
|
|
56
|
+
strict,
|
|
57
|
+
phantomTokens
|
|
58
|
+
});
|
|
59
|
+
switch (fc.operation) {
|
|
60
|
+
case "OpenCreditAccount":
|
|
61
|
+
return {
|
|
62
|
+
...meta,
|
|
63
|
+
operation: fc.operation,
|
|
64
|
+
creditAccount: fc.creditAccount,
|
|
65
|
+
onBehalfOf: fc.parsed.rawArgs.onBehalfOf,
|
|
66
|
+
referralCode: fc.parsed.rawArgs.referralCode,
|
|
67
|
+
multicall
|
|
68
|
+
};
|
|
69
|
+
case "LiquidateCreditAccount":
|
|
70
|
+
return {
|
|
71
|
+
...meta,
|
|
72
|
+
operation: fc.operation,
|
|
73
|
+
creditAccount: fc.creditAccount,
|
|
74
|
+
to: fc.parsed.rawArgs.to,
|
|
75
|
+
token: underlying,
|
|
76
|
+
remainingFunds: liquidationRemainingFunds ?? 0n,
|
|
77
|
+
multicall
|
|
78
|
+
};
|
|
79
|
+
default:
|
|
80
|
+
return {
|
|
81
|
+
...meta,
|
|
82
|
+
operation: fc.operation,
|
|
83
|
+
creditAccount: fc.creditAccount,
|
|
84
|
+
multicall
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function countAdapterCalls(innerCalls, register) {
|
|
90
|
+
return innerCalls.filter((call) => {
|
|
91
|
+
const contract = register.getContract(call.target);
|
|
92
|
+
return !contract || contract instanceof import_adapters.AbstractAdapterContract;
|
|
93
|
+
}).length;
|
|
94
|
+
}
|
|
95
|
+
function assemblePartialLiquidation(fc, meta) {
|
|
96
|
+
const { rawArgs } = fc.parsed;
|
|
97
|
+
return {
|
|
98
|
+
...meta,
|
|
99
|
+
operation: "PartiallyLiquidateCreditAccount",
|
|
100
|
+
creditAccount: fc.creditAccount,
|
|
101
|
+
token: rawArgs.token,
|
|
102
|
+
repaidAmount: rawArgs.repaidAmount,
|
|
103
|
+
minSeizedAmount: rawArgs.minSeizedAmount,
|
|
104
|
+
to: rawArgs.to
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
108
|
+
0 && (module.exports = {
|
|
109
|
+
assembleOperations
|
|
110
|
+
});
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var classifyMulticallOperations_exports = {};
|
|
20
|
+
__export(classifyMulticallOperations_exports, {
|
|
21
|
+
classifyMulticallOperations: () => classifyMulticallOperations
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(classifyMulticallOperations_exports);
|
|
24
|
+
var import_viem = require("viem");
|
|
25
|
+
var import_adapters = require("../plugins/adapters/index.js");
|
|
26
|
+
var import_errors = require("./errors.js");
|
|
27
|
+
function classifyMulticallOperations(input) {
|
|
28
|
+
const {
|
|
29
|
+
innerCalls,
|
|
30
|
+
executeResults,
|
|
31
|
+
protocolCalldatas,
|
|
32
|
+
register,
|
|
33
|
+
creditAccount,
|
|
34
|
+
underlying,
|
|
35
|
+
strict,
|
|
36
|
+
phantomTokens
|
|
37
|
+
} = input;
|
|
38
|
+
let transferIdx = 0;
|
|
39
|
+
const result = [];
|
|
40
|
+
for (const call of innerCalls) {
|
|
41
|
+
const contract = register.getContract(call.target);
|
|
42
|
+
if (contract instanceof import_adapters.AbstractAdapterContract) {
|
|
43
|
+
const idx = transferIdx++;
|
|
44
|
+
const executeResult = executeResults[idx];
|
|
45
|
+
if (!executeResult) {
|
|
46
|
+
throw new import_errors.TransferAlignmentError(executeResults.length, transferIdx);
|
|
47
|
+
}
|
|
48
|
+
const { transfers: transfers2, targetContract: targetContract2 } = executeResult;
|
|
49
|
+
const protocolCalldata = protocolCalldatas[idx];
|
|
50
|
+
const partial = contract.parseAdapterOperation(
|
|
51
|
+
call,
|
|
52
|
+
transfers2,
|
|
53
|
+
creditAccount,
|
|
54
|
+
protocolCalldata,
|
|
55
|
+
strict
|
|
56
|
+
);
|
|
57
|
+
if (partial) result.push({ ...partial, protocol: targetContract2 });
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (contract !== void 0) {
|
|
61
|
+
const op = classifyFacadeInnerCall(call, underlying, phantomTokens);
|
|
62
|
+
if (op) result.push(op);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (strict) {
|
|
66
|
+
throw new import_errors.UnknownAdapterError(call.target);
|
|
67
|
+
}
|
|
68
|
+
const unknownIdx = transferIdx++;
|
|
69
|
+
const unknownResult = executeResults[unknownIdx];
|
|
70
|
+
if (!unknownResult) {
|
|
71
|
+
throw new import_errors.TransferAlignmentError(executeResults.length, transferIdx);
|
|
72
|
+
}
|
|
73
|
+
const { transfers, targetContract } = unknownResult;
|
|
74
|
+
const netTransfers = (0, import_adapters.toNetTransfers)(transfers, creditAccount);
|
|
75
|
+
result.push({
|
|
76
|
+
operation: "Execute",
|
|
77
|
+
adapter: call.target,
|
|
78
|
+
protocol: targetContract,
|
|
79
|
+
adapterType: call.contractType,
|
|
80
|
+
version: call.version,
|
|
81
|
+
label: call.label,
|
|
82
|
+
adapterFunctionName: call.functionName,
|
|
83
|
+
adapterArgs: call.rawArgs,
|
|
84
|
+
protocolFunctionName: call.functionName,
|
|
85
|
+
protocolArgs: call.rawArgs,
|
|
86
|
+
transfers,
|
|
87
|
+
legacy: {
|
|
88
|
+
operation: "Swap",
|
|
89
|
+
...(0, import_adapters.swapFromTransfers)(netTransfers)
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (transferIdx !== executeResults.length) {
|
|
94
|
+
throw new import_errors.TransferAlignmentError(executeResults.length, transferIdx);
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
function classifyFacadeInnerCall(call, underlying, phantomTokens) {
|
|
99
|
+
const { functionName: sig, rawArgs } = call;
|
|
100
|
+
const functionName = sig.split("(")[0];
|
|
101
|
+
switch (functionName) {
|
|
102
|
+
case "increaseDebt":
|
|
103
|
+
return {
|
|
104
|
+
operation: "IncreaseBorrowedAmount",
|
|
105
|
+
token: underlying,
|
|
106
|
+
amount: rawArgs.amount
|
|
107
|
+
};
|
|
108
|
+
case "decreaseDebt":
|
|
109
|
+
return {
|
|
110
|
+
operation: "DecreaseBorrowedAmount",
|
|
111
|
+
token: underlying,
|
|
112
|
+
amount: rawArgs.amount
|
|
113
|
+
};
|
|
114
|
+
case "addCollateral":
|
|
115
|
+
case "addCollateralWithPermit":
|
|
116
|
+
return {
|
|
117
|
+
operation: "AddCollateral",
|
|
118
|
+
token: rawArgs.token,
|
|
119
|
+
amount: rawArgs.amount
|
|
120
|
+
};
|
|
121
|
+
case "withdrawCollateral": {
|
|
122
|
+
const calldataToken = rawArgs.token;
|
|
123
|
+
const depositedToken = findPhantomDepositedToken(
|
|
124
|
+
calldataToken,
|
|
125
|
+
phantomTokens
|
|
126
|
+
);
|
|
127
|
+
return {
|
|
128
|
+
operation: "WithdrawCollateral",
|
|
129
|
+
token: depositedToken ?? calldataToken,
|
|
130
|
+
amount: rawArgs.amount,
|
|
131
|
+
to: rawArgs.to,
|
|
132
|
+
...depositedToken ? { phantomToken: calldataToken } : {}
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
case "updateQuota":
|
|
136
|
+
return {
|
|
137
|
+
operation: "UpdateQuota",
|
|
138
|
+
token: rawArgs.token,
|
|
139
|
+
change: rawArgs.quotaChange
|
|
140
|
+
};
|
|
141
|
+
// other unclassified facade calls, for example onDemandPriceUpdates
|
|
142
|
+
// https://github.com/Gearbox-protocol/core-v3/blob/b038597d9070d9fd18593a6ae9c3d28ca931bb73/contracts/credit/CreditFacadeV3.sol#L534
|
|
143
|
+
default:
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function findPhantomDepositedToken(calldataToken, phantomTokens) {
|
|
148
|
+
if (!phantomTokens) return void 0;
|
|
149
|
+
for (const [phantom, deposited] of phantomTokens.entries()) {
|
|
150
|
+
if ((0, import_viem.isAddressEqual)(phantom, calldataToken)) return deposited;
|
|
151
|
+
}
|
|
152
|
+
return void 0;
|
|
153
|
+
}
|
|
154
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
155
|
+
0 && (module.exports = {
|
|
156
|
+
classifyMulticallOperations
|
|
157
|
+
});
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var enrichTokens_exports = {};
|
|
20
|
+
__export(enrichTokens_exports, {
|
|
21
|
+
enrichOperations: () => enrichOperations
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(enrichTokens_exports);
|
|
24
|
+
function enrichOperations(ops, resolve) {
|
|
25
|
+
return ops.map((op) => enrichOperation(op, resolve));
|
|
26
|
+
}
|
|
27
|
+
function enrichOperation(op, resolve) {
|
|
28
|
+
switch (op.operation) {
|
|
29
|
+
case "DirectTokenTransfer":
|
|
30
|
+
return { ...op, token: resolve(op.token) };
|
|
31
|
+
case "PartiallyLiquidateCreditAccount":
|
|
32
|
+
return { ...op, token: resolve(op.token) };
|
|
33
|
+
case "LiquidateCreditAccount":
|
|
34
|
+
return {
|
|
35
|
+
...op,
|
|
36
|
+
token: resolve(op.token),
|
|
37
|
+
multicall: enrichMulticall(op.multicall, resolve)
|
|
38
|
+
};
|
|
39
|
+
case "OpenCreditAccount":
|
|
40
|
+
case "CloseCreditAccount":
|
|
41
|
+
case "MultiCall":
|
|
42
|
+
case "BotMulticall":
|
|
43
|
+
return { ...op, multicall: enrichMulticall(op.multicall, resolve) };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function enrichMulticall(ops, resolve) {
|
|
47
|
+
return ops.map((op) => enrichInnerOp(op, resolve));
|
|
48
|
+
}
|
|
49
|
+
function enrichInnerOp(op, resolve) {
|
|
50
|
+
switch (op.operation) {
|
|
51
|
+
case "Execute":
|
|
52
|
+
return {
|
|
53
|
+
...op,
|
|
54
|
+
transfers: op.transfers.map((t) => ({ ...t, token: resolve(t.token) }))
|
|
55
|
+
};
|
|
56
|
+
case "IncreaseBorrowedAmount":
|
|
57
|
+
case "DecreaseBorrowedAmount":
|
|
58
|
+
return { ...op, token: resolve(op.token) };
|
|
59
|
+
case "AddCollateral":
|
|
60
|
+
return { ...op, token: resolve(op.token) };
|
|
61
|
+
case "WithdrawCollateral": {
|
|
62
|
+
const enriched = {
|
|
63
|
+
operation: op.operation,
|
|
64
|
+
token: resolve(op.token),
|
|
65
|
+
amount: op.amount,
|
|
66
|
+
to: op.to
|
|
67
|
+
};
|
|
68
|
+
if (op.phantomToken) {
|
|
69
|
+
enriched.phantomToken = resolve(op.phantomToken);
|
|
70
|
+
}
|
|
71
|
+
return enriched;
|
|
72
|
+
}
|
|
73
|
+
case "UpdateQuota":
|
|
74
|
+
return { ...op, token: resolve(op.token) };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
78
|
+
0 && (module.exports = {
|
|
79
|
+
enrichOperations
|
|
80
|
+
});
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var errors_exports = {};
|
|
20
|
+
__export(errors_exports, {
|
|
21
|
+
AdapterTraceAlignmentError: () => AdapterTraceAlignmentError,
|
|
22
|
+
ProtocolCallNotFoundError: () => ProtocolCallNotFoundError,
|
|
23
|
+
TransferAlignmentError: () => TransferAlignmentError,
|
|
24
|
+
UnexpectedFacadeEventOrderError: () => UnexpectedFacadeEventOrderError,
|
|
25
|
+
UnknownAdapterError: () => UnknownAdapterError,
|
|
26
|
+
UnknownFacadeCallError: () => UnknownFacadeCallError
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(errors_exports);
|
|
29
|
+
class UnknownAdapterError extends Error {
|
|
30
|
+
address;
|
|
31
|
+
constructor(address) {
|
|
32
|
+
super(`unknown adapter contract ${address}`);
|
|
33
|
+
this.name = "UnknownAdapterError";
|
|
34
|
+
this.address = address;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
class TransferAlignmentError extends Error {
|
|
38
|
+
constructor(expected, actual) {
|
|
39
|
+
super(
|
|
40
|
+
`transfer alignment mismatch: expected ${expected} Execute transfers, consumed ${actual}`
|
|
41
|
+
);
|
|
42
|
+
this.name = "TransferAlignmentError";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
class ProtocolCallNotFoundError extends Error {
|
|
46
|
+
targetContract;
|
|
47
|
+
executeIndex;
|
|
48
|
+
constructor(targetContract, executeIndex) {
|
|
49
|
+
super(
|
|
50
|
+
`protocol call to ${targetContract} not found in trace for Execute #${executeIndex}`
|
|
51
|
+
);
|
|
52
|
+
this.name = "ProtocolCallNotFoundError";
|
|
53
|
+
this.targetContract = targetContract;
|
|
54
|
+
this.executeIndex = executeIndex;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
class AdapterTraceAlignmentError extends Error {
|
|
58
|
+
constructor(expected, actual) {
|
|
59
|
+
super(`found ${actual} adapter traces for ${expected} execute events`);
|
|
60
|
+
this.expected = expected;
|
|
61
|
+
this.actual = actual;
|
|
62
|
+
this.name = "AdapterTracesAlignmentError";
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
class UnexpectedFacadeEventOrderError extends Error {
|
|
66
|
+
constructor(e) {
|
|
67
|
+
super(
|
|
68
|
+
`unexpected facade event order: ${e.eventName} at ${e.logIndex} in ${e.transactionHash}`
|
|
69
|
+
);
|
|
70
|
+
this.name = "UnexpectedFacadeEventOrderError";
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
class UnknownFacadeCallError extends Error {
|
|
74
|
+
address;
|
|
75
|
+
functionName;
|
|
76
|
+
constructor(address, functionName) {
|
|
77
|
+
super(`unknown facade call "${functionName}" at ${address}`);
|
|
78
|
+
this.name = "UnknownFacadeCallError";
|
|
79
|
+
this.address = address;
|
|
80
|
+
this.functionName = functionName;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
84
|
+
0 && (module.exports = {
|
|
85
|
+
AdapterTraceAlignmentError,
|
|
86
|
+
ProtocolCallNotFoundError,
|
|
87
|
+
TransferAlignmentError,
|
|
88
|
+
UnexpectedFacadeEventOrderError,
|
|
89
|
+
UnknownAdapterError,
|
|
90
|
+
UnknownFacadeCallError
|
|
91
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var extractProtocolCalls_exports = {};
|
|
20
|
+
__export(extractProtocolCalls_exports, {
|
|
21
|
+
extractProtocolCalls: () => extractProtocolCalls
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(extractProtocolCalls_exports);
|
|
24
|
+
var import_errors = require("./errors.js");
|
|
25
|
+
var import_trace_utils = require("./trace-utils.js");
|
|
26
|
+
function extractProtocolCalls(facadeTrace, executeResults) {
|
|
27
|
+
if (executeResults.length === 0) {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
const subtraces = facadeTrace.calls ?? [];
|
|
31
|
+
const result = [];
|
|
32
|
+
let subtraceIdx = 0;
|
|
33
|
+
for (let i = 0; i < executeResults.length; i++) {
|
|
34
|
+
const { targetContract } = executeResults[i];
|
|
35
|
+
let found;
|
|
36
|
+
while (subtraceIdx < subtraces.length && !found) {
|
|
37
|
+
found = (0, import_trace_utils.findCallTo)(subtraces[subtraceIdx], targetContract);
|
|
38
|
+
subtraceIdx++;
|
|
39
|
+
}
|
|
40
|
+
if (!found) {
|
|
41
|
+
throw new import_errors.ProtocolCallNotFoundError(targetContract, i);
|
|
42
|
+
}
|
|
43
|
+
result.push(found.input);
|
|
44
|
+
}
|
|
45
|
+
if (result.length !== executeResults.length) {
|
|
46
|
+
throw new import_errors.AdapterTraceAlignmentError(executeResults.length, result.length);
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
51
|
+
0 && (module.exports = {
|
|
52
|
+
extractProtocolCalls
|
|
53
|
+
});
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var extractTransfers_exports = {};
|
|
20
|
+
__export(extractTransfers_exports, {
|
|
21
|
+
extractTransfers: () => extractTransfers
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(extractTransfers_exports);
|
|
24
|
+
var import_viem = require("viem");
|
|
25
|
+
var import_generated = require("../abi/310/generated.js");
|
|
26
|
+
var import_iERC20 = require("../abi/iERC20.js");
|
|
27
|
+
var import_sdk = require("../sdk/index.js");
|
|
28
|
+
var import_errors = require("./errors.js");
|
|
29
|
+
function extractTransfers(logs, creditAccount, pool, creditFacade) {
|
|
30
|
+
const ranges = buildOperationRanges(logs, creditFacade, creditAccount);
|
|
31
|
+
let currentEntries = [];
|
|
32
|
+
const executeResults = [];
|
|
33
|
+
const directTransfers = [];
|
|
34
|
+
const phantomTokens = new import_sdk.AddressMap();
|
|
35
|
+
let liquidationRemainingFunds;
|
|
36
|
+
for (const log of logs) {
|
|
37
|
+
const facadeEvent = tryDecodeFacadeEvent(log, creditFacade);
|
|
38
|
+
if (facadeEvent) {
|
|
39
|
+
if (isExecute(facadeEvent, creditAccount)) {
|
|
40
|
+
executeResults.push({
|
|
41
|
+
transfers: currentEntries,
|
|
42
|
+
targetContract: facadeEvent.args.targetContract
|
|
43
|
+
});
|
|
44
|
+
} else if (isLiquidation(facadeEvent, creditAccount)) {
|
|
45
|
+
liquidationRemainingFunds = facadeEvent.args.remainingFunds;
|
|
46
|
+
} else if (isWithdrawPhantomToken(facadeEvent, creditAccount)) {
|
|
47
|
+
const phantomExec = executeResults.pop();
|
|
48
|
+
if (!phantomExec) {
|
|
49
|
+
throw new Error(
|
|
50
|
+
`WithdrawPhantomToken without preceding Execute at logIndex ${facadeEvent.logIndex}`
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
const rawDeposit = phantomExec.transfers.find(
|
|
54
|
+
(t) => (0, import_viem.isAddressEqual)(t.to, creditAccount)
|
|
55
|
+
);
|
|
56
|
+
if (!rawDeposit) {
|
|
57
|
+
throw new Error(
|
|
58
|
+
`phantom Execute has no transfer to credit account at logIndex ${facadeEvent.logIndex}`
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
phantomTokens.upsert(
|
|
62
|
+
facadeEvent.args.token,
|
|
63
|
+
(0, import_viem.getAddress)(rawDeposit.token)
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
currentEntries = [];
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
const transfer = tryDecodeTransfer(log);
|
|
70
|
+
if (!transfer) {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const { from, to, value } = transfer.args;
|
|
74
|
+
const token = transfer.address;
|
|
75
|
+
if ((0, import_viem.isAddressEqual)(from, pool) && (0, import_viem.isAddressEqual)(to, creditAccount) || (0, import_viem.isAddressEqual)(from, creditAccount) && (0, import_viem.isAddressEqual)(to, pool)) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
currentEntries.push({ token, amount: value, from, to });
|
|
79
|
+
if ((0, import_viem.isAddressEqual)(to, creditAccount) && !isInRange(log.logIndex, ranges)) {
|
|
80
|
+
directTransfers.push({ token, from, amount: value });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
executeResults,
|
|
85
|
+
directTransfers,
|
|
86
|
+
liquidationRemainingFunds,
|
|
87
|
+
phantomTokens
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function buildOperationRanges(logs, facadeAddress, creditAccount) {
|
|
91
|
+
const breakpoints = [];
|
|
92
|
+
let inMulticall = false;
|
|
93
|
+
for (const l of logs) {
|
|
94
|
+
const e = tryDecodeFacadeEvent(l, facadeAddress);
|
|
95
|
+
switch (e?.eventName) {
|
|
96
|
+
case "StartMultiCall":
|
|
97
|
+
if ((0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount)) {
|
|
98
|
+
breakpoints.push(e);
|
|
99
|
+
inMulticall = true;
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
case "FinishMultiCall":
|
|
103
|
+
if (inMulticall) {
|
|
104
|
+
breakpoints.push(e);
|
|
105
|
+
inMulticall = false;
|
|
106
|
+
}
|
|
107
|
+
break;
|
|
108
|
+
case "PartiallyLiquidateCreditAccount":
|
|
109
|
+
if ((0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount)) {
|
|
110
|
+
breakpoints.push(e);
|
|
111
|
+
}
|
|
112
|
+
break;
|
|
113
|
+
case "AddCollateral":
|
|
114
|
+
if (!inMulticall && (0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount)) {
|
|
115
|
+
breakpoints.push(e);
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
const ranges = [];
|
|
121
|
+
let i = 0;
|
|
122
|
+
while (i < breakpoints.length - 1) {
|
|
123
|
+
const a = breakpoints[i];
|
|
124
|
+
const b = breakpoints[i + 1];
|
|
125
|
+
if (a.eventName === "StartMultiCall" && b.eventName === "FinishMultiCall") {
|
|
126
|
+
ranges.push({ start: a.logIndex, end: b.logIndex });
|
|
127
|
+
i += 2;
|
|
128
|
+
} else if (a.eventName === "AddCollateral" && b.eventName === "PartiallyLiquidateCreditAccount") {
|
|
129
|
+
ranges.push({ start: a.logIndex - 1, end: b.logIndex });
|
|
130
|
+
i += 2;
|
|
131
|
+
} else {
|
|
132
|
+
throw new import_errors.UnexpectedFacadeEventOrderError(a);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return ranges;
|
|
136
|
+
}
|
|
137
|
+
function tryDecodeFacadeEvent(log, facadeAddress) {
|
|
138
|
+
if (!(0, import_viem.isAddressEqual)(log.address, facadeAddress)) return void 0;
|
|
139
|
+
return (0, import_viem.parseEventLogs)({
|
|
140
|
+
abi: import_generated.iCreditFacadeV310Abi,
|
|
141
|
+
logs: [log]
|
|
142
|
+
})[0];
|
|
143
|
+
}
|
|
144
|
+
function tryDecodeTransfer(log) {
|
|
145
|
+
return (0, import_viem.parseEventLogs)({
|
|
146
|
+
abi: import_iERC20.ierc20Abi,
|
|
147
|
+
logs: [log],
|
|
148
|
+
eventName: "Transfer"
|
|
149
|
+
})[0];
|
|
150
|
+
}
|
|
151
|
+
function isInRange(logIndex, ranges) {
|
|
152
|
+
return ranges.some((r) => logIndex >= r.start && logIndex <= r.end);
|
|
153
|
+
}
|
|
154
|
+
function isExecute(e, creditAccount) {
|
|
155
|
+
return e.eventName === "Execute" && (0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount);
|
|
156
|
+
}
|
|
157
|
+
function isLiquidation(e, creditAccount) {
|
|
158
|
+
return e.eventName === "LiquidateCreditAccount" && (0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount);
|
|
159
|
+
}
|
|
160
|
+
function isWithdrawPhantomToken(e, creditAccount) {
|
|
161
|
+
return e.eventName === "WithdrawPhantomToken" && (0, import_viem.isAddressEqual)(e.args.creditAccount, creditAccount);
|
|
162
|
+
}
|
|
163
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
164
|
+
0 && (module.exports = {
|
|
165
|
+
extractTransfers
|
|
166
|
+
});
|