@gearbox-protocol/sdk 3.0.0-next.6 → 3.0.0-next.61
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/contracts/IAirdropDistributor.sol +55 -0
- package/contracts/IDegenDistributor.sol +28 -0
- package/contracts/IOffchainOracle.sol +17 -0
- package/contracts/IWETHGateway.sol +33 -0
- package/contracts/IwstETHGateway.sol +24 -0
- package/contracts/index.sol +26 -3
- package/lib/apy/curveAPY.js +2 -1
- package/lib/apy/index.d.ts +2 -2
- package/lib/apy/yearnAPY.js +1 -1
- package/lib/config.d.ts +0 -1
- package/lib/config.js +1 -2
- package/lib/core/assets.d.ts +4 -4
- package/lib/core/assets.js +28 -17
- package/lib/core/creditAccount.d.ts +32 -8
- package/lib/core/creditAccount.js +101 -44
- package/lib/core/creditAccount.spec.js +693 -10
- package/lib/core/creditManager.d.ts +23 -9
- package/lib/core/creditManager.js +97 -31
- package/lib/core/events.js +14 -14
- package/lib/core/gauge.d.ts +26 -0
- package/lib/core/gauge.js +63 -0
- package/lib/core/gaugeMath.d.ts +40 -0
- package/lib/core/gaugeMath.js +108 -0
- package/lib/core/gaugeMath.spec.d.ts +1 -0
- package/lib/core/gaugeMath.spec.js +388 -0
- package/lib/core/{pool/data.d.ts → pool.d.ts} +18 -10
- package/lib/core/{pool/data.js → pool.js} +69 -24
- package/lib/core/rewardClaimer.d.ts +2 -2
- package/lib/core/strategy.js +2 -2
- package/lib/core/trade.d.ts +14 -32
- package/lib/core/trade.js +33 -82
- package/lib/core/transactions.d.ts +65 -3
- package/lib/core/transactions.js +162 -105
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/parsers/abstractParser.js +1 -2
- package/lib/parsers/convexBaseRewardPoolAdapterParser.js +10 -8
- package/lib/parsers/convexBaseRewardPoolAdapterParser.spec.js +9 -6
- package/lib/parsers/convexBoosterAdapterParser.js +6 -6
- package/lib/parsers/convexBoosterAdapterParser.spec.js +4 -4
- package/lib/parsers/creditFacadeParser.d.ts +2 -1
- package/lib/parsers/creditFacadeParser.js +25 -5
- package/lib/parsers/creditFacadeParser.spec.js +2 -3
- package/lib/parsers/curveAdapterParser.js +10 -11
- package/lib/parsers/curveAdapterParser.spec.js +6 -2
- package/lib/parsers/lidoAdapterParser.js +3 -2
- package/lib/parsers/lidoAdapterParser.spec.js +2 -2
- package/lib/parsers/txParser.d.ts +4 -4
- package/lib/parsers/txParser.js +9 -3
- package/lib/parsers/uniV2AdapterParser.js +5 -4
- package/lib/parsers/uniV2AdapterParser.spec.js +3 -2
- package/lib/parsers/uniV3AdapterParser.js +9 -7
- package/lib/parsers/uniV3AdapterParser.spec.js +3 -2
- package/lib/parsers/wstETHAdapterParser.js +6 -4
- package/lib/parsers/wstETHAdapterParser.spec.js +4 -4
- package/lib/parsers/yearnAdapterParser.spec.js +4 -4
- package/lib/parsers/yearnV2AdapterParser.js +13 -3
- package/lib/pathfinder/core.d.ts +11 -9
- package/lib/pathfinder/pathOptions.d.ts +2 -1
- package/lib/pathfinder/pathOptions.js +20 -1
- package/lib/pathfinder/pathOptions.spec.js +2 -2
- package/lib/pathfinder/pathfinder.d.ts +37 -10
- package/lib/pathfinder/pathfinder.js +46 -33
- package/lib/pathfinder/pathfinder.spec.js +7 -3
- package/lib/payload/creditAccount.d.ts +3 -4
- package/lib/payload/gauge.d.ts +12 -0
- package/lib/payload/pool.d.ts +6 -1
- package/lib/types/IAaveV2_LendingPoolAdapter.d.ts +171 -0
- package/lib/types/IAaveV2_WrappedATokenAdapter.d.ts +290 -0
- package/lib/types/IAirdropDistributor.sol/IAirdropDistributor.d.ts +124 -0
- package/lib/types/IAirdropDistributor.sol/IAirdropDistributorEvents.d.ts +73 -0
- package/lib/types/IAirdropDistributor.sol/index.d.ts +2 -0
- package/lib/types/IBalancerV2Vault.sol/IBalancerV2Vault.d.ts +308 -0
- package/lib/types/IBalancerV2Vault.sol/IBalancerV2VaultGetters.d.ts +112 -0
- package/lib/types/IBalancerV2Vault.sol/index.d.ts +2 -0
- package/lib/types/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapter.d.ts +466 -0
- package/lib/types/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterEvents.d.ts +43 -0
- package/lib/types/{ILidoV1Adapter.sol/ILidoV1AdapterEvents.d.ts → IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterExceptions.d.ts} +6 -18
- package/lib/types/IBalancerV2VaultAdapter.sol/index.d.ts +3 -0
- package/lib/types/ICompoundV2_CTokenAdapter.sol/ICompoundV2_CTokenAdapter.d.ts +216 -0
- package/lib/types/ICompoundV2_CTokenAdapter.sol/ICompoundV2_Exceptions.d.ts +27 -0
- package/lib/types/ICompoundV2_CTokenAdapter.sol/index.d.ts +2 -0
- package/lib/types/IContractsRegister.sol/IContractsRegister.d.ts +128 -0
- package/lib/types/IContractsRegister.sol/IContractsRegisterEvents.d.ts +50 -0
- package/lib/types/IContractsRegister.sol/index.d.ts +2 -0
- package/lib/types/IConvexToken.d.ts +9 -1
- package/lib/types/IConvexV1BaseRewardPoolAdapter.d.ts +46 -30
- package/lib/types/{IConvexV1BoosterAdapter.d.ts → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter.d.ts} +40 -21
- package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents.d.ts +43 -0
- package/lib/types/IConvexV1BoosterAdapter.sol/index.d.ts +2 -0
- package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3.d.ts +716 -0
- package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events.d.ts +275 -0
- package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events.js +2 -0
- package/lib/types/ICreditConfiguratorV3.sol/index.d.ts +2 -0
- package/lib/types/ICreditConfiguratorV3.sol/index.js +2 -0
- package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Extended.d.ts +7 -11
- package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3.d.ts +201 -94
- package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3Events.d.ts +31 -33
- package/lib/types/ICreditFacadeV3Multicall.d.ts +91 -60
- package/lib/types/ICreditManagerV3.sol/ICreditManagerV3.d.ts +360 -98
- package/lib/types/ICurveV1Adapter.d.ts +41 -105
- package/lib/types/ICurveV1_2AssetsAdapter.d.ts +41 -105
- package/lib/types/ICurveV1_3AssetsAdapter.d.ts +41 -105
- package/lib/types/ICurveV1_4AssetsAdapter.d.ts +41 -105
- package/lib/types/IDataCompressorV2_10.d.ts +44 -36
- package/lib/types/IDataCompressorV3_00.d.ts +141 -37
- package/lib/types/IDegenDistributor.sol/IDegenDistributor.d.ts +96 -0
- package/lib/types/IDegenDistributor.sol/IDegenDistributor.js +2 -0
- package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.d.ts +53 -0
- package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.js +2 -0
- package/lib/types/IDegenDistributor.sol/index.d.ts +2 -0
- package/lib/types/IDegenDistributor.sol/index.js +2 -0
- package/lib/types/IDegenNFTV2.sol/IDegenNFTV2.d.ts +339 -0
- package/lib/types/IDegenNFTV2.sol/IDegenNFTV2.js +2 -0
- package/lib/types/IDegenNFTV2.sol/IDegenNFTV2Events.d.ts +61 -0
- package/lib/types/IDegenNFTV2.sol/IDegenNFTV2Events.js +2 -0
- package/lib/types/IDegenNFTV2.sol/IDegenNFTV2Exceptions.d.ts +27 -0
- package/lib/types/IDegenNFTV2.sol/IDegenNFTV2Exceptions.js +2 -0
- package/lib/types/IDegenNFTV2.sol/index.d.ts +3 -0
- package/lib/types/IDegenNFTV2.sol/index.js +2 -0
- package/lib/types/IERC165.d.ts +42 -0
- package/lib/types/IERC165.js +2 -0
- package/lib/types/{draft-IERC20Permit.sol/IERC20Permit.d.ts → IERC20Permit.d.ts} +1 -1
- package/lib/types/IERC20Permit.js +2 -0
- package/lib/types/IERC20ZapperDeposits.d.ts +117 -0
- package/lib/types/IERC20ZapperDeposits.js +2 -0
- package/lib/types/IERC4626Adapter.d.ts +238 -0
- package/lib/types/IERC4626Adapter.js +2 -0
- package/lib/types/IERC721.d.ts +220 -0
- package/lib/types/IERC721.js +2 -0
- package/lib/types/IERC721Metadata.d.ts +244 -0
- package/lib/types/IERC721Metadata.js +2 -0
- package/lib/types/IETHZapperDeposits.d.ts +66 -0
- package/lib/types/IETHZapperDeposits.js +2 -0
- package/lib/types/IGasPricer.d.ts +44 -0
- package/lib/types/IGasPricer.js +2 -0
- package/lib/types/IGaugeV3.sol/IGaugeV3.d.ts +366 -0
- package/lib/types/IGaugeV3.sol/IGaugeV3.js +2 -0
- package/lib/types/IGaugeV3.sol/IGaugeV3Events.d.ts +114 -0
- package/lib/types/IGaugeV3.sol/IGaugeV3Events.js +2 -0
- package/lib/types/IGaugeV3.sol/index.d.ts +2 -0
- package/lib/types/IGaugeV3.sol/index.js +2 -0
- package/lib/types/IGearStakingV3.sol/IGearStakingV3.d.ts +408 -0
- package/lib/types/IGearStakingV3.sol/IGearStakingV3.js +2 -0
- package/lib/types/IGearStakingV3.sol/IGearStakingV3Events.d.ts +117 -0
- package/lib/types/IGearStakingV3.sol/IGearStakingV3Events.js +2 -0
- package/lib/types/IGearStakingV3.sol/index.d.ts +2 -0
- package/lib/types/IGearStakingV3.sol/index.js +2 -0
- package/lib/types/{ILidoV1Adapter.sol/ILidoV1Adapter.d.ts → ILidoV1Adapter.d.ts} +13 -48
- package/lib/types/ILidoV1Adapter.js +2 -0
- package/lib/types/ILinearInterestRateModelV3.d.ts +120 -0
- package/lib/types/ILinearInterestRateModelV3.js +2 -0
- package/lib/types/IOffchainOracle.d.ts +58 -0
- package/lib/types/IOffchainOracle.js +2 -0
- package/lib/types/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3.d.ts +473 -0
- package/lib/types/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3.js +2 -0
- package/lib/types/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3Events.d.ts +113 -0
- package/lib/types/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3Events.js +2 -0
- package/lib/types/IPoolQuotaKeeperV3.sol/index.d.ts +2 -0
- package/lib/types/IPoolQuotaKeeperV3.sol/index.js +2 -0
- package/lib/types/IPoolV3.sol/IPoolV3.d.ts +43 -11
- package/lib/types/IPoolV3.sol/index.d.ts +0 -1
- package/lib/types/IPriceFeed.sol/IPriceFeed.d.ts +109 -0
- package/lib/types/IPriceFeed.sol/IPriceFeed.js +2 -0
- package/lib/types/IPriceFeed.sol/IUpdatablePriceFeed.d.ts +133 -0
- package/lib/types/IPriceFeed.sol/IUpdatablePriceFeed.js +2 -0
- package/lib/types/IPriceFeed.sol/index.d.ts +2 -0
- package/lib/types/IPriceFeed.sol/index.js +2 -0
- package/lib/types/IPriceOracle.sol/IPriceOracleV2.d.ts +166 -0
- package/lib/types/IPriceOracle.sol/IPriceOracleV2.js +2 -0
- package/lib/types/IPriceOracle.sol/IPriceOracleV2Events.d.ts +43 -0
- package/lib/types/IPriceOracle.sol/IPriceOracleV2Events.js +2 -0
- package/lib/types/{ILidoV1Adapter.sol/ILidoV1AdapterExceptions.d.ts → IPriceOracle.sol/IPriceOracleV2Exceptions.d.ts} +3 -3
- package/lib/types/IPriceOracle.sol/IPriceOracleV2Exceptions.js +2 -0
- package/lib/types/IPriceOracle.sol/IPriceOracleV2Ext.d.ts +182 -0
- package/lib/types/IPriceOracle.sol/IPriceOracleV2Ext.js +2 -0
- package/lib/types/IPriceOracle.sol/index.d.ts +4 -0
- package/lib/types/IPriceOracle.sol/index.js +2 -0
- package/lib/types/IPriceOracleV3.sol/IPriceOracleV3.d.ts +272 -0
- package/lib/types/IPriceOracleV3.sol/IPriceOracleV3.js +2 -0
- package/lib/types/IPriceOracleV3.sol/IPriceOracleV3Events.d.ts +79 -0
- package/lib/types/IPriceOracleV3.sol/IPriceOracleV3Events.js +2 -0
- package/lib/types/IPriceOracleV3.sol/index.d.ts +2 -0
- package/lib/types/IPriceOracleV3.sol/index.js +2 -0
- package/lib/types/IUniswapV2Adapter.sol/IUniswapV2Adapter.d.ts +10 -9
- package/lib/types/IUniswapV3Adapter.sol/IUniswapV3Adapter.d.ts +27 -21
- package/lib/types/IVotingContractV3.d.ts +74 -0
- package/lib/types/IVotingContractV3.js +2 -0
- package/lib/types/IWETHGateway.d.ts +90 -0
- package/lib/types/IWETHGateway.js +2 -0
- package/lib/types/IYearnV2Adapter.d.ts +22 -22
- package/lib/types/IZapper.d.ts +125 -0
- package/lib/types/IZapper.js +2 -0
- package/lib/types/IwstETHGateway.sol/IwstETHGateWay.d.ts +70 -0
- package/lib/types/IwstETHGateway.sol/IwstETHGateWay.js +2 -0
- package/lib/types/IwstETHGateway.sol/index.d.ts +1 -0
- package/lib/types/IwstETHGateway.sol/index.js +2 -0
- package/lib/types/IwstETHV1Adapter.d.ts +17 -17
- package/lib/types/factories/AddressProvider__factory.d.ts +1 -1
- package/lib/types/factories/AddressProvider__factory.js +1 -1
- package/lib/types/factories/Balances.sol/BalanceOps__factory.d.ts +1 -1
- package/lib/types/factories/Balances.sol/BalanceOps__factory.js +1 -1
- package/lib/types/factories/Claimable__factory.d.ts +1 -1
- package/lib/types/factories/Claimable__factory.js +1 -1
- package/lib/types/factories/Errors__factory.d.ts +1 -1
- package/lib/types/factories/Errors__factory.js +1 -1
- package/lib/types/factories/IAaveV2_LendingPoolAdapter__factory.d.ts +158 -0
- package/lib/types/factories/IAaveV2_LendingPoolAdapter__factory.js +215 -0
- package/lib/types/factories/IAaveV2_WrappedATokenAdapter__factory.d.ts +252 -0
- package/lib/types/factories/IAaveV2_WrappedATokenAdapter__factory.js +341 -0
- package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.d.ts +63 -0
- package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.js +88 -0
- package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.d.ts +119 -0
- package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.js +161 -0
- package/lib/types/factories/IAirdropDistributor.sol/index.d.ts +2 -0
- package/lib/types/factories/IAirdropDistributor.sol/index.js +10 -0
- package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2VaultGetters__factory.d.ts +78 -0
- package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2VaultGetters__factory.js +111 -0
- package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2Vault__factory.d.ts +360 -0
- package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2Vault__factory.js +475 -0
- package/lib/types/factories/IBalancerV2Vault.sol/index.d.ts +2 -0
- package/lib/types/factories/IBalancerV2Vault.sol/index.js +10 -0
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterEvents__factory.d.ts +23 -0
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterEvents__factory.js +38 -0
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterExceptions__factory.d.ts +12 -0
- package/lib/types/factories/{ILidoV1Adapter.sol/ILidoV1AdapterExceptions__factory.js → IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterExceptions__factory.js} +4 -4
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapter__factory.d.ts +514 -0
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapter__factory.js +675 -0
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/index.d.ts +3 -0
- package/lib/types/factories/IBalancerV2VaultAdapter.sol/index.js +12 -0
- package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_CTokenAdapter__factory.d.ts +196 -0
- package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_CTokenAdapter__factory.js +267 -0
- package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_Exceptions__factory.d.ts +16 -0
- package/lib/types/factories/{ILidoV1Adapter.sol/ILidoV1AdapterEvents__factory.js → ICompoundV2_CTokenAdapter.sol/ICompoundV2_Exceptions__factory.js} +6 -8
- package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/index.d.ts +2 -0
- package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/index.js +10 -0
- package/lib/types/factories/IContractsRegister.sol/IContractsRegisterEvents__factory.d.ts +28 -0
- package/lib/types/factories/IContractsRegister.sol/IContractsRegisterEvents__factory.js +45 -0
- package/lib/types/factories/IContractsRegister.sol/IContractsRegister__factory.d.ts +134 -0
- package/lib/types/factories/IContractsRegister.sol/IContractsRegister__factory.js +186 -0
- package/lib/types/factories/IContractsRegister.sol/index.d.ts +2 -0
- package/lib/types/factories/IContractsRegister.sol/index.js +10 -0
- package/lib/types/factories/IConvexToken__factory.d.ts +10 -0
- package/lib/types/factories/IConvexToken__factory.js +13 -0
- package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.d.ts +38 -6
- package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.js +48 -6
- package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.d.ts +23 -0
- package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.js +38 -0
- package/lib/types/factories/{IConvexV1BoosterAdapter__factory.d.ts → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.d.ts} +26 -3
- package/lib/types/factories/{IConvexV1BoosterAdapter__factory.js → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.js} +31 -2
- package/lib/types/factories/IConvexV1BoosterAdapter.sol/index.d.ts +2 -0
- package/lib/types/factories/IConvexV1BoosterAdapter.sol/index.js +10 -0
- package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.d.ts +273 -0
- package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.js +357 -0
- package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.d.ts +605 -0
- package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.js +785 -0
- package/lib/types/factories/ICreditConfiguratorV3.sol/index.d.ts +2 -0
- package/lib/types/factories/ICreditConfiguratorV3.sol/index.js +10 -0
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.d.ts +0 -4
- package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.js +0 -5
- package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.d.ts +19 -24
- package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.js +21 -27
- package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.d.ts +151 -72
- package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.js +189 -85
- package/lib/types/factories/ICreditFacadeV3Multicall__factory.d.ts +77 -43
- package/lib/types/factories/ICreditFacadeV3Multicall__factory.js +96 -54
- package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.d.ts +339 -147
- package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.js +427 -180
- package/lib/types/factories/ICurveV1Adapter__factory.d.ts +13 -71
- package/lib/types/factories/ICurveV1Adapter__factory.js +14 -91
- package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.d.ts +13 -71
- package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.js +14 -91
- package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.d.ts +13 -71
- package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.js +14 -91
- package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.d.ts +13 -71
- package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.js +14 -91
- package/lib/types/factories/IDataCompressorV2_10__factory.d.ts +110 -54
- package/lib/types/factories/IDataCompressorV2_10__factory.js +138 -68
- package/lib/types/factories/IDataCompressorV3_00__factory.d.ts +379 -79
- package/lib/types/factories/IDataCompressorV3_00__factory.js +481 -100
- package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.d.ts +38 -0
- package/lib/types/factories/{AaveV2_WrappedAToken.sol/IWrappedATokenEvents__factory.js → IDegenDistributor.sol/IDegenDistributorEvents__factory.js} +13 -25
- package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.d.ts +84 -0
- package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.js +117 -0
- package/lib/types/factories/IDegenDistributor.sol/index.d.ts +2 -0
- package/lib/types/factories/IDegenDistributor.sol/index.js +10 -0
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Events__factory.d.ts +38 -0
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Events__factory.js +58 -0
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Exceptions__factory.d.ts +24 -0
- package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Exceptions__factory.js +39 -0
- package/lib/types/factories/{IWithdrawalManagerV3.sol/IWithdrawalManagerV3__factory.d.ts → IDegenNFTV2.sol/IDegenNFTV2__factory.d.ts} +190 -180
- package/lib/types/factories/{IWithdrawalManagerV3.sol/IWithdrawalManagerV3__factory.js → IDegenNFTV2.sol/IDegenNFTV2__factory.js} +212 -195
- package/lib/types/factories/IDegenNFTV2.sol/index.d.ts +3 -0
- package/lib/types/factories/IDegenNFTV2.sol/index.js +12 -0
- package/lib/types/factories/IERC165__factory.d.ts +22 -0
- package/lib/types/factories/IERC165__factory.js +38 -0
- package/lib/types/factories/{draft-IERC20Permit.sol/IERC20Permit__factory.d.ts → IERC20Permit__factory.d.ts} +1 -1
- package/lib/types/factories/IERC20ZapperDeposits__factory.d.ts +120 -0
- package/lib/types/factories/IERC20ZapperDeposits__factory.js +165 -0
- package/lib/types/factories/IERC4626Adapter__factory.d.ts +220 -0
- package/lib/types/factories/IERC4626Adapter__factory.js +297 -0
- package/lib/types/factories/IERC721Metadata__factory.d.ts +262 -0
- package/lib/types/factories/IERC721Metadata__factory.js +349 -0
- package/lib/types/factories/IERC721__factory.d.ts +228 -0
- package/lib/types/factories/IERC721__factory.js +304 -0
- package/lib/types/factories/IETHZapperDeposits__factory.d.ts +40 -0
- package/lib/types/factories/IETHZapperDeposits__factory.js +62 -0
- package/lib/types/factories/IGasPricer__factory.d.ts +22 -0
- package/lib/types/factories/IGasPricer__factory.js +38 -0
- package/lib/types/factories/IGaugeV3.sol/IGaugeV3Events__factory.d.ts +118 -0
- package/lib/types/factories/IGaugeV3.sol/IGaugeV3Events__factory.js +157 -0
- package/lib/types/factories/IGaugeV3.sol/IGaugeV3__factory.d.ts +342 -0
- package/lib/types/factories/IGaugeV3.sol/IGaugeV3__factory.js +448 -0
- package/lib/types/factories/IGaugeV3.sol/index.d.ts +2 -0
- package/lib/types/factories/IGaugeV3.sol/index.js +10 -0
- package/lib/types/factories/{IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events__factory.d.ts → IGearStakingV3.sol/IGearStakingV3Events__factory.d.ts} +33 -63
- package/lib/types/factories/{IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events__factory.js → IGearStakingV3.sol/IGearStakingV3Events__factory.js} +34 -70
- package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3__factory.d.ts +504 -0
- package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3__factory.js +660 -0
- package/lib/types/factories/IGearStakingV3.sol/index.d.ts +2 -0
- package/lib/types/factories/IGearStakingV3.sol/index.js +10 -0
- package/lib/types/factories/{ILidoV1Adapter.sol/ILidoV1Adapter__factory.d.ts → ILidoV1Adapter__factory.d.ts} +7 -37
- package/lib/types/factories/{ILidoV1Adapter.sol/ILidoV1Adapter__factory.js → ILidoV1Adapter__factory.js} +8 -46
- package/lib/types/factories/ILinearInterestRateModelV3__factory.d.ts +98 -0
- package/lib/types/factories/ILinearInterestRateModelV3__factory.js +136 -0
- package/lib/types/factories/IOffchainOracle__factory.d.ts +48 -0
- package/lib/types/factories/IOffchainOracle__factory.js +72 -0
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3Events__factory.d.ts +103 -0
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3Events__factory.js +140 -0
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3__factory.d.ts +441 -0
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3__factory.js +580 -0
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/index.d.ts +2 -0
- package/lib/types/factories/IPoolQuotaKeeperV3.sol/index.js +10 -0
- package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.d.ts +62 -14
- package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.js +79 -17
- package/lib/types/factories/IPoolV3.sol/index.d.ts +0 -1
- package/lib/types/factories/IPoolV3.sol/index.js +1 -3
- package/lib/types/factories/{IPoolV3.sol/IPoolBase__factory.d.ts → IPriceFeed.sol/IPriceFeed__factory.d.ts} +39 -35
- package/lib/types/factories/{IPoolV3.sol/IPoolBase__factory.js → IPriceFeed.sol/IPriceFeed__factory.js} +40 -35
- package/lib/types/factories/IPriceFeed.sol/IUpdatablePriceFeed__factory.d.ts +104 -0
- package/lib/types/factories/IPriceFeed.sol/IUpdatablePriceFeed__factory.js +143 -0
- package/lib/types/factories/IPriceFeed.sol/index.d.ts +2 -0
- package/lib/types/factories/IPriceFeed.sol/index.js +10 -0
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Events__factory.d.ts +23 -0
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Events__factory.js +38 -0
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Exceptions__factory.d.ts +20 -0
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Exceptions__factory.js +34 -0
- package/lib/types/factories/{IAToken__factory.d.ts → IPriceOracle.sol/IPriceOracleV2Ext__factory.d.ts} +98 -99
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Ext__factory.js +267 -0
- package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2__factory.d.ts +183 -0
- package/lib/types/factories/{IAToken__factory.js → IPriceOracle.sol/IPriceOracleV2__factory.js} +94 -112
- package/lib/types/factories/IPriceOracle.sol/index.d.ts +4 -0
- package/lib/types/factories/IPriceOracle.sol/index.js +14 -0
- package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3Events__factory.d.ts +78 -0
- package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3Events__factory.js +106 -0
- package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3__factory.d.ts +326 -0
- package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3__factory.js +433 -0
- package/lib/types/factories/IPriceOracleV3.sol/index.d.ts +2 -0
- package/lib/types/factories/IPriceOracleV3.sol/index.js +10 -0
- package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.d.ts +5 -1
- package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.js +6 -1
- package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.d.ts +12 -4
- package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.js +14 -4
- package/lib/types/factories/IVotingContractV3__factory.d.ts +44 -0
- package/lib/types/factories/IVotingContractV3__factory.js +65 -0
- package/lib/types/factories/IWETHGateway__factory.d.ts +58 -0
- package/lib/types/factories/IWETHGateway__factory.js +83 -0
- package/lib/types/factories/IYearnV2Adapter__factory.d.ts +21 -13
- package/lib/types/factories/IYearnV2Adapter__factory.js +27 -15
- package/lib/types/factories/{WERC20ZapperBase__factory.d.ts → IZapper__factory.d.ts} +52 -64
- package/lib/types/factories/{WERC20ZapperBase__factory.js → IZapper__factory.js} +58 -74
- package/lib/types/factories/{ZapperBase__factory.d.ts → IwstETHGateway.sol/IwstETHGateWay__factory.d.ts} +22 -34
- package/lib/types/factories/{ZapperBase__factory.js → IwstETHGateway.sol/IwstETHGateWay__factory.js} +22 -39
- package/lib/types/factories/IwstETHGateway.sol/index.d.ts +1 -0
- package/lib/types/factories/IwstETHGateway.sol/index.js +8 -0
- package/lib/types/factories/IwstETHV1Adapter__factory.d.ts +12 -4
- package/lib/types/factories/IwstETHV1Adapter__factory.js +16 -4
- package/lib/types/factories/SafeERC20__factory.d.ts +1 -1
- package/lib/types/factories/SafeERC20__factory.js +1 -1
- package/lib/types/factories/index.d.ts +33 -14
- package/lib/types/factories/index.js +51 -26
- package/lib/types/factories/{IRouter__factory.d.ts → interfaces/IRouter__factory.d.ts} +75 -6
- package/lib/types/factories/{IRouter__factory.js → interfaces/IRouter__factory.js} +96 -6
- package/lib/types/factories/interfaces/index.d.ts +1 -0
- package/lib/types/factories/interfaces/index.js +8 -0
- package/lib/types/index.d.ts +146 -54
- package/lib/types/index.js +117 -50
- package/lib/types/{IRouter.d.ts → interfaces/IRouter.d.ts} +48 -35
- package/lib/types/interfaces/IRouter.js +2 -0
- package/lib/types/interfaces/index.d.ts +1 -0
- package/lib/types/interfaces/index.js +2 -0
- package/lib/utils/formatter.d.ts +0 -3
- package/lib/utils/formatter.js +1 -67
- package/lib/utils/math.d.ts +2 -0
- package/lib/utils/math.js +2 -0
- package/lib/utils/types.d.ts +1 -0
- package/lib/watchers/creditAccountWatcher.d.ts +3 -2
- package/lib/watchers/creditAccountWatcher.js +19 -13
- package/lib/watchers/creditAccountWatcher.spec.js +18 -18
- package/lib/watchers/creditManagerWatcher.d.ts +5 -3
- package/lib/watchers/creditManagerWatcher.js +32 -10
- package/lib/watchers/creditManagerWatcher.spec.js +12 -4
- package/package.json +10 -9
- package/contracts/IRouter.sol +0 -100
- package/lib/core/pool/index.d.ts +0 -1
- package/lib/core/pool/index.js +0 -17
- package/lib/types/AaveV2_WrappedAToken.sol/IWrappedATokenEvents.d.ts +0 -60
- package/lib/types/AaveV2_WrappedAToken.sol/WrappedAToken.d.ts +0 -332
- package/lib/types/AaveV2_WrappedAToken.sol/index.d.ts +0 -2
- package/lib/types/ERC20.d.ts +0 -198
- package/lib/types/IAToken.d.ts +0 -182
- package/lib/types/ILendingPool.d.ts +0 -140
- package/lib/types/ILidoV1Adapter.sol/index.d.ts +0 -3
- package/lib/types/IPoolV3.sol/IPoolBase.d.ts +0 -102
- package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3.d.ts +0 -370
- package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events.d.ts +0 -133
- package/lib/types/IWithdrawalManagerV3.sol/index.d.ts +0 -2
- package/lib/types/WATokenZapper.d.ts +0 -134
- package/lib/types/WERC20ZapperBase.d.ts +0 -134
- package/lib/types/WETHZapper.d.ts +0 -122
- package/lib/types/WstETHZapper.d.ts +0 -134
- package/lib/types/ZapperBase.d.ts +0 -70
- package/lib/types/draft-IERC20Permit.sol/index.d.ts +0 -1
- package/lib/types/factories/AaveV2_WrappedAToken.sol/IWrappedATokenEvents__factory.d.ts +0 -48
- package/lib/types/factories/AaveV2_WrappedAToken.sol/WrappedAToken__factory.d.ts +0 -397
- package/lib/types/factories/AaveV2_WrappedAToken.sol/WrappedAToken__factory.js +0 -535
- package/lib/types/factories/AaveV2_WrappedAToken.sol/index.d.ts +0 -2
- package/lib/types/factories/AaveV2_WrappedAToken.sol/index.js +0 -10
- package/lib/types/factories/ERC20__factory.d.ts +0 -239
- package/lib/types/factories/ERC20__factory.js +0 -328
- package/lib/types/factories/ILendingPool__factory.d.ts +0 -134
- package/lib/types/factories/ILendingPool__factory.js +0 -183
- package/lib/types/factories/ILidoV1Adapter.sol/ILidoV1AdapterEvents__factory.d.ts +0 -18
- package/lib/types/factories/ILidoV1Adapter.sol/ILidoV1AdapterExceptions__factory.d.ts +0 -12
- package/lib/types/factories/ILidoV1Adapter.sol/index.d.ts +0 -3
- package/lib/types/factories/ILidoV1Adapter.sol/index.js +0 -12
- package/lib/types/factories/IWithdrawalManagerV3.sol/index.d.ts +0 -2
- package/lib/types/factories/IWithdrawalManagerV3.sol/index.js +0 -10
- package/lib/types/factories/WATokenZapper__factory.d.ts +0 -161
- package/lib/types/factories/WATokenZapper__factory.js +0 -227
- package/lib/types/factories/WETHZapper__factory.d.ts +0 -138
- package/lib/types/factories/WETHZapper__factory.js +0 -198
- package/lib/types/factories/WstETHZapper__factory.d.ts +0 -161
- package/lib/types/factories/WstETHZapper__factory.js +0 -227
- package/lib/types/factories/draft-IERC20Permit.sol/index.d.ts +0 -1
- package/lib/types/factories/draft-IERC20Permit.sol/index.js +0 -8
- /package/lib/{types/AaveV2_WrappedAToken.sol/IWrappedATokenEvents.js → payload/gauge.js} +0 -0
- /package/lib/types/{AaveV2_WrappedAToken.sol/WrappedAToken.js → IAaveV2_LendingPoolAdapter.js} +0 -0
- /package/lib/types/{AaveV2_WrappedAToken.sol/index.js → IAaveV2_WrappedATokenAdapter.js} +0 -0
- /package/lib/types/{ERC20.js → IAirdropDistributor.sol/IAirdropDistributor.js} +0 -0
- /package/lib/types/{IAToken.js → IAirdropDistributor.sol/IAirdropDistributorEvents.js} +0 -0
- /package/lib/types/{ILidoV1Adapter.sol → IAirdropDistributor.sol}/index.js +0 -0
- /package/lib/types/{IConvexV1BoosterAdapter.js → IBalancerV2Vault.sol/IBalancerV2Vault.js} +0 -0
- /package/lib/types/{ILendingPool.js → IBalancerV2Vault.sol/IBalancerV2VaultGetters.js} +0 -0
- /package/lib/types/{IWithdrawalManagerV3.sol → IBalancerV2Vault.sol}/index.js +0 -0
- /package/lib/types/{ILidoV1Adapter.sol/ILidoV1Adapter.js → IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapter.js} +0 -0
- /package/lib/types/{ILidoV1Adapter.sol/ILidoV1AdapterEvents.js → IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterEvents.js} +0 -0
- /package/lib/types/{ILidoV1Adapter.sol/ILidoV1AdapterExceptions.js → IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterExceptions.js} +0 -0
- /package/lib/types/{draft-IERC20Permit.sol → IBalancerV2VaultAdapter.sol}/index.js +0 -0
- /package/lib/types/{IPoolV3.sol/IPoolBase.js → ICompoundV2_CTokenAdapter.sol/ICompoundV2_CTokenAdapter.js} +0 -0
- /package/lib/types/{IRouter.js → ICompoundV2_CTokenAdapter.sol/ICompoundV2_Exceptions.js} +0 -0
- /package/lib/types/{IWithdrawalManagerV3.sol/IWithdrawalManagerV3.js → ICompoundV2_CTokenAdapter.sol/index.js} +0 -0
- /package/lib/types/{IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events.js → IContractsRegister.sol/IContractsRegister.js} +0 -0
- /package/lib/types/{WATokenZapper.js → IContractsRegister.sol/IContractsRegisterEvents.js} +0 -0
- /package/lib/types/{WERC20ZapperBase.js → IContractsRegister.sol/index.js} +0 -0
- /package/lib/types/{WETHZapper.js → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter.js} +0 -0
- /package/lib/types/{WstETHZapper.js → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents.js} +0 -0
- /package/lib/types/{ZapperBase.js → IConvexV1BoosterAdapter.sol/index.js} +0 -0
- /package/lib/types/{draft-IERC20Permit.sol/IERC20Permit.js → ICreditConfiguratorV3.sol/ICreditConfiguratorV3.js} +0 -0
- /package/lib/types/factories/{draft-IERC20Permit.sol/IERC20Permit__factory.js → IERC20Permit__factory.js} +0 -0
package/lib/utils/formatter.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatDateTime = exports.formatLeverage = exports.formatPercentage = exports.formatDate = exports.shortHash = exports.shortAddress = exports.toBN = exports.toSignificant = exports.
|
|
3
|
+
exports.formatDateTime = exports.formatLeverage = exports.formatPercentage = exports.formatDate = exports.shortHash = exports.shortAddress = exports.toBN = exports.toSignificant = exports.formatRAY = exports.rayToNumber = void 0;
|
|
4
4
|
const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
|
|
5
5
|
const decimal_js_light_1 = require("decimal.js-light");
|
|
6
6
|
const moment_1 = require("moment");
|
|
@@ -12,72 +12,6 @@ function formatRAY(num = 0n) {
|
|
|
12
12
|
return toSignificant(num, 27);
|
|
13
13
|
}
|
|
14
14
|
exports.formatRAY = formatRAY;
|
|
15
|
-
const limitPrecision = (n, p) => {
|
|
16
|
-
const notZero = n !== 0n;
|
|
17
|
-
if (n <= 10n && notZero) {
|
|
18
|
-
return 6;
|
|
19
|
-
}
|
|
20
|
-
if (n <= 100n && notZero) {
|
|
21
|
-
return 5;
|
|
22
|
-
}
|
|
23
|
-
if (n <= 1000n && notZero) {
|
|
24
|
-
return 4;
|
|
25
|
-
}
|
|
26
|
-
if (n <= 10000n && notZero) {
|
|
27
|
-
return 3;
|
|
28
|
-
}
|
|
29
|
-
if (p === undefined && n > 10n ** 21n) {
|
|
30
|
-
return 2;
|
|
31
|
-
}
|
|
32
|
-
if (p === undefined && n > 10n ** 24n) {
|
|
33
|
-
return 0;
|
|
34
|
-
}
|
|
35
|
-
return p;
|
|
36
|
-
};
|
|
37
|
-
const limitNum = (n, d = 18) => {
|
|
38
|
-
let limited = n <= 2n ? 0n : n;
|
|
39
|
-
if (d <= 6) {
|
|
40
|
-
return limited * 10n ** BigInt(6 - d);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
return limited / 10n ** BigInt(d - 6);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
function formatBN(num, decimals, precision) {
|
|
47
|
-
if (num === undefined)
|
|
48
|
-
return "-";
|
|
49
|
-
const numBInt = (0, sdk_gov_1.toBigInt)(num);
|
|
50
|
-
// GUSD: 2 decimals
|
|
51
|
-
const limitedNum = limitNum(numBInt, decimals);
|
|
52
|
-
const limitedPrecision = limitPrecision(limitedNum, precision);
|
|
53
|
-
return toHumanFormat(limitedNum, limitedPrecision);
|
|
54
|
-
}
|
|
55
|
-
exports.formatBN = formatBN;
|
|
56
|
-
function formatBn4dig(num, precision = 2) {
|
|
57
|
-
if (precision > 6) {
|
|
58
|
-
throw new Error("Precision is too high, try <= 6");
|
|
59
|
-
}
|
|
60
|
-
const numStr = num.toString();
|
|
61
|
-
if (numStr.length <= 6) {
|
|
62
|
-
const completed = "0".repeat(6 - numStr.length) + numStr;
|
|
63
|
-
return `0.${completed.slice(0, precision)}`;
|
|
64
|
-
}
|
|
65
|
-
return `${numStr.slice(0, numStr.length - 6)}.${numStr.slice(numStr.length - 6, numStr.length - 6 + precision)}`;
|
|
66
|
-
}
|
|
67
|
-
exports.formatBn4dig = formatBn4dig;
|
|
68
|
-
function toHumanFormat(num, precision = 2) {
|
|
69
|
-
if (num >= BigInt(1e15)) {
|
|
70
|
-
return `${formatBn4dig(num / BigInt(1e9), precision)}Bn`;
|
|
71
|
-
}
|
|
72
|
-
if (num >= BigInt(1e12)) {
|
|
73
|
-
return `${formatBn4dig(num / BigInt(1e6), precision)}M`;
|
|
74
|
-
}
|
|
75
|
-
if (num >= BigInt(1e9)) {
|
|
76
|
-
return `${formatBn4dig(num / BigInt(1e3), precision)}K`;
|
|
77
|
-
}
|
|
78
|
-
return formatBn4dig(num, precision);
|
|
79
|
-
}
|
|
80
|
-
exports.toHumanFormat = toHumanFormat;
|
|
81
15
|
function toSignificant(num, decimals) {
|
|
82
16
|
if (num === 1n)
|
|
83
17
|
return "0";
|
package/lib/utils/math.d.ts
CHANGED
|
@@ -7,4 +7,6 @@ export declare const nonNegativeBn: (v: bigint) => bigint;
|
|
|
7
7
|
export declare class BigIntMath {
|
|
8
8
|
static abs: (x: bigint) => bigint;
|
|
9
9
|
static toHexString: (x: bigint) => string;
|
|
10
|
+
static max: (a: bigint, b: bigint) => bigint;
|
|
11
|
+
static min: (a: bigint, b: bigint) => bigint;
|
|
10
12
|
}
|
package/lib/utils/math.js
CHANGED
|
@@ -41,5 +41,7 @@ exports.nonNegativeBn = nonNegativeBn;
|
|
|
41
41
|
class BigIntMath {
|
|
42
42
|
static abs = (x) => (x < 0n ? -x : x);
|
|
43
43
|
static toHexString = (x) => ethers_1.BigNumber.from(x).toHexString();
|
|
44
|
+
static max = (a, b) => (a > b ? a : b);
|
|
45
|
+
static min = (a, b) => (a < b ? a : b);
|
|
44
46
|
}
|
|
45
47
|
exports.BigIntMath = BigIntMath;
|
package/lib/utils/types.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ interface BatchCreditAccountLoadOptions {
|
|
|
10
10
|
atBlock?: number;
|
|
11
11
|
chunkSize?: number;
|
|
12
12
|
}
|
|
13
|
-
export declare class
|
|
13
|
+
export declare class CreditAccountWatcherV2 {
|
|
14
14
|
static IERC20: import("../types/IERC20").IERC20Interface;
|
|
15
15
|
static creditManagerInterface: import("../types/ICreditManagerV2.sol/ICreditManagerV2").ICreditManagerV2Interface;
|
|
16
16
|
static creditConfiguratorInterface: import("../types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2").ICreditConfiguratorV2Interface;
|
|
@@ -23,7 +23,7 @@ export declare class CreditAccountWatcher {
|
|
|
23
23
|
* @returns Arrays of hashes for opened accounts
|
|
24
24
|
*/
|
|
25
25
|
static getOpenAccounts(creditManager: CreditManagerData, provider: providers.Provider, toBlock?: number): Promise<Array<CreditAccountHash>>;
|
|
26
|
-
static batchCreditAccountLoad(accs: Array<CreditAccountHash>,
|
|
26
|
+
static batchCreditAccountLoad(accs: Array<CreditAccountHash>, dataCompressor210: string, signer: Signer | providers.Provider, options?: BatchCreditAccountLoadOptions | number): Promise<Array<CreditAccountData>>;
|
|
27
27
|
/**
|
|
28
28
|
* Tracks block logs and detects whichj acccounts were changed (created / modified) and which were deleted
|
|
29
29
|
* @param logs Logs from last N blocks
|
|
@@ -32,5 +32,6 @@ export declare class CreditAccountWatcher {
|
|
|
32
32
|
*/
|
|
33
33
|
static detectChanges(logs: Array<providers.Log>, creditManagers: Array<CreditManagerData>): CreditManagerUpdate;
|
|
34
34
|
static trackDirectTransfers(freshLogs: Array<providers.Log>, tokensToTrack: Array<string>, accounts: Array<CreditAccountData>): Array<CreditAccountHash>;
|
|
35
|
+
private static assertCMSupported;
|
|
35
36
|
}
|
|
36
37
|
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.CreditAccountWatcherV2 = void 0;
|
|
4
4
|
const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
|
|
5
5
|
const creditAccount_1 = require("../core/creditAccount");
|
|
6
6
|
const types_1 = require("../types");
|
|
7
|
-
class
|
|
7
|
+
class CreditAccountWatcherV2 {
|
|
8
8
|
static IERC20 = types_1.IERC20__factory.createInterface();
|
|
9
9
|
static creditManagerInterface = types_1.ICreditManagerV2__factory.createInterface();
|
|
10
10
|
static creditConfiguratorInterface = types_1.ICreditConfiguratorV2__factory.createInterface();
|
|
@@ -17,9 +17,7 @@ class CreditAccountWatcher {
|
|
|
17
17
|
* @returns Arrays of hashes for opened accounts
|
|
18
18
|
*/
|
|
19
19
|
static async getOpenAccounts(creditManager, provider, toBlock) {
|
|
20
|
-
|
|
21
|
-
throw new Error("Works for V2 only");
|
|
22
|
-
}
|
|
20
|
+
CreditAccountWatcherV2.assertCMSupported(creditManager);
|
|
23
21
|
const eventsByDate = [];
|
|
24
22
|
const addToEvents = (e, address, operation) => {
|
|
25
23
|
eventsByDate.push({
|
|
@@ -83,7 +81,7 @@ class CreditAccountWatcher {
|
|
|
83
81
|
});
|
|
84
82
|
return Array.from(accounts.values()).map(borrower => creditAccount_1.CreditAccountData.hash(creditManager.address, borrower));
|
|
85
83
|
}
|
|
86
|
-
static async batchCreditAccountLoad(accs,
|
|
84
|
+
static async batchCreditAccountLoad(accs, dataCompressor210, signer, options) {
|
|
87
85
|
let chunkSize = 1000;
|
|
88
86
|
let atBlock;
|
|
89
87
|
if (typeof options === "object") {
|
|
@@ -94,7 +92,7 @@ class CreditAccountWatcher {
|
|
|
94
92
|
atBlock = options;
|
|
95
93
|
}
|
|
96
94
|
const dcInterface = types_1.IDataCompressorV2_10__factory.createInterface();
|
|
97
|
-
const dcmc = new sdk_gov_1.MultiCallContract(
|
|
95
|
+
const dcmc = new sdk_gov_1.MultiCallContract(dataCompressor210, dcInterface, signer);
|
|
98
96
|
const calls = [];
|
|
99
97
|
for (let i = 0; i < accs.length; i++) {
|
|
100
98
|
const chunk = accs.slice(i * chunkSize, (i + 1) * chunkSize);
|
|
@@ -119,7 +117,10 @@ class CreditAccountWatcher {
|
|
|
119
117
|
* @returns CreditManagerUpdate which contains updated (created / modified) and deleted accounts
|
|
120
118
|
*/
|
|
121
119
|
static detectChanges(logs, creditManagers) {
|
|
122
|
-
const cms = creditManagers.map(
|
|
120
|
+
const cms = creditManagers.map(cm => {
|
|
121
|
+
CreditAccountWatcherV2.assertCMSupported(cm);
|
|
122
|
+
return cm.address.toLowerCase();
|
|
123
|
+
});
|
|
123
124
|
const cfToCm = {};
|
|
124
125
|
const ccToCm = {};
|
|
125
126
|
// maps credit manager addr to credit configurator addresses
|
|
@@ -135,7 +136,7 @@ class CreditAccountWatcher {
|
|
|
135
136
|
for (let log of logs) {
|
|
136
137
|
const logAddr = log.address.toLowerCase();
|
|
137
138
|
if (cms.includes(logAddr)) {
|
|
138
|
-
const { name, args } =
|
|
139
|
+
const { name, args } = CreditAccountWatcherV2.creditManagerInterface.parseLog(log);
|
|
139
140
|
if (name === "ExecuteOrder") {
|
|
140
141
|
const { borrower } = args;
|
|
141
142
|
if (!borrower)
|
|
@@ -151,14 +152,14 @@ class CreditAccountWatcher {
|
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
154
|
else if (logAddr in ccToCm) {
|
|
154
|
-
const { name, args } =
|
|
155
|
+
const { name, args } = CreditAccountWatcherV2.creditConfiguratorInterface.parseLog(log);
|
|
155
156
|
if (name === "CreditFacadeUpgraded") {
|
|
156
157
|
const newCreditFacade = args.newCreditFacade.toLowerCase();
|
|
157
158
|
cfToCm[newCreditFacade] = ccToCm[logAddr];
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
161
|
else if (logAddr in cfToCm) {
|
|
161
|
-
const { name, args } =
|
|
162
|
+
const { name, args } = CreditAccountWatcherV2.creditFacadeInterface.parseLog(log);
|
|
162
163
|
switch (name) {
|
|
163
164
|
case "OpenCreditAccount":
|
|
164
165
|
case "AddCollateral": {
|
|
@@ -225,7 +226,7 @@ class CreditAccountWatcher {
|
|
|
225
226
|
});
|
|
226
227
|
for (let log of freshLogs) {
|
|
227
228
|
if (tkns.includes(log.address.toLocaleLowerCase())) {
|
|
228
|
-
const { name, args } =
|
|
229
|
+
const { name, args } = CreditAccountWatcherV2.IERC20.parseLog(log);
|
|
229
230
|
if (name === "Transfer" &&
|
|
230
231
|
accAddresses.includes(args.to.toLowerCase())) {
|
|
231
232
|
modified.add(accToCa[args.to.toLowerCase()].hash());
|
|
@@ -234,5 +235,10 @@ class CreditAccountWatcher {
|
|
|
234
235
|
}
|
|
235
236
|
return Array.from(modified);
|
|
236
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
|
+
}
|
|
237
243
|
}
|
|
238
|
-
exports.
|
|
244
|
+
exports.CreditAccountWatcherV2 = CreditAccountWatcherV2;
|
|
@@ -55,7 +55,7 @@ const newConfiguratorLog = (managerAddr = CREDIT_MANAGER_ADDRESS, configuratorAd
|
|
|
55
55
|
]);
|
|
56
56
|
describe("CreditAccountTracker test", () => {
|
|
57
57
|
it("detects update events correctly", () => {
|
|
58
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
58
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog()], [cmDumb])).to.be.eql({
|
|
59
59
|
updated: [expectedHash],
|
|
60
60
|
deleted: [],
|
|
61
61
|
});
|
|
@@ -63,7 +63,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
63
63
|
creditFacadeInterface.getEventTopic("IncreaseBorrowedAmount"),
|
|
64
64
|
encode("address", BORROWER),
|
|
65
65
|
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
66
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
66
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
67
67
|
updated: [expectedHash],
|
|
68
68
|
deleted: [],
|
|
69
69
|
});
|
|
@@ -71,7 +71,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
71
71
|
creditFacadeInterface.getEventTopic("DecreaseBorrowedAmount"),
|
|
72
72
|
encode("address", BORROWER),
|
|
73
73
|
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
74
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
74
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
75
75
|
updated: [expectedHash],
|
|
76
76
|
deleted: [],
|
|
77
77
|
});
|
|
@@ -80,7 +80,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
80
80
|
encode("address", BORROWER),
|
|
81
81
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
82
82
|
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
83
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
83
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
84
84
|
updated: [expectedHash],
|
|
85
85
|
deleted: [],
|
|
86
86
|
});
|
|
@@ -88,7 +88,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
88
88
|
creditFacadeInterface.getEventTopic("MultiCallStarted"),
|
|
89
89
|
encode("address", BORROWER),
|
|
90
90
|
]);
|
|
91
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
91
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
92
92
|
updated: [expectedHash],
|
|
93
93
|
deleted: [],
|
|
94
94
|
});
|
|
@@ -97,7 +97,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
97
97
|
encode("address", BORROWER),
|
|
98
98
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
99
99
|
]);
|
|
100
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
100
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
101
101
|
updated: [expectedHash],
|
|
102
102
|
deleted: [],
|
|
103
103
|
});
|
|
@@ -106,7 +106,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
106
106
|
encode("address", BORROWER),
|
|
107
107
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
108
108
|
]);
|
|
109
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
109
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
110
110
|
updated: [expectedHash],
|
|
111
111
|
deleted: [],
|
|
112
112
|
});
|
|
@@ -115,7 +115,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
115
115
|
encode("address", BORROWER),
|
|
116
116
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
117
117
|
]);
|
|
118
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
118
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
119
119
|
updated: [expectedHash],
|
|
120
120
|
deleted: [],
|
|
121
121
|
});
|
|
@@ -124,7 +124,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
124
124
|
// DELETED
|
|
125
125
|
//
|
|
126
126
|
it("detects delete events correctly", () => {
|
|
127
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
127
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([closeLog()], [cmDumb])).to.be.eql({
|
|
128
128
|
updated: [],
|
|
129
129
|
deleted: [expectedHash],
|
|
130
130
|
});
|
|
@@ -135,7 +135,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
135
135
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
136
136
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
137
137
|
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
138
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
138
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
139
139
|
updated: [],
|
|
140
140
|
deleted: [expectedHash],
|
|
141
141
|
});
|
|
@@ -146,27 +146,27 @@ describe("CreditAccountTracker test", () => {
|
|
|
146
146
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
147
147
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
148
148
|
], ethers_1.utils.defaultAbiCoder.encode(["uint256"], [10]));
|
|
149
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
149
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([log], [cmDumb])).to.be.eql({
|
|
150
150
|
updated: [],
|
|
151
151
|
deleted: [expectedHash],
|
|
152
152
|
});
|
|
153
153
|
});
|
|
154
154
|
it("doesn't make duplicated", () => {
|
|
155
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
155
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog(), openLog(), openLog()], [cmDumb])).to.be.eql({
|
|
156
156
|
updated: [expectedHash],
|
|
157
157
|
deleted: [],
|
|
158
158
|
});
|
|
159
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
159
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([closeLog(), closeLog(), closeLog()], [cmDumb])).to.be.eql({
|
|
160
160
|
updated: [],
|
|
161
161
|
deleted: [expectedHash],
|
|
162
162
|
});
|
|
163
163
|
});
|
|
164
164
|
it("updates accounts were created and deleted in the batch", () => {
|
|
165
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
165
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog(), closeLog()], [cmDumb])).to.be.eql({
|
|
166
166
|
updated: [],
|
|
167
167
|
deleted: [expectedHash],
|
|
168
168
|
});
|
|
169
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
169
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog(), closeLog(), openLog()], [cmDumb])).to.be.eql({
|
|
170
170
|
updated: [expectedHash],
|
|
171
171
|
deleted: [expectedHash],
|
|
172
172
|
});
|
|
@@ -177,7 +177,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
177
177
|
encode("address", BORROWER),
|
|
178
178
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
179
179
|
]);
|
|
180
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
180
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([openLog(), transferLog], [cmDumb])).to.be.eql({
|
|
181
181
|
updated: [
|
|
182
182
|
`${CREDIT_MANAGER_ADDRESS.toLowerCase()}:${sdk_gov_1.DUMB_ADDRESS.toLowerCase()}`,
|
|
183
183
|
],
|
|
@@ -185,7 +185,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
185
185
|
});
|
|
186
186
|
});
|
|
187
187
|
it("correctly handles credit configurator change", () => {
|
|
188
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
188
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([
|
|
189
189
|
openLog(),
|
|
190
190
|
newConfiguratorLog(),
|
|
191
191
|
upgradeFacadeLog(),
|
|
@@ -194,7 +194,7 @@ describe("CreditAccountTracker test", () => {
|
|
|
194
194
|
updated: [],
|
|
195
195
|
deleted: [expectedHash],
|
|
196
196
|
});
|
|
197
|
-
(0, chai_1.expect)(creditAccountWatcher_1.
|
|
197
|
+
(0, chai_1.expect)(creditAccountWatcher_1.CreditAccountWatcherV2.detectChanges([
|
|
198
198
|
openLog(),
|
|
199
199
|
closeLog(),
|
|
200
200
|
newConfiguratorLog(),
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { providers, Signer } from "ethers";
|
|
2
2
|
import { CreditManagerData } from "../core/creditManager";
|
|
3
3
|
export declare class CreditManagerWatcher {
|
|
4
|
-
static
|
|
5
|
-
static
|
|
6
|
-
static
|
|
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>>;
|
|
7
9
|
static detectConfigChanges(freshLogs: Array<providers.Log>, creditManagers: Array<CreditManagerData>): boolean;
|
|
8
10
|
}
|
|
@@ -1,18 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CreditManagerWatcher = void 0;
|
|
4
|
-
const
|
|
4
|
+
const utils_1 = require("ethers/lib/utils");
|
|
5
5
|
const creditManager_1 = require("../core/creditManager");
|
|
6
6
|
const types_1 = require("../types");
|
|
7
7
|
class CreditManagerWatcher {
|
|
8
|
-
static
|
|
9
|
-
static
|
|
10
|
-
static async
|
|
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_10__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) {
|
|
11
35
|
const creditManagers = {};
|
|
12
|
-
const creditManagersPayload = await types_1.
|
|
13
|
-
creditManagersPayload
|
|
14
|
-
.filter(c => (0, sdk_gov_1.toBigInt)(c.cfVersion) === 2n || (0, sdk_gov_1.toBigInt)(c.cfVersion) === 210n)
|
|
15
|
-
.forEach(c => {
|
|
36
|
+
const creditManagersPayload = await types_1.IDataCompressorV3_00__factory.connect(dataCompressorV300, signer).getCreditManagersV3List({ blockTag: atBlock });
|
|
37
|
+
creditManagersPayload.forEach(c => {
|
|
16
38
|
creditManagers[c.addr.toLowerCase()] = new creditManager_1.CreditManagerData(c);
|
|
17
39
|
});
|
|
18
40
|
return creditManagers;
|
|
@@ -22,8 +44,8 @@ class CreditManagerWatcher {
|
|
|
22
44
|
const ccs = creditManagers.map(c => c.creditConfigurator);
|
|
23
45
|
for (let log of freshLogs) {
|
|
24
46
|
if (cms.includes(log.address.toLowerCase())) {
|
|
25
|
-
|
|
26
|
-
|
|
47
|
+
if (log.topics[0] === CreditManagerWatcher.newConfiguratorV2Topic ||
|
|
48
|
+
log.topics[0] === CreditManagerWatcher.newConfiguratorV3Topic) {
|
|
27
49
|
return true;
|
|
28
50
|
}
|
|
29
51
|
}
|
|
@@ -26,20 +26,28 @@ const makeLog = (address, topics, data = sdk_gov_1.ADDRESS_0X0) => {
|
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
28
|
describe("CreditManagerTracker test", () => {
|
|
29
|
-
it("detects
|
|
30
|
-
const
|
|
29
|
+
it("detects CreditManagerV2 events correctly", () => {
|
|
30
|
+
const cmV2Interface = types_1.ICreditManagerV2__factory.createInterface();
|
|
31
31
|
let log = makeLog(CREDIT_MANAGER_ADDRESS, [
|
|
32
|
-
|
|
32
|
+
cmV2Interface.getEventTopic("NewConfigurator"),
|
|
33
33
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
34
34
|
]);
|
|
35
35
|
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(true);
|
|
36
36
|
log = makeLog(CREDIT_MANAGER_ADDRESS, [
|
|
37
|
-
|
|
37
|
+
cmV2Interface.getEventTopic("ExecuteOrder"),
|
|
38
38
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
39
39
|
encode("address", sdk_gov_1.DUMB_ADDRESS),
|
|
40
40
|
]);
|
|
41
41
|
(0, chai_1.expect)(creditManagerWatcher_1.CreditManagerWatcher.detectConfigChanges([log], [cmDumb])).to.be.eq(false);
|
|
42
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
|
+
});
|
|
43
51
|
it("detects CreditConfigurator events correctly", () => {
|
|
44
52
|
const ccInterface = types_1.ICreditConfiguratorV2__factory.createInterface();
|
|
45
53
|
let log = makeLog(CREDIT_CONFIGIURATOR_ADDRESS, [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gearbox-protocol/sdk",
|
|
3
|
-
"version": "3.0.0-next.
|
|
3
|
+
"version": "3.0.0-next.61",
|
|
4
4
|
"description": "Gearbox SDK",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -30,9 +30,7 @@
|
|
|
30
30
|
"test": "npx mocha -r ts-node/register -r dotenv/config src/**/*.spec.ts"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@gearbox-protocol/
|
|
34
|
-
"@gearbox-protocol/sdk-gov": "^1.5.25",
|
|
35
|
-
"@types/deep-eql": "^4.0.0",
|
|
33
|
+
"@gearbox-protocol/sdk-gov": "^1.14.0",
|
|
36
34
|
"axios": "^1.2.6",
|
|
37
35
|
"decimal.js-light": "^2.5.1",
|
|
38
36
|
"deep-eql": "^4.1.0",
|
|
@@ -42,15 +40,18 @@
|
|
|
42
40
|
"@1inch/solidity-utils": "^2.2.27",
|
|
43
41
|
"@commitlint/cli": "^17.6.3",
|
|
44
42
|
"@commitlint/config-conventional": "^17.0.3",
|
|
45
|
-
"@gearbox-protocol/core-v2": "1.19.0-base.
|
|
46
|
-
"@gearbox-protocol/core-v3": "^1.
|
|
43
|
+
"@gearbox-protocol/core-v2": "1.19.0-base.17",
|
|
44
|
+
"@gearbox-protocol/core-v3": "^1.45.0",
|
|
47
45
|
"@gearbox-protocol/eslint-config": "^1.4.1",
|
|
48
|
-
"@gearbox-protocol/
|
|
49
|
-
"@gearbox-protocol/
|
|
46
|
+
"@gearbox-protocol/integrations-v3": "^1.25.0",
|
|
47
|
+
"@gearbox-protocol/oracles-v3": "^1.8.1",
|
|
48
|
+
"@gearbox-protocol/periphery-v3": "^1.3.9",
|
|
50
49
|
"@gearbox-protocol/prettier-config": "^1.4.1",
|
|
51
|
-
"@
|
|
50
|
+
"@gearbox-protocol/router-v3": "^1.6.0",
|
|
51
|
+
"@openzeppelin/contracts": "^4.9.3",
|
|
52
52
|
"@typechain/ethers-v5": "^10.1.0",
|
|
53
53
|
"@types/chai": "^4.3.3",
|
|
54
|
+
"@types/deep-eql": "^4.0.0",
|
|
54
55
|
"@types/jest": "^28.1.7",
|
|
55
56
|
"@types/mocha": "^10.0.1",
|
|
56
57
|
"@types/node": "^18.7.6",
|
package/contracts/IRouter.sol
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
2
|
-
// Gearbox Protocol. Generalized leverage for DeFi protocols
|
|
3
|
-
// (c) Gearbox Holdings, 2021
|
|
4
|
-
pragma solidity ^0.8.10;
|
|
5
|
-
|
|
6
|
-
import {Balance} from "@gearbox-protocol/core-v2/contracts/libraries/Balances.sol";
|
|
7
|
-
import {IVersion} from "@gearbox-protocol/core-v2/contracts/interfaces/IVersion.sol";
|
|
8
|
-
import {MultiCall} from "@gearbox-protocol/core-v2/contracts/libraries/MultiCall.sol";
|
|
9
|
-
|
|
10
|
-
struct PathOption {
|
|
11
|
-
address target;
|
|
12
|
-
uint8 option;
|
|
13
|
-
uint8 totalOptions;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
enum SwapOperation {
|
|
17
|
-
EXACT_INPUT,
|
|
18
|
-
EXACT_INPUT_ALL,
|
|
19
|
-
EXACT_OUTPUT
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
struct SwapTask {
|
|
23
|
-
SwapOperation swapOperation;
|
|
24
|
-
address creditAccount;
|
|
25
|
-
address tokenIn;
|
|
26
|
-
address tokenOut;
|
|
27
|
-
address[] connectors;
|
|
28
|
-
uint256 amount;
|
|
29
|
-
uint256 slippage;
|
|
30
|
-
bool externalSlippage;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
struct RouterResult {
|
|
34
|
-
uint256 amount;
|
|
35
|
-
uint256 gasUsage;
|
|
36
|
-
MultiCall[] calls;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
interface IRouter is IVersion {
|
|
40
|
-
/// @dev Emits each time when routerComponent is set / updated
|
|
41
|
-
event RouterComponentUpdate(uint8 indexed, address indexed);
|
|
42
|
-
|
|
43
|
-
/// @dev Emits each time when resolver is set / updated
|
|
44
|
-
event ResolverUpdate(uint8 indexed ttIn, uint8 indexed ttOut, uint8 indexed rc);
|
|
45
|
-
|
|
46
|
-
event TokenTypeUpdate(address indexed tokenAddress, uint8 indexed tt);
|
|
47
|
-
|
|
48
|
-
/// @dev Finds all available swaps for NORMAL tokens
|
|
49
|
-
function findAllSwaps(SwapTask memory swapTask) external returns (RouterResult[] memory);
|
|
50
|
-
|
|
51
|
-
/// @dev Finds best path to swap all Normal tokens and tokens "on the way" to target one and vice versa
|
|
52
|
-
function findOneTokenPath(
|
|
53
|
-
address tokenIn,
|
|
54
|
-
uint256 amount,
|
|
55
|
-
address tokenOut,
|
|
56
|
-
address creditAccount,
|
|
57
|
-
address[] calldata connectors,
|
|
58
|
-
uint256 slippage
|
|
59
|
-
) external returns (RouterResult memory);
|
|
60
|
-
|
|
61
|
-
/// @dev Finds the best swap to deposit (or swap) all provided tokens into target one
|
|
62
|
-
/// Currently it takes ALL Normal tokens and all LP "on the way" tokens into target one.
|
|
63
|
-
/// It some token is not "on the way" it would be skipped.
|
|
64
|
-
/// @param creditManager Address of creditManager
|
|
65
|
-
/// @param balances Expected balances on credit account
|
|
66
|
-
/// @param target Address of target token
|
|
67
|
-
/// @param connectors Addresses of "connectors" - internidiatery tokens which're used for swap operations
|
|
68
|
-
/// @param slippage Slippage in PERCENTAGE_FORMAT
|
|
69
|
-
function findOpenStrategyPath(
|
|
70
|
-
address creditManager,
|
|
71
|
-
Balance[] calldata balances,
|
|
72
|
-
address target,
|
|
73
|
-
address[] calldata connectors,
|
|
74
|
-
uint256 slippage
|
|
75
|
-
) external returns (Balance[] memory, RouterResult memory);
|
|
76
|
-
|
|
77
|
-
/// @dev Finds the best close path - withdraw all tokens and swap them into underlying one
|
|
78
|
-
/// @param creditAccount Address of closing creditAccount
|
|
79
|
-
/// @param connectors Addresses of "connectors" - internidiatery tokens which're used for swap operations
|
|
80
|
-
/// @param slippage Slippage in PERCENTAGE_FORMAT
|
|
81
|
-
/// @param pathOptions Starting point for iterating routes. More info in PathOption file
|
|
82
|
-
/// @param iterations How many iterations algo should compute starting from PathOptions
|
|
83
|
-
function findBestClosePath(
|
|
84
|
-
address creditAccount,
|
|
85
|
-
address[] memory connectors,
|
|
86
|
-
uint256 slippage,
|
|
87
|
-
PathOption[] memory pathOptions,
|
|
88
|
-
uint256 iterations,
|
|
89
|
-
bool force
|
|
90
|
-
) external returns (RouterResult memory result, uint256 gasPriceTargetRAY);
|
|
91
|
-
|
|
92
|
-
/// @dev Returns TokenType for provided token
|
|
93
|
-
function tokenTypes(address) external view returns (uint8);
|
|
94
|
-
|
|
95
|
-
/// @dev Returns current address for RouterComponent. Used for self-discovery
|
|
96
|
-
function componentAddressById(uint8) external view returns (address);
|
|
97
|
-
|
|
98
|
-
/// @dev @return True if address is router configurator, otherwise false
|
|
99
|
-
function isRouterConfigurator(address account) external view returns (bool);
|
|
100
|
-
}
|
package/lib/core/pool/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./data";
|
package/lib/core/pool/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./data"), exports);
|