@gearbox-protocol/sdk 3.0.0-next.178 → 3.0.0-next.179
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/lib/apy/auraAbi.d.ts +1 -1
- package/lib/apy/auraAbi.js +2 -2
- package/lib/apy/convexAPY.js +2 -2
- package/lib/core/creditAccount.js +22 -26
- package/lib/core/creditAccount.spec.js +13 -13
- package/lib/core/creditManager.js +20 -20
- package/lib/core/gauge.d.ts +2 -2
- package/lib/core/gauge.js +13 -13
- package/lib/core/gaugeMath.d.ts +1 -1
- package/lib/core/gaugeMath.js +2 -5
- package/lib/core/gaugeMath.spec.js +13 -13
- package/lib/core/pool.d.ts +5 -5
- package/lib/core/pool.js +23 -23
- package/lib/core/rewardClaimer.d.ts +2 -2
- package/lib/core/rewardConvex.d.ts +5 -6
- package/lib/core/rewardConvex.js +6 -6
- package/lib/core/rewardConvex.spec.js +1 -2
- package/lib/gearboxRewards/abi.d.ts +1 -1
- package/lib/gearboxRewards/abi.js +2 -2
- package/lib/gearboxRewards/api.d.ts +8 -9
- package/lib/gearboxRewards/api.js +20 -14
- package/lib/gearboxRewards/apy.js +2 -2
- package/lib/gearboxRewards/extraAPY.js +2 -2
- package/lib/index.d.ts +1 -3
- package/lib/index.js +2 -4
- package/lib/parsers/abstractParser.d.ts +2 -3
- package/lib/parsers/abstractParser.js +4 -2
- package/lib/parsers/iParser.d.ts +1 -1
- package/lib/parsers/txParser.d.ts +2 -2
- package/lib/pathfinder/core.d.ts +1 -2
- package/lib/pathfinder/index.d.ts +0 -1
- package/lib/pathfinder/index.js +0 -1
- package/lib/pathfinder/pathOptions.js +2 -2
- package/lib/pathfinder/pathfinder.d.ts +2 -2
- package/lib/pathfinder/pathfinder.js +17 -18
- package/lib/pathfinder/pathfinder.spec.js +2 -2
- package/lib/pathfinder/utils.d.ts +2 -3
- package/lib/pathfinder/utils.js +4 -4
- package/lib/pathfinder/v1/pathfinderv1.d.ts +2 -2
- package/lib/pathfinder/v1/pathfinderv1.js +15 -16
- package/lib/pathfinder/v1/pathfinderv1.spec.js +1 -1
- package/lib/payload/creditAccount.d.ts +2 -2
- package/lib/payload/creditManager.d.ts +2 -3
- package/lib/payload/gauge.d.ts +1 -2
- package/lib/payload/pool.d.ts +4 -2
- package/lib/types/AddressProvider.d.ts +151 -332
- package/lib/types/Balances.sol/BalanceOps.d.ts +15 -22
- package/lib/types/CalldataExtractor.d.ts +21 -37
- package/lib/types/Claimable.d.ts +46 -97
- package/lib/types/CompositePriceFeed.d.ts +57 -129
- package/lib/types/ContractsRegisterTrait.d.ts +18 -35
- package/lib/types/ERC20.d.ts +146 -175
- package/lib/types/Errors.d.ts +106 -227
- package/lib/types/FarmAccounting.d.ts +15 -22
- package/lib/types/IAaveV2_LendingPoolAdapter.d.ts +108 -152
- package/lib/types/IAaveV2_WrappedATokenAdapter.d.ts +172 -257
- package/lib/types/IAdapter.d.ts +26 -59
- package/lib/types/IAddressProvider.sol/IAddressProvider.d.ts +53 -108
- package/lib/types/IAddressProvider.sol/IAddressProviderEvents.d.ts +29 -35
- package/lib/types/IAddressProviderV3.sol/IAddressProviderV3.d.ts +79 -85
- package/lib/types/IAddressProviderV3.sol/IAddressProviderV3Events.d.ts +34 -37
- package/lib/types/IAirdropDistributor.sol/IAirdropDistributor.d.ts +101 -109
- package/lib/types/IAirdropDistributor.sol/IAirdropDistributorEvents.d.ts +76 -64
- package/lib/types/IBalancerV2Vault.sol/IBalancerV2Vault.d.ts +215 -236
- package/lib/types/IBalancerV2Vault.sol/IBalancerV2VaultGetters.d.ts +67 -92
- package/lib/types/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapter.d.ts +335 -386
- package/lib/types/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterEvents.d.ts +29 -35
- package/lib/types/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterExceptions.d.ts +15 -22
- package/lib/types/IBaseRewardPool.d.ts +143 -320
- package/lib/types/IBotListV3.sol/IBotListV3.d.ts +266 -252
- package/lib/types/IBotListV3.sol/IBotListV3Events.d.ts +116 -92
- package/lib/types/ICompoundV2_CTokenAdapter.sol/ICompoundV2_CTokenAdapter.d.ts +119 -188
- package/lib/types/ICompoundV2_CTokenAdapter.sol/ICompoundV2_Exceptions.d.ts +15 -22
- package/lib/types/IContractsRegister.sol/IContractsRegister.d.ts +65 -106
- package/lib/types/IContractsRegister.sol/IContractsRegisterEvents.d.ts +42 -42
- package/lib/types/IControllerTimelockV3.sol/IControllerTimelockV3.d.ts +354 -442
- package/lib/types/IControllerTimelockV3.sol/IControllerTimelockV3Events.d.ts +87 -72
- package/lib/types/IConvexToken.d.ts +126 -163
- package/lib/types/IConvexV1BaseRewardPoolAdapter.d.ts +172 -271
- package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter.d.ts +130 -185
- package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents.d.ts +29 -35
- package/lib/types/ICreditAccountV3.sol/ICreditAccountBase.d.ts +48 -75
- package/lib/types/ICreditAccountV3.sol/ICreditAccountV3.d.ts +63 -96
- package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2.d.ts +526 -579
- package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events.d.ts +342 -264
- package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions.d.ts +15 -22
- package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3.d.ts +549 -648
- package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events.d.ts +327 -248
- package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2.d.ts +587 -635
- package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Events.d.ts +294 -239
- package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions.d.ts +15 -22
- package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Extended.d.ts +59 -122
- package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2V2.d.ts +34 -53
- package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3.d.ts +421 -464
- package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3Events.d.ts +202 -150
- package/lib/types/ICreditFacadeV3Multicall.d.ts +162 -245
- package/lib/types/ICreditManagerV2.sol/ICreditManagerV2.d.ts +438 -567
- package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Events.d.ts +43 -46
- package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Exceptions.d.ts +15 -22
- package/lib/types/ICreditManagerV3.sol/ICreditManagerV3.d.ts +649 -858
- package/lib/types/ICreditManagerV3.sol/ICreditManagerV3Events.d.ts +28 -33
- package/lib/types/ICurvePool.d.ts +285 -376
- package/lib/types/ICurvePool_2.sol/ICurvePool2Assets.d.ts +365 -511
- package/lib/types/ICurvePool_3.sol/ICurvePool3Assets.d.ts +370 -607
- package/lib/types/ICurvePool_4.sol/ICurvePool4Assets.d.ts +387 -631
- package/lib/types/ICurveV1Adapter.d.ts +326 -479
- package/lib/types/ICurveV1_2AssetsAdapter.d.ts +383 -560
- package/lib/types/ICurveV1_3AssetsAdapter.d.ts +383 -623
- package/lib/types/ICurveV1_4AssetsAdapter.d.ts +395 -629
- package/lib/types/IDaiLikePermit.d.ts +48 -51
- package/lib/types/IDataCompressorV2_1.d.ts +376 -367
- package/lib/types/IDataCompressorV3.d.ts +439 -458
- package/lib/types/IDegenDistributor.sol/IDegenDistributor.d.ts +67 -84
- package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.d.ts +44 -45
- package/lib/types/IDegenNFTV2.sol/IDegenNFTV2.d.ts +260 -302
- package/lib/types/IDegenNFTV2.sol/IDegenNFTV2Events.d.ts +55 -52
- package/lib/types/IDegenNFTV2.sol/IDegenNFTV2Exceptions.d.ts +15 -22
- package/lib/types/IERC165.d.ts +23 -36
- package/lib/types/IERC20.d.ts +114 -127
- package/lib/types/IERC20Metadata.d.ts +120 -145
- package/lib/types/IERC20Permit.d.ts +50 -63
- package/lib/types/IERC20ZapperDeposits.d.ts +99 -104
- package/lib/types/IERC4626.d.ts +277 -353
- package/lib/types/IERC4626Adapter.d.ts +146 -211
- package/lib/types/IERC721.d.ts +180 -201
- package/lib/types/IERC721Metadata.d.ts +187 -220
- package/lib/types/IETHZapperDeposits.d.ts +32 -59
- package/lib/types/IFarmingPool.d.ts +209 -282
- package/lib/types/IGasPricer.d.ts +29 -0
- package/lib/types/IGaugeV3.sol/IGaugeV3.d.ts +273 -330
- package/lib/types/IGaugeV3.sol/IGaugeV3Events.d.ts +132 -102
- package/lib/types/IGearStakingV3.sol/IGearStakingV3.d.ts +303 -357
- package/lib/types/IGearStakingV3.sol/IGearStakingV3Events.d.ts +122 -104
- package/lib/types/IInterestRateModel.d.ts +31 -42
- package/lib/types/ILPPriceFeed.sol/ILPPriceFeed.d.ts +116 -237
- package/lib/types/ILPPriceFeed.sol/ILPPriceFeedEvents.d.ts +43 -46
- package/lib/types/ILPPriceFeed.sol/ILPPriceFeedExceptions.d.ts +15 -22
- package/lib/types/ILidoV1Adapter.d.ts +70 -131
- package/lib/types/ILinearInterestRateModelV3.d.ts +82 -105
- package/lib/types/IOffchainOracle.d.ts +44 -51
- package/lib/types/IPartialLiquidationBotV3.d.ts +119 -128
- package/lib/types/IPermit2.d.ts +91 -103
- package/lib/types/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3.d.ts +323 -416
- package/lib/types/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3Events.d.ts +120 -100
- package/lib/types/IPoolService.sol/IPoolService.d.ts +292 -338
- package/lib/types/IPoolService.sol/IPoolServiceEvents.d.ts +189 -146
- package/lib/types/IPoolV3.sol/IPoolV3.d.ts +662 -825
- package/lib/types/IPoolV3.sol/IPoolV3Events.d.ts +181 -142
- package/lib/types/IPriceFeed.sol/IPriceFeed.d.ts +50 -90
- package/lib/types/IPriceFeed.sol/IUpdatablePriceFeed.d.ts +55 -111
- package/lib/types/IPriceOracle.sol/IPriceOracleV2.d.ts +120 -140
- package/lib/types/IPriceOracle.sol/IPriceOracleV2Events.d.ts +29 -35
- package/lib/types/IPriceOracle.sol/IPriceOracleV2Exceptions.d.ts +15 -22
- package/lib/types/IPriceOracle.sol/IPriceOracleV2Ext.d.ts +133 -155
- package/lib/types/IPriceOracleBase.d.ts +65 -76
- package/lib/types/IPriceOracleV3.sol/IPriceOracleV3.d.ts +243 -234
- package/lib/types/IPriceOracleV3.sol/IPriceOracleV3Events.d.ts +85 -70
- package/lib/types/IRouter.d.ts +225 -217
- package/lib/types/IRouterV3.d.ts +267 -249
- package/lib/types/IUniswapV2Adapter.sol/IUniswapV2Adapter.d.ts +158 -175
- package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents.d.ts +34 -37
- package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions.d.ts +15 -22
- package/lib/types/IUniswapV3.sol/ISwapRouter.d.ts +124 -153
- package/lib/types/IUniswapV3Adapter.sol/IUniswapV3Adapter.d.ts +281 -328
- package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents.d.ts +41 -39
- package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions.d.ts +15 -22
- package/lib/types/IVersion.d.ts +18 -35
- package/lib/types/IVotingContractV3.d.ts +46 -67
- package/lib/types/IWETH.d.ts +147 -177
- package/lib/types/IWETHGateway.d.ts +59 -82
- package/lib/types/IYVault.d.ts +183 -264
- package/lib/types/IYearnV2Adapter.d.ts +159 -228
- package/lib/types/IZapper.d.ts +77 -106
- package/lib/types/IZapperRegister.d.ts +46 -53
- package/lib/types/IstETH.sol/IstETH.d.ts +146 -199
- package/lib/types/IstETH.sol/IstETHGetters.d.ts +143 -184
- package/lib/types/IwstETH.sol/IwstETH.d.ts +154 -207
- package/lib/types/IwstETH.sol/IwstETHGetters.d.ts +140 -177
- package/lib/types/IwstETHGateway.sol/IwstETHGateWay.d.ts +44 -63
- package/lib/types/IwstETHV1Adapter.d.ts +100 -161
- package/lib/types/NumericArrayLib.d.ts +15 -22
- package/lib/types/Ownable.d.ts +42 -77
- package/lib/types/PartialLiquidationBotV3.d.ts +121 -134
- package/lib/types/RedstoneConstants.d.ts +15 -22
- package/lib/types/RedstoneConsumerBase.d.ts +50 -70
- package/lib/types/RedstoneConsumerNumericBase.d.ts +50 -70
- package/lib/types/RedstoneDefaultsLib.d.ts +15 -22
- package/lib/types/RedstonePriceFeed.sol/IRedstonePriceFeedEvents.d.ts +28 -31
- package/lib/types/RedstonePriceFeed.sol/IRedstonePriceFeedExceptions.d.ts +15 -22
- package/lib/types/RedstonePriceFeed.sol/RedstonePriceFeed.d.ts +115 -220
- package/lib/types/SafeERC20.d.ts +15 -22
- package/lib/types/common.d.ts +40 -12
- package/lib/types/factories/AddressProvider__factory.d.ts +13 -12
- package/lib/types/factories/AddressProvider__factory.js +7 -10
- package/lib/types/factories/Balances.sol/BalanceOps__factory.d.ts +13 -12
- package/lib/types/factories/Balances.sol/BalanceOps__factory.js +7 -10
- package/lib/types/factories/CalldataExtractor__factory.d.ts +13 -12
- package/lib/types/factories/CalldataExtractor__factory.js +7 -10
- package/lib/types/factories/Claimable__factory.d.ts +13 -12
- package/lib/types/factories/Claimable__factory.js +7 -10
- package/lib/types/factories/CompositePriceFeed__factory.d.ts +13 -12
- package/lib/types/factories/CompositePriceFeed__factory.js +7 -10
- package/lib/types/factories/ContractsRegisterTrait__factory.d.ts +2 -3
- package/lib/types/factories/ContractsRegisterTrait__factory.js +3 -3
- package/lib/types/factories/ERC20__factory.d.ts +13 -12
- package/lib/types/factories/ERC20__factory.js +7 -10
- package/lib/types/factories/Errors__factory.d.ts +13 -12
- package/lib/types/factories/Errors__factory.js +7 -10
- package/lib/types/factories/FarmAccounting__factory.d.ts +13 -12
- package/lib/types/factories/FarmAccounting__factory.js +7 -10
- package/lib/types/factories/IAaveV2_LendingPoolAdapter__factory.d.ts +2 -3
- package/lib/types/factories/IAaveV2_LendingPoolAdapter__factory.js +3 -3
- package/lib/types/factories/IAaveV2_WrappedATokenAdapter__factory.d.ts +2 -3
- package/lib/types/factories/IAaveV2_WrappedATokenAdapter__factory.js +3 -3
- package/lib/types/factories/IAdapter__factory.d.ts +2 -3
- package/lib/types/factories/IAdapter__factory.js +3 -3
- package/lib/types/factories/IAddressProvider.sol/IAddressProviderEvents__factory.d.ts +2 -3
- package/lib/types/factories/IAddressProvider.sol/IAddressProviderEvents__factory.js +3 -3
- package/lib/types/factories/IAddressProvider.sol/IAddressProvider__factory.d.ts +2 -3
- package/lib/types/factories/IAddressProvider.sol/IAddressProvider__factory.js +3 -3
- package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3Events__factory.d.ts +2 -3
- package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3Events__factory.js +3 -3
- package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3__factory.d.ts +2 -3
- package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3__factory.js +3 -3
- package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.d.ts +2 -3
- package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.js +3 -3
- package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.d.ts +2 -3
- package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.js +3 -3
- package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2VaultGetters__factory.d.ts +2 -3
- package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2VaultGetters__factory.js +3 -3
- package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2Vault__factory.d.ts +2 -3
- package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2Vault__factory.js +3 -3
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterEvents__factory.d.ts +2 -3
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterEvents__factory.js +3 -3
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterExceptions__factory.d.ts +2 -3
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterExceptions__factory.js +3 -3
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapter__factory.d.ts +2 -3
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapter__factory.js +3 -3
- package/lib/types/factories/IBaseRewardPool__factory.d.ts +2 -3
- package/lib/types/factories/IBaseRewardPool__factory.js +3 -3
- package/lib/types/factories/IBotListV3.sol/IBotListV3Events__factory.d.ts +2 -3
- package/lib/types/factories/IBotListV3.sol/IBotListV3Events__factory.js +3 -3
- package/lib/types/factories/IBotListV3.sol/IBotListV3__factory.d.ts +2 -3
- package/lib/types/factories/IBotListV3.sol/IBotListV3__factory.js +3 -3
- package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_CTokenAdapter__factory.d.ts +2 -3
- package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_CTokenAdapter__factory.js +3 -3
- package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_Exceptions__factory.d.ts +2 -3
- package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_Exceptions__factory.js +3 -3
- package/lib/types/factories/IContractsRegister.sol/IContractsRegisterEvents__factory.d.ts +2 -3
- package/lib/types/factories/IContractsRegister.sol/IContractsRegisterEvents__factory.js +3 -3
- package/lib/types/factories/IContractsRegister.sol/IContractsRegister__factory.d.ts +2 -3
- package/lib/types/factories/IContractsRegister.sol/IContractsRegister__factory.js +3 -3
- package/lib/types/factories/IControllerTimelockV3.sol/IControllerTimelockV3Events__factory.d.ts +2 -3
- package/lib/types/factories/IControllerTimelockV3.sol/IControllerTimelockV3Events__factory.js +3 -3
- package/lib/types/factories/IControllerTimelockV3.sol/IControllerTimelockV3__factory.d.ts +2 -3
- package/lib/types/factories/IControllerTimelockV3.sol/IControllerTimelockV3__factory.js +3 -3
- package/lib/types/factories/IConvexToken__factory.d.ts +2 -3
- package/lib/types/factories/IConvexToken__factory.js +3 -3
- package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.d.ts +2 -3
- package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.js +3 -3
- package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.d.ts +2 -3
- package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.js +3 -3
- package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.d.ts +2 -3
- package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.js +3 -3
- package/lib/types/factories/ICreditAccountV3.sol/ICreditAccountBase__factory.d.ts +2 -3
- package/lib/types/factories/ICreditAccountV3.sol/ICreditAccountBase__factory.js +3 -3
- package/lib/types/factories/ICreditAccountV3.sol/ICreditAccountV3__factory.d.ts +2 -3
- package/lib/types/factories/ICreditAccountV3.sol/ICreditAccountV3__factory.js +3 -3
- package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events__factory.d.ts +2 -3
- package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events__factory.js +3 -3
- package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions__factory.d.ts +2 -3
- package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions__factory.js +3 -3
- package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2__factory.d.ts +2 -3
- package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2__factory.js +3 -3
- package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.d.ts +2 -3
- package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.js +3 -3
- package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.d.ts +2 -3
- package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.js +3 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Events__factory.d.ts +2 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Events__factory.js +3 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions__factory.d.ts +2 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions__factory.js +3 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.d.ts +2 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.js +3 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2V2__factory.d.ts +2 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2V2__factory.js +3 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2__factory.d.ts +2 -3
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2__factory.js +3 -3
- package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.d.ts +2 -3
- package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.js +3 -3
- package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.d.ts +2 -3
- package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.js +3 -3
- package/lib/types/factories/ICreditFacadeV3Multicall__factory.d.ts +2 -3
- package/lib/types/factories/ICreditFacadeV3Multicall__factory.js +3 -3
- package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Events__factory.d.ts +2 -3
- package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Events__factory.js +3 -3
- package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.d.ts +2 -3
- package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.js +3 -3
- package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2__factory.d.ts +2 -3
- package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2__factory.js +3 -3
- package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3Events__factory.d.ts +2 -3
- package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3Events__factory.js +3 -3
- package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.d.ts +2 -3
- package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.js +3 -3
- package/lib/types/factories/ICurvePool_2.sol/ICurvePool2Assets__factory.d.ts +2 -3
- package/lib/types/factories/ICurvePool_2.sol/ICurvePool2Assets__factory.js +3 -3
- package/lib/types/factories/ICurvePool_3.sol/ICurvePool3Assets__factory.d.ts +2 -3
- package/lib/types/factories/ICurvePool_3.sol/ICurvePool3Assets__factory.js +3 -3
- package/lib/types/factories/ICurvePool_4.sol/ICurvePool4Assets__factory.d.ts +2 -3
- package/lib/types/factories/ICurvePool_4.sol/ICurvePool4Assets__factory.js +3 -3
- package/lib/types/factories/ICurvePool__factory.d.ts +2 -3
- package/lib/types/factories/ICurvePool__factory.js +3 -3
- package/lib/types/factories/ICurveV1Adapter__factory.d.ts +2 -3
- package/lib/types/factories/ICurveV1Adapter__factory.js +3 -3
- package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.d.ts +2 -3
- package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.js +3 -3
- package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.d.ts +2 -3
- package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.js +3 -3
- package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.d.ts +2 -3
- package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.js +3 -3
- package/lib/types/factories/IDaiLikePermit__factory.d.ts +2 -3
- package/lib/types/factories/IDaiLikePermit__factory.js +3 -3
- package/lib/types/factories/IDataCompressorV2_1__factory.d.ts +2 -3
- package/lib/types/factories/IDataCompressorV2_1__factory.js +3 -3
- package/lib/types/factories/IDataCompressorV3__factory.d.ts +2 -3
- package/lib/types/factories/IDataCompressorV3__factory.js +3 -3
- package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.d.ts +2 -3
- package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.js +3 -3
- package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.d.ts +2 -3
- package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.js +3 -3
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Events__factory.d.ts +2 -3
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Events__factory.js +3 -3
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Exceptions__factory.d.ts +2 -3
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Exceptions__factory.js +3 -3
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2__factory.d.ts +2 -3
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2__factory.js +3 -3
- package/lib/types/factories/IERC165__factory.d.ts +2 -3
- package/lib/types/factories/IERC165__factory.js +3 -3
- package/lib/types/factories/IERC20Metadata__factory.d.ts +2 -3
- package/lib/types/factories/IERC20Metadata__factory.js +3 -3
- package/lib/types/factories/IERC20Permit__factory.d.ts +2 -3
- package/lib/types/factories/IERC20Permit__factory.js +3 -3
- package/lib/types/factories/IERC20ZapperDeposits__factory.d.ts +2 -3
- package/lib/types/factories/IERC20ZapperDeposits__factory.js +3 -3
- package/lib/types/factories/IERC20__factory.d.ts +2 -3
- package/lib/types/factories/IERC20__factory.js +3 -3
- package/lib/types/factories/IERC4626Adapter__factory.d.ts +2 -3
- package/lib/types/factories/IERC4626Adapter__factory.js +3 -3
- package/lib/types/factories/IERC4626__factory.d.ts +2 -3
- package/lib/types/factories/IERC4626__factory.js +3 -3
- package/lib/types/factories/IERC721Metadata__factory.d.ts +2 -3
- package/lib/types/factories/IERC721Metadata__factory.js +3 -3
- package/lib/types/factories/IERC721__factory.d.ts +2 -3
- package/lib/types/factories/IERC721__factory.js +3 -3
- package/lib/types/factories/IETHZapperDeposits__factory.d.ts +2 -3
- package/lib/types/factories/IETHZapperDeposits__factory.js +3 -3
- package/lib/types/factories/IFarmingPool__factory.d.ts +2 -3
- package/lib/types/factories/IFarmingPool__factory.js +3 -3
- package/lib/types/factories/{contracts/interfaces/IGasPricer__factory.d.ts → IGasPricer__factory.d.ts} +3 -4
- package/lib/types/factories/{contracts/interfaces/IGasPricer__factory.js → IGasPricer__factory.js} +3 -3
- package/lib/types/factories/IGaugeV3.sol/IGaugeV3Events__factory.d.ts +2 -3
- package/lib/types/factories/IGaugeV3.sol/IGaugeV3Events__factory.js +3 -3
- package/lib/types/factories/IGaugeV3.sol/IGaugeV3__factory.d.ts +2 -3
- package/lib/types/factories/IGaugeV3.sol/IGaugeV3__factory.js +3 -3
- package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3Events__factory.d.ts +2 -3
- package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3Events__factory.js +3 -3
- package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3__factory.d.ts +2 -3
- package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3__factory.js +3 -3
- package/lib/types/factories/IInterestRateModel__factory.d.ts +2 -3
- package/lib/types/factories/IInterestRateModel__factory.js +3 -3
- package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeedEvents__factory.d.ts +2 -3
- package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeedEvents__factory.js +3 -3
- package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeedExceptions__factory.d.ts +2 -3
- package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeedExceptions__factory.js +3 -3
- package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeed__factory.d.ts +2 -3
- package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeed__factory.js +3 -3
- package/lib/types/factories/ILidoV1Adapter__factory.d.ts +2 -3
- package/lib/types/factories/ILidoV1Adapter__factory.js +3 -3
- package/lib/types/factories/ILinearInterestRateModelV3__factory.d.ts +2 -3
- package/lib/types/factories/ILinearInterestRateModelV3__factory.js +3 -3
- package/lib/types/factories/IOffchainOracle__factory.d.ts +2 -3
- package/lib/types/factories/IOffchainOracle__factory.js +3 -3
- package/lib/types/factories/IPartialLiquidationBotV3__factory.d.ts +2 -3
- package/lib/types/factories/IPartialLiquidationBotV3__factory.js +3 -3
- package/lib/types/factories/IPermit2__factory.d.ts +2 -3
- package/lib/types/factories/IPermit2__factory.js +3 -3
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3Events__factory.d.ts +2 -3
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3Events__factory.js +3 -3
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3__factory.d.ts +2 -3
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3__factory.js +3 -3
- package/lib/types/factories/IPoolService.sol/IPoolServiceEvents__factory.d.ts +2 -3
- package/lib/types/factories/IPoolService.sol/IPoolServiceEvents__factory.js +3 -3
- package/lib/types/factories/IPoolService.sol/IPoolService__factory.d.ts +2 -3
- package/lib/types/factories/IPoolService.sol/IPoolService__factory.js +3 -3
- package/lib/types/factories/IPoolV3.sol/IPoolV3Events__factory.d.ts +2 -3
- package/lib/types/factories/IPoolV3.sol/IPoolV3Events__factory.js +3 -3
- package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.d.ts +2 -3
- package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.js +3 -3
- package/lib/types/factories/IPriceFeed.sol/IPriceFeed__factory.d.ts +2 -3
- package/lib/types/factories/IPriceFeed.sol/IPriceFeed__factory.js +3 -3
- package/lib/types/factories/IPriceFeed.sol/IUpdatablePriceFeed__factory.d.ts +2 -3
- package/lib/types/factories/IPriceFeed.sol/IUpdatablePriceFeed__factory.js +3 -3
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Events__factory.d.ts +2 -3
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Events__factory.js +3 -3
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Exceptions__factory.d.ts +2 -3
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Exceptions__factory.js +3 -3
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Ext__factory.d.ts +2 -3
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Ext__factory.js +3 -3
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2__factory.d.ts +2 -3
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2__factory.js +3 -3
- package/lib/types/factories/IPriceOracleBase__factory.d.ts +2 -3
- package/lib/types/factories/IPriceOracleBase__factory.js +3 -3
- package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3Events__factory.d.ts +2 -3
- package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3Events__factory.js +3 -3
- package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3__factory.d.ts +2 -3
- package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3__factory.js +3 -3
- package/lib/types/factories/IRouterV3__factory.d.ts +2 -3
- package/lib/types/factories/IRouterV3__factory.js +3 -3
- package/lib/types/factories/IRouter__factory.d.ts +2 -3
- package/lib/types/factories/IRouter__factory.js +3 -3
- package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents__factory.d.ts +2 -3
- package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents__factory.js +3 -3
- package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.d.ts +2 -3
- package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.js +3 -3
- package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.d.ts +2 -3
- package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.js +3 -3
- package/lib/types/factories/IUniswapV3.sol/ISwapRouter__factory.d.ts +2 -3
- package/lib/types/factories/IUniswapV3.sol/ISwapRouter__factory.js +3 -3
- package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents__factory.d.ts +2 -3
- package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents__factory.js +3 -3
- package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.d.ts +2 -3
- package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.js +3 -3
- package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.d.ts +2 -3
- package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.js +3 -3
- package/lib/types/factories/IVersion__factory.d.ts +2 -3
- package/lib/types/factories/IVersion__factory.js +3 -3
- package/lib/types/factories/IVotingContractV3__factory.d.ts +2 -3
- package/lib/types/factories/IVotingContractV3__factory.js +3 -3
- package/lib/types/factories/IWETHGateway__factory.d.ts +2 -3
- package/lib/types/factories/IWETHGateway__factory.js +3 -3
- package/lib/types/factories/IWETH__factory.d.ts +2 -3
- package/lib/types/factories/IWETH__factory.js +3 -3
- package/lib/types/factories/IYVault__factory.d.ts +2 -3
- package/lib/types/factories/IYVault__factory.js +3 -3
- package/lib/types/factories/IYearnV2Adapter__factory.d.ts +2 -3
- package/lib/types/factories/IYearnV2Adapter__factory.js +3 -3
- package/lib/types/factories/IZapperRegister__factory.d.ts +2 -3
- package/lib/types/factories/IZapperRegister__factory.js +3 -3
- package/lib/types/factories/IZapper__factory.d.ts +2 -3
- package/lib/types/factories/IZapper__factory.js +3 -3
- package/lib/types/factories/IstETH.sol/IstETHGetters__factory.d.ts +2 -3
- package/lib/types/factories/IstETH.sol/IstETHGetters__factory.js +3 -3
- package/lib/types/factories/IstETH.sol/IstETH__factory.d.ts +2 -3
- package/lib/types/factories/IstETH.sol/IstETH__factory.js +3 -3
- package/lib/types/factories/IwstETH.sol/IwstETHGetters__factory.d.ts +2 -3
- package/lib/types/factories/IwstETH.sol/IwstETHGetters__factory.js +3 -3
- package/lib/types/factories/IwstETH.sol/IwstETH__factory.d.ts +2 -3
- package/lib/types/factories/IwstETH.sol/IwstETH__factory.js +3 -3
- package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.d.ts +2 -3
- package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.js +3 -3
- package/lib/types/factories/IwstETHV1Adapter__factory.d.ts +2 -3
- package/lib/types/factories/IwstETHV1Adapter__factory.js +3 -3
- package/lib/types/factories/NumericArrayLib__factory.d.ts +13 -12
- package/lib/types/factories/NumericArrayLib__factory.js +7 -10
- package/lib/types/factories/Ownable__factory.d.ts +2 -3
- package/lib/types/factories/Ownable__factory.js +3 -3
- package/lib/types/factories/PartialLiquidationBotV3__factory.d.ts +13 -12
- package/lib/types/factories/PartialLiquidationBotV3__factory.js +7 -10
- package/lib/types/factories/RedstoneConstants__factory.d.ts +13 -12
- package/lib/types/factories/RedstoneConstants__factory.js +7 -10
- package/lib/types/factories/RedstoneConsumerBase__factory.d.ts +2 -3
- package/lib/types/factories/RedstoneConsumerBase__factory.js +3 -3
- package/lib/types/factories/RedstoneConsumerNumericBase__factory.d.ts +2 -3
- package/lib/types/factories/RedstoneConsumerNumericBase__factory.js +3 -3
- package/lib/types/factories/RedstoneDefaultsLib__factory.d.ts +13 -12
- package/lib/types/factories/RedstoneDefaultsLib__factory.js +7 -10
- package/lib/types/factories/RedstonePriceFeed.sol/IRedstonePriceFeedEvents__factory.d.ts +2 -3
- package/lib/types/factories/RedstonePriceFeed.sol/IRedstonePriceFeedEvents__factory.js +3 -3
- package/lib/types/factories/RedstonePriceFeed.sol/IRedstonePriceFeedExceptions__factory.d.ts +2 -3
- package/lib/types/factories/RedstonePriceFeed.sol/IRedstonePriceFeedExceptions__factory.js +3 -3
- package/lib/types/factories/RedstonePriceFeed.sol/RedstonePriceFeed__factory.d.ts +13 -12
- package/lib/types/factories/RedstonePriceFeed.sol/RedstonePriceFeed__factory.js +7 -10
- package/lib/types/factories/SafeERC20__factory.d.ts +13 -12
- package/lib/types/factories/SafeERC20__factory.js +7 -10
- package/lib/types/factories/index.d.ts +1 -1
- package/lib/types/factories/index.js +4 -3
- package/lib/types/index.d.ts +2 -4
- package/lib/types/index.js +4 -4
- package/lib/utils/calls.d.ts +7 -0
- package/lib/utils/{repeater.js → calls.js} +11 -1
- package/lib/utils/math.d.ts +0 -1
- package/lib/utils/math.js +0 -2
- package/lib/utils/types.d.ts +0 -4
- package/package.json +8 -8
- package/lib/types/contracts/index.d.ts +0 -2
- package/lib/types/contracts/index.js +0 -2
- package/lib/types/contracts/interfaces/IGasPricer.d.ts +0 -44
- package/lib/types/contracts/interfaces/index.d.ts +0 -1
- package/lib/types/contracts/interfaces/index.js +0 -2
- package/lib/types/factories/contracts/index.d.ts +0 -1
- package/lib/types/factories/contracts/index.js +0 -30
- package/lib/types/factories/contracts/interfaces/index.d.ts +0 -1
- package/lib/types/factories/contracts/interfaces/index.js +0 -8
- package/lib/utils/repeater.d.ts +0 -1
- package/lib/watchers/creditAccountWatcher.d.ts +0 -37
- package/lib/watchers/creditAccountWatcher.js +0 -244
- package/lib/watchers/creditAccountWatcher.spec.d.ts +0 -1
- package/lib/watchers/creditAccountWatcher.spec.js +0 -208
- package/lib/watchers/creditManagerWatcher.d.ts +0 -10
- package/lib/watchers/creditManagerWatcher.js +0 -59
- package/lib/watchers/creditManagerWatcher.spec.d.ts +0 -1
- package/lib/watchers/creditManagerWatcher.spec.js +0 -115
- /package/lib/types/{contracts/interfaces/IGasPricer.js → IGasPricer.js} +0 -0
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CreditAccountWatcherV2 = void 0;
|
|
4
|
-
const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
|
|
5
|
-
const creditAccount_1 = require("../core/creditAccount");
|
|
6
|
-
const types_1 = require("../types");
|
|
7
|
-
class CreditAccountWatcherV2 {
|
|
8
|
-
static IERC20 = types_1.IERC20__factory.createInterface();
|
|
9
|
-
static creditManagerInterface = types_1.ICreditManagerV2__factory.createInterface();
|
|
10
|
-
static creditConfiguratorInterface = types_1.ICreditConfiguratorV2__factory.createInterface();
|
|
11
|
-
static creditFacadeInterface = types_1.ICreditFacadeV2__factory.createInterface();
|
|
12
|
-
/**
|
|
13
|
-
* Gets hashes of all opened credit accounts at toBlock (or "latest" by default)
|
|
14
|
-
* @param creditManager CreditManagerData of desired CreditManager to check
|
|
15
|
-
* @param provider Ethers provider or signer to get an access
|
|
16
|
-
* @param toBlock Optional. Set the last block you;d like to get opened accounts
|
|
17
|
-
* @returns Arrays of hashes for opened accounts
|
|
18
|
-
*/
|
|
19
|
-
static async getOpenAccounts(creditManager, provider, toBlock) {
|
|
20
|
-
CreditAccountWatcherV2.assertCMSupported(creditManager);
|
|
21
|
-
const eventsByDate = [];
|
|
22
|
-
const addToEvents = (e, address, operation) => {
|
|
23
|
-
eventsByDate.push({
|
|
24
|
-
time: e.blockNumber * 100000 + e.logIndex,
|
|
25
|
-
address,
|
|
26
|
-
operation,
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
const accounts = new Set();
|
|
30
|
-
const cm = types_1.ICreditManagerV2__factory.connect(creditManager.address, provider);
|
|
31
|
-
// get all historical creditConfigurators for this cm
|
|
32
|
-
const ccAddrs = (await cm.queryFilter(cm.filters.NewConfigurator(), undefined, toBlock)).map(e => e.args.newConfigurator);
|
|
33
|
-
// get all historical creditFacades for this cm
|
|
34
|
-
const cfUpgraded = (await Promise.all(ccAddrs.map(async (ccAddr) => {
|
|
35
|
-
const cc = types_1.ICreditConfiguratorV2__factory.connect(ccAddr, provider);
|
|
36
|
-
const cfUpgradedEvents = await cc.queryFilter(cc.filters.CreditFacadeUpgraded(), undefined, toBlock);
|
|
37
|
-
return cfUpgradedEvents.map(e => e.args.newCreditFacade);
|
|
38
|
-
}))).flat();
|
|
39
|
-
for (const creditFacade of cfUpgraded) {
|
|
40
|
-
const cf = types_1.ICreditFacadeV2__factory.connect(creditFacade, provider);
|
|
41
|
-
const topics = {
|
|
42
|
-
OpenCreditAccount: cf.interface.getEventTopic("OpenCreditAccount"),
|
|
43
|
-
CloseCreditAccount: cf.interface.getEventTopic("CloseCreditAccount"),
|
|
44
|
-
LiquidateCreditAccount: cf.interface.getEventTopic("LiquidateCreditAccount"),
|
|
45
|
-
LiquidateExpiredCreditAccount: cf.interface.getEventTopic("LiquidateExpiredCreditAccount"),
|
|
46
|
-
TransferAccount: cf.interface.getEventTopic("TransferAccount"),
|
|
47
|
-
};
|
|
48
|
-
const logs = await cf.queryFilter({
|
|
49
|
-
address: cf.address,
|
|
50
|
-
topics: [Object.values(topics)],
|
|
51
|
-
}, undefined, toBlock);
|
|
52
|
-
logs.forEach(log => {
|
|
53
|
-
const e = cf.interface.parseLog(log);
|
|
54
|
-
switch (log.topics[0]) {
|
|
55
|
-
case topics.OpenCreditAccount:
|
|
56
|
-
addToEvents(log, e.args.onBehalfOf, "add");
|
|
57
|
-
break;
|
|
58
|
-
case topics.CloseCreditAccount:
|
|
59
|
-
case topics.LiquidateCreditAccount:
|
|
60
|
-
case topics.LiquidateExpiredCreditAccount:
|
|
61
|
-
addToEvents(log, e.args.borrower, "delete");
|
|
62
|
-
break;
|
|
63
|
-
case topics.TransferAccount:
|
|
64
|
-
addToEvents(log, e.args.oldOwner, "delete");
|
|
65
|
-
addToEvents(log, log.args.newOwner, "add");
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
eventsByDate
|
|
71
|
-
.sort((a, b) => {
|
|
72
|
-
return a.time > b.time ? 1 : -1;
|
|
73
|
-
})
|
|
74
|
-
.forEach(e => {
|
|
75
|
-
if (e.operation === "add") {
|
|
76
|
-
accounts.add(e.address);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
accounts.delete(e.address);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
return Array.from(accounts.values()).map(borrower => creditAccount_1.CreditAccountData.hash(creditManager.address, borrower));
|
|
83
|
-
}
|
|
84
|
-
static async batchCreditAccountLoad(accs, dataCompressor210, signer, options) {
|
|
85
|
-
let chunkSize = 1000;
|
|
86
|
-
let atBlock;
|
|
87
|
-
if (typeof options === "object") {
|
|
88
|
-
atBlock = options.atBlock;
|
|
89
|
-
chunkSize = options.chunkSize ?? 1000;
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
atBlock = options;
|
|
93
|
-
}
|
|
94
|
-
const dcInterface = types_1.IDataCompressorV2_1__factory.createInterface();
|
|
95
|
-
const dcmc = new sdk_gov_1.MultiCallContract(dataCompressor210, dcInterface, signer);
|
|
96
|
-
const calls = [];
|
|
97
|
-
for (let i = 0; i < accs.length; i++) {
|
|
98
|
-
const chunk = accs.slice(i * chunkSize, (i + 1) * chunkSize);
|
|
99
|
-
calls[i] = chunk.map(c => {
|
|
100
|
-
return {
|
|
101
|
-
method: "getCreditAccountData(address,address)",
|
|
102
|
-
params: c.split(":"),
|
|
103
|
-
};
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
const data = [];
|
|
107
|
-
for (let c of calls) {
|
|
108
|
-
const result = await dcmc.call(c, { blockTag: atBlock, gasLimit: 300e6 });
|
|
109
|
-
data.push(result);
|
|
110
|
-
}
|
|
111
|
-
return data.flat().map(c => new creditAccount_1.CreditAccountData(c));
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Tracks block logs and detects whichj acccounts were changed (created / modified) and which were deleted
|
|
115
|
-
* @param logs Logs from last N blocks
|
|
116
|
-
* @param creditManagers Array of CreditManager data which account it should track
|
|
117
|
-
* @returns CreditManagerUpdate which contains updated (created / modified) and deleted accounts
|
|
118
|
-
*/
|
|
119
|
-
static detectChanges(logs, creditManagers) {
|
|
120
|
-
const cms = creditManagers.map(cm => {
|
|
121
|
-
CreditAccountWatcherV2.assertCMSupported(cm);
|
|
122
|
-
return cm.address.toLowerCase();
|
|
123
|
-
});
|
|
124
|
-
const cfToCm = {};
|
|
125
|
-
const ccToCm = {};
|
|
126
|
-
// maps credit manager addr to credit configurator addresses
|
|
127
|
-
const trackers = {};
|
|
128
|
-
creditManagers.forEach(cm => {
|
|
129
|
-
trackers[cm.address.toLowerCase()] = {
|
|
130
|
-
updated: new Set(),
|
|
131
|
-
deleted: new Set(),
|
|
132
|
-
};
|
|
133
|
-
ccToCm[cm.creditConfigurator.toLowerCase()] = cm.address.toLowerCase();
|
|
134
|
-
cfToCm[cm.creditFacade.toLowerCase()] = cm.address.toLowerCase();
|
|
135
|
-
});
|
|
136
|
-
for (let log of logs) {
|
|
137
|
-
const logAddr = log.address.toLowerCase();
|
|
138
|
-
if (cms.includes(logAddr)) {
|
|
139
|
-
const { name, args } = CreditAccountWatcherV2.creditManagerInterface.parseLog(log);
|
|
140
|
-
if (name === "ExecuteOrder") {
|
|
141
|
-
const { borrower } = args;
|
|
142
|
-
if (!borrower)
|
|
143
|
-
throw new Error(`Cant parser event ${log}`);
|
|
144
|
-
/// Excludes credit facade which represents borrower in multicall
|
|
145
|
-
if (!(borrower.toLowerCase() in cfToCm)) {
|
|
146
|
-
trackers[logAddr].updated.add(borrower);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
else if (name === "NewConfigurator") {
|
|
150
|
-
const newConfigurator = args.newConfigurator.toLowerCase();
|
|
151
|
-
ccToCm[newConfigurator] = logAddr;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
else if (logAddr in ccToCm) {
|
|
155
|
-
const { name, args } = CreditAccountWatcherV2.creditConfiguratorInterface.parseLog(log);
|
|
156
|
-
if (name === "CreditFacadeUpgraded") {
|
|
157
|
-
const newCreditFacade = args.newCreditFacade.toLowerCase();
|
|
158
|
-
cfToCm[newCreditFacade] = ccToCm[logAddr];
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
else if (logAddr in cfToCm) {
|
|
162
|
-
const { name, args } = CreditAccountWatcherV2.creditFacadeInterface.parseLog(log);
|
|
163
|
-
switch (name) {
|
|
164
|
-
case "OpenCreditAccount":
|
|
165
|
-
case "AddCollateral": {
|
|
166
|
-
const { onBehalfOf } = args;
|
|
167
|
-
if (!onBehalfOf)
|
|
168
|
-
throw new Error(`Cant parser event ${log}`);
|
|
169
|
-
trackers[cfToCm[logAddr]].updated.add(onBehalfOf);
|
|
170
|
-
break;
|
|
171
|
-
}
|
|
172
|
-
case "DecreaseBorrowedAmount":
|
|
173
|
-
case "IncreaseBorrowedAmount":
|
|
174
|
-
case "TokenDisabled":
|
|
175
|
-
case "TokenEnabled":
|
|
176
|
-
case "MultiCallStarted": {
|
|
177
|
-
const { borrower } = args;
|
|
178
|
-
if (!borrower)
|
|
179
|
-
throw new Error(`Cant parser event ${log}`);
|
|
180
|
-
trackers[cfToCm[logAddr]].updated.add(borrower);
|
|
181
|
-
break;
|
|
182
|
-
}
|
|
183
|
-
case "CloseCreditAccount":
|
|
184
|
-
case "LiquidateCreditAccount":
|
|
185
|
-
case "LiquidateExpiredCreditAccount": {
|
|
186
|
-
const { borrower } = args;
|
|
187
|
-
if (!borrower)
|
|
188
|
-
throw new Error(`Cant parser event ${log}`);
|
|
189
|
-
trackers[cfToCm[logAddr]].updated.delete(borrower);
|
|
190
|
-
trackers[cfToCm[logAddr]].deleted.add(borrower);
|
|
191
|
-
break;
|
|
192
|
-
}
|
|
193
|
-
case "TransferAccount": {
|
|
194
|
-
const { oldOwner, newOwner } = args;
|
|
195
|
-
if (!oldOwner || !newOwner)
|
|
196
|
-
throw new Error(`Cant parser event ${log}`);
|
|
197
|
-
trackers[cfToCm[logAddr]].updated.delete(oldOwner);
|
|
198
|
-
trackers[cfToCm[logAddr]].updated.add(newOwner);
|
|
199
|
-
trackers[cfToCm[logAddr]].deleted.add(oldOwner);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
const result = {
|
|
205
|
-
updated: [],
|
|
206
|
-
deleted: [],
|
|
207
|
-
};
|
|
208
|
-
cms.forEach(cm => {
|
|
209
|
-
trackers[cm].updated.forEach(borrower => {
|
|
210
|
-
result.updated.push(creditAccount_1.CreditAccountData.hash(cm, borrower));
|
|
211
|
-
});
|
|
212
|
-
trackers[cm].deleted.forEach(borrower => {
|
|
213
|
-
result.deleted.push(creditAccount_1.CreditAccountData.hash(cm, borrower));
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
return result;
|
|
217
|
-
}
|
|
218
|
-
static trackDirectTransfers(freshLogs, tokensToTrack, accounts) {
|
|
219
|
-
const tkns = tokensToTrack.map(t => t.toLowerCase());
|
|
220
|
-
const accAddresses = [];
|
|
221
|
-
const accToCa = {};
|
|
222
|
-
const modified = new Set();
|
|
223
|
-
accounts.forEach(ca => {
|
|
224
|
-
accAddresses.push(ca.addr);
|
|
225
|
-
accToCa[ca.addr] = ca;
|
|
226
|
-
});
|
|
227
|
-
for (let log of freshLogs) {
|
|
228
|
-
if (tkns.includes(log.address.toLocaleLowerCase())) {
|
|
229
|
-
const { name, args } = CreditAccountWatcherV2.IERC20.parseLog(log);
|
|
230
|
-
if (name === "Transfer" &&
|
|
231
|
-
accAddresses.includes(args.to.toLowerCase())) {
|
|
232
|
-
modified.add(accToCa[args.to.toLowerCase()].hash());
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
return Array.from(modified);
|
|
237
|
-
}
|
|
238
|
-
static assertCMSupported(cm) {
|
|
239
|
-
if (cm.version < 2 || cm.version > 299) {
|
|
240
|
-
throw new Error(`CreditAccountWatcherV2 does not support credit manager version ${cm.version}`);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
exports.CreditAccountWatcherV2 = CreditAccountWatcherV2;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
|
|
4
|
-
const chai_1 = require("chai");
|
|
5
|
-
const ethers_1 = require("ethers");
|
|
6
|
-
const types_1 = require("../types");
|
|
7
|
-
const creditAccountWatcher_1 = require("./creditAccountWatcher");
|
|
8
|
-
const CREDIT_MANAGER_ADDRESS = sdk_gov_1.DUMB_ADDRESS;
|
|
9
|
-
const CREDIT_FACADE_ADDRESS = "0xcb9a588a47dd0393af3d0d5f86e6f1c8fd252c48";
|
|
10
|
-
const CREDIT_FACADE_NEW = "0xcb9a588a47dd0393af3d0d5f86e6f1c8fd252ccc";
|
|
11
|
-
const CREDIT_CONFIGURATOR_ADDRESS = "0xcb9a588a47dd0393af3d0d5f86e6f1c8fd252aaa";
|
|
12
|
-
const CREDIT_CONFIGURATOR_NEW = "0xcb9a588a47dd0393af3d0d5f86e6f1c8fd252000";
|
|
13
|
-
const BORROWER = "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266";
|
|
14
|
-
const expectedHash = `${CREDIT_MANAGER_ADDRESS.toLowerCase()}:${BORROWER.toLowerCase()}`;
|
|
15
|
-
const creditManagerInterface = types_1.ICreditManagerV2__factory.createInterface();
|
|
16
|
-
const creditFacadeInterface = types_1.ICreditFacadeV2__factory.createInterface();
|
|
17
|
-
const creditConfiguratorInterface = types_1.ICreditConfiguratorV2__factory.createInterface();
|
|
18
|
-
const cmDumb = {
|
|
19
|
-
address: CREDIT_MANAGER_ADDRESS.toLowerCase(),
|
|
20
|
-
creditFacade: CREDIT_FACADE_ADDRESS.toLowerCase(),
|
|
21
|
-
creditConfigurator: CREDIT_CONFIGURATOR_ADDRESS.toLowerCase(),
|
|
22
|
-
};
|
|
23
|
-
const encode = (abiType, value) => ethers_1.utils.defaultAbiCoder.encode([abiType], [value]);
|
|
24
|
-
const makeLog = (address, topics, data = sdk_gov_1.ADDRESS_0X0) => {
|
|
25
|
-
return {
|
|
26
|
-
blockNumber: 0,
|
|
27
|
-
blockHash: "",
|
|
28
|
-
transactionIndex: 0,
|
|
29
|
-
removed: false,
|
|
30
|
-
address,
|
|
31
|
-
data,
|
|
32
|
-
topics,
|
|
33
|
-
transactionHash: "",
|
|
34
|
-
logIndex: 0,
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
const openLog = (facadeAddr = CREDIT_FACADE_ADDRESS) => makeLog(facadeAddr, [
|
|
38
|
-
creditFacadeInterface.getEventTopic("OpenCreditAccount"),
|
|
39
|
-
encode("address", BORROWER),
|
|
40
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
41
|
-
], ethers_1.utils.defaultAbiCoder.encode(["uint256", "uint16"], [10, 10]));
|
|
42
|
-
const closeLog = (facadeAddr = CREDIT_FACADE_ADDRESS) => makeLog(facadeAddr, [
|
|
43
|
-
creditFacadeInterface.getEventTopic("CloseCreditAccount"),
|
|
44
|
-
encode("address", BORROWER),
|
|
45
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
46
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
47
|
-
]);
|
|
48
|
-
const upgradeFacadeLog = (configuratorAddr = CREDIT_CONFIGURATOR_NEW, facadeAddr = CREDIT_FACADE_NEW) => makeLog(configuratorAddr, [
|
|
49
|
-
creditConfiguratorInterface.getEventTopic("CreditFacadeUpgraded"),
|
|
50
|
-
encode("address", facadeAddr),
|
|
51
|
-
]);
|
|
52
|
-
const newConfiguratorLog = (managerAddr = CREDIT_MANAGER_ADDRESS, configuratorAddr = CREDIT_CONFIGURATOR_NEW) => makeLog(managerAddr, [
|
|
53
|
-
creditManagerInterface.getEventTopic("NewConfigurator"),
|
|
54
|
-
encode("address", configuratorAddr),
|
|
55
|
-
]);
|
|
56
|
-
describe("CreditAccountTracker test", () => {
|
|
57
|
-
it("detects update events correctly", () => {
|
|
58
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog()], [cmDumb])).to.be.eql({
|
|
59
|
-
updated: [expectedHash],
|
|
60
|
-
deleted: [],
|
|
61
|
-
});
|
|
62
|
-
let log = makeLog(CREDIT_FACADE_ADDRESS, [
|
|
63
|
-
creditFacadeInterface.getEventTopic("IncreaseBorrowedAmount"),
|
|
64
|
-
encode("address", BORROWER),
|
|
65
|
-
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
66
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
67
|
-
updated: [expectedHash],
|
|
68
|
-
deleted: [],
|
|
69
|
-
});
|
|
70
|
-
log = makeLog(CREDIT_FACADE_ADDRESS, [
|
|
71
|
-
creditFacadeInterface.getEventTopic("DecreaseBorrowedAmount"),
|
|
72
|
-
encode("address", BORROWER),
|
|
73
|
-
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
74
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
75
|
-
updated: [expectedHash],
|
|
76
|
-
deleted: [],
|
|
77
|
-
});
|
|
78
|
-
log = makeLog(CREDIT_FACADE_ADDRESS, [
|
|
79
|
-
creditFacadeInterface.getEventTopic("AddCollateral"),
|
|
80
|
-
encode("address", BORROWER),
|
|
81
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
82
|
-
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
83
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
84
|
-
updated: [expectedHash],
|
|
85
|
-
deleted: [],
|
|
86
|
-
});
|
|
87
|
-
log = makeLog(CREDIT_FACADE_ADDRESS, [
|
|
88
|
-
creditFacadeInterface.getEventTopic("MultiCallStarted"),
|
|
89
|
-
encode("address", BORROWER),
|
|
90
|
-
]);
|
|
91
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
92
|
-
updated: [expectedHash],
|
|
93
|
-
deleted: [],
|
|
94
|
-
});
|
|
95
|
-
log = makeLog(CREDIT_FACADE_ADDRESS, [
|
|
96
|
-
creditFacadeInterface.getEventTopic("TokenEnabled"),
|
|
97
|
-
encode("address", BORROWER),
|
|
98
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
99
|
-
]);
|
|
100
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
101
|
-
updated: [expectedHash],
|
|
102
|
-
deleted: [],
|
|
103
|
-
});
|
|
104
|
-
log = makeLog(CREDIT_FACADE_ADDRESS, [
|
|
105
|
-
creditFacadeInterface.getEventTopic("TokenDisabled"),
|
|
106
|
-
encode("address", BORROWER),
|
|
107
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
108
|
-
]);
|
|
109
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
110
|
-
updated: [expectedHash],
|
|
111
|
-
deleted: [],
|
|
112
|
-
});
|
|
113
|
-
log = makeLog(CREDIT_MANAGER_ADDRESS, [
|
|
114
|
-
creditManagerInterface.getEventTopic("ExecuteOrder"),
|
|
115
|
-
encode("address", BORROWER),
|
|
116
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
117
|
-
]);
|
|
118
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
119
|
-
updated: [expectedHash],
|
|
120
|
-
deleted: [],
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
//
|
|
124
|
-
// DELETED
|
|
125
|
-
//
|
|
126
|
-
it("detects delete events correctly", () => {
|
|
127
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([closeLog()], [cmDumb])).to.be.eql({
|
|
128
|
-
updated: [],
|
|
129
|
-
deleted: [expectedHash],
|
|
130
|
-
});
|
|
131
|
-
let log = makeLog(CREDIT_FACADE_ADDRESS, [
|
|
132
|
-
creditFacadeInterface.getEventTopic("LiquidateCreditAccount"),
|
|
133
|
-
encode("address", BORROWER),
|
|
134
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
135
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
136
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
137
|
-
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
138
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
139
|
-
updated: [],
|
|
140
|
-
deleted: [expectedHash],
|
|
141
|
-
});
|
|
142
|
-
log = makeLog(CREDIT_FACADE_ADDRESS, [
|
|
143
|
-
creditFacadeInterface.getEventTopic("LiquidateExpiredCreditAccount"),
|
|
144
|
-
encode("address", BORROWER),
|
|
145
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
146
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
147
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
148
|
-
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
149
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
150
|
-
updated: [],
|
|
151
|
-
deleted: [expectedHash],
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
it("doesn't make duplicated", () => {
|
|
155
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog(), openLog(), openLog()], [cmDumb])).to.be.eql({
|
|
156
|
-
updated: [expectedHash],
|
|
157
|
-
deleted: [],
|
|
158
|
-
});
|
|
159
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([closeLog(), closeLog(), closeLog()], [cmDumb])).to.be.eql({
|
|
160
|
-
updated: [],
|
|
161
|
-
deleted: [expectedHash],
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
it("updates accounts were created and deleted in the batch", () => {
|
|
165
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog(), closeLog()], [cmDumb])).to.be.eql({
|
|
166
|
-
updated: [],
|
|
167
|
-
deleted: [expectedHash],
|
|
168
|
-
});
|
|
169
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog(), closeLog(), openLog()], [cmDumb])).to.be.eql({
|
|
170
|
-
updated: [expectedHash],
|
|
171
|
-
deleted: [expectedHash],
|
|
172
|
-
});
|
|
173
|
-
});
|
|
174
|
-
it("TransferAccount works correctly", () => {
|
|
175
|
-
const transferLog = makeLog(CREDIT_FACADE_ADDRESS, [
|
|
176
|
-
creditFacadeInterface.getEventTopic("TransferAccount"),
|
|
177
|
-
encode("address", BORROWER),
|
|
178
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
179
|
-
]);
|
|
180
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog(), transferLog], [cmDumb])).to.be.eql({
|
|
181
|
-
updated: [
|
|
182
|
-
`${CREDIT_MANAGER_ADDRESS.toLowerCase()}:${sdk_gov_1.DUMB_ADDRESS.toLowerCase()}`,
|
|
183
|
-
],
|
|
184
|
-
deleted: [expectedHash],
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
it("correctly handles credit configurator change", () => {
|
|
188
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([
|
|
189
|
-
openLog(),
|
|
190
|
-
newConfiguratorLog(),
|
|
191
|
-
upgradeFacadeLog(),
|
|
192
|
-
closeLog(CREDIT_FACADE_NEW),
|
|
193
|
-
], [cmDumb])).to.be.eql({
|
|
194
|
-
updated: [],
|
|
195
|
-
deleted: [expectedHash],
|
|
196
|
-
});
|
|
197
|
-
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([
|
|
198
|
-
openLog(),
|
|
199
|
-
closeLog(),
|
|
200
|
-
newConfiguratorLog(),
|
|
201
|
-
upgradeFacadeLog(),
|
|
202
|
-
openLog(CREDIT_FACADE_NEW),
|
|
203
|
-
], [cmDumb])).to.be.eql({
|
|
204
|
-
updated: [expectedHash],
|
|
205
|
-
deleted: [expectedHash],
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
});
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { providers, Signer } from "ethers";
|
|
2
|
-
import { CreditManagerData } from "../core/creditManager";
|
|
3
|
-
export declare class CreditManagerWatcher {
|
|
4
|
-
private static newConfiguratorV2Topic;
|
|
5
|
-
private static newConfiguratorV3Topic;
|
|
6
|
-
static getAllCreditManagers(addressProvider: string, signer: Signer | providers.Provider, atBlock?: number): Promise<Record<string, CreditManagerData>>;
|
|
7
|
-
static getV2CreditManagers(dataCompressorV210: string, signer: Signer | providers.Provider, atBlock?: number): Promise<Record<string, CreditManagerData>>;
|
|
8
|
-
static getV3CreditManagers(dataCompressorV300: string, signer: Signer | providers.Provider, atBlock?: number): Promise<Record<string, CreditManagerData>>;
|
|
9
|
-
static detectConfigChanges(freshLogs: Array<providers.Log>, creditManagers: Array<CreditManagerData>): boolean;
|
|
10
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CreditManagerWatcher = void 0;
|
|
4
|
-
const utils_1 = require("ethers/lib/utils");
|
|
5
|
-
const creditManager_1 = require("../core/creditManager");
|
|
6
|
-
const types_1 = require("../types");
|
|
7
|
-
class CreditManagerWatcher {
|
|
8
|
-
static newConfiguratorV2Topic = types_1.ICreditManagerV2__factory.createInterface().getEventTopic("NewConfigurator");
|
|
9
|
-
static newConfiguratorV3Topic = types_1.ICreditManagerV3__factory.createInterface().getEventTopic("SetCreditConfigurator");
|
|
10
|
-
static async getAllCreditManagers(addressProvider, signer, atBlock) {
|
|
11
|
-
const ap = types_1.IAddressProviderV3__factory.connect(addressProvider, signer);
|
|
12
|
-
const [dc210, dc300] = await Promise.all([
|
|
13
|
-
ap.getAddressOrRevert((0, utils_1.formatBytes32String)("DATA_COMPRESSOR"), 210, {
|
|
14
|
-
blockTag: atBlock,
|
|
15
|
-
}),
|
|
16
|
-
ap.getAddressOrRevert((0, utils_1.formatBytes32String)("DATA_COMPRESSOR"), 300, {
|
|
17
|
-
blockTag: atBlock,
|
|
18
|
-
}),
|
|
19
|
-
]);
|
|
20
|
-
const [cms2, cms3] = await Promise.all([
|
|
21
|
-
CreditManagerWatcher.getV2CreditManagers(dc210, signer, atBlock),
|
|
22
|
-
CreditManagerWatcher.getV3CreditManagers(dc300, signer, atBlock),
|
|
23
|
-
]);
|
|
24
|
-
return { ...cms2, ...cms3 };
|
|
25
|
-
}
|
|
26
|
-
static async getV2CreditManagers(dataCompressorV210, signer, atBlock) {
|
|
27
|
-
const creditManagers = {};
|
|
28
|
-
const creditManagersPayload = await types_1.IDataCompressorV2_1__factory.connect(dataCompressorV210, signer).getCreditManagersV2List({ blockTag: atBlock });
|
|
29
|
-
creditManagersPayload.forEach(c => {
|
|
30
|
-
creditManagers[c.addr.toLowerCase()] = new creditManager_1.CreditManagerData(c);
|
|
31
|
-
});
|
|
32
|
-
return creditManagers;
|
|
33
|
-
}
|
|
34
|
-
static async getV3CreditManagers(dataCompressorV300, signer, atBlock) {
|
|
35
|
-
const creditManagers = {};
|
|
36
|
-
const creditManagersPayload = await types_1.IDataCompressorV3__factory.connect(dataCompressorV300, signer).getCreditManagersV3List({ blockTag: atBlock });
|
|
37
|
-
creditManagersPayload.forEach(c => {
|
|
38
|
-
creditManagers[c.addr.toLowerCase()] = new creditManager_1.CreditManagerData(c);
|
|
39
|
-
});
|
|
40
|
-
return creditManagers;
|
|
41
|
-
}
|
|
42
|
-
static detectConfigChanges(freshLogs, creditManagers) {
|
|
43
|
-
const cms = creditManagers.map(c => c.address);
|
|
44
|
-
const ccs = creditManagers.map(c => c.creditConfigurator);
|
|
45
|
-
for (let log of freshLogs) {
|
|
46
|
-
if (cms.includes(log.address.toLowerCase())) {
|
|
47
|
-
if (log.topics[0] === CreditManagerWatcher.newConfiguratorV2Topic ||
|
|
48
|
-
log.topics[0] === CreditManagerWatcher.newConfiguratorV3Topic) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
if (ccs.includes(log.address.toLowerCase())) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.CreditManagerWatcher = CreditManagerWatcher;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
|
|
4
|
-
const chai_1 = require("chai");
|
|
5
|
-
const ethers_1 = require("ethers");
|
|
6
|
-
const types_1 = require("../types");
|
|
7
|
-
const creditManagerWatcher_1 = require("./creditManagerWatcher");
|
|
8
|
-
const CREDIT_MANAGER_ADDRESS = sdk_gov_1.DUMB_ADDRESS;
|
|
9
|
-
const CREDIT_CONFIGIURATOR_ADDRESS = "0xcb9a588a47dd0393af3d0d5f86e6f1c8fd252c48";
|
|
10
|
-
const cmDumb = {
|
|
11
|
-
address: CREDIT_MANAGER_ADDRESS.toLowerCase(),
|
|
12
|
-
creditConfigurator: CREDIT_CONFIGIURATOR_ADDRESS.toLowerCase(),
|
|
13
|
-
};
|
|
14
|
-
const encode = (abiType, value) => ethers_1.utils.defaultAbiCoder.encode([abiType], [value]);
|
|
15
|
-
const makeLog = (address, topics, data = sdk_gov_1.ADDRESS_0X0) => {
|
|
16
|
-
return {
|
|
17
|
-
blockNumber: 0,
|
|
18
|
-
blockHash: "",
|
|
19
|
-
transactionIndex: 0,
|
|
20
|
-
removed: false,
|
|
21
|
-
address,
|
|
22
|
-
data,
|
|
23
|
-
topics,
|
|
24
|
-
transactionHash: "",
|
|
25
|
-
logIndex: 0,
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
describe("CreditManagerTracker test", () => {
|
|
29
|
-
it("detects CreditManagerV2 events correctly", () => {
|
|
30
|
-
const cmV2Interface = types_1.ICreditManagerV2__factory.createInterface();
|
|
31
|
-
let log = makeLog(CREDIT_MANAGER_ADDRESS, [
|
|
32
|
-
cmV2Interface.getEventTopic("NewConfigurator"),
|
|
33
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
34
|
-
]);
|
|
35
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
36
|
-
log = makeLog(CREDIT_MANAGER_ADDRESS, [
|
|
37
|
-
cmV2Interface.getEventTopic("ExecuteOrder"),
|
|
38
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
39
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
40
|
-
]);
|
|
41
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(false);
|
|
42
|
-
});
|
|
43
|
-
it("detects CreditManagerV3 events correctly", () => {
|
|
44
|
-
const cmV3Interface = types_1.ICreditManagerV3__factory.createInterface();
|
|
45
|
-
let log = makeLog(CREDIT_MANAGER_ADDRESS, [
|
|
46
|
-
cmV3Interface.getEventTopic("SetCreditConfigurator"),
|
|
47
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
48
|
-
]);
|
|
49
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
50
|
-
});
|
|
51
|
-
it("detects CreditConfigurator events correctly", () => {
|
|
52
|
-
const ccInterface = types_1.ICreditConfiguratorV2__factory.createInterface();
|
|
53
|
-
let log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [
|
|
54
|
-
ccInterface.getEventTopic("TokenLiquidationThresholdUpdated"),
|
|
55
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
56
|
-
], encode("uint16", 122));
|
|
57
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
58
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [
|
|
59
|
-
ccInterface.getEventTopic("TokenAllowed"),
|
|
60
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
61
|
-
]);
|
|
62
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
63
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [
|
|
64
|
-
ccInterface.getEventTopic("TokenForbidden"),
|
|
65
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
66
|
-
]);
|
|
67
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
68
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [
|
|
69
|
-
ccInterface.getEventTopic("ContractAllowed"),
|
|
70
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
71
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
72
|
-
]);
|
|
73
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
74
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [
|
|
75
|
-
ccInterface.getEventTopic("ContractForbidden"),
|
|
76
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
77
|
-
]);
|
|
78
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
79
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("LimitsUpdated")], ethers_1.utils.defaultAbiCoder.encode(["uint256", "uint256"], [50, 200]));
|
|
80
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
81
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("FeesUpdated")], ethers_1.utils.defaultAbiCoder.encode(["uint16", "uint16", "uint16", "uint16", "uint16"], [50, 50, 50, 50, 50]));
|
|
82
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
83
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [
|
|
84
|
-
ccInterface.getEventTopic("PriceOracleUpgraded"),
|
|
85
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
86
|
-
]);
|
|
87
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
88
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [
|
|
89
|
-
ccInterface.getEventTopic("CreditFacadeUpgraded"),
|
|
90
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
91
|
-
]);
|
|
92
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
93
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [
|
|
94
|
-
ccInterface.getEventTopic("CreditConfiguratorUpgraded"),
|
|
95
|
-
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
96
|
-
]);
|
|
97
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
98
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("IncreaseDebtForbiddenModeChanged")], encode("bool", true));
|
|
99
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
100
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("LimitPerBlockUpdated")], encode("uint128", 122));
|
|
101
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
102
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("AddedToUpgradeable")], encode("address", sdk_gov_1.DUMB_ADDRESS));
|
|
103
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
104
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("RemovedFromUpgradeable")], encode("address", sdk_gov_1.DUMB_ADDRESS));
|
|
105
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
106
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("ExpirationDateUpdated")], encode("uint40", Math.floor(Date.now() / 1000)));
|
|
107
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
108
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("MaxEnabledTokensUpdated")], encode("uint8", 14));
|
|
109
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
110
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("EmergencyLiquidatorAdded")], encode("address", sdk_gov_1.DUMB_ADDRESS));
|
|
111
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
112
|
-
log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [ccInterface.getEventTopic("EmergencyLiquidatorRemoved")], encode("address", sdk_gov_1.DUMB_ADDRESS));
|
|
113
|
-
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
114
|
-
});
|
|
115
|
-
});
|
|
File without changes
|