@gearbox-protocol/sdk 13.0.0-next.9 → 13.0.1
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/abi/310/iLinearInterestRateModelV310.js +92 -0
- package/dist/cjs/abi/errors.js +0 -145
- package/dist/cjs/abi/iPriceFeed.js +84 -0
- package/dist/cjs/{sdk/sdk-gov-legacy/oracles → common-utils}/index.js +4 -4
- package/dist/cjs/common-utils/package.json +1 -0
- package/dist/cjs/common-utils/utils/assetsMath.js +216 -0
- package/dist/cjs/common-utils/utils/bigintMath.js +65 -0
- package/dist/cjs/common-utils/utils/creditAccount/calcHealthFactor.js +76 -0
- package/dist/cjs/common-utils/utils/creditAccount/calcOverallAPY.js +81 -0
- package/dist/cjs/{sdk/accountMigration/MigrateCreditAccountsServiceV310.js → common-utils/utils/creditAccount/calcQuotaBorrowRate.js} +19 -7
- package/dist/cjs/{sdk/sdk-legacy/utils/math.js → common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js} +11 -10
- package/dist/cjs/common-utils/utils/creditAccount/debt.js +64 -0
- package/dist/cjs/common-utils/utils/creditAccount/getTimeToLiquidation.js +38 -0
- package/dist/cjs/common-utils/utils/creditAccount/index.js +40 -0
- package/dist/cjs/common-utils/utils/creditAccount/liquidationPrice.js +47 -0
- package/dist/cjs/common-utils/utils/creditAccount/quotaUtils.js +149 -0
- package/dist/cjs/common-utils/utils/creditAccount/sort.js +95 -0
- package/dist/cjs/common-utils/utils/endpoints.js +65 -0
- package/dist/cjs/{sdk/sdk-legacy → common-utils}/utils/index.js +10 -6
- package/dist/cjs/common-utils/utils/priceMath.js +66 -0
- package/dist/cjs/dev/AccountOpener.js +3 -3
- package/dist/cjs/dev/ltUtils.js +4 -91
- package/dist/cjs/dev/migrateFaucet.js +25 -53
- package/dist/cjs/dev/providers.js +12 -0
- package/dist/cjs/history/assembleOperations.js +103 -0
- package/dist/cjs/history/classifyMulticallOperations.js +157 -0
- package/dist/cjs/history/errors.js +91 -0
- package/dist/cjs/history/extractProtocolCalls.js +53 -0
- package/dist/cjs/history/extractTransfers.js +168 -0
- package/dist/cjs/history/findFacadeCalls.js +84 -0
- package/dist/cjs/history/index.js +39 -0
- package/dist/cjs/history/inner-operations.js +16 -0
- package/dist/cjs/history/internal-types.js +16 -0
- package/dist/cjs/history/mapOperations.js +79 -0
- package/dist/cjs/history/package.json +1 -0
- package/dist/cjs/history/parseCreditAccountTransaction.js +86 -0
- package/dist/cjs/history/populateContractsRegister.js +68 -0
- package/dist/cjs/history/toLegacyOperation.js +182 -0
- package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +3 -3
- package/dist/cjs/permissionless/bindings/instance-manager.js +3 -3
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -6
- 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 +123 -3
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +65 -30
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -25
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +74 -25
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +79 -31
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +79 -31
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +84 -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 +92 -34
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +46 -14
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +62 -27
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +46 -14
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +34 -14
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +56 -23
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +31 -14
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +28 -12
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +35 -16
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +47 -17
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +29 -11
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +45 -14
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +42 -17
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +79 -42
- package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +34 -14
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +27 -11
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +44 -17
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +49 -21
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +92 -55
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +71 -37
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +55 -25
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +44 -21
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +42 -23
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +53 -27
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +42 -17
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +37 -11
- package/dist/cjs/plugins/adapters/contracts/index.js +7 -15
- package/dist/cjs/plugins/adapters/createAdapter.js +125 -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/plugins/bots/PartialLiquidationBotV310Contract.js +4 -4
- package/dist/cjs/plugins/bots/abi/index.js +0 -2
- package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
- package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +1 -1
- package/dist/cjs/plugins/zappers/ZappersPlugin.js +144 -0
- package/dist/cjs/{sdk/market/ZapperRegister.js → plugins/zappers/extraZappers.js} +6 -110
- package/dist/cjs/{sdk/sdk-gov-legacy/contracts → plugins/zappers}/index.js +8 -6
- package/dist/cjs/plugins/zappers/package.json +1 -0
- package/dist/cjs/sdk/GearboxSDK.js +6 -14
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +19 -86
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +11 -12
- package/dist/cjs/sdk/accounts/createCreditAccountService.js +0 -4
- package/dist/cjs/sdk/accounts/index.js +0 -2
- package/dist/cjs/sdk/base/BaseContract.js +60 -6
- package/dist/cjs/sdk/base/ChainContractsRegister.js +33 -10
- package/dist/cjs/sdk/base/Construct.js +29 -15
- package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
- package/dist/cjs/sdk/base/SDKConstruct.js +1 -1
- package/dist/cjs/sdk/base/TokensMeta.js +32 -112
- package/dist/cjs/{abi/iStateSerializer.js → sdk/base/errors.js} +12 -13
- package/dist/cjs/sdk/base/index.js +2 -2
- package/dist/cjs/sdk/chain/chains.js +13 -31
- package/dist/cjs/sdk/constants/addresses.js +2 -88
- package/dist/cjs/sdk/constants/index.js +2 -0
- package/dist/cjs/sdk/constants/networks.js +0 -32
- package/dist/cjs/sdk/{base/token-types.js → constants/phantom-tokens.js} +3 -9
- package/dist/cjs/sdk/constants/versions.js +0 -8
- package/dist/cjs/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
- package/dist/cjs/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
- package/dist/cjs/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -7
- package/dist/cjs/sdk/core/index.js +6 -6
- package/dist/cjs/sdk/{gauges/utils.js → core/types.js} +2 -2
- package/dist/cjs/sdk/index.js +0 -10
- package/dist/cjs/sdk/market/MarketConfiguratorContract.js +3 -2
- package/dist/cjs/sdk/market/MarketRegister.js +2 -3
- package/dist/cjs/sdk/market/MarketSuite.js +1 -4
- package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +25 -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/CreditManagerV310Contract.js +1 -4
- package/dist/cjs/sdk/market/credit/createCreditConfigurator.js +1 -4
- package/dist/cjs/sdk/market/credit/createCreditFacade.js +1 -4
- package/dist/cjs/sdk/market/credit/createCreditManager.js +1 -4
- package/dist/cjs/sdk/market/credit/index.js +2 -6
- package/dist/cjs/sdk/market/index.js +1 -3
- package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +9 -57
- package/dist/cjs/sdk/market/oracle/createPriceOracle.js +7 -38
- package/dist/cjs/sdk/market/oracle/index.js +0 -2
- package/dist/cjs/sdk/market/pool/GaugeContract.js +3 -3
- package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +1 -1
- package/dist/cjs/sdk/market/pool/createPool.js +0 -4
- package/dist/cjs/sdk/market/pool/createPoolQuotaKeeper.js +0 -4
- package/dist/cjs/sdk/market/pool/index.js +0 -4
- package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
- package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +20 -0
- package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +19 -46
- package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
- package/dist/cjs/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
- package/dist/cjs/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
- package/dist/cjs/sdk/plugins/index.js +1 -3
- package/dist/cjs/sdk/pools/AbstractPoolService.js +137 -0
- package/dist/cjs/sdk/{sdk-legacy/gearboxRewards/merklAPI.js → pools/PoolServiceV310.js} +7 -7
- package/dist/cjs/sdk/{accountMigration/MigrateCreditAccountsServiceV300.js → pools/createPoolService.js} +12 -7
- package/dist/cjs/sdk/pools/index.js +4 -2
- package/dist/cjs/sdk/router/AbstractRouterContract.js +0 -4
- package/dist/cjs/sdk/router/RouterV310Contract.js +3 -32
- package/dist/cjs/sdk/router/createRouter.js +0 -4
- package/dist/cjs/sdk/router/helpers.js +0 -5
- package/dist/cjs/sdk/router/index.js +0 -2
- package/dist/cjs/sdk/utils/abi-decode.js +43 -2
- package/dist/cjs/sdk/utils/formatter.js +55 -2
- package/dist/esm/abi/310/iLinearInterestRateModelV310.js +68 -0
- package/dist/esm/abi/errors.js +0 -143
- package/dist/esm/abi/iPriceFeed.js +60 -0
- package/dist/esm/common-utils/index.js +1 -0
- package/dist/esm/common-utils/package.json +1 -0
- package/dist/esm/{sdk/sdk-legacy/core/assets.js → common-utils/utils/assetsMath.js} +80 -14
- package/dist/esm/common-utils/utils/bigintMath.js +41 -0
- package/dist/esm/common-utils/utils/creditAccount/calcHealthFactor.js +55 -0
- package/dist/esm/common-utils/utils/creditAccount/calcOverallAPY.js +60 -0
- package/dist/esm/common-utils/utils/creditAccount/calcQuotaBorrowRate.js +18 -0
- package/dist/esm/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js +10 -0
- package/dist/esm/common-utils/utils/creditAccount/debt.js +43 -0
- package/dist/esm/common-utils/utils/creditAccount/getTimeToLiquidation.js +18 -0
- package/dist/esm/common-utils/utils/creditAccount/index.js +10 -0
- package/dist/esm/common-utils/utils/creditAccount/liquidationPrice.js +23 -0
- package/dist/esm/common-utils/utils/creditAccount/quotaUtils.js +125 -0
- package/dist/esm/common-utils/utils/creditAccount/sort.js +67 -0
- package/dist/esm/common-utils/utils/endpoints.js +41 -0
- package/dist/esm/common-utils/utils/index.js +5 -0
- package/dist/esm/common-utils/utils/priceMath.js +42 -0
- package/dist/esm/dev/AccountOpener.js +3 -3
- package/dist/esm/dev/ltUtils.js +7 -100
- package/dist/esm/dev/migrateFaucet.js +24 -51
- package/dist/esm/dev/providers.js +12 -0
- package/dist/esm/history/assembleOperations.js +79 -0
- package/dist/esm/history/classifyMulticallOperations.js +137 -0
- package/dist/esm/history/errors.js +62 -0
- package/dist/esm/history/extractProtocolCalls.js +32 -0
- package/dist/esm/history/extractTransfers.js +148 -0
- package/dist/esm/history/findFacadeCalls.js +63 -0
- package/dist/esm/history/index.js +9 -0
- package/dist/esm/history/mapOperations.js +55 -0
- package/dist/esm/history/package.json +1 -0
- package/dist/esm/history/parseCreditAccountTransaction.js +62 -0
- package/dist/esm/history/populateContractsRegister.js +52 -0
- package/dist/esm/history/toLegacyOperation.js +157 -0
- package/dist/esm/history/trace-utils.js +36 -0
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +3 -3
- package/dist/esm/permissionless/bindings/instance-manager.js +3 -3
- package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -6
- 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 +133 -4
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +64 -30
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +109 -26
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +76 -25
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +81 -31
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +81 -31
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +86 -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 +97 -34
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +48 -14
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +64 -27
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +48 -14
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +36 -14
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +58 -23
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +37 -15
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +33 -12
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +40 -16
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +49 -17
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +31 -11
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +47 -14
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +44 -17
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +82 -43
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +36 -14
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +29 -11
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +46 -17
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +55 -22
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +91 -54
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +73 -37
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +54 -25
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +45 -22
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +43 -24
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +57 -28
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +48 -18
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +39 -11
- package/dist/esm/plugins/adapters/contracts/index.js +3 -7
- package/dist/esm/plugins/adapters/createAdapter.js +140 -0
- package/dist/esm/plugins/adapters/index.js +3 -0
- package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
- package/dist/esm/plugins/bots/PartialLiquidationBotV310Contract.js +5 -8
- package/dist/esm/plugins/bots/abi/index.js +0 -1
- package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
- package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +1 -2
- package/dist/esm/plugins/zappers/ZappersPlugin.js +126 -0
- package/dist/esm/{sdk/market/ZapperRegister.js → plugins/zappers/extraZappers.js} +2 -109
- package/dist/esm/plugins/zappers/index.js +3 -0
- package/dist/esm/plugins/zappers/package.json +1 -0
- package/dist/esm/sdk/GearboxSDK.js +7 -23
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +23 -91
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +11 -12
- package/dist/esm/sdk/accounts/createCreditAccountService.js +1 -5
- package/dist/esm/sdk/accounts/index.js +0 -1
- package/dist/esm/sdk/base/BaseContract.js +62 -6
- package/dist/esm/sdk/base/ChainContractsRegister.js +33 -10
- package/dist/esm/sdk/base/Construct.js +29 -15
- package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
- package/dist/esm/sdk/base/SDKConstruct.js +1 -1
- package/dist/esm/sdk/base/TokensMeta.js +36 -117
- package/dist/esm/sdk/base/errors.js +11 -0
- package/dist/esm/sdk/base/index.js +1 -1
- package/dist/esm/sdk/chain/chains.js +14 -31
- package/dist/esm/sdk/constants/addresses.js +1 -83
- package/dist/esm/sdk/constants/index.js +1 -0
- package/dist/esm/sdk/constants/networks.js +0 -31
- package/dist/esm/sdk/{base/token-types.js → constants/phantom-tokens.js} +0 -4
- package/dist/esm/sdk/constants/versions.js +0 -6
- package/dist/esm/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
- package/dist/esm/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
- package/dist/esm/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -8
- package/dist/esm/sdk/core/index.js +3 -3
- package/dist/esm/sdk/index.js +0 -5
- package/dist/esm/sdk/market/MarketConfiguratorContract.js +3 -2
- package/dist/esm/sdk/market/MarketRegister.js +2 -3
- package/dist/esm/sdk/market/MarketSuite.js +2 -5
- package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +29 -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/CreditManagerV310Contract.js +1 -4
- package/dist/esm/sdk/market/credit/createCreditConfigurator.js +2 -5
- package/dist/esm/sdk/market/credit/createCreditFacade.js +2 -5
- package/dist/esm/sdk/market/credit/createCreditManager.js +2 -5
- package/dist/esm/sdk/market/credit/index.js +1 -3
- package/dist/esm/sdk/market/index.js +0 -1
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +10 -59
- package/dist/esm/sdk/market/oracle/createPriceOracle.js +7 -38
- package/dist/esm/sdk/market/oracle/index.js +0 -1
- package/dist/esm/sdk/market/pool/GaugeContract.js +3 -3
- package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +1 -1
- package/dist/esm/sdk/market/pool/createPool.js +1 -5
- package/dist/esm/sdk/market/pool/createPoolQuotaKeeper.js +1 -5
- package/dist/esm/sdk/market/pool/index.js +0 -2
- package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
- package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +21 -1
- package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +20 -47
- package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
- package/dist/esm/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
- package/dist/esm/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
- package/dist/esm/sdk/plugins/index.js +0 -1
- package/dist/esm/sdk/pools/AbstractPoolService.js +113 -0
- package/dist/esm/sdk/pools/PoolServiceV310.js +6 -0
- package/dist/esm/sdk/pools/createPoolService.js +11 -0
- package/dist/esm/sdk/pools/index.js +2 -1
- package/dist/esm/sdk/router/AbstractRouterContract.js +0 -4
- package/dist/esm/sdk/router/RouterV310Contract.js +3 -32
- package/dist/esm/sdk/router/createRouter.js +1 -5
- package/dist/esm/sdk/router/helpers.js +0 -4
- package/dist/esm/sdk/router/index.js +0 -1
- package/dist/esm/sdk/utils/abi-decode.js +43 -2
- package/dist/esm/sdk/utils/formatter.js +37 -1
- package/dist/types/abi/310/iLinearInterestRateModelV310.d.ts +111 -0
- package/dist/types/abi/errors.d.ts +186 -996
- package/dist/types/abi/iPriceFeed.d.ts +87 -0
- package/dist/types/common-utils/index.d.ts +1 -0
- package/dist/types/common-utils/utils/assetsMath.d.ts +114 -0
- package/dist/types/common-utils/utils/bigintMath.d.ts +43 -0
- package/dist/types/common-utils/utils/creditAccount/calcHealthFactor.d.ts +25 -0
- package/dist/types/common-utils/utils/creditAccount/calcOverallAPY.d.ts +37 -0
- package/dist/types/common-utils/utils/creditAccount/calcQuotaBorrowRate.d.ts +18 -0
- package/dist/types/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.d.ts +15 -0
- package/dist/types/common-utils/utils/creditAccount/debt.d.ts +35 -0
- package/dist/types/common-utils/utils/creditAccount/getTimeToLiquidation.d.ts +16 -0
- package/dist/types/common-utils/utils/creditAccount/index.d.ts +10 -0
- package/dist/types/common-utils/utils/creditAccount/liquidationPrice.d.ts +25 -0
- package/dist/types/common-utils/utils/creditAccount/quotaUtils.d.ts +81 -0
- package/dist/types/common-utils/utils/creditAccount/sort.d.ts +55 -0
- package/dist/types/common-utils/utils/creditAccount/types.d.ts +18 -0
- package/dist/types/common-utils/utils/endpoints.d.ts +27 -0
- package/dist/types/common-utils/utils/index.d.ts +5 -0
- package/dist/types/common-utils/utils/priceMath.d.ts +47 -0
- package/dist/types/dev/migrateFaucet.d.ts +4 -5
- package/dist/types/dev/providers.d.ts +5 -5
- package/dist/types/history/assembleOperations.d.ts +22 -0
- package/dist/types/history/classifyMulticallOperations.d.ts +35 -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/mapOperations.d.ts +27 -0
- package/dist/types/history/parseCreditAccountTransaction.d.ts +27 -0
- package/dist/types/history/populateContractsRegister.d.ts +19 -0
- package/dist/types/history/toLegacyOperation.d.ts +18 -0
- package/dist/types/history/trace-utils.d.ts +12 -0
- package/dist/types/history/types.d.ts +71 -0
- package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +3 -3
- package/dist/types/permissionless/bindings/instance-manager.d.ts +3 -3
- 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 +135 -8
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +45 -4
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +225 -7
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +418 -8
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +227 -10
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1257 -10
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1257 -10
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1257 -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 +1227 -11
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +69 -6
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +492 -6
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +67 -6
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +132 -6
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +144 -8
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +163 -5
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +248 -6
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +367 -6
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +104 -7
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +46 -5
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +488 -6
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +20 -7
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +493 -7
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +18 -6
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +56 -5
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +52 -7
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +199 -7
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1040 -17
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +82 -8
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +148 -10
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +758 -5
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +183 -4
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +110 -5
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +84 -7
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +122 -4
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +275 -5
- package/dist/types/plugins/adapters/contracts/index.d.ts +3 -7
- package/dist/types/plugins/adapters/createAdapter.d.ts +5 -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 -2
- package/dist/types/plugins/bots/abi/index.d.ts +0 -1
- package/dist/types/plugins/zappers/ZappersPlugin.d.ts +18 -0
- package/dist/types/plugins/zappers/extraZappers.d.ts +6 -0
- package/dist/types/plugins/zappers/index.d.ts +3 -0
- package/dist/types/plugins/zappers/types.d.ts +12 -0
- package/dist/types/sdk/GearboxSDK.d.ts +0 -3
- package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +3 -13
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
- package/dist/types/sdk/accounts/createCreditAccountService.d.ts +1 -1
- package/dist/types/sdk/accounts/index.d.ts +0 -1
- package/dist/types/sdk/accounts/types.d.ts +9 -37
- package/dist/types/sdk/base/BaseContract.d.ts +17 -4
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -3
- package/dist/types/sdk/base/Construct.d.ts +13 -13
- package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
- package/dist/types/sdk/base/TokensMeta.d.ts +18 -11
- package/dist/types/sdk/base/errors.d.ts +3 -0
- package/dist/types/sdk/base/index.d.ts +1 -1
- package/dist/types/sdk/base/types.d.ts +37 -0
- package/dist/types/sdk/chain/chains.d.ts +1 -1
- package/dist/types/sdk/constants/addresses.d.ts +0 -19
- package/dist/types/sdk/constants/index.d.ts +1 -0
- package/dist/types/sdk/constants/networks.d.ts +0 -5
- package/dist/types/sdk/constants/phantom-tokens.d.ts +2 -0
- package/dist/types/sdk/constants/versions.d.ts +0 -2
- package/dist/types/sdk/core/{address-provider/AbstractAddressProviderContract.d.ts → AbstractAddressProviderContract.d.ts} +4 -4
- package/dist/types/sdk/core/{address-provider/AddressProviderV310Contract.d.ts → AddressProviderV310Contract.d.ts} +1 -1
- package/dist/types/sdk/core/{address-provider/createAddressProvider.d.ts → createAddressProvider.d.ts} +1 -1
- package/dist/types/sdk/core/index.d.ts +3 -3
- package/dist/types/sdk/core/{address-provider/types.d.ts → types.d.ts} +3 -3
- package/dist/types/sdk/index.d.ts +0 -5
- package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +1 -1
- package/dist/types/sdk/market/MarketRegister.d.ts +2 -3
- package/dist/types/sdk/market/MarketSuite.d.ts +0 -1
- package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +10 -5
- package/dist/types/sdk/market/adapters/index.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +6 -2
- package/dist/types/sdk/market/credit/{CreditFacadeV300Contract.d.ts → CreditFacadeV310BaseContract.d.ts} +335 -267
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
- package/dist/types/sdk/market/credit/index.d.ts +1 -3
- package/dist/types/sdk/market/credit/types.d.ts +2 -3
- package/dist/types/sdk/market/index.d.ts +0 -1
- package/dist/types/sdk/market/loss-policy/createLossPolicy.d.ts +0 -12
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +2 -21
- package/dist/types/sdk/market/oracle/PriceOracleV310Contract.d.ts +2 -2
- package/dist/types/sdk/market/oracle/createPriceOracle.d.ts +1 -15
- package/dist/types/sdk/market/oracle/index.d.ts +0 -1
- package/dist/types/sdk/market/oracle/types.d.ts +6 -18
- package/dist/types/sdk/market/pool/GaugeContract.d.ts +116 -76
- package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +20 -0
- package/dist/types/sdk/market/pool/index.d.ts +0 -2
- package/dist/types/sdk/market/pool/types.d.ts +2 -4
- package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +0 -3
- package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +21 -1
- package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -9
- package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +1 -8
- package/dist/types/sdk/market/pricefeeds/updates/PythUpdater.d.ts +1 -1
- package/dist/types/sdk/market/pricefeeds/updates/RedstoneUpdater.d.ts +1 -1
- package/dist/types/sdk/market/pricefeeds/updates/fetchPythPayloads.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/updates/fetchRedstonePayloads.d.ts +2 -2
- package/dist/types/sdk/options.d.ts +2 -2
- package/dist/types/sdk/plugins/index.d.ts +0 -1
- package/dist/types/sdk/pools/AbstractPoolService.d.ts +9 -0
- package/dist/types/sdk/pools/PoolServiceV310.d.ts +4 -0
- package/dist/types/sdk/pools/createPoolService.d.ts +3 -0
- package/dist/types/sdk/pools/index.d.ts +2 -1
- package/dist/types/sdk/pools/types.d.ts +62 -64
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +2 -7
- package/dist/types/sdk/router/RouterV310Contract.d.ts +1 -16
- package/dist/types/sdk/router/helpers.d.ts +2 -2
- package/dist/types/sdk/router/index.d.ts +0 -1
- package/dist/types/sdk/router/types.d.ts +2 -55
- package/dist/types/sdk/types/state-human.d.ts +1 -4
- package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
- package/dist/types/sdk/utils/formatter.d.ts +9 -0
- package/package.json +26 -12
- package/dist/cjs/abi/iDegenDistributorV300.js +0 -100
- package/dist/cjs/abi/routerV300.js +0 -406
- package/dist/cjs/abi/v300.js +0 -4189
- 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/MellowVaultAdapterContract.js +0 -46
- package/dist/cjs/plugins/adapters/contracts/types.js +0 -77
- package/dist/cjs/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -164
- package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -192
- package/dist/cjs/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -41
- package/dist/cjs/sdk/accountMigration/index.js +0 -26
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV300.js +0 -454
- package/dist/cjs/sdk/core/BotListV3Contract.js +0 -101
- package/dist/cjs/sdk/core/GearStakingV3Contract.js +0 -83
- package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +0 -116
- package/dist/cjs/sdk/core/address-provider/index.js +0 -28
- package/dist/cjs/sdk/gauges/GaugeStakingService.js +0 -118
- package/dist/cjs/sdk/gauges/index.js +0 -24
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -139
- package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +0 -160
- package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +0 -114
- package/dist/cjs/sdk/market/oracle/PriceOracleV300Contract.js +0 -129
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -85
- package/dist/cjs/sdk/market/pool/PoolV300Contract.js +0 -135
- package/dist/cjs/sdk/plugins/V300StalenessPeriodPlugin.js +0 -131
- package/dist/cjs/sdk/poolMigration/index.js +0 -84
- package/dist/cjs/sdk/pools/PoolService.js +0 -260
- package/dist/cjs/sdk/router/PathOptionFactory.js +0 -105
- package/dist/cjs/sdk/router/RouterV300Contract.js +0 -390
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/adapters.js +0 -67
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2576
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/protocols.js +0 -58
- package/dist/cjs/sdk/sdk-gov-legacy/index.js +0 -26
- package/dist/cjs/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -52
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/aave.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/aura.js +0 -239
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/balancer.js +0 -339
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/compound.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/convex.js +0 -450
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -394
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/erc4626.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/gear.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/index.js +0 -52
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/normal.js +0 -562
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -45
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/token.js +0 -1002
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -80
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -50
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/yearn.js +0 -95
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/core/assets.js +0 -150
- package/dist/cjs/sdk/sdk-legacy/core/creditAccount.js +0 -510
- package/dist/cjs/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1802
- package/dist/cjs/sdk/sdk-legacy/core/creditManager.js +0 -263
- package/dist/cjs/sdk/sdk-legacy/core/creditSession.js +0 -256
- package/dist/cjs/sdk/sdk-legacy/core/endpoint.js +0 -137
- package/dist/cjs/sdk/sdk-legacy/core/eventOrTx.js +0 -87
- package/dist/cjs/sdk/sdk-legacy/core/pool.js +0 -334
- package/dist/cjs/sdk/sdk-legacy/core/transactions.js +0 -783
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/api.js +0 -366
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/apy.js +0 -176
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -137
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/index.js +0 -26
- package/dist/cjs/sdk/sdk-legacy/index.js +0 -52
- package/dist/cjs/sdk/sdk-legacy/payload/creditAccount.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/creditManager.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/creditSession.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/graphPayload.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/pool.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/tokens/tokenData.js +0 -92
- package/dist/cjs/sdk/sdk-legacy/utils/formatter.js +0 -79
- package/dist/cjs/sdk/sdk-legacy/utils/price.js +0 -35
- package/dist/esm/abi/iDegenDistributorV300.js +0 -76
- package/dist/esm/abi/iStateSerializer.js +0 -12
- package/dist/esm/abi/routerV300.js +0 -381
- package/dist/esm/abi/v300.js +0 -4154
- 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/MellowVaultAdapterContract.js +0 -22
- package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
- package/dist/esm/plugins/adapters/contracts/types.js +0 -48
- package/dist/esm/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -140
- package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -171
- package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV300.js +0 -6
- package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV310.js +0 -6
- package/dist/esm/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -17
- package/dist/esm/sdk/accountMigration/index.js +0 -3
- package/dist/esm/sdk/accounts/CreditAccountsServiceV300.js +0 -442
- package/dist/esm/sdk/core/BotListV3Contract.js +0 -77
- package/dist/esm/sdk/core/GearStakingV3Contract.js +0 -59
- package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +0 -82
- package/dist/esm/sdk/core/address-provider/index.js +0 -4
- package/dist/esm/sdk/gauges/GaugeStakingService.js +0 -94
- package/dist/esm/sdk/gauges/index.js +0 -2
- package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -115
- package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +0 -143
- package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +0 -90
- package/dist/esm/sdk/market/oracle/PriceOracleV300Contract.js +0 -111
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -61
- package/dist/esm/sdk/market/pool/PoolV300Contract.js +0 -116
- package/dist/esm/sdk/plugins/V300StalenessPeriodPlugin.js +0 -107
- package/dist/esm/sdk/poolMigration/index.js +0 -60
- package/dist/esm/sdk/pools/PoolService.js +0 -240
- package/dist/esm/sdk/router/PathOptionFactory.js +0 -92
- package/dist/esm/sdk/router/RouterV300Contract.js +0 -374
- package/dist/esm/sdk/sdk-gov-legacy/contracts/adapters.js +0 -43
- package/dist/esm/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2538
- package/dist/esm/sdk/sdk-gov-legacy/contracts/index.js +0 -2
- package/dist/esm/sdk/sdk-gov-legacy/contracts/protocols.js +0 -34
- package/dist/esm/sdk/sdk-gov-legacy/index.js +0 -3
- package/dist/esm/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -28
- package/dist/esm/sdk/sdk-gov-legacy/oracles/index.js +0 -1
- package/dist/esm/sdk/sdk-gov-legacy/tokens/aura.js +0 -213
- package/dist/esm/sdk/sdk-gov-legacy/tokens/balancer.js +0 -314
- package/dist/esm/sdk/sdk-gov-legacy/tokens/convex.js +0 -424
- package/dist/esm/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -369
- package/dist/esm/sdk/sdk-gov-legacy/tokens/gear.js +0 -0
- package/dist/esm/sdk/sdk-gov-legacy/tokens/index.js +0 -16
- package/dist/esm/sdk/sdk-gov-legacy/tokens/normal.js +0 -538
- package/dist/esm/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -20
- package/dist/esm/sdk/sdk-gov-legacy/tokens/token.js +0 -975
- package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -55
- package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -26
- package/dist/esm/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -0
- package/dist/esm/sdk/sdk-gov-legacy/tokens/yearn.js +0 -71
- package/dist/esm/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -0
- package/dist/esm/sdk/sdk-legacy/core/creditAccount.js +0 -495
- package/dist/esm/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1805
- package/dist/esm/sdk/sdk-legacy/core/creditManager.js +0 -242
- package/dist/esm/sdk/sdk-legacy/core/creditSession.js +0 -228
- package/dist/esm/sdk/sdk-legacy/core/endpoint.js +0 -107
- package/dist/esm/sdk/sdk-legacy/core/eventOrTx.js +0 -63
- package/dist/esm/sdk/sdk-legacy/core/pool.js +0 -311
- package/dist/esm/sdk/sdk-legacy/core/transactions.js +0 -732
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/api.js +0 -332
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/apy.js +0 -158
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -102
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/index.js +0 -3
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/merklAPI.js +0 -6
- package/dist/esm/sdk/sdk-legacy/index.js +0 -16
- package/dist/esm/sdk/sdk-legacy/payload/creditAccount.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/creditManager.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/creditSession.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/graphPayload.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/pool.js +0 -0
- package/dist/esm/sdk/sdk-legacy/tokens/tokenData.js +0 -68
- package/dist/esm/sdk/sdk-legacy/utils/formatter.js +0 -39
- package/dist/esm/sdk/sdk-legacy/utils/index.js +0 -3
- package/dist/esm/sdk/sdk-legacy/utils/math.js +0 -9
- package/dist/esm/sdk/sdk-legacy/utils/price.js +0 -11
- package/dist/types/abi/iDegenDistributorV300.d.ts +0 -87
- package/dist/types/abi/iStateSerializer.d.ts +0 -11
- package/dist/types/abi/routerV300.d.ts +0 -585
- package/dist/types/abi/v300.d.ts +0 -5484
- 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/MellowVaultAdapterContract.d.ts +0 -203
- package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
- package/dist/types/plugins/adapters/contracts/types.d.ts +0 -34
- package/dist/types/plugins/bots/abi/iPartialLiquidationBotV300.d.ts +0 -210
- package/dist/types/sdk/accountMigration/AbstractMigrateCreditAccountsService.d.ts +0 -32
- package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV300.d.ts +0 -4
- package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV310.d.ts +0 -4
- package/dist/types/sdk/accountMigration/createMigrateCreditAccountsService.d.ts +0 -8
- package/dist/types/sdk/accountMigration/index.d.ts +0 -3
- package/dist/types/sdk/accountMigration/types.d.ts +0 -62
- package/dist/types/sdk/accounts/CreditAccountsServiceV300.d.ts +0 -32
- package/dist/types/sdk/base/token-types.d.ts +0 -25
- package/dist/types/sdk/core/BotListV3Contract.d.ts +0 -323
- package/dist/types/sdk/core/GearStakingV3Contract.d.ts +0 -520
- package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +0 -97
- package/dist/types/sdk/core/address-provider/index.d.ts +0 -4
- package/dist/types/sdk/gauges/GaugeStakingService.d.ts +0 -14
- package/dist/types/sdk/gauges/index.d.ts +0 -2
- package/dist/types/sdk/gauges/utils.d.ts +0 -22
- package/dist/types/sdk/market/ZapperRegister.d.ts +0 -17
- package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +0 -648
- package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +0 -1043
- package/dist/types/sdk/market/oracle/PriceOracleV300Contract.d.ts +0 -369
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +0 -448
- package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +0 -1107
- package/dist/types/sdk/market/types.d.ts +0 -10
- package/dist/types/sdk/plugins/V300StalenessPeriodPlugin.d.ts +0 -29
- package/dist/types/sdk/poolMigration/index.d.ts +0 -11
- package/dist/types/sdk/pools/PoolService.d.ts +0 -11
- package/dist/types/sdk/router/PathOptionFactory.d.ts +0 -9
- package/dist/types/sdk/router/RouterV300Contract.d.ts +0 -39
- package/dist/types/sdk/sdk-gov-legacy/contracts/adapters.d.ts +0 -39
- package/dist/types/sdk/sdk-gov-legacy/contracts/contracts.d.ts +0 -194
- package/dist/types/sdk/sdk-gov-legacy/contracts/index.d.ts +0 -2
- package/dist/types/sdk/sdk-gov-legacy/contracts/protocols.d.ts +0 -30
- package/dist/types/sdk/sdk-gov-legacy/index.d.ts +0 -3
- package/dist/types/sdk/sdk-gov-legacy/oracles/PriceFeedType.d.ts +0 -24
- package/dist/types/sdk/sdk-gov-legacy/oracles/index.d.ts +0 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/aave.d.ts +0 -2
- package/dist/types/sdk/sdk-gov-legacy/tokens/aura.d.ts +0 -26
- package/dist/types/sdk/sdk-gov-legacy/tokens/balancer.d.ts +0 -15
- package/dist/types/sdk/sdk-gov-legacy/tokens/compound.d.ts +0 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/convex.d.ts +0 -31
- package/dist/types/sdk/sdk-gov-legacy/tokens/curveLP.d.ts +0 -25
- package/dist/types/sdk/sdk-gov-legacy/tokens/erc4626.d.ts +0 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/gear.d.ts +0 -5
- package/dist/types/sdk/sdk-gov-legacy/tokens/index.d.ts +0 -16
- package/dist/types/sdk/sdk-gov-legacy/tokens/normal.d.ts +0 -9
- package/dist/types/sdk/sdk-gov-legacy/tokens/stakingRewards.d.ts +0 -13
- package/dist/types/sdk/sdk-gov-legacy/tokens/token.d.ts +0 -34
- package/dist/types/sdk/sdk-gov-legacy/tokens/tokenData.d.ts +0 -5
- package/dist/types/sdk/sdk-gov-legacy/tokens/tokenType.d.ts +0 -24
- package/dist/types/sdk/sdk-gov-legacy/tokens/wrapped.d.ts +0 -7
- package/dist/types/sdk/sdk-gov-legacy/tokens/yearn.d.ts +0 -26
- package/dist/types/sdk/sdk-gov-legacy/tokens/zircuit.d.ts +0 -1
- package/dist/types/sdk/sdk-legacy/core/assets.d.ts +0 -39
- package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +0 -152
- package/dist/types/sdk/sdk-legacy/core/creditAccount.spec.d.ts +0 -1
- package/dist/types/sdk/sdk-legacy/core/creditManager.d.ts +0 -92
- package/dist/types/sdk/sdk-legacy/core/creditSession.d.ts +0 -110
- package/dist/types/sdk/sdk-legacy/core/endpoint.d.ts +0 -24
- package/dist/types/sdk/sdk-legacy/core/eventOrTx.d.ts +0 -35
- package/dist/types/sdk/sdk-legacy/core/pool.d.ts +0 -144
- package/dist/types/sdk/sdk-legacy/core/transactions.d.ts +0 -348
- package/dist/types/sdk/sdk-legacy/gearboxRewards/api.d.ts +0 -87
- package/dist/types/sdk/sdk-legacy/gearboxRewards/apy.d.ts +0 -46
- package/dist/types/sdk/sdk-legacy/gearboxRewards/extraAPY.d.ts +0 -41
- package/dist/types/sdk/sdk-legacy/gearboxRewards/index.d.ts +0 -3
- package/dist/types/sdk/sdk-legacy/gearboxRewards/merklAPI.d.ts +0 -42
- package/dist/types/sdk/sdk-legacy/index.d.ts +0 -16
- package/dist/types/sdk/sdk-legacy/payload/creditAccount.d.ts +0 -47
- package/dist/types/sdk/sdk-legacy/payload/creditManager.d.ts +0 -109
- package/dist/types/sdk/sdk-legacy/payload/creditSession.d.ts +0 -111
- package/dist/types/sdk/sdk-legacy/payload/graphPayload.d.ts +0 -10
- package/dist/types/sdk/sdk-legacy/payload/pool.d.ts +0 -181
- package/dist/types/sdk/sdk-legacy/tokens/tokenData.d.ts +0 -21
- package/dist/types/sdk/sdk-legacy/utils/formatter.d.ts +0 -8
- package/dist/types/sdk/sdk-legacy/utils/index.d.ts +0 -3
- package/dist/types/sdk/sdk-legacy/utils/math.d.ts +0 -6
- package/dist/types/sdk/sdk-legacy/utils/price.d.ts +0 -9
- /package/dist/cjs/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
- /package/dist/cjs/{sdk/core/address-provider → history}/types.js +0 -0
- /package/dist/cjs/{sdk/market → plugins/zappers}/types.js +0 -0
- /package/dist/esm/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
- /package/dist/esm/{sdk/core/address-provider/types.js → history/inner-operations.js} +0 -0
- /package/dist/esm/{sdk/gauges/utils.js → history/internal-types.js} +0 -0
- /package/dist/esm/{sdk/market → history}/types.js +0 -0
- /package/dist/esm/{sdk/sdk-gov-legacy/tokens/aave.js → plugins/adapters/legacyAdapterOperations.js} +0 -0
- /package/dist/esm/{sdk/sdk-gov-legacy/tokens/compound.js → plugins/zappers/types.js} +0 -0
- /package/dist/esm/sdk/{sdk-gov-legacy/tokens/erc4626.js → core/types.js} +0 -0
- /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
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { PRICE_DECIMALS, WAD } from "../../sdk/index.js";
|
|
2
|
+
class PriceUtils {
|
|
3
|
+
/**
|
|
4
|
+
* This class is intentionally non-instantiable.
|
|
5
|
+
*/
|
|
6
|
+
constructor() {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Calculates normalized total value for a token amount at a given price.
|
|
10
|
+
*
|
|
11
|
+
* Formula:
|
|
12
|
+
* `(amount * WAD * price) / 10^decimals / PRICE_DECIMALS`
|
|
13
|
+
*
|
|
14
|
+
* @param price Token unit price in `PRICE_DECIMALS` precision.
|
|
15
|
+
* @param amount Token amount in raw token units.
|
|
16
|
+
* @param decimals Token decimals used to normalize `amount` (defaults to `18`).
|
|
17
|
+
* @returns Total value in WAD-normalized units.
|
|
18
|
+
*/
|
|
19
|
+
static calcTotalPrice = (price, amount, decimals = 18) => amount * WAD * price / 10n ** BigInt(decimals) / PRICE_DECIMALS;
|
|
20
|
+
/**
|
|
21
|
+
* Converts a normalized monetary value into target token amount by price.
|
|
22
|
+
*
|
|
23
|
+
* Formula:
|
|
24
|
+
* `(totalMoney * 10^targetDecimals * PRICE_DECIMALS) / targetPrice / WAD`
|
|
25
|
+
*
|
|
26
|
+
* Safety behavior:
|
|
27
|
+
* - returns `0n` when `targetPrice <= 0n` to avoid invalid division
|
|
28
|
+
*
|
|
29
|
+
* @param totalMoney Value to convert, expected in WAD-normalized units.
|
|
30
|
+
* @param target Conversion target configuration:
|
|
31
|
+
* - `price`: target token unit price in `PRICE_DECIMALS` precision
|
|
32
|
+
* - `decimals`: target token decimals (defaults to `18`)
|
|
33
|
+
* @returns Target token amount in raw token units.
|
|
34
|
+
*/
|
|
35
|
+
static convertByPrice(totalMoney, { price: targetPrice, decimals: targetDecimals = 18 }) {
|
|
36
|
+
if (targetPrice <= 0n) return 0n;
|
|
37
|
+
return totalMoney * 10n ** BigInt(targetDecimals) * PRICE_DECIMALS / targetPrice / WAD;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
PriceUtils
|
|
42
|
+
};
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
parseEventLogs
|
|
7
7
|
} from "viem";
|
|
8
8
|
import { generatePrivateKey, privateKeyToAccount } from "viem/accounts";
|
|
9
|
+
import { iCreditFacadeV310Abi, iPoolV310Abi } from "../abi/310/generated.js";
|
|
9
10
|
import { ierc20Abi } from "../abi/iERC20.js";
|
|
10
|
-
import { iCreditFacadeV300Abi, iPoolV300Abi } from "../abi/v300.js";
|
|
11
11
|
import {
|
|
12
12
|
ADDRESS_0X0,
|
|
13
13
|
AddressMap,
|
|
@@ -212,7 +212,7 @@ class AccountOpener extends SDKConstruct {
|
|
|
212
212
|
}
|
|
213
213
|
logger?.info(`opened credit account ${index}/${total}`);
|
|
214
214
|
const logs = parseEventLogs({
|
|
215
|
-
abi:
|
|
215
|
+
abi: iCreditFacadeV310Abi,
|
|
216
216
|
logs: receipt.logs,
|
|
217
217
|
eventName: "OpenCreditAccount"
|
|
218
218
|
});
|
|
@@ -478,7 +478,7 @@ class AccountOpener extends SDKConstruct {
|
|
|
478
478
|
txHash = await this.#anvil.writeContract({
|
|
479
479
|
account: depositor,
|
|
480
480
|
address,
|
|
481
|
-
abi:
|
|
481
|
+
abi: iPoolV310Abi,
|
|
482
482
|
functionName: "deposit",
|
|
483
483
|
args: [amount, depositor.address],
|
|
484
484
|
chain: this.#anvil.chain
|
package/dist/esm/dev/ltUtils.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import { erc20Abi, parseEther } from "viem";
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} from "../abi/
|
|
6
|
-
import {
|
|
7
|
-
hexEq,
|
|
8
|
-
isV300,
|
|
9
|
-
isV310,
|
|
10
|
-
PERCENTAGE_FACTOR,
|
|
11
|
-
TypedObjectUtils
|
|
12
|
-
} from "../sdk/index.js";
|
|
3
|
+
iCreditConfiguratorV310Abi,
|
|
4
|
+
iCreditManagerV310Abi
|
|
5
|
+
} from "../abi/310/generated.js";
|
|
6
|
+
import { hexEq, isV310, TypedObjectUtils } from "../sdk/index.js";
|
|
13
7
|
import { iaclTraitAbi, iOwnableAbi } from "./abi.js";
|
|
14
8
|
async function setLTs(anvil, cm, newLTs, logger) {
|
|
15
9
|
const configuratorAddr = await impresonateCCOwner(anvil, cm);
|
|
@@ -18,7 +12,7 @@ async function setLTs(anvil, cm, newLTs, logger) {
|
|
|
18
12
|
chain: anvil.chain,
|
|
19
13
|
address: cm.creditConfigurator.baseParams.addr,
|
|
20
14
|
account: configuratorAddr,
|
|
21
|
-
abi:
|
|
15
|
+
abi: iCreditConfiguratorV310Abi,
|
|
22
16
|
functionName: "setLiquidationThreshold",
|
|
23
17
|
args: [t, lt]
|
|
24
18
|
});
|
|
@@ -30,9 +24,7 @@ async function setLTs(anvil, cm, newLTs, logger) {
|
|
|
30
24
|
}
|
|
31
25
|
async function setLTZero(anvil, cm, logger) {
|
|
32
26
|
const v = Number(cm.creditConfigurator.baseParams.version);
|
|
33
|
-
if (
|
|
34
|
-
await setLTZeroV300(anvil, cm, logger);
|
|
35
|
-
} else if (isV310(v)) {
|
|
27
|
+
if (isV310(v)) {
|
|
36
28
|
await setLTZeroV310(anvil, cm, logger);
|
|
37
29
|
} else {
|
|
38
30
|
throw new Error(
|
|
@@ -40,91 +32,6 @@ async function setLTZero(anvil, cm, logger) {
|
|
|
40
32
|
);
|
|
41
33
|
}
|
|
42
34
|
}
|
|
43
|
-
async function setLTZeroV300(anvil, cm, logger) {
|
|
44
|
-
const ccAddr = cm.creditConfigurator.baseParams.addr;
|
|
45
|
-
const cmAddr = cm.creditManager.baseParams.addr;
|
|
46
|
-
const {
|
|
47
|
-
name,
|
|
48
|
-
underlying,
|
|
49
|
-
feeInterest,
|
|
50
|
-
liquidationDiscount,
|
|
51
|
-
feeLiquidation,
|
|
52
|
-
feeLiquidationExpired,
|
|
53
|
-
liquidationDiscountExpired
|
|
54
|
-
} = cm.creditManager;
|
|
55
|
-
const owner = await impresonateCCOwner(anvil, cm);
|
|
56
|
-
let hash = await anvil.writeContract({
|
|
57
|
-
chain: anvil.chain,
|
|
58
|
-
address: ccAddr,
|
|
59
|
-
account: owner,
|
|
60
|
-
abi: iCreditConfiguratorV300Abi,
|
|
61
|
-
functionName: "setFees",
|
|
62
|
-
args: [
|
|
63
|
-
feeInterest,
|
|
64
|
-
liquidationDiscount - 1,
|
|
65
|
-
Number(PERCENTAGE_FACTOR) - liquidationDiscount,
|
|
66
|
-
feeLiquidationExpired,
|
|
67
|
-
liquidationDiscountExpired
|
|
68
|
-
]
|
|
69
|
-
});
|
|
70
|
-
await anvil.waitForTransactionReceipt({ hash });
|
|
71
|
-
logger?.debug(`[${name}] setFees part 2`);
|
|
72
|
-
hash = await anvil.writeContract({
|
|
73
|
-
chain: anvil.chain,
|
|
74
|
-
address: ccAddr,
|
|
75
|
-
account: owner,
|
|
76
|
-
abi: iCreditConfiguratorV300Abi,
|
|
77
|
-
functionName: "setFees",
|
|
78
|
-
args: [
|
|
79
|
-
feeInterest,
|
|
80
|
-
feeLiquidation,
|
|
81
|
-
Number(PERCENTAGE_FACTOR) - liquidationDiscount,
|
|
82
|
-
feeLiquidationExpired,
|
|
83
|
-
liquidationDiscountExpired
|
|
84
|
-
]
|
|
85
|
-
});
|
|
86
|
-
await anvil.waitForTransactionReceipt({ hash });
|
|
87
|
-
logger?.debug(`[${name}] setFees done`);
|
|
88
|
-
await anvil.impersonateAccount({
|
|
89
|
-
address: ccAddr
|
|
90
|
-
});
|
|
91
|
-
await anvil.setBalance({
|
|
92
|
-
address: ccAddr,
|
|
93
|
-
value: parseEther("100")
|
|
94
|
-
});
|
|
95
|
-
logger?.debug(`[${name}] impresonating creditConfigurator ${ccAddr}`);
|
|
96
|
-
logger?.debug(`[${name}] setting liquidation threshold`);
|
|
97
|
-
hash = await anvil.writeContract({
|
|
98
|
-
chain: anvil.chain,
|
|
99
|
-
address: cmAddr,
|
|
100
|
-
account: ccAddr,
|
|
101
|
-
abi: iCreditManagerV300Abi,
|
|
102
|
-
functionName: "setCollateralTokenData",
|
|
103
|
-
args: [underlying, 1, 1, Number(2n ** 40n - 1n), 0]
|
|
104
|
-
});
|
|
105
|
-
await anvil.waitForTransactionReceipt({ hash });
|
|
106
|
-
logger?.debug(`[${name}] setting configurator ${ccAddr}`);
|
|
107
|
-
hash = await anvil.writeContract({
|
|
108
|
-
chain: anvil.chain,
|
|
109
|
-
address: cmAddr,
|
|
110
|
-
account: ccAddr,
|
|
111
|
-
abi: iCreditManagerV300Abi,
|
|
112
|
-
functionName: "setCreditConfigurator",
|
|
113
|
-
args: [ccAddr]
|
|
114
|
-
});
|
|
115
|
-
await anvil.waitForTransactionReceipt({ hash });
|
|
116
|
-
logger?.debug(`[${name}] done`);
|
|
117
|
-
await anvil.stopImpersonatingAccount({
|
|
118
|
-
address: ccAddr
|
|
119
|
-
});
|
|
120
|
-
await anvil.stopImpersonatingAccount({ address: owner });
|
|
121
|
-
await logLTs(
|
|
122
|
-
anvil,
|
|
123
|
-
cm,
|
|
124
|
-
cm.creditManager.collateralTokens.map((c) => c.token),
|
|
125
|
-
logger
|
|
126
|
-
);
|
|
127
|
-
}
|
|
128
35
|
async function setLTZeroV310(anvil, cm, logger) {
|
|
129
36
|
const newLTs = {};
|
|
130
37
|
for (const { token } of cm.creditManager.collateralTokens) {
|
|
@@ -159,7 +66,7 @@ async function logLTs(anvil, cm, tokens, logger) {
|
|
|
159
66
|
allowFailure: true,
|
|
160
67
|
contracts: tokens.flatMap((t) => [
|
|
161
68
|
{
|
|
162
|
-
abi:
|
|
69
|
+
abi: iCreditManagerV310Abi,
|
|
163
70
|
functionName: "liquidationThresholds",
|
|
164
71
|
address: cm.creditManager.baseParams.addr,
|
|
165
72
|
args: [t]
|
|
@@ -1,41 +1,29 @@
|
|
|
1
1
|
import { formatEther, parseEther, stringToHex } from "viem";
|
|
2
2
|
import { iAddressProviderV310Abi } from "../abi/310/generated.js";
|
|
3
|
-
import { iAddressProviderV300Abi } from "../abi/v300.js";
|
|
4
|
-
import { ADDRESS_PROVIDER } from "../sdk/index.js";
|
|
5
3
|
import { extendAnvilClient } from "./createAnvilClient.js";
|
|
4
|
+
async function migrateFaucet(sdk, faucet) {
|
|
5
|
+
try {
|
|
6
|
+
await unsafeMigrateFaucet(sdk, faucet);
|
|
7
|
+
sdk.logger?.info("faucet migrated successfully");
|
|
8
|
+
} catch (e) {
|
|
9
|
+
sdk.logger?.error(`faucet migration failed: ${e}`);
|
|
10
|
+
}
|
|
11
|
+
return sdk.client.readContract({
|
|
12
|
+
abi: iAddressProviderV310Abi,
|
|
13
|
+
address: sdk.addressProvider.address,
|
|
14
|
+
functionName: "getAddressOrRevert",
|
|
15
|
+
args: [stringToHex("FAUCET", { size: 32 }), 0n]
|
|
16
|
+
});
|
|
17
|
+
}
|
|
6
18
|
async function unsafeMigrateFaucet(sdk, faucet) {
|
|
7
19
|
const anvil = extendAnvilClient(sdk.client);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
functionName: "owner",
|
|
16
|
-
args: []
|
|
17
|
-
});
|
|
18
|
-
} else {
|
|
19
|
-
[faucetAddr, owner] = await anvil.multicall({
|
|
20
|
-
contracts: [
|
|
21
|
-
{
|
|
22
|
-
abi: iAddressProviderV300Abi,
|
|
23
|
-
address: ADDRESS_PROVIDER[sdk.networkType],
|
|
24
|
-
functionName: "getAddressOrRevert",
|
|
25
|
-
args: [stringToHex("FAUCET", { size: 32 }), 0n]
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
abi: iAddressProviderV310Abi,
|
|
29
|
-
address: sdk.addressProvider.address,
|
|
30
|
-
functionName: "owner",
|
|
31
|
-
args: []
|
|
32
|
-
}
|
|
33
|
-
],
|
|
34
|
-
allowFailure: false,
|
|
35
|
-
batchSize: 0
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
sdk.logger?.debug(`faucet address: ${faucetAddr}, owner: ${owner}`);
|
|
20
|
+
const owner = await anvil.readContract({
|
|
21
|
+
abi: iAddressProviderV310Abi,
|
|
22
|
+
address: sdk.addressProvider.address,
|
|
23
|
+
functionName: "owner",
|
|
24
|
+
args: []
|
|
25
|
+
});
|
|
26
|
+
sdk.logger?.debug(`faucet address: ${faucet}, owner: ${owner}`);
|
|
39
27
|
await anvil.impersonateAccount({ address: owner });
|
|
40
28
|
await anvil.setBalance({
|
|
41
29
|
address: owner,
|
|
@@ -49,7 +37,7 @@ async function unsafeMigrateFaucet(sdk, faucet) {
|
|
|
49
37
|
address: sdk.addressProvider.address,
|
|
50
38
|
abi: iAddressProviderV310Abi,
|
|
51
39
|
functionName: "setAddress",
|
|
52
|
-
args: [stringToHex("FAUCET", { size: 32 }),
|
|
40
|
+
args: [stringToHex("FAUCET", { size: 32 }), faucet, false]
|
|
53
41
|
});
|
|
54
42
|
sdk.logger?.debug("estimated setAddress call");
|
|
55
43
|
const hash = await anvil.writeContract({
|
|
@@ -58,7 +46,7 @@ async function unsafeMigrateFaucet(sdk, faucet) {
|
|
|
58
46
|
address: sdk.addressProvider.address,
|
|
59
47
|
abi: iAddressProviderV310Abi,
|
|
60
48
|
functionName: "setAddress",
|
|
61
|
-
args: [stringToHex("FAUCET", { size: 32 }),
|
|
49
|
+
args: [stringToHex("FAUCET", { size: 32 }), faucet, false],
|
|
62
50
|
gas: request.gas ? request.gas * 11n / 10n : void 0
|
|
63
51
|
});
|
|
64
52
|
const receipt = await anvil.waitForTransactionReceipt({ hash });
|
|
@@ -67,21 +55,6 @@ async function unsafeMigrateFaucet(sdk, faucet) {
|
|
|
67
55
|
throw new Error("faucet migration reverted");
|
|
68
56
|
}
|
|
69
57
|
}
|
|
70
|
-
async function migrateFaucet(sdk, faucet) {
|
|
71
|
-
try {
|
|
72
|
-
await unsafeMigrateFaucet(sdk, faucet);
|
|
73
|
-
sdk.logger?.info("faucet migrated successfully");
|
|
74
|
-
} catch (e) {
|
|
75
|
-
sdk.logger?.error(`faucet migration failed: ${e}`);
|
|
76
|
-
}
|
|
77
|
-
return sdk.client.readContract({
|
|
78
|
-
abi: iAddressProviderV310Abi,
|
|
79
|
-
address: sdk.addressProvider.address,
|
|
80
|
-
functionName: "getAddressOrRevert",
|
|
81
|
-
args: [stringToHex("FAUCET", { size: 32 }), 0n]
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
58
|
export {
|
|
85
|
-
migrateFaucet
|
|
86
|
-
unsafeMigrateFaucet
|
|
59
|
+
migrateFaucet
|
|
87
60
|
};
|
|
@@ -22,6 +22,9 @@ function getRpcProviderUrl(provider, network, apiKey, protocol = "http") {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
function getAlchemyUrl(network, apiKey, protocol = "http") {
|
|
25
|
+
if (!apiKey) {
|
|
26
|
+
return void 0;
|
|
27
|
+
}
|
|
25
28
|
const alchemyDomain = ALCHEMY_DOMAINS[network];
|
|
26
29
|
if (!alchemyDomain) {
|
|
27
30
|
return void 0;
|
|
@@ -65,6 +68,9 @@ const ALCHEMY_DOMAINS = {
|
|
|
65
68
|
Somnia: null
|
|
66
69
|
};
|
|
67
70
|
function getDrpcUrl(network, apiKey, protocol = "http") {
|
|
71
|
+
if (!apiKey) {
|
|
72
|
+
return void 0;
|
|
73
|
+
}
|
|
68
74
|
const net = DRPC_NETS[network];
|
|
69
75
|
return net ? `${protocol}s://lb.drpc.live/${net}/${apiKey}` : void 0;
|
|
70
76
|
}
|
|
@@ -87,6 +93,9 @@ const ANKR_DOMAINS = {
|
|
|
87
93
|
Somnia: "somnia_mainnet"
|
|
88
94
|
};
|
|
89
95
|
function getAnkrUrl(network, apiKey, protocol = "http") {
|
|
96
|
+
if (!apiKey) {
|
|
97
|
+
return void 0;
|
|
98
|
+
}
|
|
90
99
|
const net = ANKR_DOMAINS[network];
|
|
91
100
|
const sep = protocol === "ws" ? "/ws/" : "/";
|
|
92
101
|
return net ? `${protocol}s://rpc.ankr.com/${net}${sep}${apiKey}` : void 0;
|
|
@@ -110,6 +119,9 @@ const THIRDWEB_DOMAINS = {
|
|
|
110
119
|
Somnia: chains.Somnia.id.toString()
|
|
111
120
|
};
|
|
112
121
|
function getThirdWebUrl(network, apiKey, protocol = "http") {
|
|
122
|
+
if (!apiKey) {
|
|
123
|
+
return void 0;
|
|
124
|
+
}
|
|
113
125
|
if (protocol === "ws") {
|
|
114
126
|
return void 0;
|
|
115
127
|
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { AbstractAdapterContract } from "../plugins/adapters/index.js";
|
|
2
|
+
import { classifyMulticallOperations } from "./classifyMulticallOperations.js";
|
|
3
|
+
import { extractProtocolCalls } from "./extractProtocolCalls.js";
|
|
4
|
+
function assembleOperations(input) {
|
|
5
|
+
const {
|
|
6
|
+
facadeCalls,
|
|
7
|
+
executeResults,
|
|
8
|
+
register,
|
|
9
|
+
underlying,
|
|
10
|
+
liquidationRemainingFunds,
|
|
11
|
+
phantomTokens,
|
|
12
|
+
strict
|
|
13
|
+
} = input;
|
|
14
|
+
let offset = 0;
|
|
15
|
+
return facadeCalls.map((fc) => {
|
|
16
|
+
if (fc.operation === "PartiallyLiquidateCreditAccount") {
|
|
17
|
+
return assemblePartialLiquidation(fc);
|
|
18
|
+
}
|
|
19
|
+
const count = countAdapterCalls(fc.innerCalls, register);
|
|
20
|
+
const sliced = executeResults.slice(offset, offset + count);
|
|
21
|
+
offset += count;
|
|
22
|
+
const protocolCalldatas = extractProtocolCalls(fc.trace, sliced);
|
|
23
|
+
const multicall = classifyMulticallOperations({
|
|
24
|
+
innerCalls: fc.innerCalls,
|
|
25
|
+
executeResults: sliced,
|
|
26
|
+
protocolCalldatas,
|
|
27
|
+
register,
|
|
28
|
+
creditAccount: fc.creditAccount,
|
|
29
|
+
underlying,
|
|
30
|
+
strict,
|
|
31
|
+
phantomTokens
|
|
32
|
+
});
|
|
33
|
+
switch (fc.operation) {
|
|
34
|
+
case "OpenCreditAccount":
|
|
35
|
+
return {
|
|
36
|
+
operation: fc.operation,
|
|
37
|
+
creditAccount: fc.creditAccount,
|
|
38
|
+
onBehalfOf: fc.parsed.rawArgs.onBehalfOf,
|
|
39
|
+
referralCode: fc.parsed.rawArgs.referralCode,
|
|
40
|
+
multicall
|
|
41
|
+
};
|
|
42
|
+
case "LiquidateCreditAccount":
|
|
43
|
+
return {
|
|
44
|
+
operation: fc.operation,
|
|
45
|
+
creditAccount: fc.creditAccount,
|
|
46
|
+
to: fc.parsed.rawArgs.to,
|
|
47
|
+
token: underlying,
|
|
48
|
+
remainingFunds: liquidationRemainingFunds ?? 0n,
|
|
49
|
+
multicall
|
|
50
|
+
};
|
|
51
|
+
default:
|
|
52
|
+
return {
|
|
53
|
+
operation: fc.operation,
|
|
54
|
+
creditAccount: fc.creditAccount,
|
|
55
|
+
multicall
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function countAdapterCalls(innerCalls, register) {
|
|
61
|
+
return innerCalls.filter((call) => {
|
|
62
|
+
const contract = register.getContract(call.target);
|
|
63
|
+
return !contract || contract instanceof AbstractAdapterContract;
|
|
64
|
+
}).length;
|
|
65
|
+
}
|
|
66
|
+
function assemblePartialLiquidation(fc) {
|
|
67
|
+
const { rawArgs } = fc.parsed;
|
|
68
|
+
return {
|
|
69
|
+
operation: "PartiallyLiquidateCreditAccount",
|
|
70
|
+
creditAccount: fc.creditAccount,
|
|
71
|
+
token: rawArgs.token,
|
|
72
|
+
repaidAmount: rawArgs.repaidAmount,
|
|
73
|
+
minSeizedAmount: rawArgs.minSeizedAmount,
|
|
74
|
+
to: rawArgs.to
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export {
|
|
78
|
+
assembleOperations
|
|
79
|
+
};
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { isAddressEqual } from "viem";
|
|
2
|
+
import {
|
|
3
|
+
AbstractAdapterContract,
|
|
4
|
+
swapFromTransfers,
|
|
5
|
+
toNetTransfers
|
|
6
|
+
} from "../plugins/adapters/index.js";
|
|
7
|
+
import { TransferAlignmentError, UnknownAdapterError } from "./errors.js";
|
|
8
|
+
function classifyMulticallOperations(input) {
|
|
9
|
+
const {
|
|
10
|
+
innerCalls,
|
|
11
|
+
executeResults,
|
|
12
|
+
protocolCalldatas,
|
|
13
|
+
register,
|
|
14
|
+
creditAccount,
|
|
15
|
+
underlying,
|
|
16
|
+
strict,
|
|
17
|
+
phantomTokens
|
|
18
|
+
} = input;
|
|
19
|
+
let transferIdx = 0;
|
|
20
|
+
const result = [];
|
|
21
|
+
for (const call of innerCalls) {
|
|
22
|
+
const contract = register.getContract(call.target);
|
|
23
|
+
if (contract instanceof AbstractAdapterContract) {
|
|
24
|
+
const idx = transferIdx++;
|
|
25
|
+
const executeResult = executeResults[idx];
|
|
26
|
+
if (!executeResult) {
|
|
27
|
+
throw new TransferAlignmentError(executeResults.length, transferIdx);
|
|
28
|
+
}
|
|
29
|
+
const { transfers: transfers2, targetContract: targetContract2 } = executeResult;
|
|
30
|
+
const protocolCalldata = protocolCalldatas[idx];
|
|
31
|
+
const partial = contract.parseAdapterOperation(
|
|
32
|
+
call,
|
|
33
|
+
transfers2,
|
|
34
|
+
creditAccount,
|
|
35
|
+
protocolCalldata,
|
|
36
|
+
strict
|
|
37
|
+
);
|
|
38
|
+
if (partial) result.push({ ...partial, protocol: targetContract2 });
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (contract !== void 0) {
|
|
42
|
+
const op = classifyFacadeInnerCall(call, underlying, phantomTokens);
|
|
43
|
+
if (op) result.push(op);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (strict) {
|
|
47
|
+
throw new UnknownAdapterError(call.target);
|
|
48
|
+
}
|
|
49
|
+
const unknownIdx = transferIdx++;
|
|
50
|
+
const unknownResult = executeResults[unknownIdx];
|
|
51
|
+
if (!unknownResult) {
|
|
52
|
+
throw new TransferAlignmentError(executeResults.length, transferIdx);
|
|
53
|
+
}
|
|
54
|
+
const { transfers, targetContract } = unknownResult;
|
|
55
|
+
const netTransfers = toNetTransfers(transfers, creditAccount);
|
|
56
|
+
result.push({
|
|
57
|
+
operation: "Execute",
|
|
58
|
+
adapter: call.target,
|
|
59
|
+
protocol: targetContract,
|
|
60
|
+
adapterType: call.contractType,
|
|
61
|
+
version: call.version,
|
|
62
|
+
label: call.label,
|
|
63
|
+
adapterFunctionName: call.functionName,
|
|
64
|
+
adapterArgs: call.rawArgs,
|
|
65
|
+
protocolFunctionName: call.functionName,
|
|
66
|
+
protocolArgs: call.rawArgs,
|
|
67
|
+
transfers,
|
|
68
|
+
legacy: {
|
|
69
|
+
operation: "Swap",
|
|
70
|
+
...swapFromTransfers(netTransfers)
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (transferIdx !== executeResults.length) {
|
|
75
|
+
throw new TransferAlignmentError(executeResults.length, transferIdx);
|
|
76
|
+
}
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
function classifyFacadeInnerCall(call, underlying, phantomTokens) {
|
|
80
|
+
const { functionName: sig, rawArgs } = call;
|
|
81
|
+
const functionName = sig.split("(")[0];
|
|
82
|
+
switch (functionName) {
|
|
83
|
+
case "increaseDebt":
|
|
84
|
+
return {
|
|
85
|
+
operation: "IncreaseBorrowedAmount",
|
|
86
|
+
token: underlying,
|
|
87
|
+
amount: rawArgs.amount
|
|
88
|
+
};
|
|
89
|
+
case "decreaseDebt":
|
|
90
|
+
return {
|
|
91
|
+
operation: "DecreaseBorrowedAmount",
|
|
92
|
+
token: underlying,
|
|
93
|
+
amount: rawArgs.amount
|
|
94
|
+
};
|
|
95
|
+
case "addCollateral":
|
|
96
|
+
case "addCollateralWithPermit":
|
|
97
|
+
return {
|
|
98
|
+
operation: "AddCollateral",
|
|
99
|
+
token: rawArgs.token,
|
|
100
|
+
amount: rawArgs.amount
|
|
101
|
+
};
|
|
102
|
+
case "withdrawCollateral": {
|
|
103
|
+
const calldataToken = rawArgs.token;
|
|
104
|
+
const depositedToken = findPhantomDepositedToken(
|
|
105
|
+
calldataToken,
|
|
106
|
+
phantomTokens
|
|
107
|
+
);
|
|
108
|
+
return {
|
|
109
|
+
operation: "WithdrawCollateral",
|
|
110
|
+
token: depositedToken ?? calldataToken,
|
|
111
|
+
amount: rawArgs.amount,
|
|
112
|
+
to: rawArgs.to,
|
|
113
|
+
...depositedToken ? { phantomToken: calldataToken } : {}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
case "updateQuota":
|
|
117
|
+
return {
|
|
118
|
+
operation: "UpdateQuota",
|
|
119
|
+
token: rawArgs.token,
|
|
120
|
+
change: rawArgs.quotaChange
|
|
121
|
+
};
|
|
122
|
+
// other unclassified facade calls, for example onDemandPriceUpdates
|
|
123
|
+
// https://github.com/Gearbox-protocol/core-v3/blob/b038597d9070d9fd18593a6ae9c3d28ca931bb73/contracts/credit/CreditFacadeV3.sol#L534
|
|
124
|
+
default:
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function findPhantomDepositedToken(calldataToken, phantomTokens) {
|
|
129
|
+
if (!phantomTokens) return void 0;
|
|
130
|
+
for (const [phantom, deposited] of phantomTokens.entries()) {
|
|
131
|
+
if (isAddressEqual(phantom, calldataToken)) return deposited;
|
|
132
|
+
}
|
|
133
|
+
return void 0;
|
|
134
|
+
}
|
|
135
|
+
export {
|
|
136
|
+
classifyMulticallOperations
|
|
137
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
class UnknownAdapterError extends Error {
|
|
2
|
+
address;
|
|
3
|
+
constructor(address) {
|
|
4
|
+
super(`unknown adapter contract ${address}`);
|
|
5
|
+
this.name = "UnknownAdapterError";
|
|
6
|
+
this.address = address;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
class TransferAlignmentError extends Error {
|
|
10
|
+
constructor(expected, actual) {
|
|
11
|
+
super(
|
|
12
|
+
`transfer alignment mismatch: expected ${expected} Execute transfers, consumed ${actual}`
|
|
13
|
+
);
|
|
14
|
+
this.name = "TransferAlignmentError";
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
class ProtocolCallNotFoundError extends Error {
|
|
18
|
+
targetContract;
|
|
19
|
+
executeIndex;
|
|
20
|
+
constructor(targetContract, executeIndex) {
|
|
21
|
+
super(
|
|
22
|
+
`protocol call to ${targetContract} not found in trace for Execute #${executeIndex}`
|
|
23
|
+
);
|
|
24
|
+
this.name = "ProtocolCallNotFoundError";
|
|
25
|
+
this.targetContract = targetContract;
|
|
26
|
+
this.executeIndex = executeIndex;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
class AdapterTraceAlignmentError extends Error {
|
|
30
|
+
constructor(expected, actual) {
|
|
31
|
+
super(`found ${actual} adapter traces for ${expected} execute events`);
|
|
32
|
+
this.expected = expected;
|
|
33
|
+
this.actual = actual;
|
|
34
|
+
this.name = "AdapterTracesAlignmentError";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
class UnexpectedFacadeEventOrderError extends Error {
|
|
38
|
+
constructor(e) {
|
|
39
|
+
super(
|
|
40
|
+
`unexpected facade event order: ${e.eventName} at ${e.logIndex} in ${e.transactionHash}`
|
|
41
|
+
);
|
|
42
|
+
this.name = "UnexpectedFacadeEventOrderError";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
class UnknownFacadeCallError extends Error {
|
|
46
|
+
address;
|
|
47
|
+
functionName;
|
|
48
|
+
constructor(address, functionName) {
|
|
49
|
+
super(`unknown facade call "${functionName}" at ${address}`);
|
|
50
|
+
this.name = "UnknownFacadeCallError";
|
|
51
|
+
this.address = address;
|
|
52
|
+
this.functionName = functionName;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export {
|
|
56
|
+
AdapterTraceAlignmentError,
|
|
57
|
+
ProtocolCallNotFoundError,
|
|
58
|
+
TransferAlignmentError,
|
|
59
|
+
UnexpectedFacadeEventOrderError,
|
|
60
|
+
UnknownAdapterError,
|
|
61
|
+
UnknownFacadeCallError
|
|
62
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AdapterTraceAlignmentError,
|
|
3
|
+
ProtocolCallNotFoundError
|
|
4
|
+
} from "./errors.js";
|
|
5
|
+
import { findCallTo } from "./trace-utils.js";
|
|
6
|
+
function extractProtocolCalls(facadeTrace, executeResults) {
|
|
7
|
+
if (executeResults.length === 0) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
const subtraces = facadeTrace.calls ?? [];
|
|
11
|
+
const result = [];
|
|
12
|
+
let subtraceIdx = 0;
|
|
13
|
+
for (let i = 0; i < executeResults.length; i++) {
|
|
14
|
+
const { targetContract } = executeResults[i];
|
|
15
|
+
let found;
|
|
16
|
+
while (subtraceIdx < subtraces.length && !found) {
|
|
17
|
+
found = findCallTo(subtraces[subtraceIdx], targetContract);
|
|
18
|
+
subtraceIdx++;
|
|
19
|
+
}
|
|
20
|
+
if (!found) {
|
|
21
|
+
throw new ProtocolCallNotFoundError(targetContract, i);
|
|
22
|
+
}
|
|
23
|
+
result.push(found.input);
|
|
24
|
+
}
|
|
25
|
+
if (result.length !== executeResults.length) {
|
|
26
|
+
throw new AdapterTraceAlignmentError(executeResults.length, result.length);
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
extractProtocolCalls
|
|
32
|
+
};
|