From fa60f03d8d5ee867b97292d3893288a730ab839d Mon Sep 17 00:00:00 2001 From: The3D Date: Thu, 23 Jul 2020 17:18:06 +0200 Subject: [PATCH] Updated parameters mapping --- buidler.config.ts | 1 + contracts/lendingpool/LendingPool.sol | 167 ++----------- .../lendingpool/LendingPoolConfigurator.sol | 146 ++++++++---- .../LendingPoolLiquidationManager.sol | 14 +- contracts/libraries/GenericLogic.sol | 92 +++---- contracts/libraries/ReserveConfiguration.sol | 110 ++++++++- contracts/libraries/ReserveLogic.sol | 78 +----- contracts/libraries/UserLogic.sol | 4 +- contracts/libraries/ValidationLogic.sol | 54 +++-- deployed-contracts.json | 88 +++---- test/__setup.spec.ts | 24 +- test/configurator.spec.ts | 22 +- test/scenario.spec.ts | 2 +- types/AToken.d.ts | 18 ++ types/ATokenFactory.ts | 30 ++- types/AaveProtocolTestHelpersFactory.ts | 2 +- types/AddressStorageFactory.ts | 2 +- types/AdminUpgradeabilityProxyFactory.ts | 2 +- types/BaseAdminUpgradeabilityProxyFactory.ts | 2 +- types/BaseUpgradeabilityProxyFactory.ts | 2 +- types/ChainlinkProxyPriceProviderFactory.ts | 2 +- ...faultReserveInterestRateStrategyFactory.ts | 2 +- types/Erc20Factory.ts | 2 +- types/FeeProviderFactory.ts | 2 +- types/FlashLoanReceiverBase.d.ts | 6 +- types/FlashLoanReceiverBaseFactory.ts | 5 + types/GenericLogic.d.ts | 18 +- types/GenericLogicFactory.ts | 12 +- types/IFlashLoanReceiver.d.ts | 6 +- types/IFlashLoanReceiverFactory.ts | 5 + types/Ierc20DetailedBytesFactory.ts | 2 +- ...alizableAdminUpgradeabilityProxyFactory.ts | 2 +- ...InitializableUpgradeabilityProxyFactory.ts | 2 +- types/LendingPool.d.ts | 218 ++--------------- types/LendingPoolAddressesProviderFactory.ts | 2 +- ...ingPoolAddressesProviderRegistryFactory.ts | 2 +- types/LendingPoolConfigurator.d.ts | 88 +++---- types/LendingPoolConfiguratorFactory.ts | 89 ++++--- types/LendingPoolFactory.ts | 224 +++--------------- types/LendingPoolLiquidationManagerFactory.ts | 2 +- types/LendingRateOracleFactory.ts | 2 +- types/MintableErc20Factory.ts | 2 +- types/MockAggregatorFactory.ts | 2 +- types/MockFlashLoanReceiver.d.ts | 6 +- types/MockFlashLoanReceiverFactory.ts | 7 +- types/PriceOracleFactory.ts | 2 +- types/ReserveLogicFactory.ts | 2 +- types/StableDebtTokenFactory.ts | 2 +- types/TokenDistributorFactory.ts | 2 +- types/UintStorageFactory.ts | 2 +- types/UpgradeabilityProxyFactory.ts | 2 +- types/VariableDebtTokenFactory.ts | 2 +- types/WalletBalanceProviderFactory.ts | 2 +- 53 files changed, 636 insertions(+), 950 deletions(-) diff --git a/buidler.config.ts b/buidler.config.ts index 5b804bab..afd7b493 100644 --- a/buidler.config.ts +++ b/buidler.config.ts @@ -10,6 +10,7 @@ usePlugin('buidler-typechain'); usePlugin('solidity-coverage'); usePlugin('@nomiclabs/buidler-waffle'); usePlugin('@nomiclabs/buidler-etherscan'); +usePlugin('buidler-gas-reporter'); ['misc'].forEach((folder) => { const tasksPath = path.join(__dirname, 'tasks', folder); diff --git a/contracts/lendingpool/LendingPool.sol b/contracts/lendingpool/LendingPool.sol index 3588117a..b95dc018 100644 --- a/contracts/lendingpool/LendingPool.sol +++ b/contracts/lendingpool/LendingPool.sol @@ -1,5 +1,6 @@ // SPDX-License-Identifier: agpl-3.0 pragma solidity ^0.6.8; +pragma experimental ABIEncoderV2; import '@openzeppelin/contracts/math/SafeMath.sol'; import '@openzeppelin/contracts/utils/ReentrancyGuard.sol'; @@ -14,6 +15,7 @@ import '../libraries/ReserveLogic.sol'; import '../libraries/UserLogic.sol'; import '../libraries/GenericLogic.sol'; import '../libraries/ValidationLogic.sol'; +import '../libraries/ReserveConfiguration.sol'; import '../libraries/UniversalERC20.sol'; import '../tokenization/interfaces/IStableDebtToken.sol'; import '../tokenization/interfaces/IVariableDebtToken.sol'; @@ -36,6 +38,7 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable { using Address for address payable; using ReserveLogic for ReserveLogic.ReserveData; using UserLogic for UserLogic.UserReserveData; + using ReserveConfiguration for ReserveConfiguration.Map; //main configuration parameters uint256 private constant REBALANCE_DOWN_RATE_DELTA = (1e27) / 5; @@ -336,7 +339,7 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable { uint256 amountInETH = IPriceOracleGetter(addressesProvider.getPriceOracle()) .getAssetPrice(_reserve) .mul(_amount) - .div(10**reserve.decimals); //price is in ether + .div(10**reserve.configuration.getDecimals()); //price is in ether ValidationLogic.validateBorrow( reserve, @@ -743,16 +746,16 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable { ReserveLogic.ReserveData storage reserve = reserves[_reserve]; return ( - reserve.decimals, - reserve.baseLTVasCollateral, - reserve.liquidationThreshold, - reserve.liquidationBonus, + reserve.configuration.getDecimals(), + reserve.configuration.getLtv(), + reserve.configuration.getLiquidationThreshold(), + reserve.configuration.getLiquidationBonus(), reserve.interestRateStrategyAddress, - reserve.usageAsCollateralEnabled, - reserve.borrowingEnabled, - reserve.isStableBorrowRateEnabled, - reserve.isActive, - reserve.isFreezed + reserve.configuration.getLtv() != 0, + reserve.configuration.getBorrowingEnabled(), + reserve.configuration.getStableRateBorrowingEnabled(), + reserve.configuration.getActive(), + reserve.configuration.getFreezed() ); } @@ -811,7 +814,6 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable { returns ( uint256 totalCollateralETH, uint256 totalBorrowsETH, - uint256 totalFeesETH, uint256 availableBorrowsETH, uint256 currentLiquidationThreshold, uint256 ltv, @@ -821,7 +823,6 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable { ( totalCollateralETH, totalBorrowsETH, - totalFeesETH, ltv, currentLiquidationThreshold, healthFactor @@ -836,9 +837,7 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable { availableBorrowsETH = GenericLogic.calculateAvailableBorrowsETH( totalCollateralETH, totalBorrowsETH, - totalFeesETH, - ltv, - address(feeProvider) + ltv ); } @@ -885,7 +884,6 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable { * @dev initializes a reserve * @param _reserve the address of the reserve * @param _aTokenAddress the address of the overlying aToken contract - * @param _decimals the decimals of the reserve currency * @param _interestRateStrategyAddress the address of the interest rate strategy contract **/ function initReserve( @@ -893,14 +891,12 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable { address _aTokenAddress, address _stableDebtAddress, address _variableDebtAddress, - uint256 _decimals, address _interestRateStrategyAddress ) external onlyLendingPoolConfigurator { reserves[_reserve].init( _aTokenAddress, _stableDebtAddress, _variableDebtAddress, - _decimals, _interestRateStrategyAddress ); addReserveToListInternal(_reserve); @@ -919,142 +915,19 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable { reserves[_reserve].interestRateStrategyAddress = _rateStrategyAddress; } - /** - * @dev enables borrowing on a reserve. Also sets the stable rate borrowing - * @param _reserve the address of the reserve - * @param _stableBorrowRateEnabled true if the stable rate needs to be enabled, false otherwise - **/ - - function setReserveBorrowingEnabled( - address _reserve, - bool _borrowingEnabled, - bool _stableBorrowRateEnabled - ) external onlyLendingPoolConfigurator { - if (_borrowingEnabled) { - reserves[_reserve].enableBorrowing(_stableBorrowRateEnabled); - } else { - reserves[_reserve].disableBorrowing(); - } - } - - /** - * @dev enables a reserve to be used as collateral - * @param _reserve the address of the reserve - **/ - function enableReserveAsCollateral( - address _reserve, - uint256 _baseLTVasCollateral, - uint256 _liquidationThreshold, - uint256 _liquidationBonus - ) external onlyLendingPoolConfigurator { - reserves[_reserve].enableAsCollateral( - _baseLTVasCollateral, - _liquidationThreshold, - _liquidationBonus - ); - } - - /** - * @dev disables a reserve to be used as collateral - * @param _reserve the address of the reserve - **/ - function disableReserveAsCollateral(address _reserve) external onlyLendingPoolConfigurator { - reserves[_reserve].disableAsCollateral(); - } - - /** - * @dev enable the stable borrow rate mode on a reserve - * @param _reserve the address of the reserve - **/ - function setReserveStableBorrowRateEnabled(address _reserve, bool _enabled) + function setConfiguration(address _reserve, uint256 _configuration) external onlyLendingPoolConfigurator { - ReserveLogic.ReserveData storage reserve = reserves[_reserve]; - reserve.isStableBorrowRateEnabled = _enabled; + reserves[_reserve].configuration.data = _configuration; } - /** - * @dev activates a reserve - * @param _reserve the address of the reserve - **/ - function setReserveActive(address _reserve, bool _active) external onlyLendingPoolConfigurator { - ReserveLogic.ReserveData storage reserve = reserves[_reserve]; - - if (!_active) { - reserve.isActive = false; - } else { - require( - reserve.lastLiquidityCumulativeIndex > 0 && reserve.lastVariableBorrowCumulativeIndex > 0, - 'Reserve has not been initialized yet' - ); - reserve.isActive = true; - } - } - - /** - * @notice allows the configurator to freeze the reserve. - * A freezed reserve does not allow any action apart from repay, redeem, liquidationCall, rebalance. - * @param _reserve the address of the reserve - **/ - function setReserveFreeze(address _reserve, bool _isFreezed) + function getConfiguration(address _reserve) external - onlyLendingPoolConfigurator + view + returns (ReserveConfiguration.Map memory) { - ReserveLogic.ReserveData storage reserve = reserves[_reserve]; - reserve.isFreezed = _isFreezed; - } - - /** - * @notice allows the configurator to update the loan to value of a reserve - * @param _reserve the address of the reserve - * @param _ltv the new loan to value - **/ - function setReserveBaseLTVasCollateral(address _reserve, uint256 _ltv) - external - onlyLendingPoolConfigurator - { - ReserveLogic.ReserveData storage reserve = reserves[_reserve]; - reserve.baseLTVasCollateral = _ltv; - } - - /** - * @notice allows the configurator to update the liquidation threshold of a reserve - * @param _reserve the address of the reserve - * @param _threshold the new liquidation threshold - **/ - function setReserveLiquidationThreshold(address _reserve, uint256 _threshold) - external - onlyLendingPoolConfigurator - { - ReserveLogic.ReserveData storage reserve = reserves[_reserve]; - reserve.liquidationThreshold = _threshold; - } - - /** - * @notice allows the configurator to update the liquidation bonus of a reserve - * @param _reserve the address of the reserve - * @param _bonus the new liquidation bonus - **/ - function setReserveLiquidationBonus(address _reserve, uint256 _bonus) - external - onlyLendingPoolConfigurator - { - ReserveLogic.ReserveData storage reserve = reserves[_reserve]; - reserve.liquidationBonus = _bonus; - } - - /** - * @notice allows the configurator to update the reserve decimals - * @param _reserve the address of the reserve - * @param _decimals the decimals of the reserve - **/ - function setReserveDecimals(address _reserve, uint256 _decimals) - external - onlyLendingPoolConfigurator - { - ReserveLogic.ReserveData storage reserve = reserves[_reserve]; - reserve.decimals = _decimals; + return reserves[_reserve].configuration; } /** diff --git a/contracts/lendingpool/LendingPoolConfigurator.sol b/contracts/lendingpool/LendingPoolConfigurator.sol index 10bea52b..78948d6b 100644 --- a/contracts/lendingpool/LendingPoolConfigurator.sol +++ b/contracts/lendingpool/LendingPoolConfigurator.sol @@ -1,10 +1,12 @@ // SPDX-License-Identifier: agpl-3.0 pragma solidity ^0.6.8; +pragma experimental ABIEncoderV2; import '@openzeppelin/contracts/math/SafeMath.sol'; import '../interfaces/IERC20Detailed.sol'; import '../libraries/openzeppelin-upgradeability/VersionedInitializable.sol'; +import '../libraries/ReserveConfiguration.sol'; import '../configuration/LendingPoolAddressesProvider.sol'; import '../tokenization/AToken.sol'; @@ -12,11 +14,12 @@ import '../tokenization/AToken.sol'; * @title LendingPoolConfigurator contract * @author Aave * @notice Executes configuration methods on the LendingPoolCore contract. Allows to enable/disable reserves, - * and set different protocol parameters. + * and LiquidationThreshold different protocol parameters. **/ contract LendingPoolConfigurator is VersionedInitializable { using SafeMath for uint256; + using ReserveConfiguration for ReserveConfiguration.Map; /** * @dev emitted when a reserve is initialized. @@ -135,6 +138,8 @@ contract LendingPoolConfigurator is VersionedInitializable { event ReserveInterestRateStrategyChanged(address _reserve, address _strategy); LendingPoolAddressesProvider public poolAddressesProvider; + LendingPool public pool; + /** * @dev only the lending pool manager can call functions affected by this modifier **/ @@ -154,6 +159,7 @@ contract LendingPoolConfigurator is VersionedInitializable { function initialize(LendingPoolAddressesProvider _poolAddressesProvider) public initializer { poolAddressesProvider = _poolAddressesProvider; + pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); } /** @@ -210,15 +216,23 @@ contract LendingPoolConfigurator is VersionedInitializable { _aTokenSymbol ); - LendingPool(payable(poolAddressesProvider.getLendingPool())).initReserve( + pool.initReserve( _reserve, address(aTokenInstance), _stableDebtTokenAddress, _variableDebtTokenAddress, - _underlyingAssetDecimals, _interestRateStrategyAddress ); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setDecimals(_underlyingAssetDecimals); + + currentConfig.setActive(true); + currentConfig.setFreezed(false); + + pool.setConfiguration(_reserve, currentConfig.data); + emit ReserveInitialized(_reserve, address(aTokenInstance), _interestRateStrategyAddress); } @@ -231,8 +245,13 @@ contract LendingPoolConfigurator is VersionedInitializable { external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveBorrowingEnabled(_reserve, _stableBorrowRateEnabled, true); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setBorrowingEnabled(true); + currentConfig.setStableRateBorrowingEnabled(_stableBorrowRateEnabled); + + pool.setConfiguration(_reserve, currentConfig.data); + emit BorrowingEnabledOnReserve(_reserve, _stableBorrowRateEnabled); } @@ -241,8 +260,11 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve **/ function disableBorrowingOnReserve(address _reserve) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveBorrowingEnabled(_reserve, false, false); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setBorrowingEnabled(false); + + pool.setConfiguration(_reserve, currentConfig.data); emit BorrowingDisabledOnReserve(_reserve); } @@ -259,13 +281,14 @@ contract LendingPoolConfigurator is VersionedInitializable { uint256 _liquidationThreshold, uint256 _liquidationBonus ) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.enableReserveAsCollateral( - _reserve, - _baseLTVasCollateral, - _liquidationThreshold, - _liquidationBonus - ); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setLtv(_baseLTVasCollateral); + currentConfig.setLiquidationThreshold(_liquidationThreshold); + currentConfig.setLiquidationBonus(_liquidationBonus); + + pool.setConfiguration(_reserve, currentConfig.data); + emit ReserveEnabledAsCollateral( _reserve, _baseLTVasCollateral, @@ -279,8 +302,11 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve **/ function disableReserveAsCollateral(address _reserve) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.disableReserveAsCollateral(_reserve); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setLtv(0); + + pool.setConfiguration(_reserve, currentConfig.data); emit ReserveDisabledAsCollateral(_reserve); } @@ -290,8 +316,11 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve **/ function enableReserveStableRate(address _reserve) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveStableBorrowRateEnabled(_reserve, true); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setStableRateBorrowingEnabled(true); + + pool.setConfiguration(_reserve, currentConfig.data); emit StableRateEnabledOnReserve(_reserve); } @@ -301,8 +330,11 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve **/ function disableReserveStableRate(address _reserve) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveStableBorrowRateEnabled(_reserve, false); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setStableRateBorrowingEnabled(false); + + pool.setConfiguration(_reserve, currentConfig.data); emit StableRateDisabledOnReserve(_reserve); } @@ -312,8 +344,11 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve **/ function activateReserve(address _reserve) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveActive(_reserve, true); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setActive(true); + + pool.setConfiguration(_reserve, currentConfig.data); emit ReserveActivated(_reserve); } @@ -323,7 +358,6 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve **/ function deactivateReserve(address _reserve) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); ( uint256 availableLiquidity, uint256 totalBorrowsStable, @@ -340,7 +374,12 @@ contract LendingPoolConfigurator is VersionedInitializable { availableLiquidity == 0 && totalBorrowsStable == 0 && totalBorrowsVariable == 0, 'The liquidity of the reserve needs to be 0' ); - pool.setReserveActive(_reserve, false); + + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setActive(false); + + pool.setConfiguration(_reserve, currentConfig.data); emit ReserveDeactivated(_reserve); } @@ -350,8 +389,11 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve **/ function freezeReserve(address _reserve) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveFreeze(_reserve, true); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setFreezed(true); + + pool.setConfiguration(_reserve, currentConfig.data); emit ReserveFreezed(_reserve); } @@ -361,8 +403,11 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve **/ function unfreezeReserve(address _reserve) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveFreeze(_reserve, false); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setFreezed(false); + + pool.setConfiguration(_reserve, currentConfig.data); emit ReserveUnfreezed(_reserve); } @@ -372,12 +417,13 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve * @param _ltv the new value for the loan to value **/ - function setReserveBaseLTVasCollateral(address _reserve, uint256 _ltv) - external - onlyLendingPoolManager - { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveBaseLTVasCollateral(_reserve, _ltv); + function setLtv(address _reserve, uint256 _ltv) external onlyLendingPoolManager { + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setLtv(_ltv); + + pool.setConfiguration(_reserve, currentConfig.data); + emit ReserveBaseLtvChanged(_reserve, _ltv); } @@ -386,12 +432,16 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve * @param _threshold the new value for the liquidation threshold **/ - function setReserveLiquidationThreshold(address _reserve, uint256 _threshold) + function setLiquidationThreshold(address _reserve, uint256 _threshold) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveLiquidationThreshold(_reserve, _threshold); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setLiquidationThreshold(_threshold); + + pool.setConfiguration(_reserve, currentConfig.data); + emit ReserveLiquidationThresholdChanged(_reserve, _threshold); } @@ -400,12 +450,13 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _reserve the address of the reserve * @param _bonus the new value for the liquidation bonus **/ - function setReserveLiquidationBonus(address _reserve, uint256 _bonus) - external - onlyLendingPoolManager - { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveLiquidationBonus(_reserve, _bonus); + function setLiquidationBonus(address _reserve, uint256 _bonus) external onlyLendingPoolManager { + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setLiquidationBonus(_bonus); + + pool.setConfiguration(_reserve, currentConfig.data); + emit ReserveLiquidationBonusChanged(_reserve, _bonus); } @@ -415,8 +466,12 @@ contract LendingPoolConfigurator is VersionedInitializable { * @param _decimals the new number of decimals **/ function setReserveDecimals(address _reserve, uint256 _decimals) external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); - pool.setReserveDecimals(_reserve, _decimals); + ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(_reserve); + + currentConfig.setDecimals(_decimals); + + pool.setConfiguration(_reserve, currentConfig.data); + emit ReserveDecimalsChanged(_reserve, _decimals); } @@ -429,7 +484,6 @@ contract LendingPoolConfigurator is VersionedInitializable { external onlyLendingPoolManager { - LendingPool pool = LendingPool(payable(poolAddressesProvider.getLendingPool())); pool.setReserveInterestRateStrategyAddress(_reserve, _rateStrategyAddress); emit ReserveInterestRateStrategyChanged(_reserve, _rateStrategyAddress); } diff --git a/contracts/lendingpool/LendingPoolLiquidationManager.sol b/contracts/lendingpool/LendingPoolLiquidationManager.sol index e5c5b8b7..c54aee6f 100644 --- a/contracts/lendingpool/LendingPoolLiquidationManager.sol +++ b/contracts/lendingpool/LendingPoolLiquidationManager.sol @@ -19,6 +19,7 @@ import '../libraries/GenericLogic.sol'; import '../libraries/UserLogic.sol'; import '../libraries/ReserveLogic.sol'; import '../libraries/UniversalERC20.sol'; +import '../libraries/ReserveConfiguration.sol'; /** * @title LendingPoolLiquidationManager contract @@ -32,6 +33,7 @@ contract LendingPoolLiquidationManager is ReentrancyGuard, VersionedInitializabl using Address for address; using ReserveLogic for ReserveLogic.ReserveData; using UserLogic for UserLogic.UserReserveData; + using ReserveConfiguration for ReserveConfiguration.Map; LendingPoolAddressesProvider public addressesProvider; IFeeProvider feeProvider; @@ -124,7 +126,7 @@ contract LendingPoolLiquidationManager is ReentrancyGuard, VersionedInitializabl LiquidationCallLocalVars memory vars; - (, , , , , vars.healthFactor) = GenericLogic.calculateUserAccountData( + (, , , , vars.healthFactor) = GenericLogic.calculateUserAccountData( _user, reserves, usersReserveData, @@ -150,7 +152,7 @@ contract LendingPoolLiquidationManager is ReentrancyGuard, VersionedInitializabl } vars.isCollateralEnabled = - collateralReserve.usageAsCollateralEnabled && + collateralReserve.configuration.getLiquidationThreshold() > 0 && userCollateral.useAsCollateral; //if _collateral isn't enabled as collateral by _user, it cannot be liquidated @@ -316,9 +318,11 @@ contract LendingPoolLiquidationManager is ReentrancyGuard, VersionedInitializabl vars.collateralPrice = oracle.getAssetPrice(_collateralAddress); vars.principalCurrencyPrice = oracle.getAssetPrice(_principalAddress); - vars.liquidationBonus = _collateralReserve.liquidationBonus; - vars.principalDecimals = _principalReserve.decimals; - vars.collateralDecimals = _collateralReserve.decimals; + + (, , vars.liquidationBonus, vars.collateralDecimals) = _collateralReserve + .configuration + .getParams(); + vars.principalDecimals = _principalReserve.configuration.getDecimals(); //this is the maximum possible amount of the selected collateral that can be liquidated, given the //max amount of principal currency that is available for liquidation. diff --git a/contracts/libraries/GenericLogic.sol b/contracts/libraries/GenericLogic.sol index 9b356b22..37696175 100644 --- a/contracts/libraries/GenericLogic.sol +++ b/contracts/libraries/GenericLogic.sol @@ -5,6 +5,7 @@ import {SafeMath} from '@openzeppelin/contracts/math/SafeMath.sol'; import {IERC20} from '@openzeppelin/contracts/token/ERC20/IERC20.sol'; import {ReserveLogic} from './ReserveLogic.sol'; +import {ReserveConfiguration} from './ReserveConfiguration.sol'; import {UserLogic} from './UserLogic.sol'; import {WadRayMath} from './WadRayMath.sol'; @@ -22,14 +23,15 @@ library GenericLogic { using UserLogic for UserLogic.UserReserveData; using SafeMath for uint256; using WadRayMath for uint256; + using ReserveConfiguration for ReserveConfiguration.Map; uint256 public constant HEALTH_FACTOR_LIQUIDATION_THRESHOLD = 1e18; struct balanceDecreaseAllowedLocalVars { uint256 decimals; + uint256 ltv; uint256 collateralBalanceETH; uint256 borrowBalanceETH; - uint256 totalFeesETH; uint256 currentLiquidationThreshold; uint256 reserveLiquidationThreshold; uint256 amountToDecreaseETH; @@ -40,7 +42,8 @@ library GenericLogic { } /** - * @dev check if a specific balance decrease is allowed (i.e. doesn't bring the user borrow position health factor under HEALTH_FACTOR_LIQUIDATION_THRESHOLD) + * @dev check if a specific balance decrease is allowed + * (i.e. doesn't bring the user borrow position health factor under HEALTH_FACTOR_LIQUIDATION_THRESHOLD) * @param _reserve the address of the reserve * @param _user the address of the user * @param _amount the amount to decrease @@ -58,17 +61,15 @@ library GenericLogic { // Usage of a memory struct of vars to avoid "Stack too deep" errors due to local variables balanceDecreaseAllowedLocalVars memory vars; - if ( - !_reservesData[_reserve].usageAsCollateralEnabled || - !_usersData[_user][_reserve].useAsCollateral - ) { + (vars.ltv, , , vars.decimals) = _reservesData[_reserve].configuration.getParams(); + + if (vars.ltv == 0 || !_usersData[_user][_reserve].useAsCollateral) { return true; //if reserve is not used as collateral, no reasons to block the transfer } ( vars.collateralBalanceETH, vars.borrowBalanceETH, - vars.totalFeesETH, , vars.currentLiquidationThreshold, @@ -79,7 +80,7 @@ library GenericLogic { } vars.amountToDecreaseETH = IPriceOracleGetter(_oracle).getAssetPrice(_reserve).mul(_amount).div( - 10**_reservesData[_reserve].decimals + 10**vars.decimals ); vars.collateralBalancefterDecrease = vars.collateralBalanceETH.sub(vars.amountToDecreaseETH); @@ -98,7 +99,6 @@ library GenericLogic { uint256 healthFactorAfterDecrease = calculateHealthFactorFromBalances( vars.collateralBalancefterDecrease, vars.borrowBalanceETH, - vars.totalFeesETH, vars.liquidationThresholdAfterDecrease ); @@ -110,17 +110,17 @@ library GenericLogic { uint256 tokenUnit; uint256 compoundedLiquidityBalance; uint256 compoundedBorrowBalance; - uint256 reserveDecimals; - uint256 baseLtv; + uint256 decimals; + uint256 ltv; uint256 liquidationThreshold; - uint256 originationFee; uint256 i; uint256 healthFactor; uint256 totalCollateralBalanceETH; uint256 totalBorrowBalanceETH; uint256 totalFeesETH; - uint256 currentLtv; - uint256 currentLiquidationThreshold; + uint256 avgLtv; + uint256 avgLiquidationThreshold; + uint256 reservesLength; bool healthFactorBelowThreshold; address currentReserveAddress; bool usageAsCollateralEnabled; @@ -151,13 +151,13 @@ library GenericLogic { uint256, uint256, uint256, - uint256, uint256 ) { CalculateUserAccountDataVars memory vars; - for (vars.i = 0; vars.i < _reserves.length; vars.i++) { + vars.reservesLength = _reserves.length; + for (vars.i = 0; vars.i < vars.reservesLength; vars.i++) { vars.currentReserveAddress = _reserves[vars.i]; ReserveLogic.ReserveData storage currentReserve = _reservesData[vars.currentReserveAddress]; @@ -172,7 +172,11 @@ library GenericLogic { continue; } - vars.tokenUnit = 10**currentReserve.decimals; + (vars.ltv, vars.liquidationThreshold, , vars.decimals) = currentReserve + .configuration + .getParams(); + + vars.tokenUnit = 10**vars.decimals; vars.reserveUnitPrice = IPriceOracleGetter(_oracle).getAssetPrice(_reserves[vars.i]); //liquidity and collateral balance @@ -182,16 +186,12 @@ library GenericLogic { .mul(vars.compoundedLiquidityBalance) .div(vars.tokenUnit); - if ( - currentReserve.usageAsCollateralEnabled && - _usersReserveData[_user][_reserves[vars.i]].useAsCollateral - ) { + if (vars.ltv != 0 && _usersReserveData[_user][_reserves[vars.i]].useAsCollateral) { vars.totalCollateralBalanceETH = vars.totalCollateralBalanceETH.add(liquidityBalanceETH); - vars.currentLtv = vars.currentLtv.add( - liquidityBalanceETH.mul(currentReserve.baseLTVasCollateral) - ); - vars.currentLiquidationThreshold = vars.currentLiquidationThreshold.add( - liquidityBalanceETH.mul(currentReserve.liquidationThreshold) + + vars.avgLtv = vars.avgLtv.add(liquidityBalanceETH.mul(vars.ltv)); + vars.avgLiquidationThreshold = vars.avgLiquidationThreshold.add( + liquidityBalanceETH.mul(vars.liquidationThreshold) ); } } @@ -200,31 +200,26 @@ library GenericLogic { vars.totalBorrowBalanceETH = vars.totalBorrowBalanceETH.add( vars.reserveUnitPrice.mul(vars.compoundedBorrowBalance).div(vars.tokenUnit) ); - vars.totalFeesETH = vars.totalFeesETH.add( - vars.originationFee.mul(vars.reserveUnitPrice).div(vars.tokenUnit) - ); } } - vars.currentLtv = vars.totalCollateralBalanceETH > 0 - ? vars.currentLtv.div(vars.totalCollateralBalanceETH) + vars.avgLtv = vars.totalCollateralBalanceETH > 0 + ? vars.avgLtv.div(vars.totalCollateralBalanceETH) : 0; - vars.currentLiquidationThreshold = vars.totalCollateralBalanceETH > 0 - ? vars.currentLiquidationThreshold.div(vars.totalCollateralBalanceETH) + vars.avgLiquidationThreshold = vars.totalCollateralBalanceETH > 0 + ? vars.avgLiquidationThreshold.div(vars.totalCollateralBalanceETH) : 0; vars.healthFactor = calculateHealthFactorFromBalances( vars.totalCollateralBalanceETH, vars.totalBorrowBalanceETH, - vars.totalFeesETH, - vars.currentLiquidationThreshold + vars.avgLiquidationThreshold ); return ( vars.totalCollateralBalanceETH, vars.totalBorrowBalanceETH, - vars.totalFeesETH, - vars.currentLtv, - vars.currentLiquidationThreshold, + vars.avgLtv, + vars.avgLiquidationThreshold, vars.healthFactor ); } @@ -233,22 +228,17 @@ library GenericLogic { * @dev calculates the health factor from the corresponding balances * @param collateralBalanceETH the total collateral balance in ETH * @param borrowBalanceETH the total borrow balance in ETH - * @param totalFeesETH the total fees in ETH * @param liquidationThreshold the avg liquidation threshold * @return the health factor calculated from the balances provided **/ function calculateHealthFactorFromBalances( uint256 collateralBalanceETH, uint256 borrowBalanceETH, - uint256 totalFeesETH, uint256 liquidationThreshold ) internal view returns (uint256) { if (borrowBalanceETH == 0) return uint256(-1); - return - (collateralBalanceETH.mul(liquidationThreshold).div(100)).wadDiv( - borrowBalanceETH.add(totalFeesETH) - ); + return (collateralBalanceETH.mul(liquidationThreshold).div(100)).wadDiv(borrowBalanceETH); } /** @@ -256,7 +246,6 @@ library GenericLogic { * average Loan To Value. * @param collateralBalanceETH the total collateral balance * @param borrowBalanceETH the total borrow balance - * @param totalFeesETH the total fees * @param ltv the average loan to value * @return the amount available to borrow in ETH for the user **/ @@ -264,9 +253,7 @@ library GenericLogic { function calculateAvailableBorrowsETH( uint256 collateralBalanceETH, uint256 borrowBalanceETH, - uint256 totalFeesETH, - uint256 ltv, - address _feeProvider + uint256 ltv ) external view returns (uint256) { uint256 availableBorrowsETH = collateralBalanceETH.mul(ltv).div(100); //ltv is in percentage @@ -274,12 +261,7 @@ library GenericLogic { return 0; } - availableBorrowsETH = availableBorrowsETH.sub(borrowBalanceETH.add(totalFeesETH)); - //calculate fee - uint256 borrowFee = IFeeProvider(_feeProvider).calculateLoanOriginationFee( - msg.sender, - availableBorrowsETH - ); - return availableBorrowsETH.sub(borrowFee); + availableBorrowsETH = availableBorrowsETH.sub(borrowBalanceETH); + return availableBorrowsETH; } } diff --git a/contracts/libraries/ReserveConfiguration.sol b/contracts/libraries/ReserveConfiguration.sol index 030cfb3c..0ae44c82 100644 --- a/contracts/libraries/ReserveConfiguration.sol +++ b/contracts/libraries/ReserveConfiguration.sol @@ -18,28 +18,36 @@ import '@nomiclabs/buidler/console.sol'; * @title Implements the bitmap logic to handle the configuration mapping */ library ReserveConfiguration { - uint256 constant LTV_MASK = 0xFFFFFFFF0000; - uint256 constant LIQUIDATION_THRESHOLD_MASK = 0xFFFF0000FFFF; - uint256 constant LIQUIDATION_BONUS_MASK = 0x0000FFFFFFFF; - uint256 constant DECIMALS_MASK = 0x00FFFFFFFFFFFF; + uint256 constant LTV_MASK = 0xFFFFFFFFFFF0000; + uint256 constant LIQUIDATION_THRESHOLD_MASK = 0xFFFFFFF0000FFFF; + uint256 constant LIQUIDATION_BONUS_MASK = 0xFFF0000FFFFFFFF; + uint256 constant DECIMALS_MASK = 0xF00FFFFFFFFFFFF; + uint256 constant ACTIVE_MASK = 0xEFFFFFFFFFFFFFF; + uint256 constant FREEZED_MASK = 0xDFFFFFFFFFFFFFF; + uint256 constant BORROWING_MASK = 0xBFFFFFFFFFFFFFF; + uint256 constant STABLE_BORROWING_MASK = 0x7FFFFFFFFFFFFFF; struct Map { //bit 0-15: LTV //bit 16-31: Liq. threshold //bit 32-47: Liq. bonus - //bit 48-56: Decimals + //bit 48-55: Decimals + //bit 56: Reserve is active + //bit 57: reserve is freezed + //bit 58: borrowing is enabled + //bit 59: stable rate borrowing enabled uint256 data; } - function setLTV(ReserveConfiguration.Map storage _self, uint256 _ltv) internal { + function setLtv(ReserveConfiguration.Map memory _self, uint256 _ltv) internal { _self.data = (_self.data & LTV_MASK) | _ltv; } - function getLTV(ReserveConfiguration.Map storage _self) internal view returns (uint256) { + function getLtv(ReserveConfiguration.Map storage _self) internal view returns (uint256) { return _self.data & ~LTV_MASK; } - function setLiquidationThreshold(ReserveConfiguration.Map storage _self, uint256 _threshold) + function setLiquidationThreshold(ReserveConfiguration.Map memory _self, uint256 _threshold) internal { _self.data = (_self.data & LIQUIDATION_THRESHOLD_MASK) | (_threshold << 16); @@ -53,7 +61,7 @@ library ReserveConfiguration { return (_self.data & ~LIQUIDATION_THRESHOLD_MASK) >> 16; } - function setLiquidationBonus(ReserveConfiguration.Map storage _self, uint256 _bonus) internal { + function setLiquidationBonus(ReserveConfiguration.Map memory _self, uint256 _bonus) internal { _self.data = (_self.data & LIQUIDATION_BONUS_MASK) | (_bonus << 32); } @@ -65,11 +73,93 @@ library ReserveConfiguration { return (_self.data & ~LIQUIDATION_BONUS_MASK) >> 32; } - function setDecimals(ReserveConfiguration.Map storage _self, uint256 _decimals) internal { + function setDecimals(ReserveConfiguration.Map memory _self, uint256 _decimals) internal { _self.data = (_self.data & DECIMALS_MASK) | (_decimals << 48); } function getDecimals(ReserveConfiguration.Map storage _self) internal view returns (uint256) { return (_self.data & ~DECIMALS_MASK) >> 48; } + + function setActive(ReserveConfiguration.Map memory _self, bool _active) internal { + _self.data = (_self.data & ACTIVE_MASK) | (uint256(_active ? 1 : 0) << 56); + } + + function getActive(ReserveConfiguration.Map storage _self) internal view returns (bool) { + return ((_self.data & ~ACTIVE_MASK) >> 56) != 0; + } + + function setFreezed(ReserveConfiguration.Map memory _self, bool _freezed) internal { + _self.data = (_self.data & FREEZED_MASK) | (uint256(_freezed ? 1 : 0) << 57); + } + + function getFreezed(ReserveConfiguration.Map storage _self) internal view returns (bool) { + return ((_self.data & ~FREEZED_MASK) >> 57) != 0; + } + + function setBorrowingEnabled(ReserveConfiguration.Map memory _self, bool _enabled) internal { + _self.data = (_self.data & BORROWING_MASK) | (uint256(_enabled ? 1 : 0) << 58); + } + + function getBorrowingEnabled(ReserveConfiguration.Map storage _self) + internal + view + returns (bool) + { + return ((_self.data & ~BORROWING_MASK) >> 58) != 0; + } + + function setStableRateBorrowingEnabled(ReserveConfiguration.Map memory _self, bool _enabled) + internal + { + _self.data = (_self.data & STABLE_BORROWING_MASK) | (uint256(_enabled ? 1 : 0) << 59); + } + + function getStableRateBorrowingEnabled(ReserveConfiguration.Map storage _self) + internal + view + returns (bool) + { + return ((_self.data & ~STABLE_BORROWING_MASK) >> 59) != 0; + } + + function getFlags(ReserveConfiguration.Map storage _self) + internal + view + returns ( + bool, + bool, + bool, + bool + ) + { + uint256 dataLocal = _self.data; + + return ( + (dataLocal & ~ACTIVE_MASK) >> 56 != 0, + (dataLocal & ~FREEZED_MASK) >> 57 != 0, + (dataLocal & ~BORROWING_MASK) >> 58 != 0, + (dataLocal & ~STABLE_BORROWING_MASK) >> 59 != 0 + ); + } + + function getParams(ReserveConfiguration.Map storage _self) + internal + view + returns ( + uint256, + uint256, + uint256, + uint256 + ) + { + uint256 dataLocal = _self.data; + + return ( + dataLocal & ~LTV_MASK, + (dataLocal & ~LIQUIDATION_THRESHOLD_MASK) >> 16, + (dataLocal & ~LIQUIDATION_BONUS_MASK) >> 32, + (dataLocal & ~DECIMALS_MASK) >> 48 + ); + } } diff --git a/contracts/libraries/ReserveLogic.sol b/contracts/libraries/ReserveLogic.sol index d3edac1c..e0823337 100644 --- a/contracts/libraries/ReserveLogic.sol +++ b/contracts/libraries/ReserveLogic.sol @@ -9,6 +9,7 @@ import {MathUtils} from './MathUtils.sol'; import {IPriceOracleGetter} from '../interfaces/IPriceOracleGetter.sol'; import {UniversalERC20} from './UniversalERC20.sol'; import {IStableDebtToken} from '../tokenization/interfaces/IStableDebtToken.sol'; +import {ReserveConfiguration} from './ReserveConfiguration.sol'; import '../configuration/LendingPoolAddressesProvider.sol'; import '../interfaces/ILendingRateOracle.sol'; @@ -29,6 +30,7 @@ library ReserveLogic { using Address for address; using UserLogic for UserLogic.UserReserveData; using ReserveLogic for ReserveLogic.ReserveData; + using ReserveConfiguration for ReserveConfiguration.Map; enum InterestRateMode {NONE, STABLE, VARIABLE} @@ -46,14 +48,7 @@ library ReserveLogic { uint256 currentStableBorrowRate; //variable borrow index. Expressed in ray uint256 lastVariableBorrowCumulativeIndex; - //the ltv of the reserve. Expressed in percentage (0-100) - uint256 baseLTVasCollateral; - //the liquidation threshold of the reserve. Expressed in percentage (0-100) - uint256 liquidationThreshold; - //the liquidation bonus of the reserve. Expressed in percentage - uint256 liquidationBonus; - //the decimals of the reserve asset - uint256 decimals; + ReserveConfiguration.Map configuration; /** * @dev address of the aToken representing the asset **/ @@ -65,16 +60,8 @@ library ReserveLogic { **/ address interestRateStrategyAddress; uint40 lastUpdateTimestamp; - // borrowingEnabled = true means users can borrow from this reserve - bool borrowingEnabled; - // usageAsCollateralEnabled = true means users can use this reserve as collateral - bool usageAsCollateralEnabled; // isStableBorrowRateEnabled = true means users can borrow at a stable rate bool isStableBorrowRateEnabled; - // isActive = true means the reserve has been activated and properly configured - bool isActive; - // isFreezed = true means the reserve only allows repays and redeems, but not deposits, new borrowings or rate swap - bool isFreezed; } /** @@ -164,7 +151,6 @@ library ReserveLogic { * @dev initializes a reserve * @param _self the reserve object * @param _aTokenAddress the address of the overlying atoken contract - * @param _decimals the number of decimals of the underlying asset * @param _interestRateStrategyAddress the address of the interest rate strategy contract **/ function init( @@ -172,11 +158,9 @@ library ReserveLogic { address _aTokenAddress, address _stableDebtAddress, address _variableDebtAddress, - uint256 _decimals, address _interestRateStrategyAddress ) external { require(_self.aTokenAddress == address(0), 'Reserve has already been initialized'); - if (_self.lastLiquidityCumulativeIndex == 0) { //if the reserve has not been initialized yet _self.lastLiquidityCumulativeIndex = WadRayMath.ray(); @@ -189,63 +173,7 @@ library ReserveLogic { _self.aTokenAddress = payable(_aTokenAddress); _self.stableDebtTokenAddress = _stableDebtAddress; _self.variableDebtTokenAddress = _variableDebtAddress; - _self.decimals = _decimals; - _self.interestRateStrategyAddress = _interestRateStrategyAddress; - _self.isActive = true; - _self.isFreezed = false; - } - - /** - * @dev enables borrowing on a reserve - * @param _self the reserve object - * @param _stableBorrowRateEnabled true if the stable borrow rate must be enabled by default, false otherwise - **/ - function enableBorrowing(ReserveData storage _self, bool _stableBorrowRateEnabled) external { - require(_self.borrowingEnabled == false, 'Reserve is already enabled'); - - _self.borrowingEnabled = true; - _self.isStableBorrowRateEnabled = _stableBorrowRateEnabled; - } - - /** - * @dev disables borrowing on a reserve - * @param _self the reserve object - **/ - function disableBorrowing(ReserveData storage _self) external { - _self.borrowingEnabled = false; - } - - /** - * @dev enables a reserve to be used as collateral - * @param _self the reserve object - * @param _baseLTVasCollateral the loan to value of the asset when used as collateral - * @param _liquidationThreshold the threshold at which loans using this asset as collateral will be considered undercollateralized - * @param _liquidationBonus the bonus liquidators receive to liquidate this asset - **/ - function enableAsCollateral( - ReserveData storage _self, - uint256 _baseLTVasCollateral, - uint256 _liquidationThreshold, - uint256 _liquidationBonus - ) external { - require(_self.usageAsCollateralEnabled == false, 'Reserve is already enabled as collateral'); - - _self.usageAsCollateralEnabled = true; - _self.baseLTVasCollateral = _baseLTVasCollateral; - _self.liquidationThreshold = _liquidationThreshold; - _self.liquidationBonus = _liquidationBonus; - - if (_self.lastLiquidityCumulativeIndex == 0) - _self.lastLiquidityCumulativeIndex = WadRayMath.ray(); - } - - /** - * @dev disables a reserve as collateral - * @param _self the reserve object - **/ - function disableAsCollateral(ReserveData storage _self) external { - _self.usageAsCollateralEnabled = false; } function getTotalBorrows(ReserveData storage _self) internal view returns (uint256) { diff --git a/contracts/libraries/UserLogic.sol b/contracts/libraries/UserLogic.sol index 9cda922d..d5a904e4 100644 --- a/contracts/libraries/UserLogic.sol +++ b/contracts/libraries/UserLogic.sol @@ -7,6 +7,7 @@ import {SafeMath} from '@openzeppelin/contracts/math/SafeMath.sol'; import {IERC20} from '@openzeppelin/contracts/token/ERC20/IERC20.sol'; import '../tokenization/base/DebtTokenBase.sol'; import './ReserveLogic.sol'; +import './ReserveConfiguration.sol'; /** * @title UserLogic library @@ -15,6 +16,7 @@ import './ReserveLogic.sol'; */ library UserLogic { using SafeMath for uint256; + using ReserveConfiguration for ReserveConfiguration.Map; struct UserReserveData { //defines if a specific deposit should or not be used as a collateral in borrows @@ -39,7 +41,7 @@ library UserLogic { return !_user.useAsCollateral || - !_reserve.usageAsCollateralEnabled || + _reserve.configuration.getLtv() == 0 || _amount > IERC20(_reserve.aTokenAddress).balanceOf(_userAddress); } diff --git a/contracts/libraries/ValidationLogic.sol b/contracts/libraries/ValidationLogic.sol index b72dd8b6..7f22b21f 100644 --- a/contracts/libraries/ValidationLogic.sol +++ b/contracts/libraries/ValidationLogic.sol @@ -9,7 +9,7 @@ import {UserLogic} from './UserLogic.sol'; import {GenericLogic} from './GenericLogic.sol'; import {WadRayMath} from './WadRayMath.sol'; import {UniversalERC20} from './UniversalERC20.sol'; - +import {ReserveConfiguration} from './ReserveConfiguration.sol'; import {IPriceOracleGetter} from '../interfaces/IPriceOracleGetter.sol'; import {IFeeProvider} from '../interfaces/IFeeProvider.sol'; import '@nomiclabs/buidler/console.sol'; @@ -25,6 +25,7 @@ library ValidationLogic { using SafeMath for uint256; using WadRayMath for uint256; using UniversalERC20 for IERC20; + using ReserveConfiguration for ReserveConfiguration.Map; /** * @dev validates a deposit. @@ -35,6 +36,8 @@ library ValidationLogic { external view { + (bool isActive, bool isFreezed, , ) = _reserve.configuration.getFlags(); + internalValidateReserveStateAndAmount(_reserve, _amount); } @@ -68,7 +71,6 @@ library ValidationLogic { uint256 amountOfCollateralNeededETH; uint256 userCollateralBalanceETH; uint256 userBorrowBalanceETH; - uint256 userTotalFeesETH; uint256 borrowBalanceIncrease; uint256 currentReserveStableRate; uint256 availableLiquidity; @@ -76,6 +78,10 @@ library ValidationLogic { uint256 healthFactor; ReserveLogic.InterestRateMode rateMode; bool healthFactorBelowThreshold; + bool isActive; + bool isFreezed; + bool borrowingEnabled; + bool stableRateBorrowingEnabled; } /** @@ -108,9 +114,19 @@ library ValidationLogic { ) external view { ValidateBorrowLocalVars memory vars; - internalValidateReserveStateAndAmount(_reserve, _amount); + //internalValidateReserveStateAndAmount(_reserve, _amount); - require(_reserve.borrowingEnabled, '5'); + ( + vars.isActive, + vars.isFreezed, + vars.borrowingEnabled, + vars.stableRateBorrowingEnabled + ) = _reserve.configuration.getFlags(); + + require(vars.isActive, 'Action requires an active reserve'); + require(!vars.isFreezed, 'Action requires an unfreezed reserve'); + + require(vars.borrowingEnabled, '5'); //validate interest rate mode require( @@ -129,7 +145,6 @@ library ValidationLogic { ( vars.userCollateralBalanceETH, vars.userBorrowBalanceETH, - vars.userTotalFeesETH, vars.currentLtv, vars.currentLiquidationThreshold, vars.healthFactor @@ -146,12 +161,9 @@ library ValidationLogic { require(vars.healthFactor > GenericLogic.HEALTH_FACTOR_LIQUIDATION_THRESHOLD, '8'); //add the current already borrowed amount to the amount requested to calculate the total collateral needed. - vars.amountOfCollateralNeededETH = vars - .userBorrowBalanceETH - .add(vars.userTotalFeesETH) - .add(_amountInETH) - .mul(100) - .div(vars.currentLtv); //LTV is calculated in percentage + vars.amountOfCollateralNeededETH = vars.userBorrowBalanceETH.add(_amountInETH).mul(100).div( + vars.currentLtv + ); //LTV is calculated in percentage require( vars.amountOfCollateralNeededETH <= vars.userCollateralBalanceETH, @@ -170,11 +182,11 @@ library ValidationLogic { if (vars.rateMode == ReserveLogic.InterestRateMode.STABLE) { //check if the borrow mode is stable and if stable rate borrowing is enabled on this reserve - require(_reserve.isStableBorrowRateEnabled, '11'); + require(vars.stableRateBorrowingEnabled, '11'); require( !_user.useAsCollateral || - !_reserve.usageAsCollateralEnabled || + _reserve.configuration.getLtv() == 0 || _amount > IERC20(_reserve.aTokenAddress).balanceOf(msg.sender), '12' ); @@ -209,7 +221,9 @@ library ValidationLogic { uint256 _actualPaybackAmount, uint256 _msgValue ) external view { - require(_reserve.isActive, 'Action requires an active reserve'); + (bool isActive, , , ) = _reserve.configuration.getFlags(); + + require(isActive, 'Action requires an active reserve'); require(_amountSent > 0, 'Amount must be greater than 0'); @@ -247,8 +261,10 @@ library ValidationLogic { uint256 _variableBorrowBalance, ReserveLogic.InterestRateMode _currentRateMode ) external view { - require(_reserve.isActive, 'Action requires an active reserve'); - require(!_reserve.isFreezed, 'Action requires an unfreezed reserve'); + (bool isActive, bool isFreezed, , bool stableRateEnabled) = _reserve.configuration.getFlags(); + + require(isActive, 'Action requires an active reserve'); + require(!isFreezed, 'Action requires an unfreezed reserve'); if (_currentRateMode == ReserveLogic.InterestRateMode.STABLE) { require( @@ -267,11 +283,11 @@ library ValidationLogic { * more collateral than he is borrowing, artificially lowering * the interest rate, borrowing at variable, and switching to stable **/ - require(_reserve.isStableBorrowRateEnabled, '11'); + require(stableRateEnabled, '11'); require( !_user.useAsCollateral || - !_reserve.usageAsCollateralEnabled || + _reserve.configuration.getLtv() == 0 || _stableBorrowBalance.add(_variableBorrowBalance) > IERC20(_reserve.aTokenAddress).balanceOf(msg.sender), '12' @@ -323,8 +339,6 @@ library ValidationLogic { ReserveLogic.ReserveData storage _reserve, uint256 _amount ) internal view { - require(_reserve.isActive, 'Action requires an active reserve'); - require(!_reserve.isFreezed, 'Action requires an unfreezed reserve'); require(_amount > 0, 'Amount must be greater than 0'); } } diff --git a/deployed-contracts.json b/deployed-contracts.json index aaa46968..d3fe5f3d 100644 --- a/deployed-contracts.json +++ b/deployed-contracts.json @@ -5,7 +5,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xB00cC45B4a7d3e1FEE684cFc4417998A1c183e6d", + "address": "0x613b8Aa5BAFB5c903B8AFF84307C3D8eb6a09C9D", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -15,7 +15,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x58F132FBB86E21545A4Bace3C19f1C05d86d7A22", + "address": "0x832517B00deEa0cD9780C94837D92b2b282C75F5", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -25,7 +25,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x22474D350EC2dA53D717E30b96e9a2B7628Ede5b", + "address": "0x05D70e69C53E9A097E741976096ca16A4ec44Bdd", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -34,7 +34,7 @@ "address": "0x852e3718A320aD93Ad8692E8D663d247e4c1b400" }, "localhost": { - "address": "0x852e3718A320aD93Ad8692E8D663d247e4c1b400" + "address": "0x7Ca3264502Ae135bc346Ddde379D11f72a210Df2" } }, "LendingPoolParametersProvider": { @@ -49,10 +49,10 @@ }, "LendingPoolConfigurator": { "buidlerevm": { - "address": "0x2C4603396dE2F08642354A3A102760827FfFe113" + "address": "0xA10958a24032283FbE2D23cedf264d6eC9411CBA" }, "localhost": { - "address": "0x2C4603396dE2F08642354A3A102760827FfFe113" + "address": "0x1c9aA18db4804bD3E9788735Ac12c930a4cFAF29" } }, "LendingPoolDataProvider": { @@ -62,10 +62,10 @@ }, "LendingPool": { "buidlerevm": { - "address": "0xA10958a24032283FbE2D23cedf264d6eC9411CBA" + "address": "0x2C4603396dE2F08642354A3A102760827FfFe113" }, "localhost": { - "address": "0xA10958a24032283FbE2D23cedf264d6eC9411CBA" + "address": "0x2C29ed4a90805792c56B99EFf249e28b8b3a5d36" } }, "PriceOracle": { @@ -74,7 +74,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x8731324a6C09a1745bD15009Dc8FcceF11c05F4a", + "address": "0xE825E4621E95a5AE37119617bfC0165724c51762", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -84,7 +84,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x474d9b0D5F1Bb1602711F9346743a7a7478d6f52", + "address": "0xF1d2bdD7CFc305eb550895DdADb55b7fBA2af1E5", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -94,7 +94,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xf91aC1098F3b154671Ce83290114aaE45ac0225f", + "address": "0x84daCdA0B4802B6Aa8661F266A48BE4F54817119", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -104,7 +104,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xf4830d6b1D70C8595d3BD8A63f9ed9F636DB9ef2", + "address": "0x70a259a0efDF51B073497d3723630ea8ae11B32a", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -114,7 +114,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xC8Df507578fEfb60aA626ABFDDB20B48ee439ad1", + "address": "0x5737D6Be516831d7E9596e4458583c17B2662b25", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -149,7 +149,7 @@ "address": "0xC5f7aC6895DcB76877E71db756433fB0E0478FEB" }, "localhost": { - "address": "0xb840b4fe440b5E26e1840cd2D6320FAda1C0ca5d" + "address": "0x07C1cd8182AAda58009D3b547295A64046679666" } }, "InitializableAdminUpgradeabilityProxy": { @@ -158,7 +158,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xb840b4fe440b5E26e1840cd2D6320FAda1C0ca5d", + "address": "0x07C1cd8182AAda58009D3b547295A64046679666", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -167,7 +167,7 @@ "address": "0x24E420B42971372F060a93129846761F354Bc50B" }, "localhost": { - "address": "0x5c98c9202b73d27A618662d34A6805c34AB041B8" + "address": "0xbCC0e6a5385C3a8A2d40Aa079F3E8d40f09Ae48d" } }, "WalletBalanceProvider": { @@ -176,7 +176,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x435250F99d9ec2D7956773c6768392caD183765e", + "address": "0x04297834784DcB98Df9fE232DE5a97D2569c8aDd", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -186,7 +186,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x7c2C195CD6D34B8F845992d380aADB2730bB9C6F", + "address": "0x352BD2c9A3a019aC10F7fc81dB119D4a325117DE", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -196,7 +196,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x8858eeB3DfffA017D4BCE9801D340D36Cf895CCf", + "address": "0x5Cccb7f34cB05938c29442815Cc331AA6492B723", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -206,7 +206,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x0078371BDeDE8aAc7DeBfFf451B74c5EDB385Af7", + "address": "0x7457b9406832EEa09864dcaAB82Ae3c134f9A975", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -216,7 +216,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xf4e77E5Da47AC3125140c470c71cBca77B5c638c", + "address": "0xdB97f0f4a431B70Ec854b270d56e1ECa25f3113b", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -226,7 +226,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xf784709d2317D872237C4bC22f867d1BAe2913AB", + "address": "0x8A8dC28F6C1874f573FCBd921f1fb24301caB913", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -236,7 +236,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x3619DbE27d7c1e7E91aA738697Ae7Bc5FC3eACA5", + "address": "0x8bAE0F999E4A82191F7536E8a5e2De0412588d86", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -246,7 +246,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x038B86d9d8FAFdd0a02ebd1A476432877b0107C8", + "address": "0xa61F8cfACa566F8F4303cE283e9535934A8CDdD5", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -256,7 +256,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x1A1FEe7EeD918BD762173e4dc5EfDB8a78C924A8", + "address": "0xb0f645D86C1436502f45229292b117e45e1a2bC4", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -266,7 +266,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x500D1d6A4c7D8Ae28240b47c8FCde034D827fD5e", + "address": "0x12c2160C86B21FFF1c708F77d5263CF192f2B661", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -276,7 +276,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xc4905364b78a742ccce7B890A89514061E47068D", + "address": "0x155a2e68CB8Db7B1cB9066E717aE93e65A2f93EF", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -286,7 +286,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xD6C850aeBFDC46D7F4c207e445cC0d6B0919BDBe", + "address": "0x94Bc72DCbdc296991dc61555e996C447cAD60369", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -296,7 +296,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x8B5B7a6055E54a36fF574bbE40cf2eA68d5554b3", + "address": "0x346fdD507f157a74e63a73ACf371B5bDf562De67", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -306,7 +306,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xEcc0a6dbC0bb4D51E4F84A315a9e5B0438cAD4f0", + "address": "0xCF8eF26FE68C88Fc899B1F40E48688F6C6FFf9E1", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -316,7 +316,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x20Ce94F404343aD2752A2D01b43fa407db9E0D00", + "address": "0x90C17f3141263b2942E843c83102ba8cD18956B7", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -326,7 +326,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x1d80315fac6aBd3EfeEbE97dEc44461ba7556160", + "address": "0x58C7b3Aa19a4EEb3505564ab45c6fd16442A85ec", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -336,7 +336,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x2D8553F9ddA85A9B3259F6Bf26911364B85556F5", + "address": "0xa25fA46698beE81E33e0Dd691849945B0B417ea4", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -346,7 +346,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x52d3b94181f8654db2530b0fEe1B19173f519C52", + "address": "0xEec014eff3DBeE5a3100fb6a9128cF7c40c3e782", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -356,7 +356,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xd15468525c35BDBC1eD8F2e09A00F8a173437f2f", + "address": "0x4BD61457B65687B555fb86B8038Ffb5779970A3C", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -366,7 +366,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x7e35Eaf7e8FBd7887ad538D4A38Df5BbD073814a", + "address": "0x2114d96A6eC73Be7151938D0e7c74ec566cF0153", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -376,7 +376,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x5bcb88A0d20426e451332eE6C4324b0e663c50E0", + "address": "0x294c3d68F340883C44d50daD4Ec6737327f2f993", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -386,7 +386,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x3521eF8AaB0323004A6dD8b03CE890F4Ea3A13f5", + "address": "0x22e57AEFA0f0f5aF3f0933EBB08B2FD5E1f52389", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -396,7 +396,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x53369fd4680FfE3DfF39Fc6DDa9CfbfD43daeA2E", + "address": "0xbc80b4b4D77Df85898DCA2AbB615edC353039d2b", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -406,7 +406,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xB00cC45B4a7d3e1FEE684cFc4417998A1c183e6d", + "address": "0x613b8Aa5BAFB5c903B8AFF84307C3D8eb6a09C9D", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -415,7 +415,7 @@ "address": "0xb840b4fe440b5E26e1840cd2D6320FAda1C0ca5d" }, "localhost": { - "address": "0xBE7fFcC01164C890e59D298FD755FcBE6B7941a9" + "address": "0x40Bf3Ca3a1EFdCDFf6BaE86Cf92EC5a46E629556" } }, "StableDebtToken": { @@ -424,7 +424,7 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0xD325d114a728C2114Bd33Ad47152f790f2a29c5c", + "address": "0x9088A0A8f3e0906Fc7b1872407C8aB3EDF6D8F11", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } }, @@ -434,8 +434,8 @@ "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" }, "localhost": { - "address": "0x910b6a78b413e47401f20aA2350d264b55ae0189", + "address": "0x078fd0F0A179084DB4FF90399518Fd14DD006b6c", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } } -} \ No newline at end of file +} diff --git a/test/__setup.spec.ts b/test/__setup.spec.ts index 5e0920bd..fb5b6d5d 100644 --- a/test/__setup.spec.ts +++ b/test/__setup.spec.ts @@ -360,18 +360,6 @@ const buildTestEnv = async (deployer: Signer, secondaryWallet: Signer) => { const feeProviderProxy = await getFeeProvider(await addressesProvider.getFeeProvider()); await insertContractAddressInDb(eContractid.FeeProvider, feeProviderProxy.address); - const lendingPoolConfiguratorImpl = await deployLendingPoolConfigurator(); - await waitForTx( - await addressesProvider.setLendingPoolConfiguratorImpl(lendingPoolConfiguratorImpl.address) - ); - const lendingPoolConfiguratorProxy = await getLendingPoolConfiguratorProxy( - await addressesProvider.getLendingPoolConfigurator() - ); - await insertContractAddressInDb( - eContractid.LendingPoolConfigurator, - lendingPoolConfiguratorProxy.address - ); - const lendingPoolImpl = await deployLendingPool(); console.log('Deployed lending pool, address:', lendingPoolImpl.address); @@ -387,6 +375,18 @@ const buildTestEnv = async (deployer: Signer, secondaryWallet: Signer) => { await insertContractAddressInDb(eContractid.LendingPool, lendingPoolProxy.address); + const lendingPoolConfiguratorImpl = await deployLendingPoolConfigurator(); + await waitForTx( + await addressesProvider.setLendingPoolConfiguratorImpl(lendingPoolConfiguratorImpl.address) + ); + const lendingPoolConfiguratorProxy = await getLendingPoolConfiguratorProxy( + await addressesProvider.getLendingPoolConfigurator() + ); + await insertContractAddressInDb( + eContractid.LendingPoolConfigurator, + lendingPoolConfiguratorProxy.address + ); + const fallbackOracle = await deployPriceOracle(); await waitForTx(await fallbackOracle.setEthUsdPrice(MOCK_USD_PRICE_IN_WEI)); await setInitialAssetPricesInOracle( diff --git a/test/configurator.spec.ts b/test/configurator.spec.ts index 2782b35b..f3af3985 100644 --- a/test/configurator.spec.ts +++ b/test/configurator.spec.ts @@ -167,45 +167,45 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => { it('Changes LTV of the reserve', async () => { const {configurator, pool} = testEnv; - await configurator.setReserveBaseLTVasCollateral(MOCK_ETH_ADDRESS, '60'); + await configurator.setLtv(MOCK_ETH_ADDRESS, '60'); const {ltv}: any = await pool.getReserveConfigurationData(MOCK_ETH_ADDRESS); expect(ltv).to.be.bignumber.equal('60', 'Invalid LTV'); }); - it('Check the onlyLendingPoolManager on setReserveBaseLTVasCollateral', async () => { + it('Check the onlyLendingPoolManager on setLtv', async () => { const {configurator, users} = testEnv; await expect( - configurator.connect(users[2].signer).setReserveBaseLTVasCollateral(MOCK_ETH_ADDRESS, '75'), + configurator.connect(users[2].signer).setLtv(MOCK_ETH_ADDRESS, '75'), INVALID_POOL_MANAGER_CALLER_MSG ).to.be.revertedWith(INVALID_POOL_MANAGER_CALLER_MSG); }); it('Changes liquidation threshold of the reserve', async () => { const {configurator, pool} = testEnv; - await configurator.setReserveLiquidationThreshold(MOCK_ETH_ADDRESS, '75'); + await configurator.setLiquidationThreshold(MOCK_ETH_ADDRESS, '75'); const {liquidationThreshold}: any = await pool.getReserveConfigurationData(MOCK_ETH_ADDRESS); expect(liquidationThreshold).to.be.bignumber.equal('75', 'Invalid Liquidation threshold'); }); - it('Check the onlyLendingPoolManager on setReserveLiquidationThreshold', async () => { + it('Check the onlyLendingPoolManager on setLiquidationThreshold', async () => { const {configurator, users} = testEnv; await expect( - configurator.connect(users[2].signer).setReserveLiquidationThreshold(MOCK_ETH_ADDRESS, '80'), + configurator.connect(users[2].signer).setLiquidationThreshold(MOCK_ETH_ADDRESS, '80'), INVALID_POOL_MANAGER_CALLER_MSG ).to.be.revertedWith(INVALID_POOL_MANAGER_CALLER_MSG); }); it('Changes liquidation bonus of the reserve', async () => { const {configurator, pool} = testEnv; - await configurator.setReserveLiquidationBonus(MOCK_ETH_ADDRESS, '110'); + await configurator.setLiquidationBonus(MOCK_ETH_ADDRESS, '110'); const {liquidationBonus} = await pool.getReserveConfigurationData(MOCK_ETH_ADDRESS); expect(liquidationBonus).to.be.bignumber.equal('110', 'Invalid Liquidation discount'); }); - it('Check the onlyLendingPoolManager on setReserveLiquidationBonus', async () => { + it('Check the onlyLendingPoolManager on setLiquidationBonus', async () => { const {configurator, users} = testEnv; await expect( - configurator.connect(users[2].signer).setReserveLiquidationBonus(MOCK_ETH_ADDRESS, '80'), + configurator.connect(users[2].signer).setLiquidationBonus(MOCK_ETH_ADDRESS, '80'), INVALID_POOL_MANAGER_CALLER_MSG ).to.be.revertedWith(INVALID_POOL_MANAGER_CALLER_MSG); }); @@ -218,10 +218,10 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => { ).to.be.revertedWith(INVALID_POOL_MANAGER_CALLER_MSG); }); - it('Check the onlyLendingPoolManager on setReserveLiquidationBonus', async () => { + it('Check the onlyLendingPoolManager on setLiquidationBonus', async () => { const {configurator, users} = testEnv; await expect( - configurator.connect(users[2].signer).setReserveLiquidationBonus(MOCK_ETH_ADDRESS, '80'), + configurator.connect(users[2].signer).setLiquidationBonus(MOCK_ETH_ADDRESS, '80'), INVALID_POOL_MANAGER_CALLER_MSG ).to.be.revertedWith(INVALID_POOL_MANAGER_CALLER_MSG); }); diff --git a/test/scenario.spec.ts b/test/scenario.spec.ts index 10db45fb..d110907f 100644 --- a/test/scenario.spec.ts +++ b/test/scenario.spec.ts @@ -12,7 +12,7 @@ BigNumber.config({DECIMAL_PLACES: 0, ROUNDING_MODE: BigNumber.ROUND_DOWN}); const scenarioFolder = './test/helpers/scenarios/'; -const selectedScenarios: string[] = []; +const selectedScenarios: string[] = ['borrow-repay-stable.json']; fs.readdirSync(scenarioFolder).forEach((file) => { if (selectedScenarios.length > 0 && !selectedScenarios.includes(file)) return; diff --git a/types/AToken.d.ts b/types/AToken.d.ts index ac771425..38ae9531 100644 --- a/types/AToken.d.ts +++ b/types/AToken.d.ts @@ -92,6 +92,10 @@ interface ATokenInterface extends Interface { encode([_from, _to, _value]: [string, string, BigNumberish]): string; }>; + transferUnderlyingTo: TypedFunctionDescription<{ + encode([_target, _amount]: [string, BigNumberish]): string; + }>; + underlyingAssetAddress: TypedFunctionDescription<{ encode([]: []): string; }>; @@ -277,6 +281,12 @@ export class AToken extends Contract { overrides?: TransactionOverrides ): Promise; + transferUnderlyingTo( + _target: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + underlyingAssetAddress(): Promise; }; @@ -372,6 +382,12 @@ export class AToken extends Contract { overrides?: TransactionOverrides ): Promise; + transferUnderlyingTo( + _target: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + underlyingAssetAddress(): Promise; filters: { @@ -478,6 +494,8 @@ export class AToken extends Contract { transferOnLiquidation(_from: string, _to: string, _value: BigNumberish): Promise; + transferUnderlyingTo(_target: string, _amount: BigNumberish): Promise; + underlyingAssetAddress(): Promise; }; } diff --git a/types/ATokenFactory.ts b/types/ATokenFactory.ts index 9a2d2554..1a183215 100644 --- a/types/ATokenFactory.ts +++ b/types/ATokenFactory.ts @@ -825,6 +825,30 @@ const _abi = [ stateMutability: 'nonpayable', type: 'function', }, + { + inputs: [ + { + internalType: 'address', + name: '_target', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'transferUnderlyingTo', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, { inputs: [], name: 'underlyingAssetAddress', @@ -838,7 +862,11 @@ const _abi = [ stateMutability: 'view', type: 'function', }, + { + stateMutability: 'payable', + type: 'receive', + }, ]; const _bytecode = - '0x60806040523480156200001157600080fd5b506040516200255a3803806200255a833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82516401000000008111828201881017156200009c57600080fd5b82525081516020918201929091019080838360005b83811015620000cb578181015183820152602001620000b1565b50505050905090810190601f168015620000f95780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011d57600080fd5b9083019060208201858111156200013357600080fd5b82516401000000008111828201881017156200014e57600080fd5b82525081516020918201929091019080838360005b838110156200017d57818101518382015260200162000163565b50505050905090810190601f168015620001ab5780820380516001836020036101000a031916815260200191505b50604052505082518391508290620001cb906003906020850190620002eb565b508051620001e1906004906020840190620002eb565b50506005805460ff191660121790555062000205836001600160e01b03620002d516565b600a80546001600160a01b0319166001600160a01b03878116919091179182905560408051630261bf8b60e01b815290519290911691630261bf8b91600480820192602092909190829003018186803b1580156200026257600080fd5b505afa15801562000277573d6000803e3d6000fd5b505050506040513d60208110156200028e57600080fd5b5051600b80546001600160a01b0319166001600160a01b0392831617905560058054610100600160a81b031916610100969092169590950217909355506200039092505050565b6005805460ff191660ff92909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200032e57805160ff19168380011785556200035e565b828001600101855582156200035e579182015b828111156200035e57825182559160200191906001019062000341565b506200036c92915062000370565b5090565b6200038d91905b808211156200036c576000815560010162000377565b90565b6121ba80620003a06000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80635eae177c116100de578063a9059cbb11610097578063db006a7511610071578063db006a75146104f3578063dd62ed3e14610510578063ee9907a41461053e578063f866c3191461056457610173565b8063a9059cbb14610499578063c634dfaa146104c5578063d0fc81d2146104eb57610173565b80635eae177c146103df57806370a082311461040b57806389d1a0fc1461043157806394362e8b1461043957806395d89b4114610465578063a457c2d71461046d57610173565b806323b872dd1161013057806323b872dd146102c3578063313ce567146102f9578063325a9b131461031757806339509351146103455780633edb7cb814610371578063445e80101461039d57610173565b806306fdde0314610178578063095ea7b3146101f55780630e49072d1461023557806312c87c2d1461025d57806318160ddd146102835780631d51e7cf1461029d575b600080fd5b61018061059a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102216004803603604081101561020b57600080fd5b506001600160a01b038135169060200135610631565b604080519115158252519081900360200190f35b61025b6004803603602081101561024b57600080fd5b50356001600160a01b031661064f565b005b61025b6004803603602081101561027357600080fd5b50356001600160a01b031661065c565b61028b6106fb565b60408051918252519081900360200190f35b61028b600480360360208110156102b357600080fd5b50356001600160a01b03166107bd565b610221600480360360608110156102d957600080fd5b506001600160a01b038135811691602081013590911690604001356107dc565b610301610869565b6040805160ff9092168252519081900360200190f35b61025b6004803603604081101561032d57600080fd5b506001600160a01b0381358116916020013516610872565b6102216004803603604081101561035b57600080fd5b506001600160a01b0381351690602001356108d8565b61025b6004803603604081101561038757600080fd5b506001600160a01b03813516906020013561092c565b6103c3600480360360208110156103b357600080fd5b50356001600160a01b0316610a21565b604080516001600160a01b039092168252519081900360200190f35b610221600480360360408110156103f557600080fd5b506001600160a01b038135169060200135610a3f565b61028b6004803603602081101561042157600080fd5b50356001600160a01b0316610ada565b6103c3610b8d565b61025b6004803603604081101561044f57600080fd5b506001600160a01b038135169060200135610ba1565b610180610c76565b6102216004803603604081101561048357600080fd5b506001600160a01b038135169060200135610cd7565b610221600480360360408110156104af57600080fd5b506001600160a01b038135169060200135610d45565b61028b600480360360208110156104db57600080fd5b50356001600160a01b0316610d59565b61028b610d64565b61025b6004803603602081101561050957600080fd5b5035610d6a565b61028b6004803603604081101561052657600080fd5b506001600160a01b0381358116916020013516610fa4565b61028b6004803603602081101561055457600080fd5b50356001600160a01b0316610fcf565b61025b6004803603606081101561057a57600080fd5b506001600160a01b03813581169160208101359091169060400135610fea565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106265780601f106105fb57610100808354040283529160200191610626565b820191906000526020600020905b81548152906001019060200180831161060957829003601f168201915b505050505090505b90565b600061064561063e611043565b8484611047565b5060015b92915050565b6106593382611133565b50565b6001600160a01b0381163314156106a45760405162461bcd60e51b8152600401808060200182810382526025815260200180611f806025913960400191505060405180910390fd5b3360008181526009602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b91a350565b600080610706611322565b90508061071757600091505061062e565b600b546005546040805163d15e005360e01b81526001600160a01b036101009093048316600482015290516107b7936107b293169163d15e0053916024808301926020929190829003018186803b15801561077157600080fd5b505afa158015610785573d6000803e3d6000fd5b505050506040513d602081101561079b57600080fd5b50516107a684611328565b9063ffffffff61133e16565b611389565b91505090565b6001600160a01b0381166000908152600860205260409020545b919050565b60006107e98484846113a2565b61085f846107f5611043565b61085a85604051806060016040528060288152602001611fc6602891396001600160a01b038a16600090815260016020526040812090610833611043565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61141116565b611047565b5060019392505050565b60055460ff1690565b6001600160a01b038281166000908152600960205260409020541633146108ca5760405162461bcd60e51b815260040180806020018281038252603a81526020018061214b603a913960400191505060405180910390fd5b6108d48282611133565b5050565b60006106456108e5611043565b8461085a85600160006108f6611043565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6114a816565b600b546001600160a01b031633146109755760405162461bcd60e51b81526004018080602001828103825260328152602001806120f46032913960400191505060405180910390fd5b600080600061098385611502565b935093509350506109958583866115f3565b61099f858561172a565b60006109b1848663ffffffff61183216565b6109c1576109be86611874565b90505b856001600160a01b03167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db8685846109f957856109fc565b60005b60408051938452602084019290925282820152519081900360600190a2505050505050565b6001600160a01b039081166000908152600760205260409020541690565b600b54600554604080516376e9d61560e01b81526101009092046001600160a01b039081166004840152858116602484015260448301859052905160009391909116916376e9d615916064808301926020929190829003018186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d6020811015610ad157600080fd5b50519392505050565b600080610ae683611926565b6001600160a01b03841660009081526008602052604090205490915081158015610b0e575080155b15610b1e576000925050506107d7565b6001600160a01b0384811660009081526007602052604090205416610b6f57610b6681610b5a86610b55868463ffffffff6114a816565b611941565b9063ffffffff61183216565b925050506107d7565b610b66610b8082610b5a8785611941565b839063ffffffff6114a816565b60055461010090046001600160a01b031681565b600b546001600160a01b03163314610bea5760405162461bcd60e51b81526004018080602001828103825260328152602001806120f46032913960400191505060405180910390fd5b600080610bf684611502565b935093505050610c1a84610c1385856114a890919063ffffffff16565b60006115f3565b610c2484846119f6565b604080518481526020810184905280820183905290516001600160a01b038616917fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a919081900360600190a250505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106265780601f106105fb57610100808354040283529160200191610626565b6000610645610ce4611043565b8461085a856040518060600160405280602581526020016121266025913960016000610d0e611043565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61141116565b6000610645610d52611043565b84846113a2565b600061064982611926565b60001981565b60008111610dbf576040805162461bcd60e51b815260206004820181905260248201527f416d6f756e7420746f2072656465656d206e6565647320746f206265203e2030604482015290519081900360640190fd5b6000806000610dcd33611502565b91955093509150849050600019811415610de45750825b83811115610e235760405162461bcd60e51b8152600401808060200182810382526032815260200180611f066032913960400191505060405180910390fd5b610e2d3382610a3f565b610e7e576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b610e893384836115f3565b610e93338261172a565b6000610ea5858363ffffffff61183216565b610eb557610eb233611874565b90505b600b546005546001600160a01b0391821691639895e3d8916101009004163385610ee58a8263ffffffff61183216565b6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b158015610f5457600080fd5b505af1158015610f68573d6000803e3d6000fd5b50505050336001600160a01b03167fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a76468386846109f957866109fc565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b031660009081526006602052604090205490565b600b546001600160a01b031633146110335760405162461bcd60e51b81526004018080602001828103825260328152602001806120f46032913960400191505060405180910390fd5b61103e838383611af2565b505050565b3390565b6001600160a01b03831661108c5760405162461bcd60e51b81526004018080602001828103825260248152602001806120d06024913960400191505060405180910390fd5b6001600160a01b0382166110d15760405162461bcd60e51b8152600401808060200182810382526022815260200180611f386022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0380831660009081526007602052604090205481169082168114156111905760405162461bcd60e51b815260040180806020018281038252602a815260200180611fee602a913960400191505060405180910390fd5b60008060008061119f87611502565b9350935093509350600083116111e65760405162461bcd60e51b81526004018080602001828103825260428152602001806120186042913960600191505060405180910390fd5b6001600160a01b0385161561120157611201876000866115f3565b866001600160a01b0316866001600160a01b0316141561128d576001600160a01b038716600081815260076020908152604080832080546001600160a01b03191690558051878152918201869052818101859052519192917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050506108d4565b6001600160a01b03878116600090815260076020526040812080546001600160a01b031916928916929092179091556112c990889085906115f3565b604080518481526020810184905280820183905290516001600160a01b0380891692908a16917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050505050565b60025490565b600061064982633b9aca0063ffffffff611c2116565b60006113826b033b2e3c9fd0803ce8000000611376611363868663ffffffff611c2116565b6b019d971e4fe8401e74000000906114a8565b9063ffffffff611c7a16565b9392505050565b6000631dcd6500611382633b9aca0061137683866114a8565b82816113ae8282610a3f565b6113ff576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b61140a858585611af2565b5050505050565b600081848411156114a05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561146557818101518382015260200161144d565b50505050905090810190601f1680156114925780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611382576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600080600061151386611926565b9050600061152482610b5a89610ada565b905061153087826119f6565b600b546005546040805163d15e005360e01b81526101009092046001600160a01b0390811660048401529051600093919091169163d15e0053916024808301926020929190829003018186803b15801561158957600080fd5b505afa15801561159d573d6000803e3d6000fd5b505050506040513d60208110156115b357600080fd5b50516001600160a01b03891660009081526006602052604090208190559050826115e3818463ffffffff6114a816565b9099909850919650945092505050565b6001600160a01b038084166000908152600760205260409020541680611619575061103e565b60008061162583611502565b6001600160a01b038716600090815260086020526040902054919550935061165b9250869150610b5a908863ffffffff6114a816565b6001600160a01b038085166000908152600860209081526040808320949094556007905291909120541680156116ce576001600160a01b0381166000908152600860205260409020546116b4908463ffffffff6114a816565b6001600160a01b0382166000908152600860205260409020555b60408051848152602081018490528082018890526060810187905290516001600160a01b038616917f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f919081900360800190a250505050505050565b6001600160a01b03821661176f5760405162461bcd60e51b815260040180806020018281038252602181526020018061208a6021913960400191505060405180910390fd5b61177b8260008361103e565b6117be81604051806060016040528060228152602001611ee4602291396001600160a01b038516600090815260208190526040902054919063ffffffff61141116565b6001600160a01b0383166000908152602081905260409020556002546117ea908263ffffffff61183216565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600061138283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611411565b6001600160a01b038116600081815260076020908152604080832080546001600160a01b03191690558051838152918201839052818101839052519192839290917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594919081900360600190a36001600160a01b03821660009081526008602052604090205461191e57506001600160a01b03811660009081526006602052604081205560016107d7565b5060006107d7565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03808316600090815260066020908152604080832054600b54600554835163d15e005360e01b81526101009091048716600482015292519495611382956107b29593946119ea94939092169263d15e00539260248082019391829003018186803b1580156119b557600080fd5b505afa1580156119c9573d6000803e3d6000fd5b505050506040513d60208110156119df57600080fd5b50516107a687611328565b9063ffffffff611cbc16565b6001600160a01b038216611a51576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611a5d6000838361103e565b600254611a70908263ffffffff6114a816565b6002556001600160a01b038216600090815260208190526040902054611a9c908263ffffffff6114a816565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008111611b315760405162461bcd60e51b815260040180806020018281038252603081526020018061205a6030913960400191505060405180910390fd5b6000806000611b3f86611502565b93509350935050600080611b5287611502565b935093505050611b638885886115f3565b611b7787610c13848963ffffffff6114a816565b611b82888888611cf4565b6000611b94868863ffffffff61183216565b611ba457611ba189611874565b90505b876001600160a01b0316896001600160a01b03167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde889888786611be75789611bea565b60005b60408051948552602085019390935283830191909152606083015260808201879052519081900360a00190a3505050505050505050565b600082611c3057506000610649565b82820282848281611c3d57fe5b04146113825760405162461bcd60e51b8152600401808060200182810382526021815260200180611fa56021913960400191505060405180910390fd5b600061138283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e5b565b600060028204611cec83611376611cdf876b033b2e3c9fd0803ce8000000611c21565b849063ffffffff6114a816565b949350505050565b6001600160a01b038316611d395760405162461bcd60e51b81526004018080602001828103825260258152602001806120ab6025913960400191505060405180910390fd5b6001600160a01b038216611d7e5760405162461bcd60e51b8152600401808060200182810382526023815260200180611ec16023913960400191505060405180910390fd5b611d8983838361103e565b611dcc81604051806060016040528060268152602001611f5a602691396001600160a01b038616600090815260208190526040902054919063ffffffff61141116565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611e01908263ffffffff6114a816565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008183611eaa5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561146557818101518382015260200161144d565b506000838581611eb657fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a264697066735822122008e081bd200e22c2880ab750383a27a6a8ae9d5dc0675e1d00e354d74312aeb964736f6c63430006080033'; + '0x60806040523480156200001157600080fd5b5060405162002bac38038062002bac833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82516401000000008111828201881017156200009c57600080fd5b82525081516020918201929091019080838360005b83811015620000cb578181015183820152602001620000b1565b50505050905090810190601f168015620000f95780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011d57600080fd5b9083019060208201858111156200013357600080fd5b82516401000000008111828201881017156200014e57600080fd5b82525081516020918201929091019080838360005b838110156200017d57818101518382015260200162000163565b50505050905090810190601f168015620001ab5780820380516001836020036101000a031916815260200191505b50604052505082518391508290620001cb906003906020850190620002eb565b508051620001e1906004906020840190620002eb565b50506005805460ff191660121790555062000205836001600160e01b03620002d516565b600a80546001600160a01b0319166001600160a01b03878116919091179182905560408051630261bf8b60e01b815290519290911691630261bf8b91600480820192602092909190829003018186803b1580156200026257600080fd5b505afa15801562000277573d6000803e3d6000fd5b505050506040513d60208110156200028e57600080fd5b5051600b80546001600160a01b0319166001600160a01b0392831617905560058054610100600160a81b031916610100969092169590950217909355506200039092505050565b6005805460ff191660ff92909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200032e57805160ff19168380011785556200035e565b828001600101855582156200035e579182015b828111156200035e57825182559160200191906001019062000341565b506200036c92915062000370565b5090565b6200038d91905b808211156200036c576000815560010162000377565b90565b61280c80620003a06000396000f3fe6080604052600436106101855760003560e01c80635eae177c116100d1578063a9059cbb1161008a578063db006a7511610064578063db006a75146106a9578063dd62ed3e146106d3578063ee9907a41461070e578063f866c31914610741576101e1565b8063a9059cbb14610628578063c634dfaa14610661578063d0fc81d214610694576101e1565b80635eae177c1461052057806370a082311461055957806389d1a0fc1461058c57806394362e8b146105a157806395d89b41146105da578063a457c2d7146105ef576101e1565b806323b872dd1161013e578063395093511161011857806339509351146104265780633edb7cb81461045f578063445e8010146104985780634efecaa5146104e7576101e1565b806323b872dd1461037d578063313ce567146103c0578063325a9b13146103eb576101e1565b806306fdde03146101e6578063095ea7b3146102705780630e49072d146102bd57806312c87c2d146102f057806318160ddd146103235780631d51e7cf1461034a576101e1565b366101e1576005546101a49061010090046001600160a01b0316610784565b6101df5760405162461bcd60e51b815260040180806020018281038252603981526020018061256f6039913960400191505060405180910390fd5b005b600080fd5b3480156101f257600080fd5b506101fb6107aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027c57600080fd5b506102a96004803603604081101561029357600080fd5b506001600160a01b038135169060200135610841565b604080519115158252519081900360200190f35b3480156102c957600080fd5b506101df600480360360208110156102e057600080fd5b50356001600160a01b031661085f565b3480156102fc57600080fd5b506101df6004803603602081101561031357600080fd5b50356001600160a01b031661086c565b34801561032f57600080fd5b5061033861090b565b60408051918252519081900360200190f35b34801561035657600080fd5b506103386004803603602081101561036d57600080fd5b50356001600160a01b03166109cd565b34801561038957600080fd5b506102a9600480360360608110156103a057600080fd5b506001600160a01b038135811691602081013590911690604001356109e8565b3480156103cc57600080fd5b506103d5610a75565b6040805160ff9092168252519081900360200190f35b3480156103f757600080fd5b506101df6004803603604081101561040e57600080fd5b506001600160a01b0381358116916020013516610a7e565b34801561043257600080fd5b506102a96004803603604081101561044957600080fd5b506001600160a01b038135169060200135610ae4565b34801561046b57600080fd5b506101df6004803603604081101561048257600080fd5b506001600160a01b038135169060200135610b38565b3480156104a457600080fd5b506104cb600480360360208110156104bb57600080fd5b50356001600160a01b0316610c2d565b604080516001600160a01b039092168252519081900360200190f35b3480156104f357600080fd5b506103386004803603604081101561050a57600080fd5b506001600160a01b038135169060200135610c4b565b34801561052c57600080fd5b506102a96004803603604081101561054357600080fd5b506001600160a01b038135169060200135610cb9565b34801561056557600080fd5b506103386004803603602081101561057c57600080fd5b50356001600160a01b0316610d54565b34801561059857600080fd5b506104cb610e07565b3480156105ad57600080fd5b506101df600480360360408110156105c457600080fd5b506001600160a01b038135169060200135610e1b565b3480156105e657600080fd5b506101fb610ef0565b3480156105fb57600080fd5b506102a96004803603604081101561061257600080fd5b506001600160a01b038135169060200135610f51565b34801561063457600080fd5b506102a96004803603604081101561064b57600080fd5b506001600160a01b038135169060200135610fbf565b34801561066d57600080fd5b506103386004803603602081101561068457600080fd5b50356001600160a01b0316610fd3565b3480156106a057600080fd5b50610338610fde565b3480156106b557600080fd5b506101df600480360360208110156106cc57600080fd5b5035610fe4565b3480156106df57600080fd5b50610338600480360360408110156106f657600080fd5b506001600160a01b038135811691602001351661121e565b34801561071a57600080fd5b506103386004803603602081101561073157600080fd5b50356001600160a01b0316611249565b34801561074d57600080fd5b506101df6004803603606081101561076457600080fd5b506001600160a01b03813581169160208101359091169060400135611264565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b919050565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108365780601f1061080b57610100808354040283529160200191610836565b820191906000526020600020905b81548152906001019060200180831161081957829003601f168201915b505050505090505b90565b600061085561084e6112bd565b84846112c1565b5060015b92915050565b61086933826113ad565b50565b6001600160a01b0381163314156108b45760405162461bcd60e51b81526004018080602001828103825260258152602001806125a86025913960400191505060405180910390fd5b3360008181526009602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b91a350565b60008061091661159c565b90508061092757600091505061083e565b600b546005546040805163d15e005360e01b81526001600160a01b036101009093048316600482015290516109c7936109c293169163d15e0053916024808301926020929190829003018186803b15801561098157600080fd5b505afa158015610995573d6000803e3d6000fd5b505050506040513d60208110156109ab57600080fd5b50516109b6846115a2565b9063ffffffff6115b816565b611603565b91505090565b6001600160a01b031660009081526008602052604090205490565b60006109f584848461161c565b610a6b84610a016112bd565b610a66856040518060600160405280602881526020016125ee602891396001600160a01b038a16600090815260016020526040812090610a3f6112bd565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61168b16565b6112c1565b5060019392505050565b60055460ff1690565b6001600160a01b03828116600090815260096020526040902054163314610ad65760405162461bcd60e51b815260040180806020018281038252603a81526020018061279d603a913960400191505060405180910390fd5b610ae082826113ad565b5050565b6000610855610af16112bd565b84610a668560016000610b026112bd565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61172216565b600b546001600160a01b03163314610b815760405162461bcd60e51b81526004018080602001828103825260328152602001806127466032913960400191505060405180910390fd5b6000806000610b8f8561177c565b93509350935050610ba185838661186d565b610bab858561196d565b6000610bbd848663ffffffff611a7516565b610bcd57610bca86611ab7565b90505b856001600160a01b03167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db868584610c055785610c08565b60005b60408051938452602084019290925282820152519081900360600190a2505050505050565b6001600160a01b039081166000908152600760205260409020541690565b600b546000906001600160a01b03163314610c975760405162461bcd60e51b81526004018080602001828103825260328152602001806127466032913960400191505060405180910390fd5b600554610cb39061010090046001600160a01b03168484611b69565b50919050565b600b54600554604080516376e9d61560e01b81526101009092046001600160a01b039081166004840152858116602484015260448301859052905160009391909116916376e9d615916064808301926020929190829003018186803b158015610d2157600080fd5b505afa158015610d35573d6000803e3d6000fd5b505050506040513d6020811015610d4b57600080fd5b50519392505050565b600080610d6083611c42565b6001600160a01b03841660009081526008602052604090205490915081158015610d88575080155b15610d98576000925050506107a5565b6001600160a01b0384811660009081526007602052604090205416610de957610de081610dd486610dcf868463ffffffff61172216565b611c5d565b9063ffffffff611a7516565b925050506107a5565b610de0610dfa82610dd48785611c5d565b839063ffffffff61172216565b60055461010090046001600160a01b031681565b600b546001600160a01b03163314610e645760405162461bcd60e51b81526004018080602001828103825260328152602001806127466032913960400191505060405180910390fd5b600080610e708461177c565b935093505050610e9484610e8d858561172290919063ffffffff16565b600061186d565b610e9e8484611d12565b604080518481526020810184905280820183905290516001600160a01b038616917fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a919081900360600190a250505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108365780601f1061080b57610100808354040283529160200191610836565b6000610855610f5e6112bd565b84610a66856040518060600160405280602581526020016127786025913960016000610f886112bd565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61168b16565b6000610855610fcc6112bd565b848461161c565b600061085982611c42565b60001981565b60008111611039576040805162461bcd60e51b815260206004820181905260248201527f416d6f756e7420746f2072656465656d206e6565647320746f206265203e2030604482015290519081900360640190fd5b60008060006110473361177c565b9195509350915084905060001981141561105e5750825b8381111561109d5760405162461bcd60e51b81526004018080602001828103825260328152602001806124f56032913960400191505060405180910390fd5b6110a73382610cb9565b6110f8576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b61110333848361186d565b61110d338261196d565b600061111f858363ffffffff611a7516565b61112f5761112c33611ab7565b90505b600b546005546001600160a01b0391821691639895e3d891610100900416338561115f8a8263ffffffff611a7516565b6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156111ce57600080fd5b505af11580156111e2573d6000803e3d6000fd5b50505050336001600160a01b03167fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a7646838684610c055786610c08565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b031660009081526006602052604090205490565b600b546001600160a01b031633146112ad5760405162461bcd60e51b81526004018080602001828103825260328152602001806127466032913960400191505060405180910390fd5b6112b8838383611e0e565b505050565b3390565b6001600160a01b0383166113065760405162461bcd60e51b81526004018080602001828103825260248152602001806126f86024913960400191505060405180910390fd5b6001600160a01b03821661134b5760405162461bcd60e51b81526004018080602001828103825260228152602001806125276022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03808316600090815260076020526040902054811690821681141561140a5760405162461bcd60e51b815260040180806020018281038252602a815260200180612616602a913960400191505060405180910390fd5b6000806000806114198761177c565b9350935093509350600083116114605760405162461bcd60e51b81526004018080602001828103825260428152602001806126406042913960600191505060405180910390fd5b6001600160a01b0385161561147b5761147b8760008661186d565b866001600160a01b0316866001600160a01b03161415611507576001600160a01b038716600081815260076020908152604080832080546001600160a01b03191690558051878152918201869052818101859052519192917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a35050505050610ae0565b6001600160a01b03878116600090815260076020526040812080546001600160a01b03191692891692909217909155611543908890859061186d565b604080518481526020810184905280820183905290516001600160a01b0380891692908a16917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050505050565b60025490565b600061085982633b9aca0063ffffffff611f5d16565b60006115fc6b033b2e3c9fd0803ce80000006115f06115dd868663ffffffff611f5d16565b6b019d971e4fe8401e7400000090611722565b9063ffffffff611fb616565b9392505050565b6000631dcd65006115fc633b9aca006115f08386611722565b82816116288282610cb9565b611679576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b611684858585611e0e565b5050505050565b6000818484111561171a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156116df5781810151838201526020016116c7565b50505050905090810190601f16801561170c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156115fc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600080600061178d86611c42565b9050600061179e82610dd489610d54565b90506117aa8782611d12565b600b546005546040805163d15e005360e01b81526101009092046001600160a01b0390811660048401529051600093919091169163d15e0053916024808301926020929190829003018186803b15801561180357600080fd5b505afa158015611817573d6000803e3d6000fd5b505050506040513d602081101561182d57600080fd5b50516001600160a01b038916600090815260066020526040902081905590508261185d818463ffffffff61172216565b9099909850919650945092505050565b6001600160a01b03808416600090815260076020526040902054168061189357506112b8565b60008061189f8361177c565b6001600160a01b03871660009081526008602052604090205491955093506118d59250869150610dd4908863ffffffff61172216565b6001600160a01b03808516600090815260086020908152604080832094909455600790529190912054168015611911576119118484600061186d565b60408051848152602081018490528082018890526060810187905290516001600160a01b038616917f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f919081900360800190a250505050505050565b6001600160a01b0382166119b25760405162461bcd60e51b81526004018080602001828103825260218152602001806126b26021913960400191505060405180910390fd5b6119be826000836112b8565b611a01816040518060600160405280602281526020016124d3602291396001600160a01b038516600090815260208190526040902054919063ffffffff61168b16565b6001600160a01b038316600090815260208190526040902055600254611a2d908263ffffffff611a7516565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60006115fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061168b565b6001600160a01b038116600081815260076020908152604080832080546001600160a01b03191690558051838152918201839052818101839052519192839290917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594919081900360600190a36001600160a01b038216600090815260086020526040902054611b6157506001600160a01b03811660009081526006602052604081205560016107a5565b5060006107a5565b80611b73576112b8565b611b7c83610784565b15611c28576040516000906001600160a01b0384169061c35090849084818181858888f193505050503d8060008114611bd1576040519150601f19603f3d011682016040523d82523d6000602084013e611bd6565b606091505b5050905080611c22576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b506112b8565b6112b86001600160a01b038416838363ffffffff611ff816565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03808316600090815260066020908152604080832054600b54600554835163d15e005360e01b815261010090910487166004820152925194956115fc956109c2959394611d0694939092169263d15e00539260248082019391829003018186803b158015611cd157600080fd5b505afa158015611ce5573d6000803e3d6000fd5b505050506040513d6020811015611cfb57600080fd5b50516109b6876115a2565b9063ffffffff61204a16565b6001600160a01b038216611d6d576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611d79600083836112b8565b600254611d8c908263ffffffff61172216565b6002556001600160a01b038216600090815260208190526040902054611db8908263ffffffff61172216565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008111611e4d5760405162461bcd60e51b81526004018080602001828103825260308152602001806126826030913960400191505060405180910390fd5b6000806000611e5b8661177c565b93509350935050600080611e6e8761177c565b935093505050611e7f88858861186d565b611e9387610e8d848963ffffffff61172216565b611e9e888888612082565b6000611eb0868863ffffffff611a7516565b158015611ecf5750876001600160a01b0316896001600160a01b031614155b15611ee057611edd89611ab7565b90505b876001600160a01b0316896001600160a01b03167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde889888786611f235789611f26565b60005b60408051948552602085019390935283830191909152606083015260808201879052519081900360a00190a3505050505050505050565b600082611f6c57506000610859565b82820282848281611f7957fe5b04146115fc5760405162461bcd60e51b81526004018080602001828103825260218152602001806125cd6021913960400191505060405180910390fd5b60006115fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121e9565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526112b890849061224e565b60006002820461207a836115f061206d876b033b2e3c9fd0803ce8000000611f5d565b849063ffffffff61172216565b949350505050565b6001600160a01b0383166120c75760405162461bcd60e51b81526004018080602001828103825260258152602001806126d36025913960400191505060405180910390fd5b6001600160a01b03821661210c5760405162461bcd60e51b81526004018080602001828103825260238152602001806124b06023913960400191505060405180910390fd5b6121178383836112b8565b61215a81604051806060016040528060268152602001612549602691396001600160a01b038616600090815260208190526040902054919063ffffffff61168b16565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461218f908263ffffffff61172216565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081836122385760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156116df5781810151838201526020016116c7565b50600083858161224457fe5b0495945050505050565b60606122a3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122ff9092919063ffffffff16565b8051909150156112b8578080602001905160208110156122c257600080fd5b50516112b85760405162461bcd60e51b815260040180806020018281038252602a81526020018061271c602a913960400191505060405180910390fd5b606061207a8484600085606061231485612476565b612365576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106123a45780518252601f199092019160209182019101612385565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612406576040519150601f19603f3d011682016040523d82523d6000602084013e61240b565b606091505b5091509150811561241f57915061207a9050565b80511561242f5780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156116df5781810151838201526020016116c7565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061207a57505015159291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655472616e736665727320617265206f6e6c7920616c6c6f7765642069662074686520756e6465726c79696e6720617373657420697320455448557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a264697066735822122036124f60105c60035698f550a3f538626a6e2de559fc7e3944d631faf8b418db64736f6c63430006080033'; diff --git a/types/AaveProtocolTestHelpersFactory.ts b/types/AaveProtocolTestHelpersFactory.ts index f337ae56..10ead672 100644 --- a/types/AaveProtocolTestHelpersFactory.ts +++ b/types/AaveProtocolTestHelpersFactory.ts @@ -114,4 +114,4 @@ const _abi = [ ]; const _bytecode = - '0x60a060405234801561001057600080fd5b506040516109df3803806109df83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c610948610097600039806083528060ab528061035f52506109486000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630542975c14610046578063b316ff8914610064578063f561ae4114610079575b600080fd5b61004e610081565b60405161005b91906107ed565b60405180910390f35b61006c6100a5565b60405161005b9190610801565b61006c610359565b7f000000000000000000000000000000000000000000000000000000000000000081565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561010257600080fd5b505afa158015610116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061013a9190610648565b90506060816001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b15801561017757600080fd5b505afa15801561018b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101b391908101906106b6565b90506060815167ffffffffffffffff811180156101cf57600080fd5b5060405190808252806020026020018201604052801561020957816020015b6101f6610613565b8152602001906001900390816101ee5790505b50905060005b825181101561035157604051806040016040528084838151811061022f57fe5b60200260200101516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316146102f05784838151811061026f57fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156102af57600080fd5b505afa1580156102c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102eb9190810190610761565b61030d565b6040518060400160405280600381526020016208aa8960eb1b8152505b815260200184838151811061031e57fe5b60200260200101516001600160a01b031681525082828151811061033e57fe5b602090810291909101015260010161020f565b509250505090565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103b657600080fd5b505afa1580156103ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ee9190610648565b90506060816001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b15801561042b57600080fd5b505afa15801561043f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261046791908101906106b6565b90506060815167ffffffffffffffff8111801561048357600080fd5b506040519080825280602002602001820160405280156104bd57816020015b6104aa610613565b8152602001906001900390816104a25790505b50905060005b8251811015610351576000846001600160a01b031663d2493b6c8584815181106104e957fe5b60200260200101516040518263ffffffff1660e01b815260040161050d91906107ed565b60606040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055d919061066a565b505090506040518060400160405280826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156105a557600080fd5b505afa1580156105b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e19190810190610761565b8152602001826001600160a01b03168152508383815181106105ff57fe5b6020908102919091010152506001016104c3565b60408051808201909152606081526000602082015290565b80516001600160a01b038116811461064257600080fd5b92915050565b600060208284031215610659578081fd5b610663838361062b565b9392505050565b60008060006060848603121561067e578182fd5b8351610689816108fa565b602085015190935061069a816108fa565b60408501519092506106ab816108fa565b809150509250925092565b600060208083850312156106c8578182fd5b825167ffffffffffffffff808211156106df578384fd5b81850186601f8201126106f0578485fd5b8051925081831115610700578485fd5b838302915061071084830161089a565b8381528481019082860184840187018a101561072a578788fd5b8794505b85851015610754576107408a8261062b565b83526001949094019391860191860161072e565b5098975050505050505050565b600060208284031215610772578081fd5b815167ffffffffffffffff80821115610789578283fd5b81840185601f82011261079a578384fd5b80519250818311156107aa578384fd5b6107bd601f8401601f191660200161089a565b91508282528560208483010111156107d3578384fd5b6107e48360208401602084016108ca565b50949350505050565b6001600160a01b0391909116815260200190565b60208082528251828201819052600091906040908185019080840286018301878501865b8381101561088c57888303603f1901855281518051878552805161084b818a88016108c1565b61085882828d86016108ca565b928a01516001600160a01b0316958a01959095525094870194601f93909301601f1916929092019190860190600101610825565b509098975050505050505050565b60405181810167ffffffffffffffff811182821017156108b957600080fd5b604052919050565b90815260200190565b60005b838110156108e55781810151838201526020016108cd565b838111156108f4576000848401525b50505050565b6001600160a01b038116811461090f57600080fd5b5056fea26469706673582212209080c3c3d11b498a92d584e4f6c89d88ca96b1d3443c865ae77419e5872e8e8b64736f6c63430006080033'; + '0x60a060405234801561001057600080fd5b506040516109df3803806109df83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c610948610097600039806083528060ab528061035f52506109486000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630542975c14610046578063b316ff8914610064578063f561ae4114610079575b600080fd5b61004e610081565b60405161005b91906107ed565b60405180910390f35b61006c6100a5565b60405161005b9190610801565b61006c610359565b7f000000000000000000000000000000000000000000000000000000000000000081565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561010257600080fd5b505afa158015610116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061013a9190610648565b90506060816001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b15801561017757600080fd5b505afa15801561018b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101b391908101906106b6565b90506060815167ffffffffffffffff811180156101cf57600080fd5b5060405190808252806020026020018201604052801561020957816020015b6101f6610613565b8152602001906001900390816101ee5790505b50905060005b825181101561035157604051806040016040528084838151811061022f57fe5b60200260200101516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316146102f05784838151811061026f57fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156102af57600080fd5b505afa1580156102c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102eb9190810190610761565b61030d565b6040518060400160405280600381526020016208aa8960eb1b8152505b815260200184838151811061031e57fe5b60200260200101516001600160a01b031681525082828151811061033e57fe5b602090810291909101015260010161020f565b509250505090565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103b657600080fd5b505afa1580156103ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ee9190610648565b90506060816001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b15801561042b57600080fd5b505afa15801561043f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261046791908101906106b6565b90506060815167ffffffffffffffff8111801561048357600080fd5b506040519080825280602002602001820160405280156104bd57816020015b6104aa610613565b8152602001906001900390816104a25790505b50905060005b8251811015610351576000846001600160a01b031663d2493b6c8584815181106104e957fe5b60200260200101516040518263ffffffff1660e01b815260040161050d91906107ed565b60606040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055d919061066a565b505090506040518060400160405280826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156105a557600080fd5b505afa1580156105b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e19190810190610761565b8152602001826001600160a01b03168152508383815181106105ff57fe5b6020908102919091010152506001016104c3565b60408051808201909152606081526000602082015290565b80516001600160a01b038116811461064257600080fd5b92915050565b600060208284031215610659578081fd5b610663838361062b565b9392505050565b60008060006060848603121561067e578182fd5b8351610689816108fa565b602085015190935061069a816108fa565b60408501519092506106ab816108fa565b809150509250925092565b600060208083850312156106c8578182fd5b825167ffffffffffffffff808211156106df578384fd5b81850186601f8201126106f0578485fd5b8051925081831115610700578485fd5b838302915061071084830161089a565b8381528481019082860184840187018a101561072a578788fd5b8794505b85851015610754576107408a8261062b565b83526001949094019391860191860161072e565b5098975050505050505050565b600060208284031215610772578081fd5b815167ffffffffffffffff80821115610789578283fd5b81840185601f82011261079a578384fd5b80519250818311156107aa578384fd5b6107bd601f8401601f191660200161089a565b91508282528560208483010111156107d3578384fd5b6107e48360208401602084016108ca565b50949350505050565b6001600160a01b0391909116815260200190565b60208082528251828201819052600091906040908185019080840286018301878501865b8381101561088c57888303603f1901855281518051878552805161084b818a88016108c1565b61085882828d86016108ca565b928a01516001600160a01b0316958a01959095525094870194601f93909301601f1916929092019190860190600101610825565b509098975050505050505050565b60405181810167ffffffffffffffff811182821017156108b957600080fd5b604052919050565b90815260200190565b60005b838110156108e55781810151838201526020016108cd565b838111156108f4576000848401525b50505050565b6001600160a01b038116811461090f57600080fd5b5056fea2646970667358221220c6d9c3ee3b7840765774d91be270d13caff4d3f46e7549ed0256b6e15c2b04dc64736f6c63430006080033'; diff --git a/types/AddressStorageFactory.ts b/types/AddressStorageFactory.ts index 039a8b97..2478ee60 100644 --- a/types/AddressStorageFactory.ts +++ b/types/AddressStorageFactory.ts @@ -53,4 +53,4 @@ const _abi = [ ]; const _bytecode = - '0x6080604052348015600f57600080fd5b5060b48061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806321f8a72114602d575b600080fd5b604760048036036020811015604157600080fd5b50356063565b604080516001600160a01b039092168252519081900360200190f35b6000908152602081905260409020546001600160a01b03169056fea2646970667358221220f09fcedc0f4e085a79292d7250a582eb479b29b554e5b6f0da0a8b9d6519437d64736f6c63430006080033'; + '0x6080604052348015600f57600080fd5b5060b48061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806321f8a72114602d575b600080fd5b604760048036036020811015604157600080fd5b50356063565b604080516001600160a01b039092168252519081900360200190f35b6000908152602081905260409020546001600160a01b03169056fea26469706673582212203c1dbec53972735ede35517c4ebd8e6bba33dac60fb4d0b80ff546d1a037b6dc64736f6c63430006080033'; diff --git a/types/AdminUpgradeabilityProxyFactory.ts b/types/AdminUpgradeabilityProxyFactory.ts index de7f5759..f1a2ad3a 100644 --- a/types/AdminUpgradeabilityProxyFactory.ts +++ b/types/AdminUpgradeabilityProxyFactory.ts @@ -172,4 +172,4 @@ const _abi = [ ]; const _bytecode = - '0x60806040526040516109f73803806109f78339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c01902086935084925060008051602061099c83398151915260001990910114905061013157fe5b610143826001600160e01b0361026516565b8051156101fb576000826001600160a01b0316826040518082805190602001908083835b602083106101865780518252601f199092019160209182019101610167565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101e6576040519150601f19603f3d011682016040523d82523d6000602084013e6101eb565b606091505b50509050806101f957600080fd5b505b5050604080517f656970313936372e70726f78792e61646d696e000000000000000000000000008152905190819003601301902060008051602061097c8339815191526000199091011461024b57fe5b61025d826001600160e01b036102c516565b505050610313565b610278816102d760201b6103a31760201c565b6102b35760405162461bcd60e51b815260040180806020018281038252603b8152602001806109bc603b913960400191505060405180910390fd5b60008051602061099c83398151915255565b60008051602061097c83398151915255565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061030b57508115155b949350505050565b61065a806103226000396000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b146101075780638f28397014610138578063f851a4401461016b575b610052610180565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661019a565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b5090925090506101d4565b34801561011357600080fd5b5061011c610281565b604080516001600160a01b039092168252519081900360200190f35b34801561014457600080fd5b506100526004803603602081101561015b57600080fd5b50356001600160a01b03166102be565b34801561017757600080fd5b5061011c610378565b6101886103df565b6101986101936103e7565b61040c565b565b6101a2610430565b6001600160a01b0316336001600160a01b031614156101c9576101c481610455565b6101d1565b6101d1610180565b50565b6101dc610430565b6001600160a01b0316336001600160a01b03161415610274576101fe83610455565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461025b576040519150601f19603f3d011682016040523d82523d6000602084013e610260565b606091505b505090508061026e57600080fd5b5061027c565b61027c610180565b505050565b600061028b610430565b6001600160a01b0316336001600160a01b031614156102b3576102ac6103e7565b90506102bb565b6102bb610180565b90565b6102c6610430565b6001600160a01b0316336001600160a01b031614156101c9576001600160a01b0381166103245760405162461bcd60e51b81526004018080602001828103825260368152602001806105b46036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61034d610430565b604080516001600160a01b03928316815291841660208301528051918290030190a16101c481610495565b6000610382610430565b6001600160a01b0316336001600160a01b031614156102b3576102ac610430565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906103d757508115155b949350505050565b6101986104b9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561042b573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61045e81610519565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104c1610430565b6001600160a01b0316336001600160a01b031614156105115760405162461bcd60e51b81526004018080602001828103825260328152602001806105826032913960400191505060405180910390fd5b610198610198565b610522816103a3565b61055d5760405162461bcd60e51b815260040180806020018281038252603b8152602001806105ea603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122009e74f9e33d90b230b30a0fb22efececb0ab338cc63876b32bae547e2f31f67d64736f6c63430006080033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373'; + '0x60806040526040516109f73803806109f78339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c01902086935084925060008051602061099c83398151915260001990910114905061013157fe5b610143826001600160e01b0361026516565b8051156101fb576000826001600160a01b0316826040518082805190602001908083835b602083106101865780518252601f199092019160209182019101610167565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101e6576040519150601f19603f3d011682016040523d82523d6000602084013e6101eb565b606091505b50509050806101f957600080fd5b505b5050604080517f656970313936372e70726f78792e61646d696e000000000000000000000000008152905190819003601301902060008051602061097c8339815191526000199091011461024b57fe5b61025d826001600160e01b036102c516565b505050610313565b610278816102d760201b6103a31760201c565b6102b35760405162461bcd60e51b815260040180806020018281038252603b8152602001806109bc603b913960400191505060405180910390fd5b60008051602061099c83398151915255565b60008051602061097c83398151915255565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061030b57508115155b949350505050565b61065a806103226000396000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b146101075780638f28397014610138578063f851a4401461016b575b610052610180565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661019a565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b5090925090506101d4565b34801561011357600080fd5b5061011c610281565b604080516001600160a01b039092168252519081900360200190f35b34801561014457600080fd5b506100526004803603602081101561015b57600080fd5b50356001600160a01b03166102be565b34801561017757600080fd5b5061011c610378565b6101886103df565b6101986101936103e7565b61040c565b565b6101a2610430565b6001600160a01b0316336001600160a01b031614156101c9576101c481610455565b6101d1565b6101d1610180565b50565b6101dc610430565b6001600160a01b0316336001600160a01b03161415610274576101fe83610455565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461025b576040519150601f19603f3d011682016040523d82523d6000602084013e610260565b606091505b505090508061026e57600080fd5b5061027c565b61027c610180565b505050565b600061028b610430565b6001600160a01b0316336001600160a01b031614156102b3576102ac6103e7565b90506102bb565b6102bb610180565b90565b6102c6610430565b6001600160a01b0316336001600160a01b031614156101c9576001600160a01b0381166103245760405162461bcd60e51b81526004018080602001828103825260368152602001806105b46036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61034d610430565b604080516001600160a01b03928316815291841660208301528051918290030190a16101c481610495565b6000610382610430565b6001600160a01b0316336001600160a01b031614156102b3576102ac610430565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906103d757508115155b949350505050565b6101986104b9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561042b573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61045e81610519565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104c1610430565b6001600160a01b0316336001600160a01b031614156105115760405162461bcd60e51b81526004018080602001828103825260328152602001806105826032913960400191505060405180910390fd5b610198610198565b610522816103a3565b61055d5760405162461bcd60e51b815260040180806020018281038252603b8152602001806105ea603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220ab2d41e63cbe522ce3aa66ed2dc31ddf58bbba61391748206b6c58e7214fb2e264736f6c63430006080033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373'; diff --git a/types/BaseAdminUpgradeabilityProxyFactory.ts b/types/BaseAdminUpgradeabilityProxyFactory.ts index 4b616103..1f04542f 100644 --- a/types/BaseAdminUpgradeabilityProxyFactory.ts +++ b/types/BaseAdminUpgradeabilityProxyFactory.ts @@ -143,4 +143,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b50610652806100206000396000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b146101075780638f28397014610138578063f851a4401461016b575b610052610180565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661019a565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b5090925090506101d4565b34801561011357600080fd5b5061011c610281565b604080516001600160a01b039092168252519081900360200190f35b34801561014457600080fd5b506100526004803603602081101561015b57600080fd5b50356001600160a01b03166102be565b34801561017757600080fd5b5061011c610378565b6101886103a3565b610198610193610403565b610428565b565b6101a261044c565b6001600160a01b0316336001600160a01b031614156101c9576101c481610471565b6101d1565b6101d1610180565b50565b6101dc61044c565b6001600160a01b0316336001600160a01b03161415610274576101fe83610471565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461025b576040519150601f19603f3d011682016040523d82523d6000602084013e610260565b606091505b505090508061026e57600080fd5b5061027c565b61027c610180565b505050565b600061028b61044c565b6001600160a01b0316336001600160a01b031614156102b3576102ac610403565b90506102bb565b6102bb610180565b90565b6102c661044c565b6001600160a01b0316336001600160a01b031614156101c9576001600160a01b0381166103245760405162461bcd60e51b81526004018080602001828103825260368152602001806105ac6036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61034d61044c565b604080516001600160a01b03928316815291841660208301528051918290030190a16101c4816104b1565b600061038261044c565b6001600160a01b0316336001600160a01b031614156102b3576102ac61044c565b6103ab61044c565b6001600160a01b0316336001600160a01b031614156103fb5760405162461bcd60e51b815260040180806020018281038252603281526020018061057a6032913960400191505060405180910390fd5b610198610198565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610447573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61047a816104d5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104de8161053d565b6105195760405162461bcd60e51b815260040180806020018281038252603b8152602001806105e2603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061057157508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220bd1c64e491a10408727bf2c0ba11cafb0e603d67e73d56ba5f1e5aaf164d9e6864736f6c63430006080033'; + '0x608060405234801561001057600080fd5b50610652806100206000396000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b146101075780638f28397014610138578063f851a4401461016b575b610052610180565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661019a565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b5090925090506101d4565b34801561011357600080fd5b5061011c610281565b604080516001600160a01b039092168252519081900360200190f35b34801561014457600080fd5b506100526004803603602081101561015b57600080fd5b50356001600160a01b03166102be565b34801561017757600080fd5b5061011c610378565b6101886103a3565b610198610193610403565b610428565b565b6101a261044c565b6001600160a01b0316336001600160a01b031614156101c9576101c481610471565b6101d1565b6101d1610180565b50565b6101dc61044c565b6001600160a01b0316336001600160a01b03161415610274576101fe83610471565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461025b576040519150601f19603f3d011682016040523d82523d6000602084013e610260565b606091505b505090508061026e57600080fd5b5061027c565b61027c610180565b505050565b600061028b61044c565b6001600160a01b0316336001600160a01b031614156102b3576102ac610403565b90506102bb565b6102bb610180565b90565b6102c661044c565b6001600160a01b0316336001600160a01b031614156101c9576001600160a01b0381166103245760405162461bcd60e51b81526004018080602001828103825260368152602001806105ac6036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61034d61044c565b604080516001600160a01b03928316815291841660208301528051918290030190a16101c4816104b1565b600061038261044c565b6001600160a01b0316336001600160a01b031614156102b3576102ac61044c565b6103ab61044c565b6001600160a01b0316336001600160a01b031614156103fb5760405162461bcd60e51b815260040180806020018281038252603281526020018061057a6032913960400191505060405180910390fd5b610198610198565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610447573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61047a816104d5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104de8161053d565b6105195760405162461bcd60e51b815260040180806020018281038252603b8152602001806105e2603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061057157508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122080fb7a29d20b62c9d75049f213e628259458033ab4be1b0f43737441acf9ee3064736f6c63430006080033'; diff --git a/types/BaseUpgradeabilityProxyFactory.ts b/types/BaseUpgradeabilityProxyFactory.ts index c062cfea..125e10c8 100644 --- a/types/BaseUpgradeabilityProxyFactory.ts +++ b/types/BaseUpgradeabilityProxyFactory.ts @@ -51,4 +51,4 @@ const _abi = [ ]; const _bytecode = - '0x6080604052348015600f57600080fd5b50609e8061001e6000396000f3fe6080604052600a600c565b005b6012601e565b601e601a6020565b6045565b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156063573d6000f35b3d6000fdfea26469706673582212204da865f60c349026a6987afe00968cca8fac24d5035d8f57aa280f04a1b54d3664736f6c63430006080033'; + '0x6080604052348015600f57600080fd5b50609e8061001e6000396000f3fe6080604052600a600c565b005b6012601e565b601e601a6020565b6045565b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156063573d6000f35b3d6000fdfea264697066735822122026f9f0a10c55993cd5e1ec3854f2261ee54f57fd62ea6dcffd6b08e6f296847d64736f6c63430006080033'; diff --git a/types/ChainlinkProxyPriceProviderFactory.ts b/types/ChainlinkProxyPriceProviderFactory.ts index 1fb6efd3..fe46408e 100644 --- a/types/ChainlinkProxyPriceProviderFactory.ts +++ b/types/ChainlinkProxyPriceProviderFactory.ts @@ -255,4 +255,4 @@ const _abi = [ ]; const _bytecode = - '0x60806040523480156200001157600080fd5b5060405162000e3538038062000e35833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82518660208202830111640100000000821117156200008c57600080fd5b82525081516020918201928201910280838360005b83811015620000bb578181015183820152602001620000a1565b5050505090500160405260200180516040519392919084640100000000821115620000e557600080fd5b908301906020820185811115620000fb57600080fd5b82518660208202830111640100000000821117156200011957600080fd5b82525081516020918201928201910280838360005b83811015620001485781810151838201526020016200012e565b50505050919091016040525060200151915060009050620001716001600160e01b03620001ed16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001cf816001600160e01b03620001f116565b620001e483836001600160e01b036200023b16565b50505062000387565b3390565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb90600090a250565b805182511462000292576040805162461bcd60e51b815260206004820152601a60248201527f494e434f4e53495354454e545f504152414d535f4c454e475448000000000000604482015290519081900360640190fd5b60005b82518110156200038257818181518110620002ac57fe5b602002602001015160016000858481518110620002c557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106200031e57fe5b60200260200101516001600160a01b03168382815181106200033c57fe5b60200260200101516001600160a01b03167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a360010162000295565b505050565b610a9e80620003976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806392bf2be01161006657806392bf2be0146100f45780639d23d9f21461011a578063abfd5310146101da578063b3596f071461029c578063f2fde38b146102d457610093565b8063170aee73146100985780636210308c146100c0578063715018a6146100e45780638da5cb5b146100ec575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166102fa565b005b6100c861035e565b604080516001600160a01b039092168252519081900360200190f35b6100be61036d565b6100c861040f565b6100c86004803603602081101561010a57600080fd5b50356001600160a01b031661041e565b61018a6004803603602081101561013057600080fd5b81019060208101813564010000000081111561014b57600080fd5b82018360208201111561015d57600080fd5b8035906020019184602083028401116401000000008311171561017f57600080fd5b50909250905061043f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101c65781810151838201526020016101ae565b505050509050019250505060405180910390f35b6100be600480360360408110156101f057600080fd5b81019060208101813564010000000081111561020b57600080fd5b82018360208201111561021d57600080fd5b8035906020019184602083028401116401000000008311171561023f57600080fd5b91939092909160208101903564010000000081111561025d57600080fd5b82018360208201111561026f57600080fd5b8035906020019184602083028401116401000000008311171561029157600080fd5b5090925090506104dc565b6102c2600480360360208110156102b257600080fd5b50356001600160a01b03166105a7565b60408051918252519081900360200190f35b6100be600480360360208110156102ea57600080fd5b50356001600160a01b0316610772565b61030261086a565b6000546001600160a01b03908116911614610352576040805162461bcd60e51b81526020600482018190526024820152600080516020610a49833981519152604482015290519081900360640190fd5b61035b8161086e565b50565b6002546001600160a01b031690565b61037561086a565b6000546001600160a01b039081169116146103c5576040805162461bcd60e51b81526020600482018190526024820152600080516020610a49833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6001600160a01b03808216600090815260016020526040902054165b919050565b6060808267ffffffffffffffff8111801561045957600080fd5b50604051908082528060200260200182016040528015610483578160200160208202803683370190505b50905060005b838110156104d4576104b58585838181106104a057fe5b905060200201356001600160a01b03166105a7565b8282815181106104c157fe5b6020908102919091010152600101610489565b509392505050565b6104e461086a565b6000546001600160a01b03908116911614610534576040805162461bcd60e51b81526020600482018190526024820152600080516020610a49833981519152604482015290519081900360640190fd5b6105a1848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040805160208088028281018201909352878252909350879250869182918501908490808284376000920191909152506108b892505050565b50505050565b6001600160a01b03808216600081815260016020526040812054909216906105ce906109fd565b156105e457670de0b6b3a764000091505061043a565b6001600160a01b038116610674576002546040805163b3596f0760e01b81526001600160a01b0386811660048301529151919092169163b3596f07916024808301926020929190829003018186803b15801561063f57600080fd5b505afa158015610653573d6000803e3d6000fd5b505050506040513d602081101561066957600080fd5b5051915061043a9050565b6000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106af57600080fd5b505afa1580156106c3573d6000803e3d6000fd5b505050506040513d60208110156106d957600080fd5b5051905060008113156106ef57915061043a9050565b6002546040805163b3596f0760e01b81526001600160a01b0387811660048301529151919092169163b3596f07916024808301926020929190829003018186803b15801561073c57600080fd5b505afa158015610750573d6000803e3d6000fd5b505050506040513d602081101561076657600080fd5b5051925061043a915050565b61077a61086a565b6000546001600160a01b039081169116146107ca576040805162461bcd60e51b81526020600482018190526024820152600080516020610a49833981519152604482015290519081900360640190fd5b6001600160a01b03811661080f5760405162461bcd60e51b8152600401808060200182810382526026815260200180610a236026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb90600090a250565b805182511461090e576040805162461bcd60e51b815260206004820152601a60248201527f494e434f4e53495354454e545f504152414d535f4c454e475448000000000000604482015290519081900360640190fd5b60005b82518110156109f85781818151811061092657fe5b60200260200101516001600085848151811061093e57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081818151811061099657fe5b60200260200101516001600160a01b03168382815181106109b357fe5b60200260200101516001600160a01b03167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a3600101610911565b505050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1491905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220577cf60e056039380a0d4bf46b9b557168c819edaeeb73d1b4bbe51d01367ea464736f6c63430006080033'; + '0x60806040523480156200001157600080fd5b5060405162000e3538038062000e35833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82518660208202830111640100000000821117156200008c57600080fd5b82525081516020918201928201910280838360005b83811015620000bb578181015183820152602001620000a1565b5050505090500160405260200180516040519392919084640100000000821115620000e557600080fd5b908301906020820185811115620000fb57600080fd5b82518660208202830111640100000000821117156200011957600080fd5b82525081516020918201928201910280838360005b83811015620001485781810151838201526020016200012e565b50505050919091016040525060200151915060009050620001716001600160e01b03620001ed16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001cf816001600160e01b03620001f116565b620001e483836001600160e01b036200023b16565b50505062000387565b3390565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb90600090a250565b805182511462000292576040805162461bcd60e51b815260206004820152601a60248201527f494e434f4e53495354454e545f504152414d535f4c454e475448000000000000604482015290519081900360640190fd5b60005b82518110156200038257818181518110620002ac57fe5b602002602001015160016000858481518110620002c557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106200031e57fe5b60200260200101516001600160a01b03168382815181106200033c57fe5b60200260200101516001600160a01b03167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a360010162000295565b505050565b610a9e80620003976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806392bf2be01161006657806392bf2be0146100f45780639d23d9f21461011a578063abfd5310146101da578063b3596f071461029c578063f2fde38b146102d457610093565b8063170aee73146100985780636210308c146100c0578063715018a6146100e45780638da5cb5b146100ec575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166102fa565b005b6100c861035e565b604080516001600160a01b039092168252519081900360200190f35b6100be61036d565b6100c861040f565b6100c86004803603602081101561010a57600080fd5b50356001600160a01b031661041e565b61018a6004803603602081101561013057600080fd5b81019060208101813564010000000081111561014b57600080fd5b82018360208201111561015d57600080fd5b8035906020019184602083028401116401000000008311171561017f57600080fd5b50909250905061043f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101c65781810151838201526020016101ae565b505050509050019250505060405180910390f35b6100be600480360360408110156101f057600080fd5b81019060208101813564010000000081111561020b57600080fd5b82018360208201111561021d57600080fd5b8035906020019184602083028401116401000000008311171561023f57600080fd5b91939092909160208101903564010000000081111561025d57600080fd5b82018360208201111561026f57600080fd5b8035906020019184602083028401116401000000008311171561029157600080fd5b5090925090506104dc565b6102c2600480360360208110156102b257600080fd5b50356001600160a01b03166105a7565b60408051918252519081900360200190f35b6100be600480360360208110156102ea57600080fd5b50356001600160a01b0316610772565b61030261086a565b6000546001600160a01b03908116911614610352576040805162461bcd60e51b81526020600482018190526024820152600080516020610a49833981519152604482015290519081900360640190fd5b61035b8161086e565b50565b6002546001600160a01b031690565b61037561086a565b6000546001600160a01b039081169116146103c5576040805162461bcd60e51b81526020600482018190526024820152600080516020610a49833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6001600160a01b03808216600090815260016020526040902054165b919050565b6060808267ffffffffffffffff8111801561045957600080fd5b50604051908082528060200260200182016040528015610483578160200160208202803683370190505b50905060005b838110156104d4576104b58585838181106104a057fe5b905060200201356001600160a01b03166105a7565b8282815181106104c157fe5b6020908102919091010152600101610489565b509392505050565b6104e461086a565b6000546001600160a01b03908116911614610534576040805162461bcd60e51b81526020600482018190526024820152600080516020610a49833981519152604482015290519081900360640190fd5b6105a1848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040805160208088028281018201909352878252909350879250869182918501908490808284376000920191909152506108b892505050565b50505050565b6001600160a01b03808216600081815260016020526040812054909216906105ce906109fd565b156105e457670de0b6b3a764000091505061043a565b6001600160a01b038116610674576002546040805163b3596f0760e01b81526001600160a01b0386811660048301529151919092169163b3596f07916024808301926020929190829003018186803b15801561063f57600080fd5b505afa158015610653573d6000803e3d6000fd5b505050506040513d602081101561066957600080fd5b5051915061043a9050565b6000816001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106af57600080fd5b505afa1580156106c3573d6000803e3d6000fd5b505050506040513d60208110156106d957600080fd5b5051905060008113156106ef57915061043a9050565b6002546040805163b3596f0760e01b81526001600160a01b0387811660048301529151919092169163b3596f07916024808301926020929190829003018186803b15801561073c57600080fd5b505afa158015610750573d6000803e3d6000fd5b505050506040513d602081101561076657600080fd5b5051925061043a915050565b61077a61086a565b6000546001600160a01b039081169116146107ca576040805162461bcd60e51b81526020600482018190526024820152600080516020610a49833981519152604482015290519081900360640190fd5b6001600160a01b03811661080f5760405162461bcd60e51b8152600401808060200182810382526026815260200180610a236026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb90600090a250565b805182511461090e576040805162461bcd60e51b815260206004820152601a60248201527f494e434f4e53495354454e545f504152414d535f4c454e475448000000000000604482015290519081900360640190fd5b60005b82518110156109f85781818151811061092657fe5b60200260200101516001600085848151811061093e57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081818151811061099657fe5b60200260200101516001600160a01b03168382815181106109b357fe5b60200260200101516001600160a01b03167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a3600101610911565b505050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1491905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220beb59e0ee54ed1ee1c6a54ddf3c7f0462a22dba0d07fbdf4672b6c5e9d6ddea064736f6c63430006080033'; diff --git a/types/DefaultReserveInterestRateStrategyFactory.ts b/types/DefaultReserveInterestRateStrategyFactory.ts index 9759b8e3..e021d4c4 100644 --- a/types/DefaultReserveInterestRateStrategyFactory.ts +++ b/types/DefaultReserveInterestRateStrategyFactory.ts @@ -259,4 +259,4 @@ const _abi = [ ]; const _bytecode = - '0x61014060405234801561001157600080fd5b50604051610a77380380610a77833981810160405260c081101561003457600080fd5b5080516020820151604083015160608085015160808087015160a0978801516001600160601b03199790941b9690961690529290945260c05260e052610100526101205260805160601c60a05160c05160e05161010051610120516109866100f16000398061018852806103845250806103b5528061049c52806105aa5250806103f552806105ce525080610164528061044652806104de5250806101bb52806104255280610527525080610232528061058652506109866000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806357e37af01161006657806357e37af0146100ca578063a15f30ac14610126578063c72c4d101461012e578063d5cd739114610152578063f42024091461015a57610093565b80630b3429a21461009857806314e32da4146100b257806317319873146100ba57806334762ca5146100c2575b600080fd5b6100a0610162565b60408051918252519081900360200190f35b6100a0610186565b6100a06101aa565b6100a06101b9565b610108600480360360a08110156100e057600080fd5b506001600160a01b0381351690602081013590604081013590606081013590608001356101dd565b60408051938452602084019290925282820152519081900360600190f35b6100a0610574565b610136610584565b604080516001600160a01b039092168252519081900360200190f35b6100a06105a8565b6100a06105cc565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6aa56fa5b99019a5c800000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008080806101f2878763ffffffff6105f016565b9050600081158015610202575088155b61022b576102266102198a8463ffffffff6105f016565b839063ffffffff61065316565b61022e565b60005b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633618abba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561028957600080fd5b505afa15801561029d573d6000803e3d6000fd5b505050506040513d60208110156102b357600080fd5b50516040805163bb85c0bb60e01b81526001600160a01b038d811660048301529151919092169163bb85c0bb916024808301926020929190829003018186803b1580156102ff57600080fd5b505afa158015610313573d6000803e3d6000fd5b505050506040513d602081101561032957600080fd5b505193506b0295be96e64066972000000081111561047857600061037a6aa56fa5b99019a5c800000061036e846b0295be96e64066972000000063ffffffff61069716565b9063ffffffff61065316565b90506103eb6103af7f00000000000000000000000000000000000000000000000000000000000000008363ffffffff6106d916565b6103df877f000000000000000000000000000000000000000000000000000000000000000063ffffffff6105f016565b9063ffffffff6105f016565b94506104706104207f00000000000000000000000000000000000000000000000000000000000000008363ffffffff6106d916565b6103df7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff6105f016565b935050610555565b6104d46104c761049a836b0295be96e64066972000000063ffffffff61065316565b7f00000000000000000000000000000000000000000000000000000000000000009063ffffffff6106d916565b859063ffffffff6105f016565b93506105526105257f0000000000000000000000000000000000000000000000000000000000000000610519846b0295be96e64066972000000063ffffffff61065316565b9063ffffffff6106d916565b7f00000000000000000000000000000000000000000000000000000000000000009063ffffffff6105f016565b92505b610565816105198a8a878b610711565b94505050955095509592505050565b6b0295be96e64066972000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008282018381101561064a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006002820461068f83610683610676876b033b2e3c9fd0803ce8000000610782565b849063ffffffff6105f016565b9063ffffffff6107db16565b949350505050565b600061064a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061081d565b600061064a6b033b2e3c9fd0803ce80000006106836106fe868663ffffffff61078216565b6b019d971e4fe8401e74000000906105f0565b600080610724868663ffffffff6105f016565b90508061073557600091505061068f565b600061074485610519886108b4565b90506000610755856105198a6108b4565b90506000610775610765856108b4565b61036e858563ffffffff6105f016565b9998505050505050505050565b6000826107915750600061064d565b8282028284828161079e57fe5b041461064a5760405162461bcd60e51b81526004018080602001828103825260218152602001806109306021913960400191505060405180910390fd5b600061064a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506108ca565b600081848411156108ac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610871578181015183820152602001610859565b50505050905090810190601f16801561089e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600061064d82633b9aca0063ffffffff61078216565b600081836109195760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610871578181015183820152602001610859565b50600083858161092557fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d97e297cc5b01ba43a633c3dd2d60428ca13542210ebd3b7a292a23c05321cf164736f6c63430006080033'; + '0x61014060405234801561001157600080fd5b50604051610a77380380610a77833981810160405260c081101561003457600080fd5b5080516020820151604083015160608085015160808087015160a0978801516001600160601b03199790941b9690961690529290945260c05260e052610100526101205260805160601c60a05160c05160e05161010051610120516109866100f16000398061018852806103845250806103b5528061049c52806105aa5250806103f552806105ce525080610164528061044652806104de5250806101bb52806104255280610527525080610232528061058652506109866000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806357e37af01161006657806357e37af0146100ca578063a15f30ac14610126578063c72c4d101461012e578063d5cd739114610152578063f42024091461015a57610093565b80630b3429a21461009857806314e32da4146100b257806317319873146100ba57806334762ca5146100c2575b600080fd5b6100a0610162565b60408051918252519081900360200190f35b6100a0610186565b6100a06101aa565b6100a06101b9565b610108600480360360a08110156100e057600080fd5b506001600160a01b0381351690602081013590604081013590606081013590608001356101dd565b60408051938452602084019290925282820152519081900360600190f35b6100a0610574565b610136610584565b604080516001600160a01b039092168252519081900360200190f35b6100a06105a8565b6100a06105cc565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6aa56fa5b99019a5c800000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008080806101f2878763ffffffff6105f016565b9050600081158015610202575088155b61022b576102266102198a8463ffffffff6105f016565b839063ffffffff61065316565b61022e565b60005b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633618abba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561028957600080fd5b505afa15801561029d573d6000803e3d6000fd5b505050506040513d60208110156102b357600080fd5b50516040805163bb85c0bb60e01b81526001600160a01b038d811660048301529151919092169163bb85c0bb916024808301926020929190829003018186803b1580156102ff57600080fd5b505afa158015610313573d6000803e3d6000fd5b505050506040513d602081101561032957600080fd5b505193506b0295be96e64066972000000081111561047857600061037a6aa56fa5b99019a5c800000061036e846b0295be96e64066972000000063ffffffff61069716565b9063ffffffff61065316565b90506103eb6103af7f00000000000000000000000000000000000000000000000000000000000000008363ffffffff6106d916565b6103df877f000000000000000000000000000000000000000000000000000000000000000063ffffffff6105f016565b9063ffffffff6105f016565b94506104706104207f00000000000000000000000000000000000000000000000000000000000000008363ffffffff6106d916565b6103df7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000063ffffffff6105f016565b935050610555565b6104d46104c761049a836b0295be96e64066972000000063ffffffff61065316565b7f00000000000000000000000000000000000000000000000000000000000000009063ffffffff6106d916565b859063ffffffff6105f016565b93506105526105257f0000000000000000000000000000000000000000000000000000000000000000610519846b0295be96e64066972000000063ffffffff61065316565b9063ffffffff6106d916565b7f00000000000000000000000000000000000000000000000000000000000000009063ffffffff6105f016565b92505b610565816105198a8a878b610711565b94505050955095509592505050565b6b0295be96e64066972000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008282018381101561064a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006002820461068f83610683610676876b033b2e3c9fd0803ce8000000610782565b849063ffffffff6105f016565b9063ffffffff6107db16565b949350505050565b600061064a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061081d565b600061064a6b033b2e3c9fd0803ce80000006106836106fe868663ffffffff61078216565b6b019d971e4fe8401e74000000906105f0565b600080610724868663ffffffff6105f016565b90508061073557600091505061068f565b600061074485610519886108b4565b90506000610755856105198a6108b4565b90506000610775610765856108b4565b61036e858563ffffffff6105f016565b9998505050505050505050565b6000826107915750600061064d565b8282028284828161079e57fe5b041461064a5760405162461bcd60e51b81526004018080602001828103825260218152602001806109306021913960400191505060405180910390fd5b600061064a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506108ca565b600081848411156108ac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610871578181015183820152602001610859565b50505050905090810190601f16801561089e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600061064d82633b9aca0063ffffffff61078216565b600081836109195760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610871578181015183820152602001610859565b50600083858161092557fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220175aebdffa875d06b5847c42f5d0afc64ad241d294adaf7d3339b85ee7be3fe964736f6c63430006080033'; diff --git a/types/Erc20Factory.ts b/types/Erc20Factory.ts index 00bf17ac..30e3a93f 100644 --- a/types/Erc20Factory.ts +++ b/types/Erc20Factory.ts @@ -324,4 +324,4 @@ const _abi = [ ]; const _bytecode = - '0x60806040523480156200001157600080fd5b5060405162000ca538038062000ca5833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250508251620001b491506003906020850190620001e0565b508051620001ca906004906020840190620001e0565b50506005805460ff191660121790555062000285565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022357805160ff191683800117855562000253565b8280016001018555821562000253579182015b828111156200025357825182559160200191906001019062000236565b506200026192915062000265565b5090565b6200028291905b808211156200026157600081556001016200026c565b90565b610a1080620002956000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103ff565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610408565b6101736004803603602081101561021b57600080fd5b50356001600160a01b031661045c565b6100b6610477565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d8565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610546565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661055a565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610585565b8484610589565b50600192915050565b60025490565b600061037f848484610675565b6103f58461038b610585565b6103f085604051806060016040528060288152602001610945602891396001600160a01b038a166000908152600160205260408120906103c9610585565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6107dc16565b610589565b5060019392505050565b60055460ff1690565b6000610363610415610585565b846103f08560016000610426610585565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61087316565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104e5610585565b846103f0856040518060600160405280602581526020016109b6602591396001600061050f610585565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6107dc16565b6000610363610553610585565b8484610675565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105ce5760405162461bcd60e51b81526004018080602001828103825260248152602001806109926024913960400191505060405180910390fd5b6001600160a01b0382166106135760405162461bcd60e51b81526004018080602001828103825260228152602001806108fd6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106ba5760405162461bcd60e51b815260040180806020018281038252602581526020018061096d6025913960400191505060405180910390fd5b6001600160a01b0382166106ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806108da6023913960400191505060405180910390fd5b61070a8383836108d4565b61074d8160405180606001604052806026815260200161091f602691396001600160a01b038616600090815260208190526040902054919063ffffffff6107dc16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610782908263ffffffff61087316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561086b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610830578181015183820152602001610818565b50505050905090810190601f16801561085d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108cd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122079df407cda09e3dd26a3b3c25553a0080aa8c1aa74c4f1716ce3e2ed845c4e6164736f6c63430006080033'; + '0x60806040523480156200001157600080fd5b5060405162000ca538038062000ca5833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250508251620001b491506003906020850190620001e0565b508051620001ca906004906020840190620001e0565b50506005805460ff191660121790555062000285565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022357805160ff191683800117855562000253565b8280016001018555821562000253579182015b828111156200025357825182559160200191906001019062000236565b506200026192915062000265565b5090565b6200028291905b808211156200026157600081556001016200026c565b90565b610a1080620002956000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103ff565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610408565b6101736004803603602081101561021b57600080fd5b50356001600160a01b031661045c565b6100b6610477565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d8565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610546565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661055a565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610585565b8484610589565b50600192915050565b60025490565b600061037f848484610675565b6103f58461038b610585565b6103f085604051806060016040528060288152602001610945602891396001600160a01b038a166000908152600160205260408120906103c9610585565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6107dc16565b610589565b5060019392505050565b60055460ff1690565b6000610363610415610585565b846103f08560016000610426610585565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61087316565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104e5610585565b846103f0856040518060600160405280602581526020016109b6602591396001600061050f610585565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6107dc16565b6000610363610553610585565b8484610675565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105ce5760405162461bcd60e51b81526004018080602001828103825260248152602001806109926024913960400191505060405180910390fd5b6001600160a01b0382166106135760405162461bcd60e51b81526004018080602001828103825260228152602001806108fd6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106ba5760405162461bcd60e51b815260040180806020018281038252602581526020018061096d6025913960400191505060405180910390fd5b6001600160a01b0382166106ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806108da6023913960400191505060405180910390fd5b61070a8383836108d4565b61074d8160405180606001604052806026815260200161091f602691396001600160a01b038616600090815260208190526040902054919063ffffffff6107dc16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610782908263ffffffff61087316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561086b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610830578181015183820152602001610818565b50505050905090810190601f16801561085d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108cd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f39522f9107b92268ffd6076ae1a1ec2e2ff6a6cffc0a9ea3ff2d793569935ea64736f6c63430006080033'; diff --git a/types/FeeProviderFactory.ts b/types/FeeProviderFactory.ts index 3d33fd39..f326f954 100644 --- a/types/FeeProviderFactory.ts +++ b/types/FeeProviderFactory.ts @@ -110,4 +110,4 @@ const _abi = [ ]; const _bytecode = - '0x60806040526000805534801561001457600080fd5b50610411806100246000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80639403ed3a1461005c578063b0d73d4e14610076578063c211f9a41461007e578063c4d66de814610086578063e563a7d0146100ae575b600080fd5b6100646100da565b60408051918252519081900360200190f35b6100646100e0565b6100646100e5565b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b03166100eb565b005b610064600480360360408110156100c457600080fd5b506001600160a01b038135169060200135610193565b60345481565b600181565b60345490565b60006100f56101b3565b60015490915060ff168061010c575061010c6101b8565b80610118575060005481115b6101535760405162461bcd60e51b815260040180806020018281038252602e8152602001806103ae602e913960400191505060405180910390fd5b60015460ff16158015610172576001805460ff19168117905560008290555b6608e1bc9bf04000603455801561018e576001805460ff191690555b505050565b60006101aa603454836101be90919063ffffffff16565b90505b92915050565b600190565b303b1590565b60006101aa670de0b6b3a76400006101ee6101df868663ffffffff6101fa16565b6706f05b59d3b2000090610253565b9063ffffffff6102ad16565b600082610209575060006101ad565b8282028284828161021657fe5b04146101aa5760405162461bcd60e51b815260040180806020018281038252602181526020018061038d6021913960400191505060405180910390fd5b6000828201838110156101aa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006101aa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836103765760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561033b578181015183820152602001610323565b50505050905090810190601f1680156103685780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161038257fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212207eabb5efb8d78530e775320ed5f3b20065bf5c6faaefa5dcb53b3408e375131c64736f6c63430006080033'; + '0x60806040526000805534801561001457600080fd5b50610411806100246000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80639403ed3a1461005c578063b0d73d4e14610076578063c211f9a41461007e578063c4d66de814610086578063e563a7d0146100ae575b600080fd5b6100646100da565b60408051918252519081900360200190f35b6100646100e0565b6100646100e5565b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b03166100eb565b005b610064600480360360408110156100c457600080fd5b506001600160a01b038135169060200135610193565b60345481565b600181565b60345490565b60006100f56101b3565b60015490915060ff168061010c575061010c6101b8565b80610118575060005481115b6101535760405162461bcd60e51b815260040180806020018281038252602e8152602001806103ae602e913960400191505060405180910390fd5b60015460ff16158015610172576001805460ff19168117905560008290555b6608e1bc9bf04000603455801561018e576001805460ff191690555b505050565b60006101aa603454836101be90919063ffffffff16565b90505b92915050565b600190565b303b1590565b60006101aa670de0b6b3a76400006101ee6101df868663ffffffff6101fa16565b6706f05b59d3b2000090610253565b9063ffffffff6102ad16565b600082610209575060006101ad565b8282028284828161021657fe5b04146101aa5760405162461bcd60e51b815260040180806020018281038252602181526020018061038d6021913960400191505060405180910390fd5b6000828201838110156101aa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006101aa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836103765760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561033b578181015183820152602001610323565b50505050905090810190601f1680156103685780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161038257fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220b1f57d34e2488cabb196d838daf85a2a940face5fe23e3b0d48f388ca9f005b864736f6c63430006080033'; diff --git a/types/FlashLoanReceiverBase.d.ts b/types/FlashLoanReceiverBase.d.ts index 3f49a8a4..a78d0a56 100644 --- a/types/FlashLoanReceiverBase.d.ts +++ b/types/FlashLoanReceiverBase.d.ts @@ -11,7 +11,8 @@ interface FlashLoanReceiverBaseInterface extends Interface { addressesProvider: TypedFunctionDescription<{encode([]: []): string}>; executeOperation: TypedFunctionDescription<{ - encode([_reserve, _amount, _fee, _params]: [ + encode([_reserve, _destination, _amount, _fee, _params]: [ + string, string, BigNumberish, BigNumberish, @@ -41,6 +42,7 @@ export class FlashLoanReceiverBase extends Contract { executeOperation( _reserve: string, + _destination: string, _amount: BigNumberish, _fee: BigNumberish, _params: Arrayish, @@ -52,6 +54,7 @@ export class FlashLoanReceiverBase extends Contract { executeOperation( _reserve: string, + _destination: string, _amount: BigNumberish, _fee: BigNumberish, _params: Arrayish, @@ -65,6 +68,7 @@ export class FlashLoanReceiverBase extends Contract { executeOperation( _reserve: string, + _destination: string, _amount: BigNumberish, _fee: BigNumberish, _params: Arrayish diff --git a/types/FlashLoanReceiverBaseFactory.ts b/types/FlashLoanReceiverBaseFactory.ts index 274d2efd..f6bc5166 100644 --- a/types/FlashLoanReceiverBaseFactory.ts +++ b/types/FlashLoanReceiverBaseFactory.ts @@ -44,6 +44,11 @@ const _abi = [ name: '_reserve', type: 'address', }, + { + internalType: 'address', + name: '_destination', + type: 'address', + }, { internalType: 'uint256', name: '_amount', diff --git a/types/GenericLogic.d.ts b/types/GenericLogic.d.ts index b1d0ffcb..96121341 100644 --- a/types/GenericLogic.d.ts +++ b/types/GenericLogic.d.ts @@ -13,12 +13,10 @@ interface GenericLogicInterface extends Interface { }>; calculateAvailableBorrowsETH: TypedFunctionDescription<{ - encode([collateralBalanceETH, borrowBalanceETH, totalFeesETH, ltv, _feeProvider]: [ + encode([collateralBalanceETH, borrowBalanceETH, ltv]: [ BigNumberish, BigNumberish, - BigNumberish, - BigNumberish, - string + BigNumberish ]): string; }>; }; @@ -45,9 +43,7 @@ export class GenericLogic extends Contract { calculateAvailableBorrowsETH( collateralBalanceETH: BigNumberish, borrowBalanceETH: BigNumberish, - totalFeesETH: BigNumberish, - ltv: BigNumberish, - _feeProvider: string + ltv: BigNumberish ): Promise; }; @@ -56,9 +52,7 @@ export class GenericLogic extends Contract { calculateAvailableBorrowsETH( collateralBalanceETH: BigNumberish, borrowBalanceETH: BigNumberish, - totalFeesETH: BigNumberish, - ltv: BigNumberish, - _feeProvider: string + ltv: BigNumberish ): Promise; filters: {}; @@ -69,9 +63,7 @@ export class GenericLogic extends Contract { calculateAvailableBorrowsETH( collateralBalanceETH: BigNumberish, borrowBalanceETH: BigNumberish, - totalFeesETH: BigNumberish, - ltv: BigNumberish, - _feeProvider: string + ltv: BigNumberish ): Promise; }; } diff --git a/types/GenericLogicFactory.ts b/types/GenericLogicFactory.ts index 43adcfe4..21fd91cb 100644 --- a/types/GenericLogicFactory.ts +++ b/types/GenericLogicFactory.ts @@ -56,21 +56,11 @@ const _abi = [ name: 'borrowBalanceETH', type: 'uint256', }, - { - internalType: 'uint256', - name: 'totalFeesETH', - type: 'uint256', - }, { internalType: 'uint256', name: 'ltv', type: 'uint256', }, - { - internalType: 'address', - name: '_feeProvider', - type: 'address', - }, ], name: 'calculateAvailableBorrowsETH', outputs: [ @@ -86,4 +76,4 @@ const _abi = [ ]; const _bytecode = - '0x610fc8610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806392eeb05c1461005b578063ab8bb39314610158578063c3525c28146101a8578063daae7055146101b0575b600080fd5b610125600480360360a081101561007157600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156100a857600080fd5b8201836020820111156100ba57600080fd5b803590602001918460208302840111640100000000831117156100dc57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b031691506102699050565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b610196600480360360a081101561016e57600080fd5b50803590602081013590604081013590606081013590608001356001600160a01b0316610871565b60408051918252519081900360200190f35b61019661095c565b610255600480360360e08110156101c657600080fd5b6001600160a01b0382358116926020810135909116916040820135916060810135916080820135919081019060c0810160a082013564010000000081111561020d57600080fd5b82018360208201111561021f57600080fd5b8035906020019184602083028401116401000000008311171561024157600080fd5b9193509150356001600160a01b0316610968565b604080519115158252519081900360200190f35b60008060008060008061027a610e74565b60006101008201525b885181610100015110156107a95788816101000151815181106102a257fe5b60200260200101518161020001906001600160a01b031690816001600160a01b03168152505060008b60008361020001516001600160a01b03166001600160a01b0316815260200190815260200160002090508060090160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561036257600080fd5b505afa158015610376573d6000803e3d6000fd5b505050506040513d602081101561038c57600080fd5b810190808051906020019092919050505082604001818152505080600a0160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561041357600080fd5b505afa158015610427573d6000803e3d6000fd5b505050506040513d602081101561043d57600080fd5b810190808051906020019092919050505082606001818152505061050481600b0160009054906101000a90046001600160a01b03166001600160a01b03166370a082318f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156104c757600080fd5b505afa1580156104db573d6000803e3d6000fd5b505050506040513d60208110156104f157600080fd5b505160608401519063ffffffff610bbd16565b6060830152604082015115801561051d57506060820151155b156105285750610798565b8060080154600a0a826020018181525050886001600160a01b031663b3596f078b8461010001518151811061055957fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d60208110156105d157600080fd5b50518252604082015115610710576000610610836020015161060485604001518660000151610c2090919063ffffffff16565b9063ffffffff610c7916565b600c830154909150600160d01b900460ff16801561068857508b60008f6001600160a01b03166001600160a01b0316815260200190815260200160002060008c8561010001518151811061066057fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff165b1561070e576101408301516106a3908263ffffffff610bbd16565b61014084015260058201546106d5906106c390839063ffffffff610c2016565b6101a08501519063ffffffff610bbd16565b6101a08401526006820154610707906106f590839063ffffffff610c2016565b6101c08501519063ffffffff610bbd16565b6101c08401525b505b60608201511561079657610752610740836020015161060485606001518660000151610c2090919063ffffffff16565b6101608401519063ffffffff610bbd16565b6101608301526020820151825160e084015161078f9261077d9290916106049163ffffffff610c2016565b6101808401519063ffffffff610bbd16565b6101808301525b505b610100810180516001019052610283565b6000816101400151116107bd5760006107d8565b6101408101516101a08201516107d89163ffffffff610c7916565b6101a08201526101408101516107ef57600061080a565b6101408101516101c082015161080a9163ffffffff610c7916565b6101c0820181905261014082015161016083015161018084015161082d93610cbb565b61012082018190526101408201516101608301516101808401516101a08501516101c090950151929a50909850965091945090925090509550955095509550955095565b6000806108896064610604898763ffffffff610c2016565b90508581101561089d576000915050610953565b6108bd6108b0878763ffffffff610bbd16565b829063ffffffff610d0a16565b60408051630e563a7d60e41b81523360048201526024810183905290519192506000916001600160a01b0386169163e563a7d0916044808301926020929190829003018186803b15801561091057600080fd5b505afa158015610924573d6000803e3d6000fd5b505050506040513d602081101561093a57600080fd5b5051905061094e828263ffffffff610d0a16565b925050505b95945050505050565b670de0b6b3a764000081565b6000610972610f15565b6001600160a01b038a166000908152602088905260409020600c0154600160d01b900460ff1615806109c857506001600160a01b03808a16600090815260208881526040808320938e168352929052205460ff16155b156109d7576001915050610bb1565b610a188988888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508a9250610269915050565b506080860152506060840152604083018190526020830191909152610a41576001915050610bb1565b610b018760008c6001600160a01b03166001600160a01b0316815260200190815260200160002060080154600a0a6106048a866001600160a01b031663b3596f078f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610ac957600080fd5b505afa158015610add573d6000803e3d6000fd5b505050506040513d6020811015610af357600080fd5b50519063ffffffff610c2016565b60c082018190526020820151610b1c9163ffffffff610d0a16565b60e08201819052610b31576000915050610bb1565b610b7c8160e00151610604610b578460a001518560c00151610c2090919063ffffffff16565b60808501516020860151610b709163ffffffff610c2016565b9063ffffffff610d0a16565b610100820181905260e082015160408301516060840151600093610ba293929190610cbb565b670de0b6b3a764000010925050505b98975050505050505050565b600082820183811015610c17576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082610c2f57506000610c1a565b82820282848281610c3c57fe5b0414610c175760405162461bcd60e51b8152600401808060200182810382526021815260200180610f726021913960400191505060405180910390fd5b6000610c1783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d4c565b600083610ccb5750600019610d02565b610cff610cde858563ffffffff610bbd16565b610cf36064610604898763ffffffff610c2016565b9063ffffffff610dee16565b90505b949350505050565b6000610c1783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e1a565b60008183610dd85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d9d578181015183820152602001610d85565b50505050905090810190601f168015610dca5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610de457fe5b0495945050505050565b600060028204610d0283610604610e0d87670de0b6b3a7640000610c20565b849063ffffffff610bbd16565b60008184841115610e6c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d9d578181015183820152602001610d85565b505050900390565b60405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220bf946f5ff8e6b4ae3d10e1ad9e9285ba14b7fec522765a746a23596e56fb506464736f6c63430006080033'; + '0x610e73610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806392eeb05c1461005b578063c3525c2814610150578063d609bd1b1461016a578063daae705514610193575b600080fd5b610125600480360360a081101561007157600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156100a857600080fd5b8201836020820111156100ba57600080fd5b803590602001918460208302840111640100000000831117156100dc57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b0316915061024c9050565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101586107b7565b60408051918252519081900360200190f35b6101586004803603606081101561018057600080fd5b50803590602081013590604001356107c3565b610238600480360360e08110156101a957600080fd5b6001600160a01b0382358116926020810135909116916040820135916060810135916080820135919081019060c0810160a08201356401000000008111156101f057600080fd5b82018360208201111561020257600080fd5b8035906020019184602083028401116401000000008311171561022457600080fd5b9193509150356001600160a01b031661080a565b604080519115158252519081900360200190f35b600080600080600061025c610d26565b600060e08201525b87518160e00151101561070357878160e001518151811061028157fe5b6020026020010151816101e001906001600160a01b031690816001600160a01b03168152505060008a6000836101e001516001600160a01b03166001600160a01b0316815260200190815260200160002090508060060160009054906101000a90046001600160a01b03166001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561034157600080fd5b505afa158015610355573d6000803e3d6000fd5b505050506040513d602081101561036b57600080fd5b5051604080840191909152600782015481516370a0823160e01b81526001600160a01b038f81166004830152925192909116916370a0823191602480820192602092909190829003018186803b1580156103c457600080fd5b505afa1580156103d8573d6000803e3d6000fd5b505050506040513d60208110156103ee57600080fd5b505160608301526008810154604080516370a0823160e01b81526001600160a01b038f8116600483015291516104869392909216916370a0823191602480820192602092909190829003018186803b15801561044957600080fd5b505afa15801561045d573d6000803e3d6000fd5b505050506040513d602081101561047357600080fd5b505160608401519063ffffffff610a3a16565b6060830152604082015115801561049f57506060820151155b156104aa57506106f3565b6104b681600501610a9d565b6080860181905260c08601929092525060a0840191909152600a0a602083015260e082015189516001600160a01b038a169163b3596f07918c919081106104f957fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561054757600080fd5b505afa15801561055b573d6000803e3d6000fd5b505050506040513d602081101561057157600080fd5b505182526040820151156106a85760006105b083602001516105a485604001518660000151610ae490919063ffffffff16565b9063ffffffff610b3d16565b90508260a0015160001415801561062057508a60008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008b8560e00151815181106105f857fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff165b156106a65761012083015161063b908263ffffffff610a3a16565b61012084015260a083015161066d9061065b90839063ffffffff610ae416565b6101808501519063ffffffff610a3a16565b61018084015260c083015161069f9061068d90839063ffffffff610ae416565b6101a08501519063ffffffff610a3a16565b6101a08401525b505b6060820151156106f1576106ea6106d883602001516105a485606001518660000151610ae490919063ffffffff16565b6101408401519063ffffffff610a3a16565b6101408301525b505b60e0810180516001019052610264565b600081610120015111610717576000610732565b6101208101516101808201516107329163ffffffff610b3d16565b610180820152610120810151610749576000610764565b6101208101516101a08201516107649163ffffffff610b3d16565b6101a0820181905261012082015161014083015161078192610b7f565b61010082018190526101208201516101408301516101808401516101a090940151919e909d50929b509950975095505050505050565b670de0b6b3a764000081565b6000806107db60646105a4878663ffffffff610ae416565b9050838110156107ef576000915050610803565b6107ff818563ffffffff610bbc16565b9150505b9392505050565b6000610814610dc0565b6001600160a01b038a16600090815260208890526040902061083890600501610a9d565b8452505060208201819052158061087357506001600160a01b03808a16600090815260208881526040808320938e168352929052205460ff16155b15610882576001915050610a2e565b6108c38988888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508a925061024c915050565b506080850152506060830181905260408301919091526108e7576001915050610a2e565b6109848160000151600a0a6105a48a866001600160a01b031663b3596f078f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561094c57600080fd5b505afa158015610960573d6000803e3d6000fd5b505050506040513d602081101561097657600080fd5b50519063ffffffff610ae416565b60c08201819052604082015161099f9163ffffffff610bbc16565b60e082018190526109b4576000915050610a2e565b6109ff8160e001516105a46109da8460a001518560c00151610ae490919063ffffffff16565b608085015160408601516109f39163ffffffff610ae416565b9063ffffffff610bbc16565b610100820181905260e08201516060830151600092610a1f929190610b7f565b670de0b6b3a764000010925050505b98975050505050505050565b600082820183811015610a94576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b54670fffffffffff000019811691601082901c650fffffff0001600160f01b031691602081901c630fff0001600160e01b03169160309190911c610100600160d01b031690565b600082610af357506000610a97565b82820282848281610b0057fe5b0414610a945760405162461bcd60e51b8152600401808060200182810382526021815260200180610e1d6021913960400191505060405180910390fd5b6000610a9483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610bfe565b600082610b8f5750600019610803565b610bb483610ba860646105a4888763ffffffff610ae416565b9063ffffffff610ca016565b949350505050565b6000610a9483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ccc565b60008183610c8a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c4f578181015183820152602001610c37565b50505050905090810190601f168015610c7c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610c9657fe5b0495945050505050565b600060028204610bb4836105a4610cbf87670de0b6b3a7640000610ae4565b849063ffffffff610a3a16565b60008184841115610d1e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610c4f578181015183820152602001610c37565b505050900390565b604051806102400160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220535cd5b101da8302ea4516afb93a66cc4779e89449c80fe7c619246fd3b1002664736f6c63430006080033'; diff --git a/types/IFlashLoanReceiver.d.ts b/types/IFlashLoanReceiver.d.ts index 5bdbce9c..79ee702a 100644 --- a/types/IFlashLoanReceiver.d.ts +++ b/types/IFlashLoanReceiver.d.ts @@ -9,7 +9,8 @@ import {TransactionOverrides, TypedEventDescription, TypedFunctionDescription} f interface IFlashLoanReceiverInterface extends Interface { functions: { executeOperation: TypedFunctionDescription<{ - encode([_reserve, _amount, _fee, _params]: [ + encode([_reserve, _destination, _amount, _fee, _params]: [ + string, string, BigNumberish, BigNumberish, @@ -37,6 +38,7 @@ export class IFlashLoanReceiver extends Contract { functions: { executeOperation( _reserve: string, + _destination: string, _amount: BigNumberish, _fee: BigNumberish, _params: Arrayish, @@ -46,6 +48,7 @@ export class IFlashLoanReceiver extends Contract { executeOperation( _reserve: string, + _destination: string, _amount: BigNumberish, _fee: BigNumberish, _params: Arrayish, @@ -57,6 +60,7 @@ export class IFlashLoanReceiver extends Contract { estimate: { executeOperation( _reserve: string, + _destination: string, _amount: BigNumberish, _fee: BigNumberish, _params: Arrayish diff --git a/types/IFlashLoanReceiverFactory.ts b/types/IFlashLoanReceiverFactory.ts index 44c00d53..1f97bdfc 100644 --- a/types/IFlashLoanReceiverFactory.ts +++ b/types/IFlashLoanReceiverFactory.ts @@ -20,6 +20,11 @@ const _abi = [ name: '_reserve', type: 'address', }, + { + internalType: 'address', + name: '_destination', + type: 'address', + }, { internalType: 'uint256', name: '_amount', diff --git a/types/Ierc20DetailedBytesFactory.ts b/types/Ierc20DetailedBytesFactory.ts index 1a0dbf7a..4af28fdc 100644 --- a/types/Ierc20DetailedBytesFactory.ts +++ b/types/Ierc20DetailedBytesFactory.ts @@ -73,4 +73,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b5060ad8061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806306fdde03146041578063313ce56714605957806395d89b4114605f575b600080fd5b60476065565b60408051918252519081900360200190f35b6047606b565b60476071565b60005481565b60025481565b6001548156fea26469706673582212203768796577a99ad3a548ada1f422b9a27c862840dd4342467451416181f264f564736f6c63430006080033'; + '0x608060405234801561001057600080fd5b5060ad8061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806306fdde03146041578063313ce56714605957806395d89b4114605f575b600080fd5b60476065565b60408051918252519081900360200190f35b6047606b565b60476071565b60005481565b60025481565b6001548156fea2646970667358221220a7f980b57e3d5f7cfbceb3addd64be79e3c00cc5e20c3e18d100e24d0b4ceeb164736f6c63430006080033'; diff --git a/types/InitializableAdminUpgradeabilityProxyFactory.ts b/types/InitializableAdminUpgradeabilityProxyFactory.ts index 111f219c..5f8e8171 100644 --- a/types/InitializableAdminUpgradeabilityProxyFactory.ts +++ b/types/InitializableAdminUpgradeabilityProxyFactory.ts @@ -184,4 +184,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b506109bb806100206000396000f3fe6080604052600436106100705760003560e01c80638f2839701161004e5780638f2839701461015e578063cf7a1d7714610191578063d1f5789414610250578063f851a4401461030657610070565b80633659cfe61461007a5780634f1ef286146100ad5780635c60da1b1461012d575b61007861031b565b005b34801561008657600080fd5b506100786004803603602081101561009d57600080fd5b50356001600160a01b0316610335565b610078600480360360408110156100c357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b50909250905061036f565b34801561013957600080fd5b5061014261041c565b604080516001600160a01b039092168252519081900360200190f35b34801561016a57600080fd5b506100786004803603602081101561018157600080fd5b50356001600160a01b0316610459565b610078600480360360608110156101a757600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101db57600080fd5b8201836020820111156101ed57600080fd5b8035906020019184600183028401116401000000008311171561020f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610513945050505050565b6100786004803603604081101561026657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111640100000000831117156102c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610599945050505050565b34801561031257600080fd5b506101426106d9565b610323610704565b61033361032e61070c565b610731565b565b61033d610755565b6001600160a01b0316336001600160a01b031614156103645761035f8161077a565b61036c565b61036c61031b565b50565b610377610755565b6001600160a01b0316336001600160a01b0316141561040f576103998361077a565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b505090508061040957600080fd5b50610417565b61041761031b565b505050565b6000610426610755565b6001600160a01b0316336001600160a01b0316141561044e5761044761070c565b9050610456565b61045661031b565b90565b610461610755565b6001600160a01b0316336001600160a01b03161415610364576001600160a01b0381166104bf5760405162461bcd60e51b81526004018080602001828103825260368152602001806109156036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e8610755565b604080516001600160a01b03928316815291841660208301528051918290030190a161035f816107ba565b600061051d61070c565b6001600160a01b03161461053057600080fd5b61053a8382610599565b604080517232b4b8189c9b1b97383937bc3c9730b236b4b760691b815290519081900360130190207fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036000199091011461059057fe5b610417826107ba565b60006105a361070c565b6001600160a01b0316146105b657600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461061657fe5b61061f826107de565b8051156106d5576000826001600160a01b0316826040518082805190602001908083835b602083106106625780518252601f199092019160209182019101610643565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146106c2576040519150601f19603f3d011682016040523d82523d6000602084013e6106c7565b606091505b505090508061041757600080fd5b5050565b60006106e3610755565b6001600160a01b0316336001600160a01b0316141561044e57610447610755565b610333610846565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610750573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610783816107de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6107e7816108a6565b6108225760405162461bcd60e51b815260040180806020018281038252603b81526020018061094b603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b61084e610755565b6001600160a01b0316336001600160a01b0316141561089e5760405162461bcd60e51b81526004018080602001828103825260328152602001806108e36032913960400191505060405180910390fd5b610333610333565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906108da57508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122035de0c1e272b30ae5617b5f778db920ec93f73458f52a1b5224c72d593d0e7f864736f6c63430006080033'; + '0x608060405234801561001057600080fd5b506109bb806100206000396000f3fe6080604052600436106100705760003560e01c80638f2839701161004e5780638f2839701461015e578063cf7a1d7714610191578063d1f5789414610250578063f851a4401461030657610070565b80633659cfe61461007a5780634f1ef286146100ad5780635c60da1b1461012d575b61007861031b565b005b34801561008657600080fd5b506100786004803603602081101561009d57600080fd5b50356001600160a01b0316610335565b610078600480360360408110156100c357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b50909250905061036f565b34801561013957600080fd5b5061014261041c565b604080516001600160a01b039092168252519081900360200190f35b34801561016a57600080fd5b506100786004803603602081101561018157600080fd5b50356001600160a01b0316610459565b610078600480360360608110156101a757600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101db57600080fd5b8201836020820111156101ed57600080fd5b8035906020019184600183028401116401000000008311171561020f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610513945050505050565b6100786004803603604081101561026657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111640100000000831117156102c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610599945050505050565b34801561031257600080fd5b506101426106d9565b610323610704565b61033361032e61070c565b610731565b565b61033d610755565b6001600160a01b0316336001600160a01b031614156103645761035f8161077a565b61036c565b61036c61031b565b50565b610377610755565b6001600160a01b0316336001600160a01b0316141561040f576103998361077a565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b505090508061040957600080fd5b50610417565b61041761031b565b505050565b6000610426610755565b6001600160a01b0316336001600160a01b0316141561044e5761044761070c565b9050610456565b61045661031b565b90565b610461610755565b6001600160a01b0316336001600160a01b03161415610364576001600160a01b0381166104bf5760405162461bcd60e51b81526004018080602001828103825260368152602001806109156036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e8610755565b604080516001600160a01b03928316815291841660208301528051918290030190a161035f816107ba565b600061051d61070c565b6001600160a01b03161461053057600080fd5b61053a8382610599565b604080517232b4b8189c9b1b97383937bc3c9730b236b4b760691b815290519081900360130190207fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036000199091011461059057fe5b610417826107ba565b60006105a361070c565b6001600160a01b0316146105b657600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461061657fe5b61061f826107de565b8051156106d5576000826001600160a01b0316826040518082805190602001908083835b602083106106625780518252601f199092019160209182019101610643565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146106c2576040519150601f19603f3d011682016040523d82523d6000602084013e6106c7565b606091505b505090508061041757600080fd5b5050565b60006106e3610755565b6001600160a01b0316336001600160a01b0316141561044e57610447610755565b610333610846565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610750573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610783816107de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6107e7816108a6565b6108225760405162461bcd60e51b815260040180806020018281038252603b81526020018061094b603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b61084e610755565b6001600160a01b0316336001600160a01b0316141561089e5760405162461bcd60e51b81526004018080602001828103825260328152602001806108e36032913960400191505060405180910390fd5b610333610333565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906108da57508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212205332daad1efa09e03cc1b95b9d51cadb3cf32e2d57907a628c0b4a5a20d8051f64736f6c63430006080033'; diff --git a/types/InitializableUpgradeabilityProxyFactory.ts b/types/InitializableUpgradeabilityProxyFactory.ts index 15c3d547..7de6d1f3 100644 --- a/types/InitializableUpgradeabilityProxyFactory.ts +++ b/types/InitializableUpgradeabilityProxyFactory.ts @@ -72,4 +72,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b50610398806100206000396000f3fe60806040526004361061001e5760003560e01c8063d1f5789414610028575b6100266100de565b005b6100266004803603604081101561003e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561006957600080fd5b82018360208201111561007b57600080fd5b8035906020019184600183028401116401000000008311171561009d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506100f8945050505050565b6100e66100f6565b6100f66100f161023a565b61025f565b565b600061010261023a565b6001600160a01b03161461011557600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461017557fe5b61017e82610283565b805115610236576000826001600160a01b0316826040518082805190602001908083835b602083106101c15780518252601f1990920191602091820191016101a2565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610221576040519150601f19603f3d011682016040523d82523d6000602084013e610226565b606091505b505090508061023457600080fd5b505b5050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561027e573d6000f35b3d6000fd5b61028c816102eb565b6102c75760405162461bcd60e51b815260040180806020018281038252603b815260200180610328603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061031f57508115155b94935050505056fe43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220b6b16d8651a66b5c8ef499a27cce045b5f1b3a1f188c7546bf319b120f169ff864736f6c63430006080033'; + '0x608060405234801561001057600080fd5b50610398806100206000396000f3fe60806040526004361061001e5760003560e01c8063d1f5789414610028575b6100266100de565b005b6100266004803603604081101561003e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561006957600080fd5b82018360208201111561007b57600080fd5b8035906020019184600183028401116401000000008311171561009d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506100f8945050505050565b6100e66100f6565b6100f66100f161023a565b61025f565b565b600061010261023a565b6001600160a01b03161461011557600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461017557fe5b61017e82610283565b805115610236576000826001600160a01b0316826040518082805190602001908083835b602083106101c15780518252601f1990920191602091820191016101a2565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610221576040519150601f19603f3d011682016040523d82523d6000602084013e610226565b606091505b505090508061023457600080fd5b505b5050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561027e573d6000f35b3d6000fd5b61028c816102eb565b6102c75760405162461bcd60e51b815260040180806020018281038252603b815260200180610328603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061031f57508115155b94935050505056fe43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220d792bbb604d3254b580ef2fc38cc60725810977df950bcb0b6761d73134f984164736f6c63430006080033'; diff --git a/types/LendingPool.d.ts b/types/LendingPool.d.ts index 0265cda0..3410f64e 100644 --- a/types/LendingPool.d.ts +++ b/types/LendingPool.d.ts @@ -31,19 +31,6 @@ interface LendingPoolInterface extends Interface { encode([_reserve, _amount, _referralCode]: [string, BigNumberish, BigNumberish]): string; }>; - disableReserveAsCollateral: TypedFunctionDescription<{ - encode([_reserve]: [string]): string; - }>; - - enableReserveAsCollateral: TypedFunctionDescription<{ - encode([_reserve, _baseLTVasCollateral, _liquidationThreshold, _liquidationBonus]: [ - string, - BigNumberish, - BigNumberish, - BigNumberish - ]): string; - }>; - flashLoan: TypedFunctionDescription<{ encode([_receiver, _reserve, _amount, _params]: [ string, @@ -53,6 +40,10 @@ interface LendingPoolInterface extends Interface { ]): string; }>; + getConfiguration: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + getReserveConfigurationData: TypedFunctionDescription<{ encode([_reserve]: [string]): string; }>; @@ -89,9 +80,8 @@ interface LendingPoolInterface extends Interface { _aTokenAddress, _stableDebtAddress, _variableDebtAddress, - _decimals, _interestRateStrategyAddress, - ]: [string, string, string, string, BigNumberish, string]): string; + ]: [string, string, string, string, string]): string; }>; initialize: TypedFunctionDescription<{ @@ -134,46 +124,14 @@ interface LendingPoolInterface extends Interface { encode([]: [BigNumberish]): string; }>; - setReserveActive: TypedFunctionDescription<{ - encode([_reserve, _active]: [string, boolean]): string; - }>; - - setReserveBaseLTVasCollateral: TypedFunctionDescription<{ - encode([_reserve, _ltv]: [string, BigNumberish]): string; - }>; - - setReserveBorrowingEnabled: TypedFunctionDescription<{ - encode([_reserve, _borrowingEnabled, _stableBorrowRateEnabled]: [ - string, - boolean, - boolean - ]): string; - }>; - - setReserveDecimals: TypedFunctionDescription<{ - encode([_reserve, _decimals]: [string, BigNumberish]): string; - }>; - - setReserveFreeze: TypedFunctionDescription<{ - encode([_reserve, _isFreezed]: [string, boolean]): string; + setConfiguration: TypedFunctionDescription<{ + encode([_reserve, _configuration]: [string, BigNumberish]): string; }>; setReserveInterestRateStrategyAddress: TypedFunctionDescription<{ encode([_reserve, _rateStrategyAddress]: [string, string]): string; }>; - setReserveLiquidationBonus: TypedFunctionDescription<{ - encode([_reserve, _bonus]: [string, BigNumberish]): string; - }>; - - setReserveLiquidationThreshold: TypedFunctionDescription<{ - encode([_reserve, _threshold]: [string, BigNumberish]): string; - }>; - - setReserveStableBorrowRateEnabled: TypedFunctionDescription<{ - encode([_reserve, _enabled]: [string, boolean]): string; - }>; - setUserUseReserveAsCollateral: TypedFunctionDescription<{ encode([_reserve, _useAsCollateral]: [string, boolean]): string; }>; @@ -330,19 +288,6 @@ export class LendingPool extends Contract { overrides?: TransactionOverrides ): Promise; - disableReserveAsCollateral( - _reserve: string, - overrides?: TransactionOverrides - ): Promise; - - enableReserveAsCollateral( - _reserve: string, - _baseLTVasCollateral: BigNumberish, - _liquidationThreshold: BigNumberish, - _liquidationBonus: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - flashLoan( _receiver: string, _reserve: string, @@ -351,6 +296,8 @@ export class LendingPool extends Contract { overrides?: TransactionOverrides ): Promise; + getConfiguration(_reserve: string): Promise<{data: BigNumber; 0: BigNumber}>; + getReserveConfigurationData( _reserve: string ): Promise<{ @@ -423,7 +370,6 @@ export class LendingPool extends Contract { ): Promise<{ totalCollateralETH: BigNumber; totalBorrowsETH: BigNumber; - totalFeesETH: BigNumber; availableBorrowsETH: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; @@ -434,7 +380,6 @@ export class LendingPool extends Contract { 3: BigNumber; 4: BigNumber; 5: BigNumber; - 6: BigNumber; }>; getUserReserveData( @@ -468,7 +413,6 @@ export class LendingPool extends Contract { _aTokenAddress: string, _stableDebtAddress: string, _variableDebtAddress: string, - _decimals: BigNumberish, _interestRateStrategyAddress: string, overrides?: TransactionOverrides ): Promise; @@ -511,34 +455,9 @@ export class LendingPool extends Contract { reservesList(arg0: BigNumberish): Promise; - setReserveActive( + setConfiguration( _reserve: string, - _active: boolean, - overrides?: TransactionOverrides - ): Promise; - - setReserveBaseLTVasCollateral( - _reserve: string, - _ltv: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveBorrowingEnabled( - _reserve: string, - _borrowingEnabled: boolean, - _stableBorrowRateEnabled: boolean, - overrides?: TransactionOverrides - ): Promise; - - setReserveDecimals( - _reserve: string, - _decimals: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveFreeze( - _reserve: string, - _isFreezed: boolean, + _configuration: BigNumberish, overrides?: TransactionOverrides ): Promise; @@ -548,24 +467,6 @@ export class LendingPool extends Contract { overrides?: TransactionOverrides ): Promise; - setReserveLiquidationBonus( - _reserve: string, - _bonus: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveLiquidationThreshold( - _reserve: string, - _threshold: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveStableBorrowRateEnabled( - _reserve: string, - _enabled: boolean, - overrides?: TransactionOverrides - ): Promise; - setUserUseReserveAsCollateral( _reserve: string, _useAsCollateral: boolean, @@ -602,19 +503,6 @@ export class LendingPool extends Contract { overrides?: TransactionOverrides ): Promise; - disableReserveAsCollateral( - _reserve: string, - overrides?: TransactionOverrides - ): Promise; - - enableReserveAsCollateral( - _reserve: string, - _baseLTVasCollateral: BigNumberish, - _liquidationThreshold: BigNumberish, - _liquidationBonus: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - flashLoan( _receiver: string, _reserve: string, @@ -623,6 +511,8 @@ export class LendingPool extends Contract { overrides?: TransactionOverrides ): Promise; + getConfiguration(_reserve: string): Promise<{data: BigNumber; 0: BigNumber}>; + getReserveConfigurationData( _reserve: string ): Promise<{ @@ -695,7 +585,6 @@ export class LendingPool extends Contract { ): Promise<{ totalCollateralETH: BigNumber; totalBorrowsETH: BigNumber; - totalFeesETH: BigNumber; availableBorrowsETH: BigNumber; currentLiquidationThreshold: BigNumber; ltv: BigNumber; @@ -706,7 +595,6 @@ export class LendingPool extends Contract { 3: BigNumber; 4: BigNumber; 5: BigNumber; - 6: BigNumber; }>; getUserReserveData( @@ -740,7 +628,6 @@ export class LendingPool extends Contract { _aTokenAddress: string, _stableDebtAddress: string, _variableDebtAddress: string, - _decimals: BigNumberish, _interestRateStrategyAddress: string, overrides?: TransactionOverrides ): Promise; @@ -783,34 +670,9 @@ export class LendingPool extends Contract { reservesList(arg0: BigNumberish): Promise; - setReserveActive( + setConfiguration( _reserve: string, - _active: boolean, - overrides?: TransactionOverrides - ): Promise; - - setReserveBaseLTVasCollateral( - _reserve: string, - _ltv: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveBorrowingEnabled( - _reserve: string, - _borrowingEnabled: boolean, - _stableBorrowRateEnabled: boolean, - overrides?: TransactionOverrides - ): Promise; - - setReserveDecimals( - _reserve: string, - _decimals: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveFreeze( - _reserve: string, - _isFreezed: boolean, + _configuration: BigNumberish, overrides?: TransactionOverrides ): Promise; @@ -820,24 +682,6 @@ export class LendingPool extends Contract { overrides?: TransactionOverrides ): Promise; - setReserveLiquidationBonus( - _reserve: string, - _bonus: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveLiquidationThreshold( - _reserve: string, - _threshold: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveStableBorrowRateEnabled( - _reserve: string, - _enabled: boolean, - overrides?: TransactionOverrides - ): Promise; - setUserUseReserveAsCollateral( _reserve: string, _useAsCollateral: boolean, @@ -953,15 +797,6 @@ export class LendingPool extends Contract { _referralCode: BigNumberish ): Promise; - disableReserveAsCollateral(_reserve: string): Promise; - - enableReserveAsCollateral( - _reserve: string, - _baseLTVasCollateral: BigNumberish, - _liquidationThreshold: BigNumberish, - _liquidationBonus: BigNumberish - ): Promise; - flashLoan( _receiver: string, _reserve: string, @@ -969,6 +804,8 @@ export class LendingPool extends Contract { _params: Arrayish ): Promise; + getConfiguration(_reserve: string): Promise; + getReserveConfigurationData(_reserve: string): Promise; getReserveData(_reserve: string): Promise; @@ -990,7 +827,6 @@ export class LendingPool extends Contract { _aTokenAddress: string, _stableDebtAddress: string, _variableDebtAddress: string, - _decimals: BigNumberish, _interestRateStrategyAddress: string ): Promise; @@ -1022,31 +858,13 @@ export class LendingPool extends Contract { reservesList(arg0: BigNumberish): Promise; - setReserveActive(_reserve: string, _active: boolean): Promise; - - setReserveBaseLTVasCollateral(_reserve: string, _ltv: BigNumberish): Promise; - - setReserveBorrowingEnabled( - _reserve: string, - _borrowingEnabled: boolean, - _stableBorrowRateEnabled: boolean - ): Promise; - - setReserveDecimals(_reserve: string, _decimals: BigNumberish): Promise; - - setReserveFreeze(_reserve: string, _isFreezed: boolean): Promise; + setConfiguration(_reserve: string, _configuration: BigNumberish): Promise; setReserveInterestRateStrategyAddress( _reserve: string, _rateStrategyAddress: string ): Promise; - setReserveLiquidationBonus(_reserve: string, _bonus: BigNumberish): Promise; - - setReserveLiquidationThreshold(_reserve: string, _threshold: BigNumberish): Promise; - - setReserveStableBorrowRateEnabled(_reserve: string, _enabled: boolean): Promise; - setUserUseReserveAsCollateral(_reserve: string, _useAsCollateral: boolean): Promise; swapBorrowRateMode(_reserve: string, _rateMode: BigNumberish): Promise; diff --git a/types/LendingPoolAddressesProviderFactory.ts b/types/LendingPoolAddressesProviderFactory.ts index 66d98855..67ea7a35 100644 --- a/types/LendingPoolAddressesProviderFactory.ts +++ b/types/LendingPoolAddressesProviderFactory.ts @@ -452,4 +452,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b5060006100246001600160e01b0361007316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610077565b3390565b61186a806100866000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80635aef021f116100ad578063c12542df11610071578063c12542df146102ae578063ee891296146102d4578063f2fde38b146102dc578063fbeefc3c14610302578063fca513a81461030a5761012c565b80635aef021f1461024a578063715018a614610270578063820d12741461027857806385c858b11461029e5780638da5cb5b146102a65761012c565b806338280e6b116100f457806338280e6b146101aa57806340fdcadc146101d057806344ce375b146101f6578063530e784f1461021c5780635834eb9a146102425761012c565b80630261bf8b1461013157806321f8a721146101555780632a62c6361461017257806333128d591461019a5780633618abba146101a2575b600080fd5b610139610312565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561016b57600080fd5b5035610331565b6101986004803603602081101561018857600080fd5b50356001600160a01b031661034c565b005b6101396103f4565b610139610416565b610198600480360360208110156101c057600080fd5b50356001600160a01b0316610437565b610198600480360360208110156101e657600080fd5b50356001600160a01b03166104e4565b6101986004803603602081101561020c57600080fd5b50356001600160a01b0316610594565b6101986004803603602081101561023257600080fd5b50356001600160a01b0316610643565b6101396106eb565b6101986004803603602081101561026057600080fd5b50356001600160a01b031661070c565b6101986107b4565b6101986004803603602081101561028e57600080fd5b50356001600160a01b0316610856565b610139610905565b61013961092c565b610198600480360360208110156102c457600080fd5b50356001600160a01b031661093b565b6101396109f0565b610198600480360360208110156102f257600080fd5b50356001600160a01b0316610a0f565b610139610b07565b610139610b21565b600061032c6b13115391125391d7d413d3d360a21b610331565b905090565b6000908152600160205260409020546001600160a01b031690565b610354610b3b565b6000546001600160a01b039081169116146103a4576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6103bd6b2322a2afa82927ab24a222a960a11b82610b3f565b6040516001600160a01b038216907f18e1a55b8eff9c93921eecfa1462d6a8cbb80b3988db3eb14c039e43fdb2266190600090a250565b600061032c732622a72224a723afa827a7a62fa6a0a720a3a2a960611b610331565b600061032c724c454e44494e475f524154455f4f5241434c4560681b610331565b61043f610b3b565b6000546001600160a01b0390811691161461048f576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6104ad702a27a5a2a72fa224a9aa2924a12aaa27a960791b82610dd8565b6040516001600160a01b038216907fa8b48a56ec01f81c3615a21ec43e16b925c26293e0801cf6330427f2a687f05390600090a250565b6104ec610b3b565b6000546001600160a01b0390811691161461053c576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b61055d732622a72224a723afa827a7a62fa6a0a720a3a2a960611b82610dd8565b6040516001600160a01b038216907fd5280c51185a38d36f7a0f5e56cac6248312bb70d0974782fa5a595127e0e08e90600090a250565b61059c610b3b565b6000546001600160a01b039081169116146105ec576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b61060c722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b82610dd8565b6040516001600160a01b038216907f1a76cb769b814bc038223da86932b099b20aae03473683e6d98f5c3554e2606490600090a250565b61064b610b3b565b6000546001600160a01b0390811691161461069b576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6106b46b50524943455f4f5241434c4560a01b82610dd8565b6040516001600160a01b038216907fefe8ab924ca486283a79dc604baa67add51afb82af1db8ac386ebbba643cdffd90600090a250565b600061032c722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b610331565b610714610b3b565b6000546001600160a01b03908116911614610764576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b61077d6b13115391125391d7d413d3d360a21b82610b3f565b6040516001600160a01b038216907fc4e6c6cdf28d0edbd8bcf071d724d33cc2e7a30be7d06443925656e9cb492aa490600090a250565b6107bc610b3b565b6000546001600160a01b0390811691161461080c576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61085e610b3b565b6000546001600160a01b039081169116146108ae576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6108ce724c454e44494e475f524154455f4f5241434c4560681b82610dd8565b6040516001600160a01b038216907f5c29179aba6942020a8a2d38f65de02fb6b7f784e7f049ed3a3cab97621859b590600090a250565b600061032c782622a72224a723afa827a7a62fa1a7a72324a3aaa920aa27a960391b610331565b6000546001600160a01b031690565b610943610b3b565b6000546001600160a01b03908116911614610993576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6109b9782622a72224a723afa827a7a62fa1a7a72324a3aaa920aa27a960391b82610b3f565b6040516001600160a01b038216907fdfabe479bad36782fb1e77fbfddd4e382671713527e4786cfc93a022ae76372990600090a250565b600061032c702a27a5a2a72fa224a9aa2924a12aaa27a960791b610331565b610a17610b3b565b6000546001600160a01b03908116911614610a67576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6001600160a01b038116610aac5760405162461bcd60e51b81526004018080602001828103825260268152602001806117ef6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600061032c6b2322a2afa82927ab24a222a960a11b610331565b600061032c6b50524943455f4f5241434c4560a01b610331565b3390565b6000610b4a83610331565b60408051306024808301919091528251808303909101815260449091019091526020810180516001600160e01b031663189acdbd60e31b17905290915081906001600160a01b038216610d0457604051610ba390610e06565b604051809103906000f080158015610bbf573d6000803e3d6000fd5b509150816001600160a01b031663cf7a1d778530846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c50578181015183820152602001610c38565b50505050905090810190601f168015610c7d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610c9e57600080fd5b505af1158015610cb2573d6000803e3d6000fd5b50505050610cc08583610dd8565b6040805186815290516001600160a01b038416917f1eb35cb4b5bbb23d152f3b4016a5a46c37a07ae930ed0956aba951e231142438919081900360200190a2610dd1565b6040805163278f794360e11b81526001600160a01b03868116600483019081526024830193845284516044840152845191861693634f1ef2869389938793929160640190602085019080838360005b83811015610d6b578181015183820152602001610d53565b50505050905090810190601f168015610d985780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610db857600080fd5b505af1158015610dcc573d6000803e3d6000fd5b505050505b5050505050565b60009182526001602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6109db80610e148339019056fe608060405234801561001057600080fd5b506109bb806100206000396000f3fe6080604052600436106100705760003560e01c80638f2839701161004e5780638f2839701461015e578063cf7a1d7714610191578063d1f5789414610250578063f851a4401461030657610070565b80633659cfe61461007a5780634f1ef286146100ad5780635c60da1b1461012d575b61007861031b565b005b34801561008657600080fd5b506100786004803603602081101561009d57600080fd5b50356001600160a01b0316610335565b610078600480360360408110156100c357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b50909250905061036f565b34801561013957600080fd5b5061014261041c565b604080516001600160a01b039092168252519081900360200190f35b34801561016a57600080fd5b506100786004803603602081101561018157600080fd5b50356001600160a01b0316610459565b610078600480360360608110156101a757600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101db57600080fd5b8201836020820111156101ed57600080fd5b8035906020019184600183028401116401000000008311171561020f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610513945050505050565b6100786004803603604081101561026657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111640100000000831117156102c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610599945050505050565b34801561031257600080fd5b506101426106d9565b610323610704565b61033361032e61070c565b610731565b565b61033d610755565b6001600160a01b0316336001600160a01b031614156103645761035f8161077a565b61036c565b61036c61031b565b50565b610377610755565b6001600160a01b0316336001600160a01b0316141561040f576103998361077a565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b505090508061040957600080fd5b50610417565b61041761031b565b505050565b6000610426610755565b6001600160a01b0316336001600160a01b0316141561044e5761044761070c565b9050610456565b61045661031b565b90565b610461610755565b6001600160a01b0316336001600160a01b03161415610364576001600160a01b0381166104bf5760405162461bcd60e51b81526004018080602001828103825260368152602001806109156036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e8610755565b604080516001600160a01b03928316815291841660208301528051918290030190a161035f816107ba565b600061051d61070c565b6001600160a01b03161461053057600080fd5b61053a8382610599565b604080517232b4b8189c9b1b97383937bc3c9730b236b4b760691b815290519081900360130190207fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036000199091011461059057fe5b610417826107ba565b60006105a361070c565b6001600160a01b0316146105b657600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461061657fe5b61061f826107de565b8051156106d5576000826001600160a01b0316826040518082805190602001908083835b602083106106625780518252601f199092019160209182019101610643565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146106c2576040519150601f19603f3d011682016040523d82523d6000602084013e6106c7565b606091505b505090508061041757600080fd5b5050565b60006106e3610755565b6001600160a01b0316336001600160a01b0316141561044e57610447610755565b610333610846565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610750573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610783816107de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6107e7816108a6565b6108225760405162461bcd60e51b815260040180806020018281038252603b81526020018061094b603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b61084e610755565b6001600160a01b0316336001600160a01b0316141561089e5760405162461bcd60e51b81526004018080602001828103825260328152602001806108e36032913960400191505060405180910390fd5b610333610333565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906108da57508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122035de0c1e272b30ae5617b5f778db920ec93f73458f52a1b5224c72d593d0e7f864736f6c634300060800334f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220fdb8f2b348585a9fef5a3d3fecbedfddeb80ff3b317d439ffbb102513e89070e64736f6c63430006080033'; + '0x608060405234801561001057600080fd5b5060006100246001600160e01b0361007316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610077565b3390565b61186a806100866000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80635aef021f116100ad578063c12542df11610071578063c12542df146102ae578063ee891296146102d4578063f2fde38b146102dc578063fbeefc3c14610302578063fca513a81461030a5761012c565b80635aef021f1461024a578063715018a614610270578063820d12741461027857806385c858b11461029e5780638da5cb5b146102a65761012c565b806338280e6b116100f457806338280e6b146101aa57806340fdcadc146101d057806344ce375b146101f6578063530e784f1461021c5780635834eb9a146102425761012c565b80630261bf8b1461013157806321f8a721146101555780632a62c6361461017257806333128d591461019a5780633618abba146101a2575b600080fd5b610139610312565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561016b57600080fd5b5035610331565b6101986004803603602081101561018857600080fd5b50356001600160a01b031661034c565b005b6101396103f4565b610139610416565b610198600480360360208110156101c057600080fd5b50356001600160a01b0316610437565b610198600480360360208110156101e657600080fd5b50356001600160a01b03166104e4565b6101986004803603602081101561020c57600080fd5b50356001600160a01b0316610594565b6101986004803603602081101561023257600080fd5b50356001600160a01b0316610643565b6101396106eb565b6101986004803603602081101561026057600080fd5b50356001600160a01b031661070c565b6101986107b4565b6101986004803603602081101561028e57600080fd5b50356001600160a01b0316610856565b610139610905565b61013961092c565b610198600480360360208110156102c457600080fd5b50356001600160a01b031661093b565b6101396109f0565b610198600480360360208110156102f257600080fd5b50356001600160a01b0316610a0f565b610139610b07565b610139610b21565b600061032c6b13115391125391d7d413d3d360a21b610331565b905090565b6000908152600160205260409020546001600160a01b031690565b610354610b3b565b6000546001600160a01b039081169116146103a4576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6103bd6b2322a2afa82927ab24a222a960a11b82610b3f565b6040516001600160a01b038216907f18e1a55b8eff9c93921eecfa1462d6a8cbb80b3988db3eb14c039e43fdb2266190600090a250565b600061032c732622a72224a723afa827a7a62fa6a0a720a3a2a960611b610331565b600061032c724c454e44494e475f524154455f4f5241434c4560681b610331565b61043f610b3b565b6000546001600160a01b0390811691161461048f576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6104ad702a27a5a2a72fa224a9aa2924a12aaa27a960791b82610dd8565b6040516001600160a01b038216907fa8b48a56ec01f81c3615a21ec43e16b925c26293e0801cf6330427f2a687f05390600090a250565b6104ec610b3b565b6000546001600160a01b0390811691161461053c576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b61055d732622a72224a723afa827a7a62fa6a0a720a3a2a960611b82610dd8565b6040516001600160a01b038216907fd5280c51185a38d36f7a0f5e56cac6248312bb70d0974782fa5a595127e0e08e90600090a250565b61059c610b3b565b6000546001600160a01b039081169116146105ec576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b61060c722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b82610dd8565b6040516001600160a01b038216907f1a76cb769b814bc038223da86932b099b20aae03473683e6d98f5c3554e2606490600090a250565b61064b610b3b565b6000546001600160a01b0390811691161461069b576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6106b46b50524943455f4f5241434c4560a01b82610dd8565b6040516001600160a01b038216907fefe8ab924ca486283a79dc604baa67add51afb82af1db8ac386ebbba643cdffd90600090a250565b600061032c722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b610331565b610714610b3b565b6000546001600160a01b03908116911614610764576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b61077d6b13115391125391d7d413d3d360a21b82610b3f565b6040516001600160a01b038216907fc4e6c6cdf28d0edbd8bcf071d724d33cc2e7a30be7d06443925656e9cb492aa490600090a250565b6107bc610b3b565b6000546001600160a01b0390811691161461080c576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61085e610b3b565b6000546001600160a01b039081169116146108ae576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6108ce724c454e44494e475f524154455f4f5241434c4560681b82610dd8565b6040516001600160a01b038216907f5c29179aba6942020a8a2d38f65de02fb6b7f784e7f049ed3a3cab97621859b590600090a250565b600061032c782622a72224a723afa827a7a62fa1a7a72324a3aaa920aa27a960391b610331565b6000546001600160a01b031690565b610943610b3b565b6000546001600160a01b03908116911614610993576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6109b9782622a72224a723afa827a7a62fa1a7a72324a3aaa920aa27a960391b82610b3f565b6040516001600160a01b038216907fdfabe479bad36782fb1e77fbfddd4e382671713527e4786cfc93a022ae76372990600090a250565b600061032c702a27a5a2a72fa224a9aa2924a12aaa27a960791b610331565b610a17610b3b565b6000546001600160a01b03908116911614610a67576040805162461bcd60e51b81526020600482018190526024820152600080516020611815833981519152604482015290519081900360640190fd5b6001600160a01b038116610aac5760405162461bcd60e51b81526004018080602001828103825260268152602001806117ef6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600061032c6b2322a2afa82927ab24a222a960a11b610331565b600061032c6b50524943455f4f5241434c4560a01b610331565b3390565b6000610b4a83610331565b60408051306024808301919091528251808303909101815260449091019091526020810180516001600160e01b031663189acdbd60e31b17905290915081906001600160a01b038216610d0457604051610ba390610e06565b604051809103906000f080158015610bbf573d6000803e3d6000fd5b509150816001600160a01b031663cf7a1d778530846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c50578181015183820152602001610c38565b50505050905090810190601f168015610c7d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610c9e57600080fd5b505af1158015610cb2573d6000803e3d6000fd5b50505050610cc08583610dd8565b6040805186815290516001600160a01b038416917f1eb35cb4b5bbb23d152f3b4016a5a46c37a07ae930ed0956aba951e231142438919081900360200190a2610dd1565b6040805163278f794360e11b81526001600160a01b03868116600483019081526024830193845284516044840152845191861693634f1ef2869389938793929160640190602085019080838360005b83811015610d6b578181015183820152602001610d53565b50505050905090810190601f168015610d985780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610db857600080fd5b505af1158015610dcc573d6000803e3d6000fd5b505050505b5050505050565b60009182526001602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6109db80610e148339019056fe608060405234801561001057600080fd5b506109bb806100206000396000f3fe6080604052600436106100705760003560e01c80638f2839701161004e5780638f2839701461015e578063cf7a1d7714610191578063d1f5789414610250578063f851a4401461030657610070565b80633659cfe61461007a5780634f1ef286146100ad5780635c60da1b1461012d575b61007861031b565b005b34801561008657600080fd5b506100786004803603602081101561009d57600080fd5b50356001600160a01b0316610335565b610078600480360360408110156100c357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b50909250905061036f565b34801561013957600080fd5b5061014261041c565b604080516001600160a01b039092168252519081900360200190f35b34801561016a57600080fd5b506100786004803603602081101561018157600080fd5b50356001600160a01b0316610459565b610078600480360360608110156101a757600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101db57600080fd5b8201836020820111156101ed57600080fd5b8035906020019184600183028401116401000000008311171561020f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610513945050505050565b6100786004803603604081101561026657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111640100000000831117156102c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610599945050505050565b34801561031257600080fd5b506101426106d9565b610323610704565b61033361032e61070c565b610731565b565b61033d610755565b6001600160a01b0316336001600160a01b031614156103645761035f8161077a565b61036c565b61036c61031b565b50565b610377610755565b6001600160a01b0316336001600160a01b0316141561040f576103998361077a565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b505090508061040957600080fd5b50610417565b61041761031b565b505050565b6000610426610755565b6001600160a01b0316336001600160a01b0316141561044e5761044761070c565b9050610456565b61045661031b565b90565b610461610755565b6001600160a01b0316336001600160a01b03161415610364576001600160a01b0381166104bf5760405162461bcd60e51b81526004018080602001828103825260368152602001806109156036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e8610755565b604080516001600160a01b03928316815291841660208301528051918290030190a161035f816107ba565b600061051d61070c565b6001600160a01b03161461053057600080fd5b61053a8382610599565b604080517232b4b8189c9b1b97383937bc3c9730b236b4b760691b815290519081900360130190207fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036000199091011461059057fe5b610417826107ba565b60006105a361070c565b6001600160a01b0316146105b657600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461061657fe5b61061f826107de565b8051156106d5576000826001600160a01b0316826040518082805190602001908083835b602083106106625780518252601f199092019160209182019101610643565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146106c2576040519150601f19603f3d011682016040523d82523d6000602084013e6106c7565b606091505b505090508061041757600080fd5b5050565b60006106e3610755565b6001600160a01b0316336001600160a01b0316141561044e57610447610755565b610333610846565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610750573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610783816107de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6107e7816108a6565b6108225760405162461bcd60e51b815260040180806020018281038252603b81526020018061094b603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b61084e610755565b6001600160a01b0316336001600160a01b0316141561089e5760405162461bcd60e51b81526004018080602001828103825260328152602001806108e36032913960400191505060405180910390fd5b610333610333565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906108da57508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212205332daad1efa09e03cc1b95b9d51cadb3cf32e2d57907a628c0b4a5a20d8051f64736f6c634300060800334f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122029246c15c3dfc97c297923ce5a86da7e9cbc30fe90f0fd9ab2034e56926f8c0e64736f6c63430006080033'; diff --git a/types/LendingPoolAddressesProviderRegistryFactory.ts b/types/LendingPoolAddressesProviderRegistryFactory.ts index ae2a4ff2..83569a52 100644 --- a/types/LendingPoolAddressesProviderRegistryFactory.ts +++ b/types/LendingPoolAddressesProviderRegistryFactory.ts @@ -178,4 +178,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b5060006100246001600160e01b0361007316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610077565b3390565b610750806100866000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b1461010a578063d258191e1461012e578063d570d9541461015a578063f2fde38b146101925761007d565b80630de2670714610082578063365ccbbf146100aa578063715018a614610102575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166101b8565b005b6100b26102be565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100ee5781810151838201526020016100d6565b505050509050019250505060405180910390f35b6100a86103bb565b61011261045d565b604080516001600160a01b039092168252519081900360200190f35b6100a86004803603604081101561014457600080fd5b506001600160a01b03813516906020013561046c565b6101806004803603602081101561017057600080fd5b50356001600160a01b0316610520565b60408051918252519081900360200190f35b6100a8600480360360208110156101a857600080fd5b50356001600160a01b031661053b565b6101c0610633565b6000546001600160a01b03908116911614610210576040805162461bcd60e51b815260206004820181905260248201526000805160206106fb833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205461027a576040805162461bcd60e51b815260206004820152601a60248201527f50726f7669646572206973206e6f742072656769737465726564000000000000604482015290519081900360640190fd5b6001600160a01b038116600081815260016020526040808220829055517f851e5971c053e6b76e3a1e0b8ffa81430df738007fad86e195c409a757faccd29190a250565b600254606090818167ffffffffffffffff811180156102dc57600080fd5b50604051908082528060200260200182016040528015610306578160200160208202803683370190505b50905060005b6002548110156103b4576000600160006002848154811061032957fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411156103ac576002818154811061036157fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061038b57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b60010161030c565b5091505090565b6103c3610633565b6000546001600160a01b03908116911614610413576040805162461bcd60e51b815260206004820181905260248201526000805160206106fb833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b610474610633565b6000546001600160a01b039081169116146104c4576040805162461bcd60e51b815260206004820181905260248201526000805160206106fb833981519152604482015290519081900360640190fd5b6001600160a01b03821660009081526001602052604090208190556104e882610637565b6040516001600160a01b038316907f2db38786c10176b033a1608361716b0ca992e3af55dc05b6dc710969790beeda90600090a25050565b6001600160a01b031660009081526001602052604090205490565b610543610633565b6000546001600160a01b03908116911614610593576040805162461bcd60e51b815260206004820181905260248201526000805160206106fb833981519152604482015290519081900360640190fd5b6001600160a01b0381166105d85760405162461bcd60e51b81526004018080602001828103825260268152602001806106d56026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b60005b60025481101561068457816001600160a01b03166002828154811061065b57fe5b6000918252602090912001546001600160a01b0316141561067c57506106d1565b60010161063a565b50600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0383161790555b5056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220e906f3c4dc6df21fb70344f5253c4d5f59c429f9242bdf11f6cbcab677cc378064736f6c63430006080033'; + '0x608060405234801561001057600080fd5b5060006100246001600160e01b0361007316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610077565b3390565b610750806100866000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b1461010a578063d258191e1461012e578063d570d9541461015a578063f2fde38b146101925761007d565b80630de2670714610082578063365ccbbf146100aa578063715018a614610102575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166101b8565b005b6100b26102be565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100ee5781810151838201526020016100d6565b505050509050019250505060405180910390f35b6100a86103bb565b61011261045d565b604080516001600160a01b039092168252519081900360200190f35b6100a86004803603604081101561014457600080fd5b506001600160a01b03813516906020013561046c565b6101806004803603602081101561017057600080fd5b50356001600160a01b0316610520565b60408051918252519081900360200190f35b6100a8600480360360208110156101a857600080fd5b50356001600160a01b031661053b565b6101c0610633565b6000546001600160a01b03908116911614610210576040805162461bcd60e51b815260206004820181905260248201526000805160206106fb833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205461027a576040805162461bcd60e51b815260206004820152601a60248201527f50726f7669646572206973206e6f742072656769737465726564000000000000604482015290519081900360640190fd5b6001600160a01b038116600081815260016020526040808220829055517f851e5971c053e6b76e3a1e0b8ffa81430df738007fad86e195c409a757faccd29190a250565b600254606090818167ffffffffffffffff811180156102dc57600080fd5b50604051908082528060200260200182016040528015610306578160200160208202803683370190505b50905060005b6002548110156103b4576000600160006002848154811061032957fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411156103ac576002818154811061036157fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061038b57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b60010161030c565b5091505090565b6103c3610633565b6000546001600160a01b03908116911614610413576040805162461bcd60e51b815260206004820181905260248201526000805160206106fb833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b610474610633565b6000546001600160a01b039081169116146104c4576040805162461bcd60e51b815260206004820181905260248201526000805160206106fb833981519152604482015290519081900360640190fd5b6001600160a01b03821660009081526001602052604090208190556104e882610637565b6040516001600160a01b038316907f2db38786c10176b033a1608361716b0ca992e3af55dc05b6dc710969790beeda90600090a25050565b6001600160a01b031660009081526001602052604090205490565b610543610633565b6000546001600160a01b03908116911614610593576040805162461bcd60e51b815260206004820181905260248201526000805160206106fb833981519152604482015290519081900360640190fd5b6001600160a01b0381166105d85760405162461bcd60e51b81526004018080602001828103825260268152602001806106d56026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b60005b60025481101561068457816001600160a01b03166002828154811061065b57fe5b6000918252602090912001546001600160a01b0316141561067c57506106d1565b60010161063a565b50600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0383161790555b5056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220678930bb15bb411c1dbc6c6216cc7a1722478396a23587a3e4aafcfbc69537a464736f6c63430006080033'; diff --git a/types/LendingPoolConfigurator.d.ts b/types/LendingPoolConfigurator.d.ts index 2e5383ec..62ef14bf 100644 --- a/types/LendingPoolConfigurator.d.ts +++ b/types/LendingPoolConfigurator.d.ts @@ -77,9 +77,19 @@ interface LendingPoolConfiguratorInterface extends Interface { encode([_poolAddressesProvider]: [string]): string; }>; + pool: TypedFunctionDescription<{encode([]: []): string}>; + poolAddressesProvider: TypedFunctionDescription<{encode([]: []): string}>; - setReserveBaseLTVasCollateral: TypedFunctionDescription<{ + setLiquidationBonus: TypedFunctionDescription<{ + encode([_reserve, _bonus]: [string, BigNumberish]): string; + }>; + + setLiquidationThreshold: TypedFunctionDescription<{ + encode([_reserve, _threshold]: [string, BigNumberish]): string; + }>; + + setLtv: TypedFunctionDescription<{ encode([_reserve, _ltv]: [string, BigNumberish]): string; }>; @@ -91,14 +101,6 @@ interface LendingPoolConfiguratorInterface extends Interface { encode([_reserve, _rateStrategyAddress]: [string, string]): string; }>; - setReserveLiquidationBonus: TypedFunctionDescription<{ - encode([_reserve, _bonus]: [string, BigNumberish]): string; - }>; - - setReserveLiquidationThreshold: TypedFunctionDescription<{ - encode([_reserve, _threshold]: [string, BigNumberish]): string; - }>; - unfreezeReserve: TypedFunctionDescription<{ encode([_reserve]: [string]): string; }>; @@ -267,9 +269,23 @@ export class LendingPoolConfigurator extends Contract { overrides?: TransactionOverrides ): Promise; + pool(): Promise; + poolAddressesProvider(): Promise; - setReserveBaseLTVasCollateral( + setLiquidationBonus( + _reserve: string, + _bonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setLiquidationThreshold( + _reserve: string, + _threshold: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setLtv( _reserve: string, _ltv: BigNumberish, overrides?: TransactionOverrides @@ -287,18 +303,6 @@ export class LendingPoolConfigurator extends Contract { overrides?: TransactionOverrides ): Promise; - setReserveLiquidationBonus( - _reserve: string, - _bonus: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveLiquidationThreshold( - _reserve: string, - _threshold: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - unfreezeReserve( _reserve: string, overrides?: TransactionOverrides @@ -375,9 +379,23 @@ export class LendingPoolConfigurator extends Contract { overrides?: TransactionOverrides ): Promise; + pool(): Promise; + poolAddressesProvider(): Promise; - setReserveBaseLTVasCollateral( + setLiquidationBonus( + _reserve: string, + _bonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setLiquidationThreshold( + _reserve: string, + _threshold: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setLtv( _reserve: string, _ltv: BigNumberish, overrides?: TransactionOverrides @@ -395,18 +413,6 @@ export class LendingPoolConfigurator extends Contract { overrides?: TransactionOverrides ): Promise; - setReserveLiquidationBonus( - _reserve: string, - _bonus: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - - setReserveLiquidationThreshold( - _reserve: string, - _threshold: BigNumberish, - overrides?: TransactionOverrides - ): Promise; - unfreezeReserve(_reserve: string, overrides?: TransactionOverrides): Promise; filters: { @@ -501,9 +507,15 @@ export class LendingPoolConfigurator extends Contract { initialize(_poolAddressesProvider: string): Promise; + pool(): Promise; + poolAddressesProvider(): Promise; - setReserveBaseLTVasCollateral(_reserve: string, _ltv: BigNumberish): Promise; + setLiquidationBonus(_reserve: string, _bonus: BigNumberish): Promise; + + setLiquidationThreshold(_reserve: string, _threshold: BigNumberish): Promise; + + setLtv(_reserve: string, _ltv: BigNumberish): Promise; setReserveDecimals(_reserve: string, _decimals: BigNumberish): Promise; @@ -512,10 +524,6 @@ export class LendingPoolConfigurator extends Contract { _rateStrategyAddress: string ): Promise; - setReserveLiquidationBonus(_reserve: string, _bonus: BigNumberish): Promise; - - setReserveLiquidationThreshold(_reserve: string, _threshold: BigNumberish): Promise; - unfreezeReserve(_reserve: string): Promise; }; } diff --git a/types/LendingPoolConfiguratorFactory.ts b/types/LendingPoolConfiguratorFactory.ts index fa43b6ca..66e67c1b 100644 --- a/types/LendingPoolConfiguratorFactory.ts +++ b/types/LendingPoolConfiguratorFactory.ts @@ -544,6 +544,19 @@ const _abi = [ stateMutability: 'nonpayable', type: 'function', }, + { + inputs: [], + name: 'pool', + outputs: [ + { + internalType: 'contract LendingPool', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, { inputs: [], name: 'poolAddressesProvider', @@ -557,6 +570,42 @@ const _abi = [ stateMutability: 'view', type: 'function', }, + { + inputs: [ + { + internalType: 'address', + name: '_reserve', + type: 'address', + }, + { + internalType: 'uint256', + name: '_bonus', + type: 'uint256', + }, + ], + name: 'setLiquidationBonus', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_reserve', + type: 'address', + }, + { + internalType: 'uint256', + name: '_threshold', + type: 'uint256', + }, + ], + name: 'setLiquidationThreshold', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, { inputs: [ { @@ -570,7 +619,7 @@ const _abi = [ type: 'uint256', }, ], - name: 'setReserveBaseLTVasCollateral', + name: 'setLtv', outputs: [], stateMutability: 'nonpayable', type: 'function', @@ -611,42 +660,6 @@ const _abi = [ stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'uint256', - name: '_bonus', - type: 'uint256', - }, - ], - name: 'setReserveLiquidationBonus', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'uint256', - name: '_threshold', - type: 'uint256', - }, - ], - name: 'setReserveLiquidationThreshold', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [ { @@ -663,4 +676,4 @@ const _abi = [ ]; const _bytecode = - '0x60806040526000805534801561001457600080fd5b50615192806100246000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c8063a5bc826c11620000bd578063d466016f116200007b578063d466016f1462000530578063e8ae2f5b146200055f578063eede87c11462000588578063ef1f937314620005b9578063f53a251514620005e25762000148565b8063a5bc826c1462000451578063a8dc0f45146200048c578063b75d6f3414620004b5578063bf34418314620004de578063c4d66de814620005075762000148565b806366bbd928116200010b57806366bbd928146200038857806370fb84f414620003b75780637aca76eb14620003e65780637af635a6146200040f57806380e17d87146200042b5762000148565b80631133c0f7146200014d5780631d2118f914620002b35780633443a14b14620002e45780633e72a45414620003135780635dd9a189146200033c575b600080fd5b620002b1600480360360e08110156200016557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156200019057600080fd5b820183602082011115620001a357600080fd5b803590602001918460018302840111600160201b83111715620001c557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200021857600080fd5b8201836020820111156200022b57600080fd5b803590602001918460018302840111600160201b831117156200024d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160a01b03833581169450602084013581169360ff6040820135169350606001351690506200060b565b005b620002b160048036036040811015620002cb57600080fd5b506001600160a01b038135811691602001351662000965565b620002b160048036036040811015620002fc57600080fd5b506001600160a01b03813516906020013562000b4d565b620002b1600480360360208110156200032b57600080fd5b50356001600160a01b031662000d33565b620002b1600480360360a08110156200035457600080fd5b506001600160a01b03813581169160ff60208201351691604082013581169160608101358216916080909101351662000ff3565b620002b160048036036040811015620003a057600080fd5b506001600160a01b03813516906020013562001426565b620002b160048036036040811015620003cf57600080fd5b506001600160a01b0381351690602001356200160c565b620002b160048036036020811015620003fe57600080fd5b50356001600160a01b0316620017f2565b62000419620019c7565b60408051918252519081900360200190f35b62000435620019cc565b604080516001600160a01b039092168252519081900360200190f35b620002b1600480360360808110156200046957600080fd5b506001600160a01b038135169060208101359060408101359060600135620019db565b620002b160048036036020811015620004a457600080fd5b50356001600160a01b031662001bd9565b620002b160048036036020811015620004cd57600080fd5b50356001600160a01b031662001db3565b620002b160048036036020811015620004f657600080fd5b50356001600160a01b031662001f88565b620002b1600480360360208110156200051f57600080fd5b50356001600160a01b03166200215d565b620002b1600480360360408110156200054857600080fd5b506001600160a01b0381351690602001356200221f565b620002b1600480360360208110156200057757600080fd5b50356001600160a01b031662002405565b620002b160048036036040811015620005a057600080fd5b506001600160a01b0381351690602001351515620025d3565b620002b160048036036020811015620005d157600080fd5b50356001600160a01b0316620027c2565b620002b160048036036020811015620005fa57600080fd5b50356001600160a01b031662002995565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200065057600080fd5b505afa15801562000665573d6000803e3d6000fd5b505050506040513d60208110156200067c57600080fd5b50516001600160a01b031614620006c55760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b6034546040516000916001600160a01b031690899085908a908a90620006eb9062002b73565b6001600160a01b038087168252851660208083019190915260ff8516604083015260a06060830181815285519184019190915284519091608084019160c085019187019080838360005b838110156200074f57818101518382015260200162000735565b50505050905090810190601f1680156200077d5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015620007b257818101518382015260200162000798565b50505050905090810190601f168015620007e05780820380516001836020036101000a031916815260200191505b50975050505050505050604051809103906000f08015801562000807573d6000803e3d6000fd5b509050603460009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200085957600080fd5b505afa1580156200086e573d6000803e3d6000fd5b505050506040513d60208110156200088557600080fd5b5051604080516309eab60f60e01b81526001600160a01b038b8116600483015284811660248301528881166044830152878116606483015260ff8716608483015285811660a4830152915191909216916309eab60f9160c480830192600092919082900301818387803b158015620008fc57600080fd5b505af115801562000911573d6000803e3d6000fd5b5050604080516001600160a01b03868116825291518286169450918c1692507f1d9fcd0dc935b4778d5af97f55c4d7b2553257382f1ef25c412114c8eeebd88e919081900360200190a35050505050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015620009aa57600080fd5b505afa158015620009bf573d6000803e3d6000fd5b505050506040513d6020811015620009d657600080fd5b50516001600160a01b03161462000a1f5760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b15801562000a6557600080fd5b505afa15801562000a7a573d6000803e3d6000fd5b505050506040513d602081101562000a9157600080fd5b505160408051631d2118f960e01b81526001600160a01b0386811660048301528581166024830152915192935090831691631d2118f99160448082019260009290919082900301818387803b15801562000aea57600080fd5b505af115801562000aff573d6000803e3d6000fd5b5050604080516001600160a01b0380881682528616602082015281517f5644b64ebb0ce18c4032248ca52f58355469092ff072866c3dcd8640e817d6a59450908190039091019150a1505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562000b9257600080fd5b505afa15801562000ba7573d6000803e3d6000fd5b505050506040513d602081101562000bbe57600080fd5b50516001600160a01b03161462000c075760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b15801562000c4d57600080fd5b505afa15801562000c62573d6000803e3d6000fd5b505050506040513d602081101562000c7957600080fd5b505160408051633443a14b60e01b81526001600160a01b03868116600483015260248201869052915192935090831691633443a14b9160448082019260009290919082900301818387803b15801562000cd157600080fd5b505af115801562000ce6573d6000803e3d6000fd5b5050604080516001600160a01b03871681526020810186905281517f437dd3b61b7c7eee7fc70515c8846482dfca92e2e1e02af5d638c5d4878d67149450908190039091019150a1505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562000d7857600080fd5b505afa15801562000d8d573d6000803e3d6000fd5b505050506040513d602081101562000da457600080fd5b50516001600160a01b03161462000ded5760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b15801562000e3357600080fd5b505afa15801562000e48573d6000803e3d6000fd5b505050506040513d602081101562000e5f57600080fd5b5051604080516335ea6a7560e01b81526001600160a01b038581166004830152915192935060009283928392908616916335ea6a759160248082019261014092909190829003018186803b15801562000eb757600080fd5b505afa15801562000ecc573d6000803e3d6000fd5b505050506040513d61014081101562000ee457600080fd5b508051602082015160409092015190945090925090508215801562000f07575081155b801562000f12575080155b62000f4f5760405162461bcd60e51b815260040180806020018281038252602a81526020018062005133602a913960400191505060405180910390fd5b6040805163b736aaeb60e01b81526001600160a01b03878116600483015260006024830181905292519087169263b736aaeb926044808201939182900301818387803b15801562000f9f57600080fd5b505af115801562000fb4573d6000803e3d6000fd5b50506040516001600160a01b03881692507f6f60cf8bd0f218cabe1ea3150bd07b0b758c35c4cfdf7138017a283e65564d5e9150600090a25050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200103857600080fd5b505afa1580156200104d573d6000803e3d6000fd5b505050506040513d60208110156200106457600080fd5b50516001600160a01b031614620010ad5760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b6060856001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015620010e957600080fd5b505afa158015620010fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200112857600080fd5b8101908080516040519392919084600160201b8211156200114857600080fd5b9083019060208201858111156200115e57600080fd5b8251600160201b8111828201881017156200117857600080fd5b82525081516020918201929091019080838360005b83811015620011a75781810151838201526020016200118d565b50505050905090810190601f168015620011d55780820380516001836020036101000a031916815260200191505b50604052505050604051602001808075020b0bb329024b73a32b932b9ba103132b0b934b733960551b81525060160182805190602001908083835b60208310620012315780518252601f19909201916020918201910162001210565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405290506060866001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620012a357600080fd5b505afa158015620012b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015620012e257600080fd5b8101908080516040519392919084600160201b8211156200130257600080fd5b9083019060208201858111156200131857600080fd5b8251600160201b8111828201881017156200133257600080fd5b82525081516020918201929091019080838360005b838110156200136157818101518382015260200162001347565b50505050905090810190601f1680156200138f5780820380516001836020036101000a031916815260200191505b506040525050506040516020018080606160f81b81525060010182805190602001908083835b60208310620013d65780518252601f199092019160209182019101620013b5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405290506200141d87838387878b8b6200060b565b50505050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200146b57600080fd5b505afa15801562001480573d6000803e3d6000fd5b505050506040513d60208110156200149757600080fd5b50516001600160a01b031614620014e05760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b1580156200152657600080fd5b505afa1580156200153b573d6000803e3d6000fd5b505050506040513d60208110156200155257600080fd5b505160408051630cd77b2560e31b81526001600160a01b038681166004830152602482018690529151929350908316916366bbd9289160448082019260009290919082900301818387803b158015620015aa57600080fd5b505af1158015620015bf573d6000803e3d6000fd5b5050604080516001600160a01b03871681526020810186905281517f2e73b7f1df792712003e6859f940c1e8711c3f1329474771fee71d2ec11631299450908190039091019150a1505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200165157600080fd5b505afa15801562001666573d6000803e3d6000fd5b505050506040513d60208110156200167d57600080fd5b50516001600160a01b031614620016c65760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b1580156200170c57600080fd5b505afa15801562001721573d6000803e3d6000fd5b505050506040513d60208110156200173857600080fd5b505160408051631c3ee13d60e21b81526001600160a01b038681166004830152602482018690529151929350908316916370fb84f49160448082019260009290919082900301818387803b1580156200179057600080fd5b505af1158015620017a5573d6000803e3d6000fd5b5050604080516001600160a01b03871681526020810186905281517fe3ba662f7011e701056a43e8cf832242322eeff01453e7a72d01ec2af36d9aec9450908190039091019150a1505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200183757600080fd5b505afa1580156200184c573d6000803e3d6000fd5b505050506040513d60208110156200186357600080fd5b50516001600160a01b031614620018ac5760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b158015620018f257600080fd5b505afa15801562001907573d6000803e3d6000fd5b505050506040513d60208110156200191e57600080fd5b5051604080516325ba55f160e21b81526001600160a01b038581166004830152600160248301529151929350908316916396e957c49160448082019260009290919082900301818387803b1580156200197657600080fd5b505af11580156200198b573d6000803e3d6000fd5b50506040516001600160a01b03851692507fda5cdb66c77023db6abe5226a4d4a40c3b8e768012f4ff4e446f62f60127fc569150600090a25050565b600381565b6034546001600160a01b031681565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562001a2057600080fd5b505afa15801562001a35573d6000803e3d6000fd5b505050506040513d602081101562001a4c57600080fd5b50516001600160a01b03161462001a955760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b15801562001adb57600080fd5b505afa15801562001af0573d6000803e3d6000fd5b505050506040513d602081101562001b0757600080fd5b50516040805163296f209b60e21b81526001600160a01b03888116600483015260248201889052604482018790526064820186905291519293509083169163a5bc826c9160848082019260009290919082900301818387803b15801562001b6d57600080fd5b505af115801562001b82573d6000803e3d6000fd5b5050604080518781526020810187905280820186905290516001600160a01b03891693507fdfe62f53e7707d64f99bca15d2bdf3facc4074bc047e7dec2ea130300e99274492509081900360600190a25050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562001c1e57600080fd5b505afa15801562001c33573d6000803e3d6000fd5b505050506040513d602081101562001c4a57600080fd5b50516001600160a01b03161462001c935760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b15801562001cd957600080fd5b505afa15801562001cee573d6000803e3d6000fd5b505050506040513d602081101562001d0557600080fd5b505160408051636ee365f960e01b81526001600160a01b038581166004830152600060248301819052604483018190529251939450841692636ee365f99260648084019391929182900301818387803b15801562001d6257600080fd5b505af115801562001d77573d6000803e3d6000fd5b50506040516001600160a01b03851692507fe9a7e5fd4fc8ea18e602350324bf48e8f05d12434af0ce0be05743e6a5fdcb9e9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562001df857600080fd5b505afa15801562001e0d573d6000803e3d6000fd5b505050506040513d602081101562001e2457600080fd5b50516001600160a01b03161462001e6d5760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b15801562001eb357600080fd5b505afa15801562001ec8573d6000803e3d6000fd5b505050506040513d602081101562001edf57600080fd5b50516040805163b736aaeb60e01b81526001600160a01b0385811660048301526001602483015291519293509083169163b736aaeb9160448082019260009290919082900301818387803b15801562001f3757600080fd5b505af115801562001f4c573d6000803e3d6000fd5b50506040516001600160a01b03851692507f35b80cd8ea3440e9a8454f116fa658b858da1b64c86c48451f4559cefcdfb56c9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562001fcd57600080fd5b505afa15801562001fe2573d6000803e3d6000fd5b505050506040513d602081101562001ff957600080fd5b50516001600160a01b031614620020425760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b1580156200208857600080fd5b505afa1580156200209d573d6000803e3d6000fd5b505050506040513d6020811015620020b457600080fd5b5051604080516339d9797960e11b81526001600160a01b038581166004830152600160248301529151929350908316916373b2f2f29160448082019260009290919082900301818387803b1580156200210c57600080fd5b505af115801562002121573d6000803e3d6000fd5b50506040516001600160a01b03851692507f8dee2b2f3e98319ae6347eda521788f73f4086c9be9a594942b370b137fb8cb19150600090a25050565b60006200216962002b68565b60015490915060ff16806200218357506200218362002b6d565b8062002190575060005481115b620021cd5760405162461bcd60e51b815260040180806020018281038252602e81526020018062005105602e913960400191505060405180910390fd5b60015460ff16158015620021ed576001805460ff19168117905560008290555b603480546001600160a01b0319166001600160a01b03851617905580156200221a576001805460ff191690555b505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200226457600080fd5b505afa15801562002279573d6000803e3d6000fd5b505050506040513d60208110156200229057600080fd5b50516001600160a01b031614620022d95760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b1580156200231f57600080fd5b505afa15801562002334573d6000803e3d6000fd5b505050506040513d60208110156200234b57600080fd5b50516040805163d466016f60e01b81526001600160a01b0386811660048301526024820186905291519293509083169163d466016f9160448082019260009290919082900301818387803b158015620023a357600080fd5b505af1158015620023b8573d6000803e3d6000fd5b5050604080516001600160a01b03871681526020810186905281517fda47540c7f7fd5a68c3285f3bb708f322424f948f41df6f51622fa24b39686649450908190039091019150a1505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200244a57600080fd5b505afa1580156200245f573d6000803e3d6000fd5b505050506040513d60208110156200247657600080fd5b50516001600160a01b031614620024bf5760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b1580156200250557600080fd5b505afa1580156200251a573d6000803e3d6000fd5b505050506040513d60208110156200253157600080fd5b50516040805163e8ae2f5b60e01b81526001600160a01b03858116600483015291519293509083169163e8ae2f5b9160248082019260009290919082900301818387803b1580156200258257600080fd5b505af115801562002597573d6000803e3d6000fd5b50506040516001600160a01b03851692507f9cc75e4cafc9a556a369bc53468649075680eb554d225d5918f199453824796d9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200261857600080fd5b505afa1580156200262d573d6000803e3d6000fd5b505050506040513d60208110156200264457600080fd5b50516001600160a01b0316146200268d5760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b158015620026d357600080fd5b505afa158015620026e8573d6000803e3d6000fd5b505050506040513d6020811015620026ff57600080fd5b505160408051636ee365f960e01b81526001600160a01b038681166004830152851515602483015260016044830152915192935090831691636ee365f99160648082019260009290919082900301818387803b1580156200275f57600080fd5b505af115801562002774573d6000803e3d6000fd5b5050604080516001600160a01b0387168152851515602082015281517fab2f7f9e5ca2772fafa94f355c1842a80ae6b9e41f83083098d81f67d7a0b5089450908190039091019150a1505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200280757600080fd5b505afa1580156200281c573d6000803e3d6000fd5b505050506040513d60208110156200283357600080fd5b50516001600160a01b0316146200287c5760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b158015620028c257600080fd5b505afa158015620028d7573d6000803e3d6000fd5b505050506040513d6020811015620028ee57600080fd5b5051604080516325ba55f160e21b81526001600160a01b03858116600483015260006024830181905292519394508416926396e957c49260448084019391929182900301818387803b1580156200294457600080fd5b505af115801562002959573d6000803e3d6000fd5b50506040516001600160a01b03851692507f995959c2ceab6ce20e8cd89c904e449fd3e21918a0f420c9ec9340595585526b9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015620029da57600080fd5b505afa158015620029ef573d6000803e3d6000fd5b505050506040513d602081101562002a0657600080fd5b50516001600160a01b03161462002a4f5760405162461bcd60e51b8152600401808060200182810382526029815260200180620050dc6029913960400191505060405180910390fd5b60345460408051630261bf8b60e01b815290516000926001600160a01b031691630261bf8b916004808301926020929190829003018186803b15801562002a9557600080fd5b505afa15801562002aaa573d6000803e3d6000fd5b505050506040513d602081101562002ac157600080fd5b5051604080516339d9797960e11b81526001600160a01b03858116600483015260006024830181905292519394508416926373b2f2f29260448084019391929182900301818387803b15801562002b1757600080fd5b505af115801562002b2c573d6000803e3d6000fd5b50506040516001600160a01b03851692507f8bbf35441ac2c607ddecadd3d8ee58636d32f217fad201fb2655581502dd84e39150600090a25050565b600390565b303b1590565b61255a8062002b828339019056fe60806040523480156200001157600080fd5b506040516200255a3803806200255a833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82516401000000008111828201881017156200009c57600080fd5b82525081516020918201929091019080838360005b83811015620000cb578181015183820152602001620000b1565b50505050905090810190601f168015620000f95780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011d57600080fd5b9083019060208201858111156200013357600080fd5b82516401000000008111828201881017156200014e57600080fd5b82525081516020918201929091019080838360005b838110156200017d57818101518382015260200162000163565b50505050905090810190601f168015620001ab5780820380516001836020036101000a031916815260200191505b50604052505082518391508290620001cb906003906020850190620002eb565b508051620001e1906004906020840190620002eb565b50506005805460ff191660121790555062000205836001600160e01b03620002d516565b600a80546001600160a01b0319166001600160a01b03878116919091179182905560408051630261bf8b60e01b815290519290911691630261bf8b91600480820192602092909190829003018186803b1580156200026257600080fd5b505afa15801562000277573d6000803e3d6000fd5b505050506040513d60208110156200028e57600080fd5b5051600b80546001600160a01b0319166001600160a01b0392831617905560058054610100600160a81b031916610100969092169590950217909355506200039092505050565b6005805460ff191660ff92909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200032e57805160ff19168380011785556200035e565b828001600101855582156200035e579182015b828111156200035e57825182559160200191906001019062000341565b506200036c92915062000370565b5090565b6200038d91905b808211156200036c576000815560010162000377565b90565b6121ba80620003a06000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80635eae177c116100de578063a9059cbb11610097578063db006a7511610071578063db006a75146104f3578063dd62ed3e14610510578063ee9907a41461053e578063f866c3191461056457610173565b8063a9059cbb14610499578063c634dfaa146104c5578063d0fc81d2146104eb57610173565b80635eae177c146103df57806370a082311461040b57806389d1a0fc1461043157806394362e8b1461043957806395d89b4114610465578063a457c2d71461046d57610173565b806323b872dd1161013057806323b872dd146102c3578063313ce567146102f9578063325a9b131461031757806339509351146103455780633edb7cb814610371578063445e80101461039d57610173565b806306fdde0314610178578063095ea7b3146101f55780630e49072d1461023557806312c87c2d1461025d57806318160ddd146102835780631d51e7cf1461029d575b600080fd5b61018061059a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102216004803603604081101561020b57600080fd5b506001600160a01b038135169060200135610631565b604080519115158252519081900360200190f35b61025b6004803603602081101561024b57600080fd5b50356001600160a01b031661064f565b005b61025b6004803603602081101561027357600080fd5b50356001600160a01b031661065c565b61028b6106fb565b60408051918252519081900360200190f35b61028b600480360360208110156102b357600080fd5b50356001600160a01b03166107bd565b610221600480360360608110156102d957600080fd5b506001600160a01b038135811691602081013590911690604001356107dc565b610301610869565b6040805160ff9092168252519081900360200190f35b61025b6004803603604081101561032d57600080fd5b506001600160a01b0381358116916020013516610872565b6102216004803603604081101561035b57600080fd5b506001600160a01b0381351690602001356108d8565b61025b6004803603604081101561038757600080fd5b506001600160a01b03813516906020013561092c565b6103c3600480360360208110156103b357600080fd5b50356001600160a01b0316610a21565b604080516001600160a01b039092168252519081900360200190f35b610221600480360360408110156103f557600080fd5b506001600160a01b038135169060200135610a3f565b61028b6004803603602081101561042157600080fd5b50356001600160a01b0316610ada565b6103c3610b8d565b61025b6004803603604081101561044f57600080fd5b506001600160a01b038135169060200135610ba1565b610180610c76565b6102216004803603604081101561048357600080fd5b506001600160a01b038135169060200135610cd7565b610221600480360360408110156104af57600080fd5b506001600160a01b038135169060200135610d45565b61028b600480360360208110156104db57600080fd5b50356001600160a01b0316610d59565b61028b610d64565b61025b6004803603602081101561050957600080fd5b5035610d6a565b61028b6004803603604081101561052657600080fd5b506001600160a01b0381358116916020013516610fa4565b61028b6004803603602081101561055457600080fd5b50356001600160a01b0316610fcf565b61025b6004803603606081101561057a57600080fd5b506001600160a01b03813581169160208101359091169060400135610fea565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106265780601f106105fb57610100808354040283529160200191610626565b820191906000526020600020905b81548152906001019060200180831161060957829003601f168201915b505050505090505b90565b600061064561063e611043565b8484611047565b5060015b92915050565b6106593382611133565b50565b6001600160a01b0381163314156106a45760405162461bcd60e51b8152600401808060200182810382526025815260200180611f806025913960400191505060405180910390fd5b3360008181526009602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b91a350565b600080610706611322565b90508061071757600091505061062e565b600b546005546040805163d15e005360e01b81526001600160a01b036101009093048316600482015290516107b7936107b293169163d15e0053916024808301926020929190829003018186803b15801561077157600080fd5b505afa158015610785573d6000803e3d6000fd5b505050506040513d602081101561079b57600080fd5b50516107a684611328565b9063ffffffff61133e16565b611389565b91505090565b6001600160a01b0381166000908152600860205260409020545b919050565b60006107e98484846113a2565b61085f846107f5611043565b61085a85604051806060016040528060288152602001611fc6602891396001600160a01b038a16600090815260016020526040812090610833611043565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61141116565b611047565b5060019392505050565b60055460ff1690565b6001600160a01b038281166000908152600960205260409020541633146108ca5760405162461bcd60e51b815260040180806020018281038252603a81526020018061214b603a913960400191505060405180910390fd5b6108d48282611133565b5050565b60006106456108e5611043565b8461085a85600160006108f6611043565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6114a816565b600b546001600160a01b031633146109755760405162461bcd60e51b81526004018080602001828103825260328152602001806120f46032913960400191505060405180910390fd5b600080600061098385611502565b935093509350506109958583866115f3565b61099f858561172a565b60006109b1848663ffffffff61183216565b6109c1576109be86611874565b90505b856001600160a01b03167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db8685846109f957856109fc565b60005b60408051938452602084019290925282820152519081900360600190a2505050505050565b6001600160a01b039081166000908152600760205260409020541690565b600b54600554604080516376e9d61560e01b81526101009092046001600160a01b039081166004840152858116602484015260448301859052905160009391909116916376e9d615916064808301926020929190829003018186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d6020811015610ad157600080fd5b50519392505050565b600080610ae683611926565b6001600160a01b03841660009081526008602052604090205490915081158015610b0e575080155b15610b1e576000925050506107d7565b6001600160a01b0384811660009081526007602052604090205416610b6f57610b6681610b5a86610b55868463ffffffff6114a816565b611941565b9063ffffffff61183216565b925050506107d7565b610b66610b8082610b5a8785611941565b839063ffffffff6114a816565b60055461010090046001600160a01b031681565b600b546001600160a01b03163314610bea5760405162461bcd60e51b81526004018080602001828103825260328152602001806120f46032913960400191505060405180910390fd5b600080610bf684611502565b935093505050610c1a84610c1385856114a890919063ffffffff16565b60006115f3565b610c2484846119f6565b604080518481526020810184905280820183905290516001600160a01b038616917fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a919081900360600190a250505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106265780601f106105fb57610100808354040283529160200191610626565b6000610645610ce4611043565b8461085a856040518060600160405280602581526020016121266025913960016000610d0e611043565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61141116565b6000610645610d52611043565b84846113a2565b600061064982611926565b60001981565b60008111610dbf576040805162461bcd60e51b815260206004820181905260248201527f416d6f756e7420746f2072656465656d206e6565647320746f206265203e2030604482015290519081900360640190fd5b6000806000610dcd33611502565b91955093509150849050600019811415610de45750825b83811115610e235760405162461bcd60e51b8152600401808060200182810382526032815260200180611f066032913960400191505060405180910390fd5b610e2d3382610a3f565b610e7e576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b610e893384836115f3565b610e93338261172a565b6000610ea5858363ffffffff61183216565b610eb557610eb233611874565b90505b600b546005546001600160a01b0391821691639895e3d8916101009004163385610ee58a8263ffffffff61183216565b6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b158015610f5457600080fd5b505af1158015610f68573d6000803e3d6000fd5b50505050336001600160a01b03167fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a76468386846109f957866109fc565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b031660009081526006602052604090205490565b600b546001600160a01b031633146110335760405162461bcd60e51b81526004018080602001828103825260328152602001806120f46032913960400191505060405180910390fd5b61103e838383611af2565b505050565b3390565b6001600160a01b03831661108c5760405162461bcd60e51b81526004018080602001828103825260248152602001806120d06024913960400191505060405180910390fd5b6001600160a01b0382166110d15760405162461bcd60e51b8152600401808060200182810382526022815260200180611f386022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0380831660009081526007602052604090205481169082168114156111905760405162461bcd60e51b815260040180806020018281038252602a815260200180611fee602a913960400191505060405180910390fd5b60008060008061119f87611502565b9350935093509350600083116111e65760405162461bcd60e51b81526004018080602001828103825260428152602001806120186042913960600191505060405180910390fd5b6001600160a01b0385161561120157611201876000866115f3565b866001600160a01b0316866001600160a01b0316141561128d576001600160a01b038716600081815260076020908152604080832080546001600160a01b03191690558051878152918201869052818101859052519192917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050506108d4565b6001600160a01b03878116600090815260076020526040812080546001600160a01b031916928916929092179091556112c990889085906115f3565b604080518481526020810184905280820183905290516001600160a01b0380891692908a16917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050505050565b60025490565b600061064982633b9aca0063ffffffff611c2116565b60006113826b033b2e3c9fd0803ce8000000611376611363868663ffffffff611c2116565b6b019d971e4fe8401e74000000906114a8565b9063ffffffff611c7a16565b9392505050565b6000631dcd6500611382633b9aca0061137683866114a8565b82816113ae8282610a3f565b6113ff576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b61140a858585611af2565b5050505050565b600081848411156114a05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561146557818101518382015260200161144d565b50505050905090810190601f1680156114925780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611382576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600080600061151386611926565b9050600061152482610b5a89610ada565b905061153087826119f6565b600b546005546040805163d15e005360e01b81526101009092046001600160a01b0390811660048401529051600093919091169163d15e0053916024808301926020929190829003018186803b15801561158957600080fd5b505afa15801561159d573d6000803e3d6000fd5b505050506040513d60208110156115b357600080fd5b50516001600160a01b03891660009081526006602052604090208190559050826115e3818463ffffffff6114a816565b9099909850919650945092505050565b6001600160a01b038084166000908152600760205260409020541680611619575061103e565b60008061162583611502565b6001600160a01b038716600090815260086020526040902054919550935061165b9250869150610b5a908863ffffffff6114a816565b6001600160a01b038085166000908152600860209081526040808320949094556007905291909120541680156116ce576001600160a01b0381166000908152600860205260409020546116b4908463ffffffff6114a816565b6001600160a01b0382166000908152600860205260409020555b60408051848152602081018490528082018890526060810187905290516001600160a01b038616917f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f919081900360800190a250505050505050565b6001600160a01b03821661176f5760405162461bcd60e51b815260040180806020018281038252602181526020018061208a6021913960400191505060405180910390fd5b61177b8260008361103e565b6117be81604051806060016040528060228152602001611ee4602291396001600160a01b038516600090815260208190526040902054919063ffffffff61141116565b6001600160a01b0383166000908152602081905260409020556002546117ea908263ffffffff61183216565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600061138283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611411565b6001600160a01b038116600081815260076020908152604080832080546001600160a01b03191690558051838152918201839052818101839052519192839290917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594919081900360600190a36001600160a01b03821660009081526008602052604090205461191e57506001600160a01b03811660009081526006602052604081205560016107d7565b5060006107d7565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03808316600090815260066020908152604080832054600b54600554835163d15e005360e01b81526101009091048716600482015292519495611382956107b29593946119ea94939092169263d15e00539260248082019391829003018186803b1580156119b557600080fd5b505afa1580156119c9573d6000803e3d6000fd5b505050506040513d60208110156119df57600080fd5b50516107a687611328565b9063ffffffff611cbc16565b6001600160a01b038216611a51576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611a5d6000838361103e565b600254611a70908263ffffffff6114a816565b6002556001600160a01b038216600090815260208190526040902054611a9c908263ffffffff6114a816565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008111611b315760405162461bcd60e51b815260040180806020018281038252603081526020018061205a6030913960400191505060405180910390fd5b6000806000611b3f86611502565b93509350935050600080611b5287611502565b935093505050611b638885886115f3565b611b7787610c13848963ffffffff6114a816565b611b82888888611cf4565b6000611b94868863ffffffff61183216565b611ba457611ba189611874565b90505b876001600160a01b0316896001600160a01b03167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde889888786611be75789611bea565b60005b60408051948552602085019390935283830191909152606083015260808201879052519081900360a00190a3505050505050505050565b600082611c3057506000610649565b82820282848281611c3d57fe5b04146113825760405162461bcd60e51b8152600401808060200182810382526021815260200180611fa56021913960400191505060405180910390fd5b600061138283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e5b565b600060028204611cec83611376611cdf876b033b2e3c9fd0803ce8000000611c21565b849063ffffffff6114a816565b949350505050565b6001600160a01b038316611d395760405162461bcd60e51b81526004018080602001828103825260258152602001806120ab6025913960400191505060405180910390fd5b6001600160a01b038216611d7e5760405162461bcd60e51b8152600401808060200182810382526023815260200180611ec16023913960400191505060405180910390fd5b611d8983838361103e565b611dcc81604051806060016040528060268152602001611f5a602691396001600160a01b038616600090815260208190526040902054919063ffffffff61141116565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611e01908263ffffffff6114a816565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008183611eaa5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561146557818101518382015260200161144d565b506000838581611eb657fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a264697066735822122008e081bd200e22c2880ab750383a27a6a8ae9d5dc0675e1d00e354d74312aeb964736f6c634300060800335468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c206d616e61676572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564546865206c6971756964697479206f66207468652072657365727665206e6565647320746f2062652030a26469706673582212202b3b6cabef318327346ff7efef4dbb02f6928fbe2113e86471034dda00e14b3b64736f6c63430006080033'; + '0x60806040526000805534801561001457600080fd5b50615cbe806100246000396000f3fe60806040523480156200001157600080fd5b5060043610620001545760003560e01c80637cadffd911620000c9578063bf3441831162000087578063bf34418314620002b4578063c4d66de814620002cb578063e8ae2f5b14620002e2578063eede87c114620002f9578063ef1f93731462000310578063f53a251514620003275762000154565b80637cadffd9146200024e57806380e17d871462000265578063a5bc826c146200026f578063a8dc0f451462000286578063b75d6f34146200029d5762000154565b80635dd9a18911620001175780635dd9a18914620001d957806366bbd92814620001f057806372f46aaa14620002075780637aca76eb146200021e5780637af635a614620002355762000154565b80630e30428d14620001595780631133c0f7146200017257806316f0115b14620001895780631d2118f914620001ab5780633e72a45414620001c2575b600080fd5b620001706200016a36600462002b77565b6200033e565b005b620001706200018336600462002aa7565b6200053d565b62000193620008cb565b604051620001a2919062002e43565b60405180910390f35b62000170620001bc36600462002a35565b620008da565b62000170620001d3366004620029f0565b62000a2a565b62000170620001ea36600462002be2565b62000cee565b620001706200020136600462002b77565b62000eed565b620001706200021836600462002b77565b620010d6565b620001706200022f366004620029f0565b620012bf565b6200023f620014ae565b604051620001a2919062003024565b620001706200025f36600462002b77565b620014b3565b620001936200169c565b620001706200028036600462002ba5565b620016ab565b6200017062000297366004620029f0565b620018d3565b62000170620002ae366004620029f0565b62001ac2565b62000170620002c5366004620029f0565b62001cb1565b62000170620002dc366004620029f0565b62001ea0565b62000170620002f3366004620029f0565b62001fe1565b620001706200030a36600462002a72565b620021d0565b6200017062000321366004620029f0565b620023ba565b6200017062000338366004620029f0565b620025a9565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200038357600080fd5b505afa15801562000398573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003be919062002a16565b6001600160a01b031614620003f05760405162461bcd60e51b8152600401620003e79062002f43565b60405180910390fd5b620003fa6200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906200042c90869060040162002e43565b60206040518083038186803b1580156200044557600080fd5b505afa1580156200045a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000480919062002cdb565b905062000494818363ffffffff6200279816565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691620004c99187919060040162002ebe565b600060405180830381600087803b158015620004e457600080fd5b505af1158015620004f9573d6000803e3d6000fd5b505050507f437dd3b61b7c7eee7fc70515c8846482dfca92e2e1e02af5d638c5d4878d671483836040516200053092919062002ebe565b60405180910390a1505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200058257600080fd5b505afa15801562000597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005bd919062002a16565b6001600160a01b031614620005e65760405162461bcd60e51b8152600401620003e79062002f43565b6034546040516000916001600160a01b031690899085908a908a906200060c9062002971565b6200061c95949392919062002ed7565b604051809103906000f08015801562000639573d6000803e3d6000fd5b5090506200066d6040518060400160405280600e81526020016d34b734ba34b0b634bd34b733971760911b815250620027af565b603554604051633d38474960e11b81526001600160a01b0390911690637a708e9290620006a7908b9085908a908a90899060040162002e71565b600060405180830381600087803b158015620006c257600080fd5b505af1158015620006d7573d6000803e3d6000fd5b50505050620006e56200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79062000717908c9060040162002e43565b60206040518083038186803b1580156200073057600080fd5b505afa15801562000745573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200076b919062002cdb565b9050620007828160ff861663ffffffff6200285916565b620007b36040518060400160405280600e81526020016d53657474696e672061637469766560901b815250620027af565b620007c681600163ffffffff6200286f16565b620007f76040518060400160405280600e81526020016d53657474696e6720667265657a6560901b815250620027af565b6200080a81600063ffffffff6200289e16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916200083f918d919060040162002ebe565b600060405180830381600087803b1580156200085a57600080fd5b505af11580156200086f573d6000803e3d6000fd5b50505050816001600160a01b0316896001600160a01b03167f1d9fcd0dc935b4778d5af97f55c4d7b2553257382f1ef25c412114c8eeebd88e85604051620008b8919062002e43565b60405180910390a3505050505050505050565b6035546001600160a01b031681565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200091f57600080fd5b505afa15801562000934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200095a919062002a16565b6001600160a01b031614620009835760405162461bcd60e51b8152600401620003e79062002f43565b603554604051631d2118f960e01b81526001600160a01b0390911690631d2118f990620009b7908590859060040162002e57565b600060405180830381600087803b158015620009d257600080fd5b505af1158015620009e7573d6000803e3d6000fd5b505050507f5644b64ebb0ce18c4032248ca52f58355469092ff072866c3dcd8640e817d6a5828260405162000a1e92919062002e57565b60405180910390a15050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562000a6f57600080fd5b505afa15801562000a84573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000aaa919062002a16565b6001600160a01b03161462000ad35760405162461bcd60e51b8152600401620003e79062002f43565b6035546040516335ea6a7560e01b8152600091829182916001600160a01b0316906335ea6a759062000b0a90879060040162002e43565b6101406040518083038186803b15801562000b2457600080fd5b505afa15801562000b39573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b5f919062002d03565b5050505050505092509250925082600014801562000b7b575081155b801562000b86575080155b62000ba55760405162461bcd60e51b8152600401620003e79062002fda565b62000baf6200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79062000be190889060040162002e43565b60206040518083038186803b15801562000bfa57600080fd5b505afa15801562000c0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c35919062002cdb565b905062000c4a81600063ffffffff6200286f16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769162000c7f9189919060040162002ebe565b600060405180830381600087803b15801562000c9a57600080fd5b505af115801562000caf573d6000803e3d6000fd5b50506040516001600160a01b03881692507f6f60cf8bd0f218cabe1ea3150bd07b0b758c35c4cfdf7138017a283e65564d5e9150600090a25050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562000d3357600080fd5b505afa15801562000d48573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d6e919062002a16565b6001600160a01b03161462000d975760405162461bcd60e51b8152600401620003e79062002f43565b6060856001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801562000dd357600080fd5b505afa15801562000de8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000e12919081019062002c5c565b60405160200162000e24919062002e03565b60405160208183030381529060405290506060866001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801562000e7157600080fd5b505afa15801562000e86573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000eb0919081019062002c5c565b60405160200162000ec2919062002dd8565b604051602081830303815290604052905062000ee487838387878b8b6200053d565b50505050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562000f3257600080fd5b505afa15801562000f47573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f6d919062002a16565b6001600160a01b03161462000f965760405162461bcd60e51b8152600401620003e79062002f43565b62000fa06200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79062000fd290869060040162002e43565b60206040518083038186803b15801562000feb57600080fd5b505afa15801562001000573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001026919062002cdb565b90506200103a818363ffffffff6200285916565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916200106f9187919060040162002ebe565b600060405180830381600087803b1580156200108a57600080fd5b505af11580156200109f573d6000803e3d6000fd5b505050507f2e73b7f1df792712003e6859f940c1e8711c3f1329474771fee71d2ec116312983836040516200053092919062002ebe565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200111b57600080fd5b505afa15801562001130573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001156919062002a16565b6001600160a01b0316146200117f5760405162461bcd60e51b8152600401620003e79062002f43565b620011896200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790620011bb90869060040162002e43565b60206040518083038186803b158015620011d457600080fd5b505afa158015620011e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200120f919062002cdb565b905062001223818363ffffffff620028cd16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691620012589187919060040162002ebe565b600060405180830381600087803b1580156200127357600080fd5b505af115801562001288573d6000803e3d6000fd5b505050507fda47540c7f7fd5a68c3285f3bb708f322424f948f41df6f51622fa24b396866483836040516200053092919062002ebe565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200130457600080fd5b505afa15801562001319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200133f919062002a16565b6001600160a01b031614620013685760405162461bcd60e51b8152600401620003e79062002f43565b620013726200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790620013a490859060040162002e43565b60206040518083038186803b158015620013bd57600080fd5b505afa158015620013d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013f8919062002cdb565b90506200140d81600163ffffffff6200289e16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691620014429186919060040162002ebe565b600060405180830381600087803b1580156200145d57600080fd5b505af115801562001472573d6000803e3d6000fd5b50506040516001600160a01b03851692507fda5cdb66c77023db6abe5226a4d4a40c3b8e768012f4ff4e446f62f60127fc569150600090a25050565b600381565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015620014f857600080fd5b505afa1580156200150d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001533919062002a16565b6001600160a01b0316146200155c5760405162461bcd60e51b8152600401620003e79062002f43565b620015666200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906200159890869060040162002e43565b60206040518083038186803b158015620015b157600080fd5b505afa158015620015c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015ec919062002cdb565b905062001600818363ffffffff620028de16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691620016359187919060040162002ebe565b600060405180830381600087803b1580156200165057600080fd5b505af115801562001665573d6000803e3d6000fd5b505050507fe3ba662f7011e701056a43e8cf832242322eeff01453e7a72d01ec2af36d9aec83836040516200053092919062002ebe565b6034546001600160a01b031681565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015620016f057600080fd5b505afa15801562001705573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200172b919062002a16565b6001600160a01b031614620017545760405162461bcd60e51b8152600401620003e79062002f43565b6200175e6200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906200179090889060040162002e43565b60206040518083038186803b158015620017a957600080fd5b505afa158015620017be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017e4919062002cdb565b9050620017f8818563ffffffff620028cd16565b6200180a818463ffffffff6200279816565b6200181c818363ffffffff620028de16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691620018519189919060040162002ebe565b600060405180830381600087803b1580156200186c57600080fd5b505af115801562001881573d6000803e3d6000fd5b50505050846001600160a01b03167fdfe62f53e7707d64f99bca15d2bdf3facc4074bc047e7dec2ea130300e992744858585604051620018c4939291906200302d565b60405180910390a25050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200191857600080fd5b505afa1580156200192d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001953919062002a16565b6001600160a01b0316146200197c5760405162461bcd60e51b8152600401620003e79062002f43565b620019866200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790620019b890859060040162002e43565b60206040518083038186803b158015620019d157600080fd5b505afa158015620019e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a0c919062002cdb565b905062001a2181600063ffffffff620028f516565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769162001a569186919060040162002ebe565b600060405180830381600087803b15801562001a7157600080fd5b505af115801562001a86573d6000803e3d6000fd5b50506040516001600160a01b03851692507fe9a7e5fd4fc8ea18e602350324bf48e8f05d12434af0ce0be05743e6a5fdcb9e9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562001b0757600080fd5b505afa15801562001b1c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b42919062002a16565b6001600160a01b03161462001b6b5760405162461bcd60e51b8152600401620003e79062002f43565b62001b756200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79062001ba790859060040162002e43565b60206040518083038186803b15801562001bc057600080fd5b505afa15801562001bd5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bfb919062002cdb565b905062001c1081600163ffffffff6200286f16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769162001c459186919060040162002ebe565b600060405180830381600087803b15801562001c6057600080fd5b505af115801562001c75573d6000803e3d6000fd5b50506040516001600160a01b03851692507f35b80cd8ea3440e9a8454f116fa658b858da1b64c86c48451f4559cefcdfb56c9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801562001cf657600080fd5b505afa15801562001d0b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d31919062002a16565b6001600160a01b03161462001d5a5760405162461bcd60e51b8152600401620003e79062002f43565b62001d646200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79062001d9690859060040162002e43565b60206040518083038186803b15801562001daf57600080fd5b505afa15801562001dc4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001dea919062002cdb565b905062001dff81600163ffffffff6200292416565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769162001e349186919060040162002ebe565b600060405180830381600087803b15801562001e4f57600080fd5b505af115801562001e64573d6000803e3d6000fd5b50506040516001600160a01b03851692507f8dee2b2f3e98319ae6347eda521788f73f4086c9be9a594942b370b137fb8cb19150600090a25050565b600062001eac62002953565b60015490915060ff168062001ec6575062001ec662002958565b8062001ed3575060005481115b62001ef25760405162461bcd60e51b8152600401620003e79062002f8c565b60015460ff1615801562001f12576001805460ff19168117905560008290555b603480546001600160a01b0319166001600160a01b03858116919091179182905560408051630261bf8b60e01b815290519290911691630261bf8b91600480820192602092909190829003018186803b15801562001f6f57600080fd5b505afa15801562001f84573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001faa919062002a16565b603580546001600160a01b0319166001600160a01b0392909216919091179055801562001fdc576001805460ff191690555b505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200202657600080fd5b505afa1580156200203b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002061919062002a16565b6001600160a01b0316146200208a5760405162461bcd60e51b8152600401620003e79062002f43565b620020946200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790620020c690859060040162002e43565b60206040518083038186803b158015620020df57600080fd5b505afa158015620020f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200211a919062002cdb565b90506200212f81600063ffffffff620028cd16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691620021649186919060040162002ebe565b600060405180830381600087803b1580156200217f57600080fd5b505af115801562002194573d6000803e3d6000fd5b50506040516001600160a01b03851692507f9cc75e4cafc9a556a369bc53468649075680eb554d225d5918f199453824796d9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156200221557600080fd5b505afa1580156200222a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002250919062002a16565b6001600160a01b031614620022795760405162461bcd60e51b8152600401620003e79062002f43565b620022836200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790620022b590869060040162002e43565b60206040518083038186803b158015620022ce57600080fd5b505afa158015620022e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002309919062002cdb565b90506200231e81600163ffffffff620028f516565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691620023539187919060040162002ebe565b600060405180830381600087803b1580156200236e57600080fd5b505af115801562002383573d6000803e3d6000fd5b505050507fab2f7f9e5ca2772fafa94f355c1842a80ae6b9e41f83083098d81f67d7a0b50883836040516200053092919062002ea3565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015620023ff57600080fd5b505afa15801562002414573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200243a919062002a16565b6001600160a01b031614620024635760405162461bcd60e51b8152600401620003e79062002f43565b6200246d6200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906200249f90859060040162002e43565b60206040518083038186803b158015620024b857600080fd5b505afa158015620024cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024f3919062002cdb565b90506200250881600063ffffffff6200289e16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916200253d9186919060040162002ebe565b600060405180830381600087803b1580156200255857600080fd5b505af11580156200256d573d6000803e3d6000fd5b50506040516001600160a01b03851692507f995959c2ceab6ce20e8cd89c904e449fd3e21918a0f420c9ec9340595585526b9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015620025ee57600080fd5b505afa15801562002603573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002629919062002a16565b6001600160a01b031614620026525760405162461bcd60e51b8152600401620003e79062002f43565b6200265c6200295e565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906200268e90859060040162002e43565b60206040518083038186803b158015620026a757600080fd5b505afa158015620026bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620026e2919062002cdb565b9050620026f781600063ffffffff6200292416565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916200272c9186919060040162002ebe565b600060405180830381600087803b1580156200274757600080fd5b505af11580156200275c573d6000803e3d6000fd5b50506040516001600160a01b03851692507f8bbf35441ac2c607ddecadd3d8ee58636d32f217fad201fb2655581502dd84e39150600090a25050565b8151670fffffff0000ffff1660109190911b179052565b60006a636f6e736f6c652e6c6f676001600160a01b031682604051602401620027d9919062002f2e565b60408051601f198184030181529181526020820180516001600160e01b031663104c13eb60e21b1790525162002810919062002dba565b600060405180830381855afa9150503d80600081146200284d576040519150601f19603f3d011682016040523d82523d6000602084013e62002852565b606091505b5050505050565b815166ffffffffffffff1660309190911b179052565b6038816200287f57600062002882565b60015b8351670fffffffffffffff1660ff91821690921b161790915250565b603981620028ae576000620028b1565b60015b8351671fffffffffffffff1660ff91821690921b161790915250565b8151670fffffffffff000016179052565b8151670fff0000ffffffff1660209190911b179052565b603a816200290557600062002908565b60015b8351673fffffffffffffff1660ff91821690921b161790915250565b603b816200293457600062002937565b60015b8351677fffffffffffffff1660ff91821690921b161790915250565b600390565b303b1590565b6040518060200160405280600081525090565b612bac80620030dd83390190565b600082601f83011262002990578081fd5b8135620029a7620029a1826200306b565b62003043565b9150808252836020828501011115620029bf57600080fd5b8060208401602084013760009082016020015292915050565b803560ff81168114620029ea57600080fd5b92915050565b60006020828403121562002a02578081fd5b813562002a0f81620030c3565b9392505050565b60006020828403121562002a28578081fd5b815162002a0f81620030c3565b6000806040838503121562002a48578081fd5b823562002a5581620030c3565b9150602083013562002a6781620030c3565b809150509250929050565b6000806040838503121562002a85578182fd5b823562002a9281620030c3565b91506020830135801515811462002a67578182fd5b600080600080600080600060e0888a03121562002ac2578283fd5b873562002acf81620030c3565b9650602088013567ffffffffffffffff8082111562002aec578485fd5b62002afa8b838c016200297f565b975060408a013591508082111562002b10578485fd5b5062002b1f8a828b016200297f565b955050606088013562002b3281620030c3565b9350608088013562002b4481620030c3565b925062002b558960a08a01620029d8565b915060c088013562002b6781620030c3565b8091505092959891949750929550565b6000806040838503121562002b8a578182fd5b823562002b9781620030c3565b946020939093013593505050565b6000806000806080858703121562002bbb578384fd5b843562002bc881620030c3565b966020860135965060408601359560600135945092505050565b600080600080600060a0868803121562002bfa578081fd5b853562002c0781620030c3565b945062002c188760208801620029d8565b9350604086013562002c2a81620030c3565b9250606086013562002c3c81620030c3565b9150608086013562002c4e81620030c3565b809150509295509295909350565b60006020828403121562002c6e578081fd5b815167ffffffffffffffff81111562002c85578182fd5b80830184601f82011262002c97578283fd5b8051915062002caa620029a1836200306b565b82815285602084840101111562002cbf578384fd5b62002cd283602083016020850162003090565b95945050505050565b60006020828403121562002ced578081fd5b62002cf9602062003043565b9151825250919050565b6000806000806000806000806000806101408b8d03121562002d23578384fd5b8a51995060208b0151985060408b0151975060608b0151965060808b0151955060a08b0151945060c08b0151935060e08b015192506101008b015191506101208b015164ffffffffff8116811462002d79578182fd5b809150509295989b9194979a5092959850565b6000815180845262002da681602086016020860162003090565b601f01601f19169290920160200192915050565b6000825162002dce81846020870162003090565b9190910192915050565b6000606160f81b8252825162002df681600185016020870162003090565b9190910160010192915050565b600075020b0bb329024b73a32b932b9ba103132b0b934b733960551b8252825162002e3681601685016020870162003090565b9190910160160192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0395861681529385166020850152918416604084015283166060830152909116608082015260a00190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0386811682528516602082015260ff8416604082015260a06060820181905260009062002f0e9083018562002d8c565b828103608084015262002f22818562002d8c565b98975050505050505050565b60006020825262002a0f602083018462002d8c565b60208082526029908201527f5468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f604082015268361036b0b730b3b2b960b91b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f546865206c6971756964697479206f66207468652072657365727665206e65656040820152690647320746f20626520360b41b606082015260800190565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff811182821017156200306357600080fd5b604052919050565b600067ffffffffffffffff82111562003082578081fd5b50601f01601f191660200190565b60005b83811015620030ad57818101518382015260200162003093565b83811115620030bd576000848401525b50505050565b6001600160a01b0381168114620030d957600080fd5b5056fe60806040523480156200001157600080fd5b5060405162002bac38038062002bac833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82516401000000008111828201881017156200009c57600080fd5b82525081516020918201929091019080838360005b83811015620000cb578181015183820152602001620000b1565b50505050905090810190601f168015620000f95780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011d57600080fd5b9083019060208201858111156200013357600080fd5b82516401000000008111828201881017156200014e57600080fd5b82525081516020918201929091019080838360005b838110156200017d57818101518382015260200162000163565b50505050905090810190601f168015620001ab5780820380516001836020036101000a031916815260200191505b50604052505082518391508290620001cb906003906020850190620002eb565b508051620001e1906004906020840190620002eb565b50506005805460ff191660121790555062000205836001600160e01b03620002d516565b600a80546001600160a01b0319166001600160a01b03878116919091179182905560408051630261bf8b60e01b815290519290911691630261bf8b91600480820192602092909190829003018186803b1580156200026257600080fd5b505afa15801562000277573d6000803e3d6000fd5b505050506040513d60208110156200028e57600080fd5b5051600b80546001600160a01b0319166001600160a01b0392831617905560058054610100600160a81b031916610100969092169590950217909355506200039092505050565b6005805460ff191660ff92909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200032e57805160ff19168380011785556200035e565b828001600101855582156200035e579182015b828111156200035e57825182559160200191906001019062000341565b506200036c92915062000370565b5090565b6200038d91905b808211156200036c576000815560010162000377565b90565b61280c80620003a06000396000f3fe6080604052600436106101855760003560e01c80635eae177c116100d1578063a9059cbb1161008a578063db006a7511610064578063db006a75146106a9578063dd62ed3e146106d3578063ee9907a41461070e578063f866c31914610741576101e1565b8063a9059cbb14610628578063c634dfaa14610661578063d0fc81d214610694576101e1565b80635eae177c1461052057806370a082311461055957806389d1a0fc1461058c57806394362e8b146105a157806395d89b41146105da578063a457c2d7146105ef576101e1565b806323b872dd1161013e578063395093511161011857806339509351146104265780633edb7cb81461045f578063445e8010146104985780634efecaa5146104e7576101e1565b806323b872dd1461037d578063313ce567146103c0578063325a9b13146103eb576101e1565b806306fdde03146101e6578063095ea7b3146102705780630e49072d146102bd57806312c87c2d146102f057806318160ddd146103235780631d51e7cf1461034a576101e1565b366101e1576005546101a49061010090046001600160a01b0316610784565b6101df5760405162461bcd60e51b815260040180806020018281038252603981526020018061256f6039913960400191505060405180910390fd5b005b600080fd5b3480156101f257600080fd5b506101fb6107aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027c57600080fd5b506102a96004803603604081101561029357600080fd5b506001600160a01b038135169060200135610841565b604080519115158252519081900360200190f35b3480156102c957600080fd5b506101df600480360360208110156102e057600080fd5b50356001600160a01b031661085f565b3480156102fc57600080fd5b506101df6004803603602081101561031357600080fd5b50356001600160a01b031661086c565b34801561032f57600080fd5b5061033861090b565b60408051918252519081900360200190f35b34801561035657600080fd5b506103386004803603602081101561036d57600080fd5b50356001600160a01b03166109cd565b34801561038957600080fd5b506102a9600480360360608110156103a057600080fd5b506001600160a01b038135811691602081013590911690604001356109e8565b3480156103cc57600080fd5b506103d5610a75565b6040805160ff9092168252519081900360200190f35b3480156103f757600080fd5b506101df6004803603604081101561040e57600080fd5b506001600160a01b0381358116916020013516610a7e565b34801561043257600080fd5b506102a96004803603604081101561044957600080fd5b506001600160a01b038135169060200135610ae4565b34801561046b57600080fd5b506101df6004803603604081101561048257600080fd5b506001600160a01b038135169060200135610b38565b3480156104a457600080fd5b506104cb600480360360208110156104bb57600080fd5b50356001600160a01b0316610c2d565b604080516001600160a01b039092168252519081900360200190f35b3480156104f357600080fd5b506103386004803603604081101561050a57600080fd5b506001600160a01b038135169060200135610c4b565b34801561052c57600080fd5b506102a96004803603604081101561054357600080fd5b506001600160a01b038135169060200135610cb9565b34801561056557600080fd5b506103386004803603602081101561057c57600080fd5b50356001600160a01b0316610d54565b34801561059857600080fd5b506104cb610e07565b3480156105ad57600080fd5b506101df600480360360408110156105c457600080fd5b506001600160a01b038135169060200135610e1b565b3480156105e657600080fd5b506101fb610ef0565b3480156105fb57600080fd5b506102a96004803603604081101561061257600080fd5b506001600160a01b038135169060200135610f51565b34801561063457600080fd5b506102a96004803603604081101561064b57600080fd5b506001600160a01b038135169060200135610fbf565b34801561066d57600080fd5b506103386004803603602081101561068457600080fd5b50356001600160a01b0316610fd3565b3480156106a057600080fd5b50610338610fde565b3480156106b557600080fd5b506101df600480360360208110156106cc57600080fd5b5035610fe4565b3480156106df57600080fd5b50610338600480360360408110156106f657600080fd5b506001600160a01b038135811691602001351661121e565b34801561071a57600080fd5b506103386004803603602081101561073157600080fd5b50356001600160a01b0316611249565b34801561074d57600080fd5b506101df6004803603606081101561076457600080fd5b506001600160a01b03813581169160208101359091169060400135611264565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b919050565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108365780601f1061080b57610100808354040283529160200191610836565b820191906000526020600020905b81548152906001019060200180831161081957829003601f168201915b505050505090505b90565b600061085561084e6112bd565b84846112c1565b5060015b92915050565b61086933826113ad565b50565b6001600160a01b0381163314156108b45760405162461bcd60e51b81526004018080602001828103825260258152602001806125a86025913960400191505060405180910390fd5b3360008181526009602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b91a350565b60008061091661159c565b90508061092757600091505061083e565b600b546005546040805163d15e005360e01b81526001600160a01b036101009093048316600482015290516109c7936109c293169163d15e0053916024808301926020929190829003018186803b15801561098157600080fd5b505afa158015610995573d6000803e3d6000fd5b505050506040513d60208110156109ab57600080fd5b50516109b6846115a2565b9063ffffffff6115b816565b611603565b91505090565b6001600160a01b031660009081526008602052604090205490565b60006109f584848461161c565b610a6b84610a016112bd565b610a66856040518060600160405280602881526020016125ee602891396001600160a01b038a16600090815260016020526040812090610a3f6112bd565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61168b16565b6112c1565b5060019392505050565b60055460ff1690565b6001600160a01b03828116600090815260096020526040902054163314610ad65760405162461bcd60e51b815260040180806020018281038252603a81526020018061279d603a913960400191505060405180910390fd5b610ae082826113ad565b5050565b6000610855610af16112bd565b84610a668560016000610b026112bd565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61172216565b600b546001600160a01b03163314610b815760405162461bcd60e51b81526004018080602001828103825260328152602001806127466032913960400191505060405180910390fd5b6000806000610b8f8561177c565b93509350935050610ba185838661186d565b610bab858561196d565b6000610bbd848663ffffffff611a7516565b610bcd57610bca86611ab7565b90505b856001600160a01b03167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db868584610c055785610c08565b60005b60408051938452602084019290925282820152519081900360600190a2505050505050565b6001600160a01b039081166000908152600760205260409020541690565b600b546000906001600160a01b03163314610c975760405162461bcd60e51b81526004018080602001828103825260328152602001806127466032913960400191505060405180910390fd5b600554610cb39061010090046001600160a01b03168484611b69565b50919050565b600b54600554604080516376e9d61560e01b81526101009092046001600160a01b039081166004840152858116602484015260448301859052905160009391909116916376e9d615916064808301926020929190829003018186803b158015610d2157600080fd5b505afa158015610d35573d6000803e3d6000fd5b505050506040513d6020811015610d4b57600080fd5b50519392505050565b600080610d6083611c42565b6001600160a01b03841660009081526008602052604090205490915081158015610d88575080155b15610d98576000925050506107a5565b6001600160a01b0384811660009081526007602052604090205416610de957610de081610dd486610dcf868463ffffffff61172216565b611c5d565b9063ffffffff611a7516565b925050506107a5565b610de0610dfa82610dd48785611c5d565b839063ffffffff61172216565b60055461010090046001600160a01b031681565b600b546001600160a01b03163314610e645760405162461bcd60e51b81526004018080602001828103825260328152602001806127466032913960400191505060405180910390fd5b600080610e708461177c565b935093505050610e9484610e8d858561172290919063ffffffff16565b600061186d565b610e9e8484611d12565b604080518481526020810184905280820183905290516001600160a01b038616917fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a919081900360600190a250505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108365780601f1061080b57610100808354040283529160200191610836565b6000610855610f5e6112bd565b84610a66856040518060600160405280602581526020016127786025913960016000610f886112bd565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61168b16565b6000610855610fcc6112bd565b848461161c565b600061085982611c42565b60001981565b60008111611039576040805162461bcd60e51b815260206004820181905260248201527f416d6f756e7420746f2072656465656d206e6565647320746f206265203e2030604482015290519081900360640190fd5b60008060006110473361177c565b9195509350915084905060001981141561105e5750825b8381111561109d5760405162461bcd60e51b81526004018080602001828103825260328152602001806124f56032913960400191505060405180910390fd5b6110a73382610cb9565b6110f8576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b61110333848361186d565b61110d338261196d565b600061111f858363ffffffff611a7516565b61112f5761112c33611ab7565b90505b600b546005546001600160a01b0391821691639895e3d891610100900416338561115f8a8263ffffffff611a7516565b6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156111ce57600080fd5b505af11580156111e2573d6000803e3d6000fd5b50505050336001600160a01b03167fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a7646838684610c055786610c08565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b031660009081526006602052604090205490565b600b546001600160a01b031633146112ad5760405162461bcd60e51b81526004018080602001828103825260328152602001806127466032913960400191505060405180910390fd5b6112b8838383611e0e565b505050565b3390565b6001600160a01b0383166113065760405162461bcd60e51b81526004018080602001828103825260248152602001806126f86024913960400191505060405180910390fd5b6001600160a01b03821661134b5760405162461bcd60e51b81526004018080602001828103825260228152602001806125276022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03808316600090815260076020526040902054811690821681141561140a5760405162461bcd60e51b815260040180806020018281038252602a815260200180612616602a913960400191505060405180910390fd5b6000806000806114198761177c565b9350935093509350600083116114605760405162461bcd60e51b81526004018080602001828103825260428152602001806126406042913960600191505060405180910390fd5b6001600160a01b0385161561147b5761147b8760008661186d565b866001600160a01b0316866001600160a01b03161415611507576001600160a01b038716600081815260076020908152604080832080546001600160a01b03191690558051878152918201869052818101859052519192917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a35050505050610ae0565b6001600160a01b03878116600090815260076020526040812080546001600160a01b03191692891692909217909155611543908890859061186d565b604080518481526020810184905280820183905290516001600160a01b0380891692908a16917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050505050565b60025490565b600061085982633b9aca0063ffffffff611f5d16565b60006115fc6b033b2e3c9fd0803ce80000006115f06115dd868663ffffffff611f5d16565b6b019d971e4fe8401e7400000090611722565b9063ffffffff611fb616565b9392505050565b6000631dcd65006115fc633b9aca006115f08386611722565b82816116288282610cb9565b611679576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b611684858585611e0e565b5050505050565b6000818484111561171a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156116df5781810151838201526020016116c7565b50505050905090810190601f16801561170c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156115fc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600080600061178d86611c42565b9050600061179e82610dd489610d54565b90506117aa8782611d12565b600b546005546040805163d15e005360e01b81526101009092046001600160a01b0390811660048401529051600093919091169163d15e0053916024808301926020929190829003018186803b15801561180357600080fd5b505afa158015611817573d6000803e3d6000fd5b505050506040513d602081101561182d57600080fd5b50516001600160a01b038916600090815260066020526040902081905590508261185d818463ffffffff61172216565b9099909850919650945092505050565b6001600160a01b03808416600090815260076020526040902054168061189357506112b8565b60008061189f8361177c565b6001600160a01b03871660009081526008602052604090205491955093506118d59250869150610dd4908863ffffffff61172216565b6001600160a01b03808516600090815260086020908152604080832094909455600790529190912054168015611911576119118484600061186d565b60408051848152602081018490528082018890526060810187905290516001600160a01b038616917f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f919081900360800190a250505050505050565b6001600160a01b0382166119b25760405162461bcd60e51b81526004018080602001828103825260218152602001806126b26021913960400191505060405180910390fd5b6119be826000836112b8565b611a01816040518060600160405280602281526020016124d3602291396001600160a01b038516600090815260208190526040902054919063ffffffff61168b16565b6001600160a01b038316600090815260208190526040902055600254611a2d908263ffffffff611a7516565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60006115fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061168b565b6001600160a01b038116600081815260076020908152604080832080546001600160a01b03191690558051838152918201839052818101839052519192839290917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594919081900360600190a36001600160a01b038216600090815260086020526040902054611b6157506001600160a01b03811660009081526006602052604081205560016107a5565b5060006107a5565b80611b73576112b8565b611b7c83610784565b15611c28576040516000906001600160a01b0384169061c35090849084818181858888f193505050503d8060008114611bd1576040519150601f19603f3d011682016040523d82523d6000602084013e611bd6565b606091505b5050905080611c22576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b506112b8565b6112b86001600160a01b038416838363ffffffff611ff816565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b03808316600090815260066020908152604080832054600b54600554835163d15e005360e01b815261010090910487166004820152925194956115fc956109c2959394611d0694939092169263d15e00539260248082019391829003018186803b158015611cd157600080fd5b505afa158015611ce5573d6000803e3d6000fd5b505050506040513d6020811015611cfb57600080fd5b50516109b6876115a2565b9063ffffffff61204a16565b6001600160a01b038216611d6d576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611d79600083836112b8565b600254611d8c908263ffffffff61172216565b6002556001600160a01b038216600090815260208190526040902054611db8908263ffffffff61172216565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008111611e4d5760405162461bcd60e51b81526004018080602001828103825260308152602001806126826030913960400191505060405180910390fd5b6000806000611e5b8661177c565b93509350935050600080611e6e8761177c565b935093505050611e7f88858861186d565b611e9387610e8d848963ffffffff61172216565b611e9e888888612082565b6000611eb0868863ffffffff611a7516565b158015611ecf5750876001600160a01b0316896001600160a01b031614155b15611ee057611edd89611ab7565b90505b876001600160a01b0316896001600160a01b03167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde889888786611f235789611f26565b60005b60408051948552602085019390935283830191909152606083015260808201879052519081900360a00190a3505050505050505050565b600082611f6c57506000610859565b82820282848281611f7957fe5b04146115fc5760405162461bcd60e51b81526004018080602001828103825260218152602001806125cd6021913960400191505060405180910390fd5b60006115fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121e9565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526112b890849061224e565b60006002820461207a836115f061206d876b033b2e3c9fd0803ce8000000611f5d565b849063ffffffff61172216565b949350505050565b6001600160a01b0383166120c75760405162461bcd60e51b81526004018080602001828103825260258152602001806126d36025913960400191505060405180910390fd5b6001600160a01b03821661210c5760405162461bcd60e51b81526004018080602001828103825260238152602001806124b06023913960400191505060405180910390fd5b6121178383836112b8565b61215a81604051806060016040528060268152602001612549602691396001600160a01b038616600090815260208190526040902054919063ffffffff61168b16565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461218f908263ffffffff61172216565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081836122385760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156116df5781810151838201526020016116c7565b50600083858161224457fe5b0495945050505050565b60606122a3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122ff9092919063ffffffff16565b8051909150156112b8578080602001905160208110156122c257600080fd5b50516112b85760405162461bcd60e51b815260040180806020018281038252602a81526020018061271c602a913960400191505060405180910390fd5b606061207a8484600085606061231485612476565b612365576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106123a45780518252601f199092019160209182019101612385565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612406576040519150601f19603f3d011682016040523d82523d6000602084013e61240b565b606091505b5091509150811561241f57915061207a9050565b80511561242f5780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156116df5781810151838201526020016116c7565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061207a57505015159291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655472616e736665727320617265206f6e6c7920616c6c6f7765642069662074686520756e6465726c79696e6720617373657420697320455448557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a264697066735822122036124f60105c60035698f550a3f538626a6e2de559fc7e3944d631faf8b418db64736f6c63430006080033a26469706673582212208570bd564a9af315e1bffc8f4e1757c54de968df3869f64d6c40e0e9aac176e264736f6c63430006080033'; diff --git a/types/LendingPoolFactory.ts b/types/LendingPoolFactory.ts index baa6969d..a4470b86 100644 --- a/types/LendingPoolFactory.ts +++ b/types/LendingPoolFactory.ts @@ -17,15 +17,15 @@ export class LendingPoolFactory extends ContractFactory { let linkedBytecode = _bytecode; linkedBytecode = linkedBytecode.replace( - new RegExp('__\\$5e6137a1b5a0a366e2874209b5abf71c10\\$__', 'g'), - linkLibraryAddresses['__$5e6137a1b5a0a366e2874209b5abf71c10$__'] + new RegExp('__\\$69254465eb8f179ea24caa73cf68b23524\\$__', 'g'), + linkLibraryAddresses['__$69254465eb8f179ea24caa73cf68b23524$__'] .replace(/^0x/, '') .toLowerCase() ); linkedBytecode = linkedBytecode.replace( - new RegExp('__\\$69254465eb8f179ea24caa73cf68b23524\\$__', 'g'), - linkLibraryAddresses['__$69254465eb8f179ea24caa73cf68b23524$__'] + new RegExp('__\\$5e6137a1b5a0a366e2874209b5abf71c10\\$__', 'g'), + linkLibraryAddresses['__$5e6137a1b5a0a366e2874209b5abf71c10$__'] .replace(/^0x/, '') .toLowerCase() ); @@ -566,47 +566,6 @@ const _abi = [ stateMutability: 'payable', type: 'function', }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - ], - name: 'disableReserveAsCollateral', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'uint256', - name: '_baseLTVasCollateral', - type: 'uint256', - }, - { - internalType: 'uint256', - name: '_liquidationThreshold', - type: 'uint256', - }, - { - internalType: 'uint256', - name: '_liquidationBonus', - type: 'uint256', - }, - ], - name: 'enableReserveAsCollateral', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [ { @@ -635,6 +594,32 @@ const _abi = [ stateMutability: 'nonpayable', type: 'function', }, + { + inputs: [ + { + internalType: 'address', + name: '_reserve', + type: 'address', + }, + ], + name: 'getConfiguration', + outputs: [ + { + components: [ + { + internalType: 'uint256', + name: 'data', + type: 'uint256', + }, + ], + internalType: 'struct ReserveConfiguration.Map', + name: '', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, { inputs: [ { @@ -863,11 +848,6 @@ const _abi = [ name: 'totalBorrowsETH', type: 'uint256', }, - { - internalType: 'uint256', - name: 'totalFeesETH', - type: 'uint256', - }, { internalType: 'uint256', name: 'availableBorrowsETH', @@ -983,11 +963,6 @@ const _abi = [ name: '_variableDebtAddress', type: 'address', }, - { - internalType: 'uint256', - name: '_decimals', - type: 'uint256', - }, { internalType: 'address', name: '_interestRateStrategyAddress', @@ -1138,24 +1113,6 @@ const _abi = [ stateMutability: 'view', type: 'function', }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'bool', - name: '_active', - type: 'bool', - }, - ], - name: 'setReserveActive', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [ { @@ -1165,70 +1122,11 @@ const _abi = [ }, { internalType: 'uint256', - name: '_ltv', + name: '_configuration', type: 'uint256', }, ], - name: 'setReserveBaseLTVasCollateral', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'bool', - name: '_borrowingEnabled', - type: 'bool', - }, - { - internalType: 'bool', - name: '_stableBorrowRateEnabled', - type: 'bool', - }, - ], - name: 'setReserveBorrowingEnabled', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'uint256', - name: '_decimals', - type: 'uint256', - }, - ], - name: 'setReserveDecimals', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'bool', - name: '_isFreezed', - type: 'bool', - }, - ], - name: 'setReserveFreeze', + name: 'setConfiguration', outputs: [], stateMutability: 'nonpayable', type: 'function', @@ -1251,60 +1149,6 @@ const _abi = [ stateMutability: 'nonpayable', type: 'function', }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'uint256', - name: '_bonus', - type: 'uint256', - }, - ], - name: 'setReserveLiquidationBonus', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'uint256', - name: '_threshold', - type: 'uint256', - }, - ], - name: 'setReserveLiquidationThreshold', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_reserve', - type: 'address', - }, - { - internalType: 'bool', - name: '_enabled', - type: 'bool', - }, - ], - name: 'setReserveStableBorrowRateEnabled', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [ { @@ -1348,10 +1192,10 @@ const _abi = [ ]; const _bytecode = - '0x6080604052600060015534801561001557600080fd5b506001600055615968806200002b6000396000f3fe6080604052600436106102075760003560e01c806376e9d61511610118578063c72c4d10116100a0578063d15e00531161006f578063d15e005314610b31578063d2493b6c14610b64578063d2d0e06614610bc2578063d466016f14610bf8578063e8ae2f5b14610c315761024d565b8063c72c4d1014610a83578063c858f5f914610a98578063cd11238214610ae1578063d0fc81d214610b1c5761024d565b80639895e3d8116100e75780639895e3d81461091c578063a5bc826c14610965578063b736aaeb146109aa578063bf92857c146109e5578063c4d66de814610a505761024d565b806376e9d6151461083c5780638afaff021461089357806394ba89a2146108a857806396e957c4146108e15761024d565b80633e1501411161019b5780635cffe9de1161016a5780635cffe9de1461067957806366bbd9281461074c5780636ee365f91461078557806370fb84f4146107c857806373b2f2f2146108015761024d565b80633e1501411461052b5780634fe7a6e5146105be578063573ade81146106045780635a3b74b91461063e5761024d565b806328dd2d01116101d757806328dd2d011461038f5780633443a14b1461042357806335ea6a751461045c578063386497fd146104e65761024d565b8062a718a9146102525780630902f1ac1461029657806309eab60f146102fb5780631d2118f9146103545761024d565b3661024d5761021533610c64565b61024b576040805162461bcd60e51b8152602060048201526002602482015261191960f11b604482015290519081900360640190fd5b005b600080fd5b61024b600480360360a081101561026857600080fd5b506001600160a01b038135811691602081013582169160408201351690606081013590608001351515610ca0565b3480156102a257600080fd5b506102ab611082565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102e75781810151838201526020016102cf565b505050509050019250505060405180910390f35b34801561030757600080fd5b5061024b600480360360c081101561031e57600080fd5b506001600160a01b03813581169160208101358216916040820135811691606081013582169160808201359160a00135166110e4565b34801561036057600080fd5b5061024b6004803603604081101561037757600080fd5b506001600160a01b038135811691602001351661124a565b34801561039b57600080fd5b506103ca600480360360408110156103b257600080fd5b506001600160a01b038135811691602001351661132b565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015264ffffffffff16610100840152151561012083015251908190036101400190f35b34801561042f57600080fd5b5061024b6004803603604081101561044657600080fd5b506001600160a01b038135169060200135611652565b34801561046857600080fd5b5061048f6004803603602081101561047f57600080fd5b50356001600160a01b0316611721565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015264ffffffffff1661012083015251908190036101400190f35b3480156104f257600080fd5b506105196004803603602081101561050957600080fd5b50356001600160a01b0316611a0d565b60408051918252519081900360200190f35b34801561053757600080fd5b5061055e6004803603602081101561054e57600080fd5b50356001600160a01b0316611a34565b604080519a8b5260208b01999099528989019790975260608901959095526001600160a01b03909316608088015290151560a0870152151560c0860152151560e08501521515610100840152151561012083015251908190036101400190f35b3480156105ca57600080fd5b506105e8600480360360208110156105e157600080fd5b5035611aa7565b604080516001600160a01b039092168252519081900360200190f35b61024b6004803603608081101561061a57600080fd5b506001600160a01b0381358116916020810135916040820135916060013516611ace565b34801561064a57600080fd5b5061024b6004803603604081101561066157600080fd5b506001600160a01b0381351690602001351515611ea5565b34801561068557600080fd5b5061024b6004803603608081101561069c57600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156106d757600080fd5b8201836020820111156106e957600080fd5b8035906020019184600183028401116401000000008311171561070b57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061210b945050505050565b34801561075857600080fd5b5061024b6004803603604081101561076f57600080fd5b506001600160a01b0381351690602001356125b4565b34801561079157600080fd5b5061024b600480360360608110156107a857600080fd5b506001600160a01b03813516906020810135151590604001351515612683565b3480156107d457600080fd5b5061024b600480360360408110156107eb57600080fd5b506001600160a01b038135169060200135612848565b34801561080d57600080fd5b5061024b6004803603604081101561082457600080fd5b506001600160a01b0381351690602001351515612917565b34801561084857600080fd5b5061087f6004803603606081101561085f57600080fd5b506001600160a01b038135811691602081013590911690604001356129ff565b604080519115158252519081900360200190f35b34801561089f57600080fd5b50610519612b8f565b3480156108b457600080fd5b5061024b600480360360408110156108cb57600080fd5b506001600160a01b038135169060200135612b94565b3480156108ed57600080fd5b5061024b6004803603604081101561090457600080fd5b506001600160a01b0381351690602001351515612f09565b34801561092857600080fd5b5061024b6004803603608081101561093f57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135612ff1565b34801561097157600080fd5b5061024b6004803603608081101561098857600080fd5b506001600160a01b03813516906020810135906040810135906060013561318d565b3480156109b657600080fd5b5061024b600480360360408110156109cd57600080fd5b506001600160a01b03813516906020013515156132d6565b3480156109f157600080fd5b50610a1860048036036020811015610a0857600080fd5b50356001600160a01b0316613420565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b348015610a5c57600080fd5b5061024b60048036036020811015610a7357600080fd5b50356001600160a01b0316613681565b348015610a8f57600080fd5b506105e86137c6565b348015610aa457600080fd5b5061024b60048036036080811015610abb57600080fd5b5080356001600160a01b0316906020810135906040810135906060013561ffff166137d5565b348015610aed57600080fd5b5061024b60048036036040811015610b0457600080fd5b506001600160a01b0381358116916020013516613d5a565b348015610b2857600080fd5b506105196140f0565b348015610b3d57600080fd5b5061051960048036036020811015610b5457600080fd5b50356001600160a01b03166140f6565b348015610b7057600080fd5b50610b9760048036036020811015610b8757600080fd5b50356001600160a01b0316614117565b604080516001600160a01b039485168152928416602084015292168183015290519081900360600190f35b61024b60048036036060811015610bd857600080fd5b5080356001600160a01b0316906020810135906040013561ffff1661414c565b348015610c0457600080fd5b5061024b60048036036040811015610c1b57600080fd5b506001600160a01b0381351690602001356143bb565b348015610c3d57600080fd5b5061024b60048036036020811015610c5457600080fd5b50356001600160a01b031661448a565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610c9857508115155b949350505050565b60026000541415610ce6576040805162461bcd60e51b815260206004820152601f6024820152600080516020615745833981519152604482015290519081900360640190fd5b6002600090815560355460408051632c1a75cd60e11b815290516001600160a01b0390921691635834eb9a91600480820192602092909190829003018186803b158015610d3257600080fd5b505afa158015610d46573d6000803e3d6000fd5b505050506040513d6020811015610d5c57600080fd5b5051604080516001600160a01b038981166024830152888116604483015287811660648301526084820187905285151560a4808401919091528351808403909101815260c490920183526020820180516001600160e01b031662a718a960e01b17815292518251949550600094606094928716939282918083835b60208310610df65780518252601f199092019160209182019101610dd7565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610e56576040519150601f19603f3d011682016040523d82523d6000602084013e610e5b565b606091505b509150915081610eb2576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e2063616c6c206661696c6564000000000000000000604482015290519081900360640190fd5b60006060828060200190516040811015610ecb57600080fd5b815160208301805160405192949293830192919084640100000000821115610ef257600080fd5b908301906020820185811115610f0757600080fd5b8251640100000000811182820188101715610f2157600080fd5b82525081516020918201929091019080838360005b83811015610f4e578181015183820152602001610f36565b50505050905090810190601f168015610f7b5780820380516001836020036101000a031916815260200191505b50604052505050915091508160001461107157806040516020018082805190602001908083835b60208310610fc15780518252601f199092019160209182019101610fa2565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f190183529384905262461bcd60e51b84526004840181815282516024860152825192965094508493604401925085019080838360005b8381101561103657818101518382015260200161101e565b50505050905090810190601f1680156110635780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505060016000555050505050505050565b606060398054806020026020016040519081016040528092919081815260200182805480156110da57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116110bc575b5050505050905090565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561112857600080fd5b505afa15801561113c573d6000803e3d6000fd5b505050506040513d602081101561115257600080fd5b50516001600160a01b031614611194576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b03808716600090815260376020526040808220815162cdced360e61b815260048101919091528884166024820152878416604482015286841660648201526084810186905292841660a48401525173__$5e6137a1b5a0a366e2874209b5abf71c10$__92633373b4c09260c4808301939192829003018186803b15801561122157600080fd5b505af4158015611235573d6000803e3d6000fd5b50505050611242866145bb565b505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561128e57600080fd5b505afa1580156112a2573d6000803e3d6000fd5b505050506040513d60208110156112b857600080fd5b50516001600160a01b0316146112fa576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b039182166000908152603760205260409020600c0180546001600160a01b03191691909216179055565b6001600160a01b038083166000908152603760209081526040808320600981015482516370a0823160e01b815287871660048201529251949586958695869586958695869586958695869593909216926370a08231926024808301939192829003018186803b15801561139d57600080fd5b505afa1580156113b1573d6000803e3d6000fd5b505050506040513d60208110156113c757600080fd5b50519a506113d58c8261465e565b909a5098506113e48c82614761565b80985081995050508060010154945080600a0160009054906101000a90046001600160a01b03166001600160a01b031663e78c9b3b8d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561146057600080fd5b505afa158015611474573d6000803e3d6000fd5b505050506040513d602081101561148a57600080fd5b8101908080519060200190929190505050955080600a0160009054906101000a90046001600160a01b03166001600160a01b03166379ce6b8c8d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561150a57600080fd5b505afa15801561151e573d6000803e3d6000fd5b505050506040513d602081101561153457600080fd5b81019080805190602001909291905050509250603860008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002060000160009054906101000a900460ff16915080600b0160009054906101000a90046001600160a01b03166001600160a01b031663ee9907a48d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561160f57600080fd5b505afa158015611623573d6000803e3d6000fd5b505050506040513d602081101561163957600080fd5b50519a9d999c50979a5095989497939650919491929050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561169657600080fd5b505afa1580156116aa573d6000803e3d6000fd5b505050506040513d60208110156116c057600080fd5b50516001600160a01b031614611702576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b03909116600090815260376020526040902060060155565b600080600080600080600080600080611738615651565b506001600160a01b03808c16600081815260376020908152604091829020825161026081018452815481526001820154928101929092526002810154928201929092526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e0820152600882015461010082015260098201548416610120820152600a8201548416610140820152600b8201548416610160820152600c9091015492831661018082015264ffffffffff600160a01b8404166101a082015260ff600160c81b8404811615156101c0830152600160d01b8404811615156101e0830152600160d81b840481161515610200830152600160e01b840481161515610220830152600160e81b909304909216151561024083015261186b903063ffffffff61482d16565b8161014001516001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118a957600080fd5b505afa1580156118bd573d6000803e3d6000fd5b505050506040513d60208110156118d357600080fd5b5051610160830151604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561191d57600080fd5b505afa158015611931573d6000803e3d6000fd5b505050506040513d602081101561194757600080fd5b50516020848101516040808701516060880151610140890151835163487b7e7960e11b815293519495929491936001600160a01b03909116926390f6fcf292600480840193829003018186803b1580156119a057600080fd5b505afa1580156119b4573d6000803e3d6000fd5b505050506040513d60208110156119ca57600080fd5b810190808051906020019092919050505087600001518860800151896101a001519a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6001600160a01b0381166000908152603760205260408120611a2e906148d7565b92915050565b6001600160a01b0390811660009081526037602052604090206008810154600582015460068301546007840154600c90940154929591949093929081169160ff600160d01b8304811692600160c81b8104821692600160d81b8204831692600160e01b8304811692600160e81b90041690565b60398181548110611ab457fe5b6000918252602090912001546001600160a01b0316905081565b60026000541415611b14576040805162461bcd60e51b815260206004820152601f6024820152600080516020615745833981519152604482015290519081900360640190fd5b6002600055611b216156ed565b6001600160a01b03808616600081815260376020908152604080832094871683526038825280832093835292905220611b5a848361465e565b602085015283526000856002811115611b6f57fe5b90506001816002811115611b7f57fe5b14611b8e578360200151611b91565b83515b60408501526000198714801590611bab5750836040015187105b15611bb857604084018790525b73__$69254465eb8f179ea24caa73cf68b23524$__63a95f25e8848a8a858a8a600001518b602001518c60400151346040518a63ffffffff1660e01b8152600401808a8152602001896001600160a01b03166001600160a01b03168152602001888152602001876002811115611c2a57fe5b60ff168152602001866001600160a01b03166001600160a01b03168152602001858152602001848152602001838152602001828152602001995050505050505050505060006040518083038186803b158015611c8557600080fd5b505af4158015611c99573d6000803e3d6000fd5b50505050611ca683614918565b6001816002811115611cb457fe5b1415611d3257600a8301546040808601518151632770a7eb60e21b81526001600160a01b03898116600483015260248201929092529151921691639dc29fac9160448082019260009290919082900301818387803b158015611d1557600080fd5b505af1158015611d29573d6000803e3d6000fd5b50505050611da6565b600b8301546040808601518151632770a7eb60e21b81526001600160a01b03898116600483015260248201929092529151921691639dc29fac9160448082019260009290919082900301818387803b158015611d8d57600080fd5b505af1158015611da1573d6000803e3d6000fd5b505050505b6040840151611dc09084908a90600063ffffffff6149d016565b6040840151611de1906001600160a01b038a1690600063ffffffff614cdc16565b611df3886001600160a01b0316614e01565b15611e35576000611e11856040015134614e2690919063ffffffff16565b90508015611e3357611e336001600160a01b038a16338363ffffffff614e6816565b505b336001600160a01b0316856001600160a01b0316896001600160a01b03167f81cfb79463601de705d4cf6b8d69112983d76a685120e5e4d3581f30871b87fc876040015142604051808381526020018281526020019250505060405180910390a450506001600055505050505050565b60026000541415611eeb576040805162461bcd60e51b815260206004820152601f6024820152600080516020615745833981519152604482015290519081900360640190fd5b600260009081556001600160a01b038084168083526037602081815260408086203387526038808452828820958852948352958190206035548251631f94a27560e31b81529251919673__$69254465eb8f179ea24caa73cf68b23524$__9663e1717580968a968d9691959294603994169263fca513a8926004808201939291829003018186803b158015611f7f57600080fd5b505afa158015611f93573d6000803e3d6000fd5b505050506040513d6020811015611fa957600080fd5b50516040516001600160e01b031960e089901b168152600481018781526001600160a01b0380881660248401526044830187905260648301869052831660a483015260c060848301908152845460c484018190529192909160e4909101908590801561203e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612020575b505097505050505050505060006040518083038186803b15801561206157600080fd5b505af4158015612075573d6000803e3d6000fd5b5050825460ff19168515801591909117845591506120c990505760405133906001600160a01b038616907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f290600090a3612100565b60405133906001600160a01b038616907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd90600090a35b505060016000555050565b60026000541415612151576040805162461bcd60e51b815260206004820152601f6024820152600080516020615745833981519152604482015290519081900360640190fd5b600260005561215e615715565b6001600160a01b038416600081815260376020526040902090612187903063ffffffff61482d16565b82526121ac6127106121a086600963ffffffff614eea16565b9063ffffffff614f4316565b606083018190526121cd90612710906121a090610bb863ffffffff614eea16565b608083015281518411156122125760405162461bcd60e51b81526004018080602001828103825260318152602001806157656031913960400191505060405180910390fd5b6000826060015111801561222a575060008260800151115b6122655760405162461bcd60e51b81526004018080602001828103825260328152602001806158d76032913960400191505060405180910390fd5b85806122816001600160a01b038816828863ffffffff614e6816565b816001600160a01b031663ee87255888888760600151896040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156123085781810151838201526020016122f0565b50505050905090810190601f1680156123355780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561235757600080fd5b505af115801561236b573d6000803e3d6000fd5b506000925061238c9150506001600160a01b0389163063ffffffff61482d16565b606086015186519192506123a6919063ffffffff614f8516565b81146123e35760405162461bcd60e51b81526004018080602001828103825260328152602001806157fa6032913960400191505060405180910390fd5b8373__$5e6137a1b5a0a366e2874209b5abf71c10$__638acb830b90918a88600001516124218a608001518b60600151614e2690919063ffffffff16565b8a608001516040518663ffffffff1660e01b815260040180868152602001856001600160a01b03166001600160a01b031681526020018481526020018381526020018281526020019550505050505060006040518083038186803b15801561248857600080fd5b505af415801561249c573d6000803e3d6000fd5b50505050612539603560009054906101000a90046001600160a01b03166001600160a01b031663ee8912966040518163ffffffff1660e01b815260040160206040518083038186803b1580156124f157600080fd5b505afa158015612505573d6000803e3d6000fd5b505050506040513d602081101561251b57600080fd5b505160808701516001600160a01b038b16919063ffffffff614e6816565b876001600160a01b0316896001600160a01b03167f5b8f46461c1dd69fb968f1a003acee221ea3e19540e350233b612ddb43433b558988606001518960800151426040518085815260200184815260200183815260200182815260200194505050505060405180910390a35050600160005550505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156125f857600080fd5b505afa15801561260c573d6000803e3d6000fd5b505050506040513d602081101561262257600080fd5b50516001600160a01b031614612664576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b03909116600090815260376020526040902060080155565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156126c757600080fd5b505afa1580156126db573d6000803e3d6000fd5b505050506040513d60208110156126f157600080fd5b50516001600160a01b031614612733576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b81156127c4576001600160a01b03831660009081526037602052604080822081516361c7a28d60e11b815260048101919091528315156024820152905173__$5e6137a1b5a0a366e2874209b5abf71c10$__9263c38f451a9260448082019391829003018186803b1580156127a757600080fd5b505af41580156127bb573d6000803e3d6000fd5b50505050612843565b6001600160a01b0383166000908152603760205260408082208151633d47fb6d60e21b81526004810191909152905173__$5e6137a1b5a0a366e2874209b5abf71c10$__9263f51fedb49260248082019391829003018186803b15801561282a57600080fd5b505af415801561283e573d6000803e3d6000fd5b505050505b505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561288c57600080fd5b505afa1580156128a0573d6000803e3d6000fd5b505050506040513d60208110156128b657600080fd5b50516001600160a01b0316146128f8576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b03909116600090815260376020526040902060070155565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561295b57600080fd5b505afa15801561296f573d6000803e3d6000fd5b505050506040513d602081101561298557600080fd5b50516001600160a01b0316146129c7576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b039091166000908152603760205260409020600c018054911515600160d81b0260ff60d81b19909216919091179055565b600073__$7347ff53b2b46c21e26a37164ae7f6739f$__63daae7055858585603760386039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b158015612a7257600080fd5b505afa158015612a86573d6000803e3d6000fd5b505050506040513d6020811015612a9c57600080fd5b505160405160e089811b6001600160e01b03191682526001600160a01b0389811660048401908152898216602485015260448401899052606484018890526084840187905290841660c484015260a48301918252845460e484018190529092610104019085908015612b3757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612b19575b50509850505050505050505060206040518083038186803b158015612b5b57600080fd5b505af4158015612b6f573d6000803e3d6000fd5b505050506040513d6020811015612b8557600080fd5b5051949350505050565b600281565b60026000541415612bda576040805162461bcd60e51b815260206004820152601f6024820152600080516020615745833981519152604482015290519081900360640190fd5b600260009081556001600160a01b0383168082526037602090815260408084203380865260388452828620948652939092528320909290918190612c1e908561465e565b915091506000856002811115612c3057fe5b905073__$69254465eb8f179ea24caa73cf68b23524$__639e29334186868686866040518663ffffffff1660e01b815260040180868152602001858152602001848152602001838152602001826002811115612c8857fe5b60ff1681526020019550505050505060006040518083038186803b158015612caf57600080fd5b505af4158015612cc3573d6000803e3d6000fd5b50505050612cd085614918565b6001816002811115612cde57fe5b1415612dc257600a85015460408051632770a7eb60e21b81523360048201526024810186905290516001600160a01b0390921691639dc29fac9160448082019260009290919082900301818387803b158015612d3957600080fd5b505af1158015612d4d573d6000803e3d6000fd5b505050600b860154604080516340c10f1960e01b81523360048201526024810187905290516001600160a01b0390921692506340c10f1991604480830192600092919082900301818387803b158015612da557600080fd5b505af1158015612db9573d6000803e3d6000fd5b50505050612ea8565b600b85015460408051632770a7eb60e21b81523360048201526024810185905290516001600160a01b0390921691639dc29fac9160448082019260009290919082900301818387803b158015612e1757600080fd5b505af1158015612e2b573d6000803e3d6000fd5b505050600a860154600387015460408051630ab714fb60e11b8152336004820152602481018790526044810192909252516001600160a01b03909216925063156e29f691606480830192600092919082900301818387803b158015612e8f57600080fd5b505af1158015612ea3573d6000803e3d6000fd5b505050505b612ebb858860008063ffffffff6149d016565b60408051428152905133916001600160a01b038a16917fea368a40e9570069bb8e6511d668293ad2e1f03b0d982431fd223de9f3b70ca69181900360200190a3505060016000555050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015612f4d57600080fd5b505afa158015612f61573d6000803e3d6000fd5b505050506040513d6020811015612f7757600080fd5b50516001600160a01b031614612fb9576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b039091166000908152603760205260409020600c018054911515600160e81b0260ff60e81b19909216919091179055565b60026000541415613037576040805162461bcd60e51b815260206004820152601f6024820152600080516020615745833981519152604482015290519081900360640190fd5b600260009081556001600160a01b03808616808352603760209081526040808520938816855260388252808520838652909152808420815163cf478a7960e01b81526004810185905260248101939093526044830187905290519293909273__$69254465eb8f179ea24caa73cf68b23524$__9263cf478a79926064808301939192829003018186803b1580156130cd57600080fd5b505af41580156130e1573d6000803e3d6000fd5b5050505082600014156130f757805460ff191681555b61310082614918565b613113828760008763ffffffff6149d016565b61312d6001600160a01b038716868663ffffffff614e6816565b846001600160a01b0316866001600160a01b03167f9c4ed599cd8555b9c1e8cd7643240d7d71eb76b792948c49fcb4d411f7b6b3c68642604051808381526020018281526020019250505060405180910390a35050600160005550505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156131d157600080fd5b505afa1580156131e5573d6000803e3d6000fd5b505050506040513d60208110156131fb57600080fd5b50516001600160a01b03161461323d576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b038416600090815260376020526040808220815163bde2ece760e01b81526004810191909152602481018690526044810185905260648101849052905173__$5e6137a1b5a0a366e2874209b5abf71c10$__9263bde2ece79260848082019391829003018186803b1580156132b857600080fd5b505af41580156132cc573d6000803e3d6000fd5b5050505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561331a57600080fd5b505afa15801561332e573d6000803e3d6000fd5b505050506040513d602081101561334457600080fd5b50516001600160a01b031614613386576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b0382166000908152603760205260409020816133b757600c8101805460ff60e01b19169055612843565b8054158015906133cb575060008160040154115b6134065760405162461bcd60e51b815260040180806020018281038252602481526020018061582c6024913960400191505060405180910390fd5b600c8101805460ff60e01b1916600160e01b179055505050565b600080600080600080600073__$7347ff53b2b46c21e26a37164ae7f6739f$__6392eeb05c89603760386039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561349a57600080fd5b505afa1580156134ae573d6000803e3d6000fd5b505050506040513d60208110156134c457600080fd5b50516040516001600160e01b031960e088901b1681526001600160a01b03808716600483019081526024830187905260448301869052908316608483015260a060648301908152845460a484018190529192909160c4909101908590801561355557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613537575b5050965050505050505060c06040518083038186803b15801561357757600080fd5b505af415801561358b573d6000803e3d6000fd5b505050506040513d60c08110156135a157600080fd5b5080516020808301516040808501516060860151608087015160a090970151603654845163ab8bb39360e01b8152600481018990526024810187905260448101859052606481018490526001600160a01b0390911660848201529351969e50939c50909a50949750939550935073__$7347ff53b2b46c21e26a37164ae7f6739f$__9263ab8bb3939260a48083019392829003018186803b15801561364557600080fd5b505af4158015613659573d6000803e3d6000fd5b505050506040513d602081101561366f57600080fd5b50519698959750939594919390925090565b600061368b614fdf565b60025490915060ff16806136a257506136a2614fe4565b806136ae575060015481115b6136e95760405162461bcd60e51b815260040180806020018281038252602e8152602001806158a9602e913960400191505060405180910390fd5b60025460ff1615801561370a576002805460ff191660019081179091558290555b603580546001600160a01b0319166001600160a01b03858116919091179182905560408051633efbbf0f60e21b81529051929091169163fbeefc3c91600480820192602092909190829003018186803b15801561376657600080fd5b505afa15801561377a573d6000803e3d6000fd5b505050506040513d602081101561379057600080fd5b5051603680546001600160a01b0319166001600160a01b039092169190911790558015612843576002805460ff19169055505050565b6035546001600160a01b031681565b6002600054141561381b576040805162461bcd60e51b815260206004820152601f6024820152600080516020615745833981519152604482015290519081900360640190fd5b600260009081556001600160a01b038086168083526037602090815260408085203386526038835281862093865292825280852060088401546035548351631f94a27560e31b8152935195979296929561394d95600a9390930a946121a0948d9493169263fca513a892600480840193829003018186803b15801561389f57600080fd5b505afa1580156138b3573d6000803e3d6000fd5b505050506040513d60208110156138c957600080fd5b50516040805163b3596f0760e01b81526001600160a01b038e811660048301529151919092169163b3596f07916024808301926020929190829003018186803b15801561391557600080fd5b505afa158015613929573d6000803e3d6000fd5b505050506040513d602081101561393f57600080fd5b50519063ffffffff614eea16565b905073__$69254465eb8f179ea24caa73cf68b23524$__63335c5e8984848a8a868b6019603760386039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156139c557600080fd5b505afa1580156139d9573d6000803e3d6000fd5b505050506040513d60208110156139ef57600080fd5b50516040516001600160e01b031960e08e901b168152600481018c8152602482018c90526001600160a01b03808c166044840152606483018b9052608483018a905260a4830189905260c4830188905260e4830187905261010483018690528316610144830152610160610124830190815284546101648401819052919290916101849091019085908015613aad57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613a8f575b50509c5050505050505050505050505060006040518083038186803b158015613ad557600080fd5b505af4158015613ae9573d6000803e3d6000fd5b50505050613af683614918565b600c8301805464ffffffffff60a01b1916600160a01b4264ffffffffff160217905560038301546001866002811115613b2b57fe5b6002811115613b3657fe5b1415613c3057600a84015460408051630ab714fb60e11b8152336004820152602481018a90526044810184905290516001600160a01b039092169163156e29f69160648082019260009290919082900301818387803b158015613b9857600080fd5b505af1158015613bac573d6000803e3d6000fd5b50505050600a84015460408051631e739ae360e21b815233600482015290516000926001600160a01b0316916379ce6b8c916024808301926020929190829003018186803b158015613bfd57600080fd5b505afa158015613c11573d6000803e3d6000fd5b505050506040513d6020811015613c2757600080fd5b50613c9e915050565b600b840154604080516340c10f1960e01b8152336004820152602481018a905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b158015613c8557600080fd5b505af1158015613c99573d6000803e3d6000fd5b505050505b613cb1848960008a63ffffffff6149d016565b613ccb6001600160a01b038916338963ffffffff614e6816565b61ffff8516336001600160a01b038a167fe002884724be85e729c98360169e709585b299ace6fbe12aa791d2fee6f652808a8a60018c6002811115613d0c57fe5b6002811115613d1757fe5b14613d26578960020154613d28565b865b60408051938452602084019290925282820152426060830152519081900360800190a450506001600055505050505050565b60026000541415613da0576040805162461bcd60e51b815260206004820152601f6024820152600080516020615745833981519152604482015290519081900360640190fd5b600260009081556001600160a01b038084168252603760209081526040808420600a81015482516370a0823160e01b81528786166004820152925191959416939284926370a082319260248083019392829003018186803b158015613e0457600080fd5b505afa158015613e18573d6000803e3d6000fd5b505050506040513d6020811015613e2e57600080fd5b5051905080613e6e5760405162461bcd60e51b81526004018080602001828103825260388152602001806158716038913960400191505060405180910390fd5b6000613ea7613e966aa56fa5b99019a5c8000000613e8a614fea565b9063ffffffff614f8516565b60038601549063ffffffff614ffa16565b90506000836001600160a01b031663e78c9b3b876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015613f0157600080fd5b505afa158015613f15573d6000803e3d6000fd5b505050506040513d6020811015613f2b57600080fd5b50516001860154909150811080613f4157508181115b613f7c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806157cb602f913960400191505060405180910390fd5b613f8585614918565b836001600160a01b0316639dc29fac87856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613fe557600080fd5b505af1158015613ff9573d6000803e3d6000fd5b50505050836001600160a01b031663156e29f6878588600301546040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801561406957600080fd5b505af115801561407d573d6000803e3d6000fd5b50614097925087915089905060008063ffffffff6149d016565b856001600160a01b0316876001600160a01b03167f443060d15ff6dac05881a7c07a46ef8085d8af4399e436be6c25250df40c5f18426040518082815260200191505060405180910390a3505050505050506001600055565b60001981565b6001600160a01b0381166000908152603760205260408120611a2e90615032565b6001600160a01b0390811660009081526037602052604090206009810154600a820154600b9092015490831693918316921690565b60026000541415614192576040805162461bcd60e51b815260206004820152601f6024820152600080516020615745833981519152604482015290519081900360640190fd5b600260009081556001600160a01b0384168082526037602090815260408084203385526038835281852093855292909152808320815163b25dc48d60e01b8152600481018490526024810187905291519293909273__$69254465eb8f179ea24caa73cf68b23524$__9263b25dc48d926044808301939192829003018186803b15801561421e57600080fd5b505af4158015614232573d6000803e3d6000fd5b5050506009830154604080516370a0823160e01b815233600482015290516001600160a01b03909216925060009183916370a08231916024808301926020929190829003018186803b15801561428757600080fd5b505afa15801561429b573d6000803e3d6000fd5b505050506040513d60208110156142b157600080fd5b50511590506142bf84614918565b6142d2848888600063ffffffff6149d016565b80156142e457825460ff191660011783555b604080516394362e8b60e01b81523360048201526024810188905290516001600160a01b038416916394362e8b91604480830192600092919082900301818387803b15801561433257600080fd5b505af1158015614346573d6000803e3d6000fd5b50614360925050506001600160a01b038816876001614cdc565b60408051878152426020820152815161ffff88169233926001600160a01b038c16927fc12c57b1c73a2c3a2ea4613e9476abb3d8d146857aab7329e24243fb59710c82929181900390910190a4505060016000555050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156143ff57600080fd5b505afa158015614413573d6000803e3d6000fd5b505050506040513d602081101561442957600080fd5b50516001600160a01b03161461446b576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b03909116600090815260376020526040902060050155565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156144ce57600080fd5b505afa1580156144e2573d6000803e3d6000fd5b505050506040513d60208110156144f857600080fd5b50516001600160a01b03161461453a576040805162461bcd60e51b8152602060048201526002602482015261033360f41b604482015290519081900360640190fd5b6001600160a01b03811660009081526037602052604080822081516315fbf94960e11b81526004810191909152905173__$5e6137a1b5a0a366e2874209b5abf71c10$__92632bf7f2929260248082019391829003018186803b1580156145a057600080fd5b505af41580156145b4573d6000803e3d6000fd5b5050505050565b6000805b60395481101561460857826001600160a01b0316603982815481106145e057fe5b6000918252602090912001546001600160a01b0316141561460057600191505b6001016145bf565b508061465a57603980546001810182556000919091527fdc16fef70f8d5ddbc01ee3d903d1e69c18a3c7be080eb86a81e0578814ee58d30180546001600160a01b0319166001600160a01b0384161790555b5050565b600a810154604080516370a0823160e01b81526001600160a01b0385811660048301529151600093849316916370a08231916024808301926020929190829003018186803b1580156146af57600080fd5b505afa1580156146c3573d6000803e3d6000fd5b505050506040513d60208110156146d957600080fd5b5051600b840154604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561472a57600080fd5b505afa15801561473e573d6000803e3d6000fd5b505050506040513d602081101561475457600080fd5b5051909590945092505050565b600a8101546040805163631a6fd560e11b81526001600160a01b03858116600483015291516000938493169163c634dfaa916024808301926020929190829003018186803b1580156147b257600080fd5b505afa1580156147c6573d6000803e3d6000fd5b505050506040513d60208110156147dc57600080fd5b5051600b8401546040805163631a6fd560e11b81526001600160a01b0388811660048301529151919092169163c634dfaa916024808301926020929190829003018186803b15801561472a57600080fd5b600061483883614e01565b1561484e57506001600160a01b03811631611a2e565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156148a457600080fd5b505afa1580156148b8573d6000803e3d6000fd5b505050506040513d60208110156148ce57600080fd5b50519392505050565b6000806149118360040154614905856002015486600c0160149054906101000a900464ffffffffff16615060565b9063ffffffff614ffa16565b9392505050565b6000614923826150c5565b905080156149ac576001820154600c83015460009161494f91600160a01b900464ffffffffff166151c5565b835490915061496590829063ffffffff614ffa16565b83556002830154600c84015460009161498b91600160a01b900464ffffffffff16615060565b90506149a4846004015482614ffa90919063ffffffff16565b600485015550505b50600c01805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b600a8401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b158015614a1757600080fd5b505afa158015614a2b573d6000803e3d6000fd5b505050506040513d6020811015614a4157600080fd5b505190506000614a606001600160a01b0386163063ffffffff61482d16565b9050614a74856001600160a01b0316614e01565b15614a8c57614a89813463ffffffff614e2616565b90505b600c860154600090819081906001600160a01b03166357e37af089614ac789614abb898d63ffffffff614f8516565b9063ffffffff614e2616565b8c600a0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015614b1757600080fd5b505afa158015614b2b573d6000803e3d6000fd5b505050506040513d6020811015614b4157600080fd5b5051600b8e0154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b158015614b8a57600080fd5b505afa158015614b9e573d6000803e3d6000fd5b505050506040513d6020811015614bb457600080fd5b5051604080516001600160e01b031960e088901b1681526001600160a01b039095166004860152602485019390935260448401919091526064830152608482018990525160a4808301926060929190829003018186803b158015614c1757600080fd5b505afa158015614c2b573d6000803e3d6000fd5b505050506040513d6060811015614c4157600080fd5b50805160208083015160409384015160018e0184905560038e0182905560028e018190558d5460048f015486518681529485018490528487018c905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a2505050505050505050565b81614ce657612843565b614cef83614e01565b15614de65781341015614d335760405162461bcd60e51b81526004018080602001828103825260358152602001806157966035913960400191505060405180910390fd5b8015614de157600033614d4c348563ffffffff614e2616565b60405161c35091906000818181858888f193505050503d8060008114614d8e576040519150601f19603f3d011682016040523d82523d6000602084013e614d93565b606091505b5050905080614ddf576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b505b612843565b6128436001600160a01b03841633308563ffffffff61522516565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b600061491183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615285565b80614e7257612843565b614e7b83614e01565b15614ed0576040516000906001600160a01b0384169061c35090849084818181858888f193505050503d8060008114614d8e576040519150601f19603f3d011682016040523d82523d6000602084013e614d93565b6128436001600160a01b038416838363ffffffff6152df16565b600082614ef957506000611a2e565b82820282848281614f0657fe5b04146149115760405162461bcd60e51b81526004018080602001828103825260218152602001806158506021913960400191505060405180910390fd5b600061491183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250615331565b600082820183811015614911576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600290565b303b1590565b6b033b2e3c9fd0803ce800000090565b60006149116b033b2e3c9fd0803ce80000006121a061501f868663ffffffff614eea16565b6b019d971e4fe8401e7400000090614f85565b6000806149118360000154614905856001015486600c0160149054906101000a900464ffffffffff166151c5565b60008061507a4264ffffffffff851663ffffffff614e2616565b90506000615092856301e1338063ffffffff614f4316565b90506150bc826150b06150a3614fea565b849063ffffffff614f8516565b9063ffffffff61539616565b95945050505050565b6000611a2e82600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561511a57600080fd5b505afa15801561512e573d6000803e3d6000fd5b505050506040513d602081101561514457600080fd5b5051600a840154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561518d57600080fd5b505afa1580156151a1573d6000803e3d6000fd5b505050506040513d60208110156151b757600080fd5b50519063ffffffff614f8516565b6000806151df4264ffffffffff851663ffffffff614e2616565b905060006152086151f36301e133806153f0565b6151fc846153f0565b9063ffffffff61540616565b90506150bc615215614fea565b613e8a878463ffffffff614ffa16565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261527f908590615429565b50505050565b600081848411156152d75760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561103657818101518382015260200161101e565b505050900390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612843908490615429565b600081836153805760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561103657818101518382015260200161101e565b50600083858161538c57fe5b0495945050505050565b6000600282066153b2576b033b2e3c9fd0803ce80000006153b4565b825b90506002820491505b8115611a2e576153cd8384614ffa565b925060028206156153e5576153e28184614ffa565b90505b6002820491506153bd565b6000611a2e82633b9aca0063ffffffff614eea16565b600060028204610c98836121a06150a3876b033b2e3c9fd0803ce8000000614eea565b606061547e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166154da9092919063ffffffff16565b8051909150156128435780806020019051602081101561549d57600080fd5b50516128435760405162461bcd60e51b815260040180806020018281038252602a815260200180615909602a913960400191505060405180910390fd5b6060610c98848460008560606154ef85610c64565b615540576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061557f5780518252601f199092019160209182019101615560565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146155e1576040519150601f19603f3d011682016040523d82523d6000602084013e6155e6565b606091505b509150915081156155fa579150610c989050565b80511561560a5780518082602001fd5b60405162461bcd60e51b815260206004820181815286516024840152865187939192839260440191908501908083836000831561103657818101518382015260200161101e565b6040805161026081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e081018290526102008101829052610220810182905261024081019190915290565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b6040518060a001604052806000815260200160008152602001600081526020016000815260200160008152509056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c005468657265206973206e6f7420656e6f756768206c697175696469747920617661696c61626c6520746f20626f72726f7754686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d61746368496e746572657374207261746520726562616c616e636520636f6e646974696f6e732077657265206e6f74206d65745468652061637475616c2062616c616e6365206f66207468652070726f746f636f6c20697320696e636f6e73697374656e745265736572766520686173206e6f74206265656e20696e697469616c697a656420796574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775573657220646f6573206e6f74206861766520616e7920737461626c652072617465206c6f616e20666f7220746869732072657365727665436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652072657175657374656420616d6f756e7420697320746f6f20736d616c6c20666f72206120466c6173684c6f616e2e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220e85d7f483c297a558967388e6738bf79797cd1dab215a4fe3210a6850edcb6c764736f6c63430006080033'; + '0x6080604052600060015534801561001557600080fd5b506001600055614f7f8061002a6000396000f3fe60806040526004361061019f5760003560e01c80638afaff02116100ec578063c72c4d101161008a578063d0fc81d211610064578063d0fc81d21461051c578063d15e005314610531578063d2493b6c14610551578063d2d0e06614610580576101d4565b8063c72c4d10146104c7578063c858f5f9146104dc578063cd112382146104fc576101d4565b8063b8d29276116100c6578063b8d2927614610428578063bf92857c14610448578063c44b11f71461047a578063c4d66de8146104a7576101d4565b80638afaff02146103d357806394ba89a2146103e85780639895e3d814610408576101d4565b80633e150141116101595780635a3b74b9116101335780635a3b74b9146103465780635cffe9de1461036657806376e9d615146103865780637a708e92146103b3576101d4565b80633e150141146102d05780634fe7a6e514610306578063573ade8114610333576101d4565b8062a718a9146101d95780630902f1ac146101ec5780631d2118f91461021757806328dd2d011461023757806335ea6a751461026d578063386497fd146102a3576101d4565b366101d4576101ad33610593565b6101d25760405162461bcd60e51b81526004016101c990614a7d565b60405180910390fd5b005b600080fd5b6101d26101e73660046140ca565b6105cf565b3480156101f857600080fd5b506102016107a1565b60405161020e91906146fc565b60405180910390f35b34801561022357600080fd5b506101d2610232366004613fdd565b610803565b34801561024357600080fd5b50610257610252366004613fdd565b6108d6565b60405161020e9a99989796959493929190614e54565b34801561027957600080fd5b5061028d610288366004613fa5565b610baa565b60405161020e9a99989796959493929190614e08565b3480156102af57600080fd5b506102c36102be366004613fa5565b610e32565b60405161020e9190614d4e565b3480156102dc57600080fd5b506102f06102eb366004613fa5565b610e59565b60405161020e9a99989796959493929190614d88565b34801561031257600080fd5b50610326610321366004614356565b610f2f565b60405161020e919061452a565b6101d26103413660046142ad565b610f56565b34801561035257600080fd5b506101d261036136600461420e565b611297565b34801561037257600080fd5b506101d2610381366004614163565b611469565b34801561039257600080fd5b506103a66103a1366004614123565b6118cd565b60405161020e9190614749565b3480156103bf57600080fd5b506101d26103ce36600461405a565b6119ea565b3480156103df57600080fd5b506102c3611b23565b3480156103f457600080fd5b506101d261040336600461423b565b611b28565b34801561041457600080fd5b506101d2610423366004614015565b611e3f565b34801561043457600080fd5b506101d261044336600461423b565b612005565b34801561045457600080fd5b50610468610463366004613fa5565b6120c6565b60405161020e96959493929190614de0565b34801561048657600080fd5b5061049a610495366004613fa5565b612288565b60405161020e9190614b6c565b3480156104b357600080fd5b506101d26104c2366004613fa5565b6122bf565b3480156104d357600080fd5b506103266123f3565b3480156104e857600080fd5b506101d26104f73660046142f6565b612402565b34801561050857600080fd5b506101d2610517366004613fdd565b612934565b34801561052857600080fd5b506102c3612c24565b34801561053d57600080fd5b506102c361054c366004613fa5565b612c2a565b34801561055d57600080fd5b5061057161056c366004613fa5565b612c4b565b60405161020e939291906145bd565b6101d261058e366004614266565b612c80565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906105c757508115155b949350505050565b600260005414156105f25760405162461bcd60e51b81526004016101c990614b35565b6002600090815560355460408051632c1a75cd60e11b815290516001600160a01b0390921691635834eb9a91600480820192602092909190829003018186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106769190613fc1565b905060006060826001600160a01b0316888888888860405160240161069f9594939291906145e0565b60408051601f198184030181529181526020820180516001600160e01b031662a718a960e01b179052516106d3919061450b565b600060405180830381855af49150503d806000811461070e576040519150601f19603f3d011682016040523d82523d6000602084013e610713565b606091505b5091509150816107355760405162461bcd60e51b81526004016101c99061497c565b600060608280602001905181019061074d9190614386565b9150915081600014610790578060405160200161076a919061450b565b60408051601f198184030181529082905262461bcd60e51b82526101c991600401614754565b505060016000555050505050505050565b606060398054806020026020016040519081016040528092919081815260200182805480156107f957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107db575b5050505050905090565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561084757600080fd5b505afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190613fc1565b6001600160a01b0316146108a55760405162461bcd60e51b81526004016101c9906149b3565b6001600160a01b03918216600090815260376020526040902060090180546001600160a01b03191691909216179055565b6001600160a01b03808316600090815260376020526040808220600681015491516370a0823160e01b81529293849384938493849384938493849384938493919216906370a082319061092d908f9060040161452a565b60206040518083038186803b15801561094557600080fd5b505afa158015610959573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097d919061436e565b9a506109898c82612ed3565b909a5098506109988c82612fe7565b6001830154600784015460405163e78c9b3b60e01b8152939b5091995096506001600160a01b03169063e78c9b3b906109d5908f9060040161452a565b60206040518083038186803b1580156109ed57600080fd5b505afa158015610a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a25919061436e565b6007820154604051631e739ae360e21b81529197506001600160a01b0316906379ce6b8c90610a58908f9060040161452a565b60206040518083038186803b158015610a7057600080fd5b505afa158015610a84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa89190614474565b9250603860008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002060000160009054906101000a900460ff1691508060080160009054906101000a90046001600160a01b03166001600160a01b031663ee9907a48d6040518263ffffffff1660e01b8152600401610b48919061452a565b60206040518083038186803b158015610b6057600080fd5b505afa158015610b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b98919061436e565b9350509295989b9194979a5092959850565b600080600080600080600080600080610bc1613ec4565b506001600160a01b038b811660008181526037602090815260409182902082516101808101845281548152600182015481840152600282015481850152600382015460608201526004820154608082015283519283019093526005810154825260a08301919091526006810154841660c083018190526007820154851660e084015260088201548516610100840152600990910154938416610120830152600160a01b840464ffffffffff16610140830152600160c81b90930460ff16151561016082015291610c9191906130a0565b8160e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d06919061436e565b8261010001516001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d4457600080fd5b505afa158015610d58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7c919061436e565b8360200151846040015185606001518660e001516001600160a01b03166390f6fcf26040518163ffffffff1660e01b815260040160206040518083038186803b158015610dc857600080fd5b505afa158015610ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e00919061436e565b876000015188608001518961014001519a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6001600160a01b0381166000908152603760205260408120610e5390613144565b92915050565b6000806000806000806000806000806000603760008d6001600160a01b03166001600160a01b031681526020019081526020016000209050610e9d8160050161317e565b610ea98260050161318f565b610eb58360050161319e565b610ec1846005016131b3565b60098501546001600160a01b0316610edb6005870161318f565b1515610ee9600588016131c6565b610ef5886005016131d8565b610f01896005016131ea565b610f0d8a6005016131fc565b9a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b60398181548110610f3c57fe5b6000918252602090912001546001600160a01b0316905081565b60026000541415610f795760405162461bcd60e51b81526004016101c990614b35565b6002600055610f86613f2b565b6001600160a01b03808616600081815260376020908152604080832094871683526038825280832093835292905220610fbf8483612ed3565b602085015283526000856002811115610fd457fe5b90506001816002811115610fe457fe5b14610ff3578360200151610ff6565b83515b604085015260001987148015906110105750836040015187105b1561101d57604084018790525b83516020850151604080870151905163152be4bd60e31b815273__$69254465eb8f179ea24caa73cf68b23524$__9363a95f25e89361106a9389938f938f938a938f933490600401614c0d565b60006040518083038186803b15801561108257600080fd5b505af4158015611096573d6000803e3d6000fd5b505050506110a38361320e565b60018160028111156110b157fe5b14156111265760078301546040808601519051632770a7eb60e21b81526001600160a01b0390921691639dc29fac916110ef9189919060040161453e565b600060405180830381600087803b15801561110957600080fd5b505af115801561111d573d6000803e3d6000fd5b50505050611191565b60088301546040808601519051632770a7eb60e21b81526001600160a01b0390921691639dc29fac9161115e9189919060040161453e565b600060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b505050505b60408401516111ab9084908a90600063ffffffff6132c616565b600683015460408501516111d9916001600160a01b038b81169233929190911690600063ffffffff6135a716565b6111eb886001600160a01b0316613735565b1561122d57600061120985604001513461375a90919063ffffffff16565b9050801561122b5761122b6001600160a01b038a16338363ffffffff61379c16565b505b336001600160a01b0316856001600160a01b0316896001600160a01b03167f81cfb79463601de705d4cf6b8d69112983d76a685120e5e4d3581f30871b87fc876040015142604051611280929190614d40565b60405180910390a450506001600055505050505050565b600260005414156112ba5760405162461bcd60e51b81526004016101c990614b35565b600260009081556001600160a01b038084168083526037602081815260408086203387526038808452828820958852948352958190206035548251631f94a27560e31b81529251919673__$69254465eb8f179ea24caa73cf68b23524$__9663e1717580968a968d9691959294603994169263fca513a8926004808201939291829003018186803b15801561134e57600080fd5b505afa158015611362573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113869190613fc1565b6040518763ffffffff1660e01b81526004016113a796959493929190614ba4565b60006040518083038186803b1580156113bf57600080fd5b505af41580156113d3573d6000803e3d6000fd5b5050825460ff191685158015919091178455915061142790505760405133906001600160a01b038616907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f290600090a361145e565b60405133906001600160a01b038616907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd90600090a35b505060016000555050565b6002600054141561148c5760405162461bcd60e51b81526004016101c990614b35565b6002600055611499613f53565b6001600160a01b038085166000818152603760205260409020600681015490921660a084018190526114d1919063ffffffff6130a016565b82526114f66127106114ea86600963ffffffff61385516565b9063ffffffff61388f16565b6060830181905261151790612710906114ea90610bb863ffffffff61385516565b6080830152815184111561153d5760405162461bcd60e51b81526004016101c990614767565b60008260600151118015611555575060008260800151115b6115715760405162461bcd60e51b81526004016101c990614a99565b60a0820151604051634efecaa560e01b8152879182916001600160a01b0390911690634efecaa5906115a99084908a9060040161453e565b602060405180830381600087803b1580156115c357600080fd5b505af11580156115d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fb919061436e565b5060a0840151606085015160405163405b019d60e01b81526001600160a01b0385169263405b019d92611637928c92918c918c90600401614578565b600060405180830381600087803b15801561165157600080fd5b505af1158015611665573d6000803e3d6000fd5b50505050600061168b8560a00151896001600160a01b03166130a090919063ffffffff16565b606086015186519192506116a5919063ffffffff6138d116565b81146116c35760405162461bcd60e51b81526004016101c99061483e565b8373__$5e6137a1b5a0a366e2874209b5abf71c10$__638acb830b90918a88600001516117018a608001518b6060015161375a90919063ffffffff16565b8a608001516040518663ffffffff1660e01b8152600401611726959493929190614c6c565b60006040518083038186803b15801561173e57600080fd5b505af4158015611752573d6000803e3d6000fd5b505050508460a001516001600160a01b0316634efecaa5603560009054906101000a90046001600160a01b03166001600160a01b031663ee8912966040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b757600080fd5b505afa1580156117cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ef9190613fc1565b87608001516040518363ffffffff1660e01b815260040161181192919061453e565b602060405180830381600087803b15801561182b57600080fd5b505af115801561183f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611863919061436e565b50876001600160a01b0316896001600160a01b03167f5b8f46461c1dd69fb968f1a003acee221ea3e19540e350233b612ddb43433b558988606001518960800151426040516118b59493929190614d6d565b60405180910390a35050600160005550505050505050565b600073__$7347ff53b2b46c21e26a37164ae7f6739f$__63daae7055858585603760386039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561194057600080fd5b505afa158015611954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119789190613fc1565b6040518863ffffffff1660e01b815260040161199a9796959493929190614638565b60206040518083038186803b1580156119b257600080fd5b505af41580156119c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c7919061433a565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611a2e57600080fd5b505afa158015611a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a669190613fc1565b6001600160a01b031614611a8c5760405162461bcd60e51b81526004016101c9906149b3565b6001600160a01b038516600090815260376020526040908190209051632d621e9960e21b815273__$5e6137a1b5a0a366e2874209b5abf71c10$__9163b5887a6491611ae391908890889088908890600401614b76565b60006040518083038186803b158015611afb57600080fd5b505af4158015611b0f573d6000803e3d6000fd5b50505050611b1c856138f6565b5050505050565b600281565b60026000541415611b4b5760405162461bcd60e51b81526004016101c990614b35565b600260009081556001600160a01b0383168082526037602090815260408084203380865260388452828620948652939092528320909290918190611b8f9085612ed3565b915091506000856002811115611ba157fe5b604051639e29334160e01b815290915073__$69254465eb8f179ea24caa73cf68b23524$__90639e29334190611be39088908890889088908890600401614d0a565b60006040518083038186803b158015611bfb57600080fd5b505af4158015611c0f573d6000803e3d6000fd5b50505050611c1c8561320e565b6001816002811115611c2a57fe5b1415611d01576007850154604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611c64903390879060040161453e565b600060405180830381600087803b158015611c7e57600080fd5b505af1158015611c92573d6000803e3d6000fd5b50505060088601546040516340c10f1960e01b81526001600160a01b0390911691506340c10f1990611cca903390879060040161453e565b600060405180830381600087803b158015611ce457600080fd5b505af1158015611cf8573d6000803e3d6000fd5b50505050611dd3565b6008850154604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611d35903390869060040161453e565b600060405180830381600087803b158015611d4f57600080fd5b505af1158015611d63573d6000803e3d6000fd5b5050505060078501546003860154604051630ab714fb60e11b81526001600160a01b039092169163156e29f691611da09133918791600401614557565b600060405180830381600087803b158015611dba57600080fd5b505af1158015611dce573d6000803e3d6000fd5b505050505b611de6858860008063ffffffff6132c616565b336001600160a01b0316876001600160a01b03167fea368a40e9570069bb8e6511d668293ad2e1f03b0d982431fd223de9f3b70ca642604051611e299190614d4e565b60405180910390a3505060016000555050505050565b60026000541415611e625760405162461bcd60e51b81526004016101c990614b35565b600260009081556001600160a01b0380861680835260376020908152604080852088851686526038835281862093865292909152928390206006820154935163cf478a7960e01b815291939092169073__$69254465eb8f179ea24caa73cf68b23524$__9063cf478a7990611edf9086908b908a90600401614bee565b60006040518083038186803b158015611ef757600080fd5b505af4158015611f0b573d6000803e3d6000fd5b50505050611f188361320e565b611f2b838860008863ffffffff6132c616565b83611f3957815460ff191682555b6006830154604051634efecaa560e01b81526001600160a01b0390911690634efecaa590611f6d908990899060040161453e565b602060405180830381600087803b158015611f8757600080fd5b505af1158015611f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbf919061436e565b50856001600160a01b0316876001600160a01b03167f9c4ed599cd8555b9c1e8cd7643240d7d71eb76b792948c49fcb4d411f7b6b3c68742604051611e29929190614d40565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561204957600080fd5b505afa15801561205d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120819190613fc1565b6001600160a01b0316146120a75760405162461bcd60e51b81526004016101c9906149b3565b6001600160a01b03909116600090815260376020526040902060050155565b60008060008060008073__$7347ff53b2b46c21e26a37164ae7f6739f$__6392eeb05c88603760386039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561213e57600080fd5b505afa158015612152573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121769190613fc1565b6040518663ffffffff1660e01b815260040161219695949392919061468b565b60a06040518083038186803b1580156121ae57600080fd5b505af41580156121c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e69190614435565b60405163d609bd1b60e01b8152949a5092985095509350915073__$7347ff53b2b46c21e26a37164ae7f6739f$__9063d609bd1b9061222d90899089908790600401614d57565b60206040518083038186803b15801561224557600080fd5b505af4158015612259573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227d919061436e565b935091939550919395565b612290613f92565b506001600160a01b03166000908152603760209081526040918290208251918201909252600590910154815290565b60006122c9613999565b60025490915060ff16806122e057506122e061399e565b806122ec575060015481115b6123085760405162461bcd60e51b81526004016101c99061492e565b60025460ff16158015612329576002805460ff191660019081179091558290555b603580546001600160a01b0319166001600160a01b03858116919091179182905560408051633efbbf0f60e21b81529051929091169163fbeefc3c91600480820192602092909190829003018186803b15801561238557600080fd5b505afa158015612399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123bd9190613fc1565b603680546001600160a01b0319166001600160a01b039290921691909117905580156123ee576002805460ff191690555b505050565b6035546001600160a01b031681565b600260005414156124255760405162461bcd60e51b81526004016101c990614b35565b600260009081556001600160a01b03851680825260376020908152604080842033855260388352818520938552929091528220909161257d6124696005850161317e565b600a0a6114ea88603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156124be57600080fd5b505afa1580156124d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f69190613fc1565b6001600160a01b031663b3596f078c6040518263ffffffff1660e01b8152600401612521919061452a565b60206040518083038186803b15801561253957600080fd5b505afa15801561254d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612571919061436e565b9063ffffffff61385516565b905073__$69254465eb8f179ea24caa73cf68b23524$__63335c5e8984848a8a868b6019603760386039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156125f557600080fd5b505afa158015612609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262d9190613fc1565b6040518c63ffffffff1660e01b81526004016126539b9a99989796959493929190614c98565b60006040518083038186803b15801561266b57600080fd5b505af415801561267f573d6000803e3d6000fd5b5050505061268c8361320e565b60098301805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055600383015460018660028111156126c157fe5b60028111156126cc57fe5b14156127c5576007840154604051630ab714fb60e11b81526001600160a01b039091169063156e29f6906127089033908b908690600401614557565b600060405180830381600087803b15801561272257600080fd5b505af1158015612736573d6000803e3d6000fd5b505050506007840154604051631e739ae360e21b81526000916001600160a01b0316906379ce6b8c9061276d90339060040161452a565b60206040518083038186803b15801561278557600080fd5b505afa158015612799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127bd9190614474565b90505061282c565b60088401546040516340c10f1960e01b81526001600160a01b03909116906340c10f19906127f99033908b9060040161453e565b600060405180830381600087803b15801561281357600080fd5b505af1158015612827573d6000803e3d6000fd5b505050505b61283f848960008a63ffffffff6132c616565b6006840154604051634efecaa560e01b81526001600160a01b0390911690634efecaa5906128739033908b9060040161453e565b602060405180830381600087803b15801561288d57600080fd5b505af11580156128a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c5919061436e565b5061ffff8516336001600160a01b038a167fe002884724be85e729c98360169e709585b299ace6fbe12aa791d2fee6f652808a8a60018c600281111561290757fe5b600281111561291257fe5b14612921578960020154612923565b865b426040516112809493929190614d6d565b600260005414156129575760405162461bcd60e51b81526004016101c990614b35565b600260009081556001600160a01b03808416825260376020526040808320600781015491516370a0823160e01b81529093919092169182906370a08231906129a390879060040161452a565b60206040518083038186803b1580156129bb57600080fd5b505afa1580156129cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f3919061436e565b905060008111612a155760405162461bcd60e51b81526004016101c9906148d1565b6000612a4e612a3d6aa56fa5b99019a5c8000000612a316139a4565b9063ffffffff6138d116565b60038601549063ffffffff6139b416565b90506000836001600160a01b031663e78c9b3b876040518263ffffffff1660e01b8152600401612a7e919061452a565b60206040518083038186803b158015612a9657600080fd5b505afa158015612aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ace919061436e565b90508460010154811080612ae157508181115b612afd5760405162461bcd60e51b81526004016101c9906147ef565b612b068561320e565b604051632770a7eb60e21b81526001600160a01b03851690639dc29fac90612b34908990879060040161453e565b600060405180830381600087803b158015612b4e57600080fd5b505af1158015612b62573d6000803e3d6000fd5b5050506003860154604051630ab714fb60e11b81526001600160a01b038716925063156e29f691612b99918a918891600401614557565b600060405180830381600087803b158015612bb357600080fd5b505af1158015612bc7573d6000803e3d6000fd5b50612be1925087915089905060008063ffffffff6132c616565b856001600160a01b0316876001600160a01b03167f443060d15ff6dac05881a7c07a46ef8085d8af4399e436be6c25250df40c5f1842604051611e299190614d4e565b60001981565b6001600160a01b0381166000908152603760205260408120610e53906139ec565b6001600160a01b0390811660009081526037602052604090206006810154600782015460089092015490831693918316921690565b60026000541415612ca35760405162461bcd60e51b81526004016101c990614b35565b600260009081556001600160a01b038416808252603760209081526040808420338552603883528185209385529290915291829020915163b25dc48d60e01b815290919073__$69254465eb8f179ea24caa73cf68b23524$__9063b25dc48d90612d139085908890600401614d40565b60006040518083038186803b158015612d2b57600080fd5b505af4158015612d3f573d6000803e3d6000fd5b50505060068301546040516370a0823160e01b81526001600160a01b03909116915060009082906370a0823190612d7a90339060040161452a565b60206040518083038186803b158015612d9257600080fd5b505afa158015612da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dca919061436e565b159050612dd68461320e565b612de9848888600063ffffffff6132c616565b8015612dfb57825460ff191660011783555b6040516394362e8b60e01b81526001600160a01b038316906394362e8b90612e299033908a9060040161453e565b600060405180830381600087803b158015612e4357600080fd5b505af1158015612e57573d6000803e3d6000fd5b50612e73925050506001600160a01b03881633848960016135a7565b8461ffff16336001600160a01b0316886001600160a01b03167fc12c57b1c73a2c3a2ea4613e9476abb3d8d146857aab7329e24243fb59710c828942604051612ebd929190614d40565b60405180910390a4505060016000555050505050565b60078101546040516370a0823160e01b815260009182916001600160a01b03909116906370a0823190612f0a90879060040161452a565b60206040518083038186803b158015612f2257600080fd5b505afa158015612f36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5a919061436e565b60088401546040516370a0823160e01b81526001600160a01b03909116906370a0823190612f8c90889060040161452a565b60206040518083038186803b158015612fa457600080fd5b505afa158015612fb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fdc919061436e565b915091509250929050565b600781015460405163631a6fd560e11b815260009182916001600160a01b039091169063c634dfaa9061301e90879060040161452a565b60206040518083038186803b15801561303657600080fd5b505afa15801561304a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061306e919061436e565b600884015460405163631a6fd560e11b81526001600160a01b039091169063c634dfaa90612f8c90889060040161452a565b60006130ab83613735565b156130c157506001600160a01b03811631610e53565b6040516370a0823160e01b81526001600160a01b038416906370a08231906130ed90859060040161452a565b60206040518083038186803b15801561310557600080fd5b505afa158015613119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313d919061436e565b9392505050565b60008061313d836004015461317285600201548660090160149054906101000a900464ffffffffff16613a1a565b9063ffffffff6139b416565b5460301c610100600160d01b031690565b54670fffffffffff0000191690565b5460101c650fffffff0001600160f01b031690565b5460201c630fff0001600160e01b031690565b54603a1c6010600160c61b0316151590565b54603b1c6010600160c51b0316151590565b5460381c6010600160c81b0316151590565b5460391c6010600160c71b0316151590565b600061321982613a7f565b905080156132a2576001820154600983015460009161324591600160a01b900464ffffffffff16613b94565b835490915061325b90829063ffffffff6139b416565b83556002830154600984015460009161328191600160a01b900464ffffffffff16613a1a565b905061329a8460040154826139b490919063ffffffff16565b600485015550505b50600901805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b60078401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b15801561330d57600080fd5b505afa158015613321573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613345919061436e565b600686015490915060009061336c906001600160a01b03878116911663ffffffff6130a016565b6009870154909150600090819081906001600160a01b03166357e37af0896133aa8961339e898d63ffffffff6138d116565b9063ffffffff61375a16565b8c60070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133fa57600080fd5b505afa15801561340e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613432919061436e565b8d60080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561348257600080fd5b505afa158015613496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134ba919061436e565b8a6040518663ffffffff1660e01b81526004016134db9594939291906146ce565b60606040518083038186803b1580156134f357600080fd5b505afa158015613507573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061352b9190614408565b60018c0183905560038c0182905560028c018190558b5460048d01546040519497509295509093506001600160a01b038b16927f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a49261359492889288928c928992909190614de0565b60405180910390a2505050505050505050565b816135b157611b1c565b6135ba85613735565b1561371a57813410156135df5760405162461bcd60e51b81526004016101c990614a06565b6001600160a01b0383163014613672576000836001600160a01b03168361c3509060405161360c90614527565b600060405180830381858888f193505050503d806000811461364a576040519150601f19603f3d011682016040523d82523d6000602084013e61364f565b606091505b50509050806136705760405162461bcd60e51b81526004016101c990614a50565b505b80801561367e57508134115b156137155760006001600160a01b03851661369f348563ffffffff61375a16565b61c350906040516136af90614527565b600060405180830381858888f193505050503d80600081146136ed576040519150601f19603f3d011682016040523d82523d6000602084013e6136f2565b606091505b50509050806137135760405162461bcd60e51b81526004016101c990614a50565b505b611b1c565b611b1c6001600160a01b03861685858563ffffffff613bf416565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b600061313d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613c52565b806137a6576123ee565b6137af83613735565b1561383b576000826001600160a01b03168261c350906040516137d190614527565b600060405180830381858888f193505050503d806000811461380f576040519150601f19603f3d011682016040523d82523d6000602084013e613814565b606091505b50509050806138355760405162461bcd60e51b81526004016101c990614a50565b506123ee565b6123ee6001600160a01b038416838363ffffffff613c7e16565b60008261386457506000610e53565b8282028284828161387157fe5b041461313d5760405162461bcd60e51b81526004016101c990614890565b600061313d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613c9d565b60008282018381101561313d5760405162461bcd60e51b81526004016101c9906147b8565b6000805b60395481101561394357826001600160a01b03166039828154811061391b57fe5b6000918252602090912001546001600160a01b0316141561393b57600191505b6001016138fa565b508061399557603980546001810182556000919091527fdc16fef70f8d5ddbc01ee3d903d1e69c18a3c7be080eb86a81e0578814ee58d30180546001600160a01b0319166001600160a01b0384161790555b5050565b600290565b303b1590565b6b033b2e3c9fd0803ce800000090565b600061313d6b033b2e3c9fd0803ce80000006114ea6139d9868663ffffffff61385516565b6b019d971e4fe8401e74000000906138d1565b60008061313d836000015461317285600101548660090160149054906101000a900464ffffffffff16613b94565b600080613a344264ffffffffff851663ffffffff61375a16565b90506000613a4c856301e1338063ffffffff61388f16565b9050613a7682613a6a613a5d6139a4565b849063ffffffff6138d116565b9063ffffffff613cd416565b95945050505050565b6000610e538260080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015613ad457600080fd5b505afa158015613ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0c919061436e565b8360070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015613b5c57600080fd5b505afa158015613b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a31919061436e565b600080613bae4264ffffffffff851663ffffffff61375a16565b90506000613bd7613bc26301e13380613d2e565b613bcb84613d2e565b9063ffffffff613d4416565b9050613a76613be46139a4565b612a31878463ffffffff6139b416565b613c4c846323b872dd60e01b858585604051602401613c1593929190614614565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613d67565b50505050565b60008184841115613c765760405162461bcd60e51b81526004016101c99190614754565b505050900390565b6123ee8363a9059cbb60e01b8484604051602401613c1592919061453e565b60008183613cbe5760405162461bcd60e51b81526004016101c99190614754565b506000838581613cca57fe5b0495945050505050565b600060028206613cf0576b033b2e3c9fd0803ce8000000613cf2565b825b90506002820491505b8115610e5357613d0b83846139b4565b92506002820615613d2357613d2081846139b4565b90505b600282049150613cfb565b6000610e5382633b9aca0063ffffffff61385516565b6000600282046105c7836114ea613a5d876b033b2e3c9fd0803ce8000000613855565b6060613dbc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613df69092919063ffffffff16565b8051909150156123ee5780806020019051810190613dda919061433a565b6123ee5760405162461bcd60e51b81526004016101c990614aeb565b60606105c784846000856060613e0b85610593565b613e275760405162461bcd60e51b81526004016101c9906149cf565b60006060866001600160a01b03168587604051613e44919061450b565b60006040518083038185875af1925050503d8060008114613e81576040519150601f19603f3d011682016040523d82523d6000602084013e613e86565b606091505b50915091508115613e9a5791506105c79050565b805115613eaa5780518082602001fd5b8360405162461bcd60e51b81526004016101c99190614754565b6040518061018001604052806000815260200160008152602001600081526020016000815260200160008152602001613efb613f92565b815260006020820181905260408201819052606082018190526080820181905260a0820181905260c09091015290565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b6040518060c00160405280600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6040518060200160405280600081525090565b600060208284031215613fb6578081fd5b813561313d81614f26565b600060208284031215613fd2578081fd5b815161313d81614f26565b60008060408385031215613fef578081fd5b8235613ffa81614f26565b9150602083013561400a81614f26565b809150509250929050565b6000806000806080858703121561402a578182fd5b843561403581614f26565b9350602085013561404581614f26565b93969395505050506040820135916060013590565b600080600080600060a08688031215614071578081fd5b853561407c81614f26565b9450602086013561408c81614f26565b9350604086013561409c81614f26565b925060608601356140ac81614f26565b915060808601356140bc81614f26565b809150509295509295909350565b600080600080600060a086880312156140e1578081fd5b85356140ec81614f26565b945060208601356140fc81614f26565b9350604086013561410c81614f26565b92506060860135915060808601356140bc81614f3b565b600080600060608486031215614137578283fd5b833561414281614f26565b9250602084013561415281614f26565b929592945050506040919091013590565b60008060008060808587031215614178578384fd5b843561418381614f26565b9350602085013561419381614f26565b925060408501359150606085013567ffffffffffffffff8111156141b5578182fd5b80860187601f8201126141c6578283fd5b803591506141db6141d683614ec9565b614ea2565b8281528860208484010111156141ef578384fd5b8260208301602083013791820160200192909252939692955090935050565b60008060408385031215614220578182fd5b823561422b81614f26565b9150602083013561400a81614f3b565b6000806040838503121561424d578182fd5b823561425881614f26565b946020939093013593505050565b60008060006060848603121561427a578081fd5b833561428581614f26565b925060208401359150604084013561ffff811681146142a2578182fd5b809150509250925092565b600080600080608085870312156142c2578182fd5b84356142cd81614f26565b9350602085013592506040850135915060608501356142eb81614f26565b939692955090935050565b6000806000806080858703121561430b578182fd5b843561431681614f26565b93506020850135925060408501359150606085013561ffff811681146142eb578182fd5b60006020828403121561434b578081fd5b815161313d81614f3b565b600060208284031215614367578081fd5b5035919050565b60006020828403121561437f578081fd5b5051919050565b60008060408385031215614398578182fd5b82519150602083015167ffffffffffffffff8111156143b5578182fd5b80840185601f8201126143c6578283fd5b805191506143d66141d683614ec9565b8281528660208484010111156143ea578384fd5b6143fb836020830160208501614eed565b8093505050509250929050565b60008060006060848603121561441c578081fd5b8351925060208401519150604084015190509250925092565b600080600080600060a0868803121561444c578283fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b600060208284031215614485578081fd5b815164ffffffffff8116811461313d578182fd5b6000815480845260208085019450838352808320835b838110156144d45781546001600160a01b0316875295820195600191820191016144af565b509495945050505050565b600081518084526144f7816020860160208601614eed565b601f01601f19169290920160200192915050565b6000825161451d818460208701614eed565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906145b2908301846144df565b979650505050505050565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03958616815293851660208501529190931660408301526060820192909252901515608082015260a00190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060018060a01b03808a168352808916602084015287604084015286606084015285608084015260e060a084015261467460e0840186614499565b915080841660c08401525098975050505050505050565b600060018060a01b03808816835286602084015285604084015260a060608401526146b960a0840186614499565b91508084166080840152509695505050505050565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b6020808252825182820181905260009190848201906040850190845b8181101561473d5783516001600160a01b031683529284019291840191600101614718565b50909695505050505050565b901515815260200190565b60006020825261313d60208301846144df565b60208082526031908201527f5468657265206973206e6f7420656e6f756768206c697175696469747920617660408201527061696c61626c6520746f20626f72726f7760781b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602f908201527f496e746572657374207261746520726562616c616e636520636f6e646974696f60408201526e1b9cc81dd95c99481b9bdd081b595d608a1b606082015260800190565b60208082526032908201527f5468652061637475616c2062616c616e6365206f66207468652070726f746f636040820152711bdb081a5cc81a5b98dbdb9cda5cdd195b9d60721b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526038908201527f5573657220646f6573206e6f74206861766520616e7920737461626c6520726160408201527f7465206c6f616e20666f72207468697320726573657276650000000000000000606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526017908201527f4c69717569646174696f6e2063616c6c206661696c6564000000000000000000604082015260600190565b602080825260029082015261033360f41b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f57726f6e67207573616765206f66204554482e756e6976657273616c5472616e6040820152697366657246726f6d282960b01b606082015260800190565b60208082526013908201527211551217d514905394d1915497d19052531151606a1b604082015260600190565b602080825260029082015261191960f11b604082015260600190565b60208082526032908201527f5468652072657175657374656420616d6f756e7420697320746f6f20736d616c60408201527136103337b9103090233630b9b42637b0b71760711b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b9051815260200190565b9485526001600160a01b03938416602086015291831660408501528216606084015216608082015260a00190565b600087825260018060a01b03808816602084015286604084015285606084015260c06080840152614bd860c0840186614499565b915080841660a084015250979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b8981526001600160a01b03898116602083015260408201899052610120820190614c3689614f19565b8860608401528088166080840152508560a08301528460c08301528360e0830152826101008301529a9950505050505050505050565b9485526001600160a01b0393909316602085015260408401919091526060830152608082015260a00190565b60006101608d83528c602084015260018060a01b03808d1660408501528b60608501528a60808501528960a08501528860c08501528760e08501528661010085015281610120850152614ced82850187614499565b925080851661014085015250509c9b505050505050505050505050565b600060a082019050868252856020830152846040830152836060830152614d3083614f19565b8260808301529695505050505050565b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b998a5260208a0198909852604089019690965260608801949094526001600160a01b03929092166080870152151560a0860152151560c0850152151560e0840152151561010083015215156101208201526101400190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b998a5260208a019890985260408901969096526060880194909452608087019290925260a086015260c085015260e084015261010083015264ffffffffff166101208201526101400190565b998a5260208a019890985260408901969096526060880194909452608087019290925260a086015260c085015260e084015264ffffffffff1661010083015215156101208201526101400190565b60405181810167ffffffffffffffff81118282101715614ec157600080fd5b604052919050565b600067ffffffffffffffff821115614edf578081fd5b50601f01601f191660200190565b60005b83811015614f08578181015183820152602001614ef0565b83811115613c4c5750506000910152565b60038110614f2357fe5b50565b6001600160a01b0381168114614f2357600080fd5b8015158114614f2357600080fdfea2646970667358221220cf44fc9637ebbe427367506ae10c6899f9bd61b3a77cff08e37b840242acafca64736f6c63430006080033'; export interface LendingPoolLibraryAddresses { - ['__$5e6137a1b5a0a366e2874209b5abf71c10$__']: string; ['__$69254465eb8f179ea24caa73cf68b23524$__']: string; + ['__$5e6137a1b5a0a366e2874209b5abf71c10$__']: string; ['__$7347ff53b2b46c21e26a37164ae7f6739f$__']: string; } diff --git a/types/LendingPoolLiquidationManagerFactory.ts b/types/LendingPoolLiquidationManagerFactory.ts index ffe00ce6..eabe6965 100644 --- a/types/LendingPoolLiquidationManagerFactory.ts +++ b/types/LendingPoolLiquidationManagerFactory.ts @@ -184,7 +184,7 @@ const _abi = [ ]; const _bytecode = - '0x6080604052600060015534801561001557600080fd5b50600160005561170c8061002a6000396000f3fe6080604052600436106100335760003560e01c8062a718a9146100385780634fe7a6e5146100fb578063c72c4d1014610141575b600080fd5b61007c600480360360a081101561004e57600080fd5b506001600160a01b038135811691602081013582169160408201351690606081013590608001351515610156565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156100bf5781810151838201526020016100a7565b50505050905090810190601f1680156100ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561010757600080fd5b506101256004803603602081101561011e57600080fd5b503561094b565b604080516001600160a01b039092168252519081900360200190f35b34801561014d57600080fd5b50610125610972565b6001600160a01b0380851660009081526037602090815260408083208985168085528285209589168552603884528285209085529092528220919260609261019c6114d0565b73__$7347ff53b2b46c21e26a37164ae7f6739f$__6392eeb05c8a603760386039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561020b57600080fd5b505afa15801561021f573d6000803e3d6000fd5b505050506040513d602081101561023557600080fd5b50516040516001600160e01b031960e088901b1681526001600160a01b03808716600483019081526024830187905260448301869052908316608483015260a060648301908152845460a484018190529192909160c490910190859080156102c657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102a8575b5050965050505050505060c06040518083038186803b1580156102e857600080fd5b505af41580156102fc573d6000803e3d6000fd5b505050506040513d60c081101561031257600080fd5b5060a001516101c08201819052670de0b6b3a764000011610355576004604051806060016040528060288152602001611685602891399550955050505050610941565b6009830154604080516370a0823160e01b81526001600160a01b038c81166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156103a457600080fd5b505afa1580156103b8573d6000803e3d6000fd5b505050506040513d60208110156103ce57600080fd5b505180825261041c5760016040518060400160405280601f81526020017f496e76616c696420636f6c6c61746572616c20746f206c6971756964617465008152509550955050505050610941565b600c830154600160d01b900460ff1680156104385750815460ff165b1515610200820181905261046e5760026040518060600160405280602a8152602001611631602a91399550955050505050610941565b6104788985610981565b60408301526020820181905215801561049357506040810151155b156104c05760036040518060600160405280602a81526020016116ad602a91399550955050505050610941565b6104fd60646104f160326104e585604001518660200151610a8490919063ffffffff16565b9063ffffffff610ae716565b9063ffffffff610b4016565b6060820181905288116105105787610516565b80606001515b60808201819052815161053191859187918f918f9190610b82565b6101a0830181905261018083019190915260808201511115610559576101a081015160808201525b866105b35760006105796001600160a01b038d163063ffffffff610df316565b90508161018001518110156105b15760056040518060600160405280603381526020016115fe60339139965096505050505050610941565b505b806080015181604001511061063c57600b840154608082015160408051632770a7eb60e21b81526001600160a01b038d81166004830152602482019390935290519190921691639dc29fac91604480830192600092919082900301818387803b15801561061f57600080fd5b505af1158015610633573d6000803e3d6000fd5b50505050610743565b600b8401546040808301518151632770a7eb60e21b81526001600160a01b038d8116600483015260248201929092529151921691639dc29fac9160448082019260009290919082900301818387803b15801561069757600080fd5b505af11580156106ab573d6000803e3d6000fd5b50505050600a840154604082015160808301516001600160a01b0390921691639dc29fac918c916106db91610e9d565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561072a57600080fd5b505af115801561073e573d6000803e3d6000fd5b505050505b60098301546001600160a01b03166101e082015286156107df576101e08101516101808201516040805163f866c31960e01b81526001600160a01b038d8116600483015233602483015260448201939093529051919092169163f866c31991606480830192600092919082900301818387803b1580156107c257600080fd5b505af11580156107d6573d6000803e3d6000fd5b50505050610883565b806101e001516001600160a01b0316633edb7cb88a8361018001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561084957600080fd5b505af115801561085d573d6000803e3d6000fd5b50505061018082015161088391506001600160a01b038d1690339063ffffffff610edf16565b60808101516108a4906001600160a01b038c1690600163ffffffff610fbd16565b60808082015161018083015160408051928352602083019190915233828201528915156060830152429282019290925290516001600160a01b03808c16928d821692918f16917f54343dd5791108d018f6fb8def2c14d746f777c51e9924962237813a527528709181900360a00190a46000604051806040016040528060098152602001684e6f206572726f727360b81b81525095509550505050505b9550959350505050565b6039818154811061095857fe5b6000918252602090912001546001600160a01b0316905081565b6035546001600160a01b031681565b600a810154604080516370a0823160e01b81526001600160a01b0385811660048301529151600093849316916370a08231916024808301926020929190829003018186803b1580156109d257600080fd5b505afa1580156109e6573d6000803e3d6000fd5b505050506040513d60208110156109fc57600080fd5b5051600b840154604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610a4d57600080fd5b505afa158015610a61573d6000803e3d6000fd5b505050506040513d6020811015610a7757600080fd5b5051909590945092505050565b600082820183811015610ade576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082610af657506000610ae1565b82820282848281610b0357fe5b0414610ade5760405162461bcd60e51b81526004018080602001828103825260218152602001806115dd6021913960400191505060405180910390fd5b6000610ade83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061108f565b60355460408051631f94a27560e31b81529051600092839283926001600160a01b039092169163fca513a891600480820192602092909190829003018186803b158015610bce57600080fd5b505afa158015610be2573d6000803e3d6000fd5b505050506040513d6020811015610bf857600080fd5b50519050610c0461156a565b816001600160a01b031663b3596f07896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610c5a57600080fd5b505afa158015610c6e573d6000803e3d6000fd5b505050506040513d6020811015610c8457600080fd5b5051604080830191909152805163b3596f0760e01b81526001600160a01b03898116600483015291519184169163b3596f0791602480820192602092909190829003018186803b158015610cd757600080fd5b505afa158015610ceb573d6000803e3d6000fd5b505050506040513d6020811015610d0157600080fd5b5051606082015260078a0154602082018190526008808b015460a08401819052908c015460c08401526040830151610d73926064926104f1926104e591610d519190600a0a63ffffffff610ae716565b6104f18760c00151600a0a6104e58e8a60600151610ae790919063ffffffff16565b60808201819052851015610ddb57849350610dd481602001516104f160646104e5610db28660c00151600a0a8760600151610ae790919063ffffffff16565b6104f18760a00151600a0a6104e58c8a60400151610ae790919063ffffffff16565b9250610de6565b806080015193508592505b5050965096945050505050565b6000610dfe83611131565b15610e1457506001600160a01b03811631610ae1565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610e6a57600080fd5b505afa158015610e7e573d6000803e3d6000fd5b505050506040513d6020811015610e9457600080fd5b50519050610ae1565b6000610ade83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611156565b80610ee957610fb8565b610ef283611131565b15610f9e576040516000906001600160a01b0384169061c35090849084818181858888f193505050503d8060008114610f47576040519150601f19603f3d011682016040523d82523d6000602084013e610f4c565b606091505b5050905080610f98576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b50610fb8565b610fb86001600160a01b038416838363ffffffff6111b016565b505050565b81610fc757610fb8565b610fd083611131565b1561107457813410156110145760405162461bcd60e51b81526004018080602001828103825260358152602001806115a86035913960400191505060405180910390fd5b801561106f5760003361102d348563ffffffff610e9d16565b60405161c35091906000818181858888f193505050503d8060008114610f47576040519150601f19603f3d011682016040523d82523d6000602084013e610f4c565b610fb8565b610fb86001600160a01b03841633308563ffffffff61120216565b6000818361111b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110e05781810151838201526020016110c8565b50505050905090810190601f16801561110d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161112757fe5b0495945050505050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b600081848411156111a85760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110e05781810151838201526020016110c8565b505050900390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610fb8908490611262565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261125c908590611262565b50505050565b60606112b7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113139092919063ffffffff16565b805190915015610fb8578080602001905160208110156112d657600080fd5b5051610fb85760405162461bcd60e51b815260040180806020018281038252602a81526020018061165b602a913960400191505060405180910390fd5b6060611322848460008561132a565b949350505050565b606061133585611497565b611386576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106113c55780518252601f1990920191602091820191016113a6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611427576040519150601f19603f3d011682016040523d82523d6000602084013e61142c565b606091505b509150915081156114405791506113229050565b8051156114505780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156110e05781810151838201526020016110c8565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611322575050151592915050565b604051806102200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000600281111561152f57fe5b81526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe54686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d61746368536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754686572652069736e277420656e6f756768206c697175696469747920617661696c61626c6520746f206c697175696461746554686520636f6c6c61746572616c2063686f73656e2063616e6e6f74206265206c6971756964617465645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644865616c746820666163746f72206973206e6f742062656c6f7720746865207468726573686f6c645573657220646964206e6f7420626f72726f7720746865207370656369666965642063757272656e6379a2646970667358221220d221dba87455e35dd29421fd2351c8cc1e9c9ec55aa63aab1f1d5e6533d1989964736f6c63430006080033'; + '0x6080604052600060015534801561001557600080fd5b506001600055611e848061002a6000396000f3fe6080604052600436106100335760003560e01c8062a718a9146100385780634fe7a6e5146100fb578063c72c4d1014610141575b600080fd5b61007c600480360360a081101561004e57600080fd5b506001600160a01b038135811691602081013582169160408201351690606081013590608001351515610156565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156100bf5781810151838201526020016100a7565b50505050905090810190601f1680156100ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561010757600080fd5b506101256004803603602081101561011e57600080fd5b5035610a0f565b604080516001600160a01b039092168252519081900360200190f35b34801561014d57600080fd5b50610125610a36565b6001600160a01b0380851660009081526037602090815260408083208985168085528285209589168552603884528285209085529092528220919260609261019c611c53565b73__$7347ff53b2b46c21e26a37164ae7f6739f$__6392eeb05c8a603760386039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561020b57600080fd5b505afa15801561021f573d6000803e3d6000fd5b505050506040513d602081101561023557600080fd5b50516040516001600160e01b031960e088901b1681526001600160a01b03808716600483019081526024830187905260448301869052908316608483015260a060648301908152845460a484018190529192909160c490910190859080156102c657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102a8575b5050965050505050505060a06040518083038186803b1580156102e857600080fd5b505af41580156102fc573d6000803e3d6000fd5b505050506040513d60a081101561031257600080fd5b50608001516101c08201819052670de0b6b3a764000011610355576004604051806060016040528060288152602001611dfd602891399550955050505050610a05565b6006830154604080516370a0823160e01b81526001600160a01b038c81166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156103a457600080fd5b505afa1580156103b8573d6000803e3d6000fd5b505050506040513d60208110156103ce57600080fd5b505180825261041c5760016040518060400160405280601f81526020017f496e76616c696420636f6c6c61746572616c20746f206c6971756964617465008152509550955050505050610a05565b600061042a84600501610a45565b1180156104385750815460ff165b1515610200820181905261046e5760026040518060600160405280602a8152602001611d7f602a91399550955050505050610a05565b6104788985610a5a565b60408301526020820181905215801561049357506040810151155b156104c05760036040518060600160405280602a8152602001611e25602a91399550955050505050610a05565b6104fd60646104f160326104e585604001518660200151610b5d90919063ffffffff16565b9063ffffffff610bc016565b9063ffffffff610c1916565b6060820181905288116105105787610516565b80606001515b60808201819052815161053191859187918f918f9190610c5b565b6101a0830181905261018083019190915260808201511115610559576101a081015160808201525b60068301546001600160a01b03166101e0820152866105cf576000610595826101e001518d6001600160a01b0316610edc90919063ffffffff16565b90508161018001518110156105cd576005604051806060016040528060338152602001611d4c60339139965096505050505050610a05565b505b6105d884610f86565b60808101516105f29085908c90600063ffffffff61103e16565b806080015181604001511061067b576008840154608082015160408051632770a7eb60e21b81526001600160a01b038d81166004830152602482019390935290519190921691639dc29fac91604480830192600092919082900301818387803b15801561065e57600080fd5b505af1158015610672573d6000803e3d6000fd5b50505050610782565b60088401546040808301518151632770a7eb60e21b81526001600160a01b038d8116600483015260248201929092529151921691639dc29fac9160448082019260009290919082900301818387803b1580156106d657600080fd5b505af11580156106ea573d6000803e3d6000fd5b505050506007840154604082015160808301516001600160a01b0390921691639dc29fac918c9161071a9161132b565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561076957600080fd5b505af115801561077d573d6000803e3d6000fd5b505050505b861561080a576101e08101516101808201516040805163f866c31960e01b81526001600160a01b038d8116600483015233602483015260448201939093529051919092169163f866c31991606480830192600092919082900301818387803b1580156107ed57600080fd5b505af1158015610801573d6000803e3d6000fd5b5050505061093a565b61081383610f86565b61018081015161082f9084908d9060009063ffffffff61103e16565b806101e001516001600160a01b0316633edb7cb88a8361018001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561089957600080fd5b505af11580156108ad573d6000803e3d6000fd5b5050506101e082015161018083015160408051634efecaa560e01b81523360048201526024810192909252516001600160a01b039092169250634efecaa59160448083019260209291908290030181600087803b15801561090d57600080fd5b505af1158015610921573d6000803e3d6000fd5b505050506040513d602081101561093757600080fd5b50505b60068401546080820151610968916001600160a01b038d81169233929190911690600163ffffffff61136d16565b60808082015161018083015160408051928352602083019190915233828201528915156060830152429282019290925290516001600160a01b03808c16928d821692918f16917f54343dd5791108d018f6fb8def2c14d746f777c51e9924962237813a527528709181900360a00190a46000604051806040016040528060098152602001684e6f206572726f727360b81b81525095509550505050505b9550959350505050565b60398181548110610a1c57fe5b6000918252602090912001546001600160a01b0316905081565b6035546001600160a01b031681565b5460101c650fffffff0001600160f01b031690565b6007810154604080516370a0823160e01b81526001600160a01b0385811660048301529151600093849316916370a08231916024808301926020929190829003018186803b158015610aab57600080fd5b505afa158015610abf573d6000803e3d6000fd5b505050506040513d6020811015610ad557600080fd5b50516008840154604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610b2657600080fd5b505afa158015610b3a573d6000803e3d6000fd5b505050506040513d6020811015610b5057600080fd5b5051909590945092505050565b600082820183811015610bb7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082610bcf57506000610bba565b82820282848281610bdc57fe5b0414610bb75760405162461bcd60e51b8152600401808060200182810382526021815260200180611d2b6021913960400191505060405180910390fd5b6000610bb783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611560565b60355460408051631f94a27560e31b81529051600092839283926001600160a01b039092169163fca513a891600480820192602092909190829003018186803b158015610ca757600080fd5b505afa158015610cbb573d6000803e3d6000fd5b505050506040513d6020811015610cd157600080fd5b50519050610cdd611ced565b816001600160a01b031663b3596f07896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d3357600080fd5b505afa158015610d47573d6000803e3d6000fd5b505050506040513d6020811015610d5d57600080fd5b5051604080830191909152805163b3596f0760e01b81526001600160a01b03898116600483015291519184169163b3596f0791602480820192602092909190829003018186803b158015610db057600080fd5b505afa158015610dc4573d6000803e3d6000fd5b505050506040513d6020811015610dda57600080fd5b50516060820152610ded60058b01611602565b60c0850152602084015250610e06905060058a01611649565b60a0820181905260208201516040830151610e5c926064926104f19290916104e591610e3a91600a0a63ffffffff610bc016565b6104f18760c00151600a0a6104e58e8a60600151610bc090919063ffffffff16565b60808201819052851015610ec457849350610ebd81602001516104f160646104e5610e9b8660c00151600a0a8760600151610bc090919063ffffffff16565b6104f18760a00151600a0a6104e58c8a60400151610bc090919063ffffffff16565b9250610ecf565b806080015193508592505b5050965096945050505050565b6000610ee78361165a565b15610efd57506001600160a01b03811631610bba565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610f5357600080fd5b505afa158015610f67573d6000803e3d6000fd5b505050506040513d6020811015610f7d57600080fd5b50519050610bba565b6000610f918261167f565b9050801561101a5760018201546009830154600091610fbd91600160a01b900464ffffffffff1661177f565b8354909150610fd390829063ffffffff6117f416565b835560028301546009840154600091610ff991600160a01b900464ffffffffff1661182c565b90506110128460040154826117f490919063ffffffff16565b600485015550505b50600901805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b60078401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b15801561108557600080fd5b505afa158015611099573d6000803e3d6000fd5b505050506040513d60208110156110af57600080fd5b505160068601549091506000906110d8906001600160a01b03878116911663ffffffff610edc16565b6009870154909150600090819081906001600160a01b03166357e37af0896111168961110a898d63ffffffff610b5d16565b9063ffffffff61132b16565b8c60070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561116657600080fd5b505afa15801561117a573d6000803e3d6000fd5b505050506040513d602081101561119057600080fd5b505160088e0154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156111d957600080fd5b505afa1580156111ed573d6000803e3d6000fd5b505050506040513d602081101561120357600080fd5b5051604080516001600160e01b031960e088901b1681526001600160a01b039095166004860152602485019390935260448401919091526064830152608482018990525160a4808301926060929190829003018186803b15801561126657600080fd5b505afa15801561127a573d6000803e3d6000fd5b505050506040513d606081101561129057600080fd5b50805160208083015160409384015160018e0184905560038e0182905560028e018190558d5460048f015486518681529485018490528487018c905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a2505050505050505050565b6000610bb783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611888565b8161137757611559565b6113808561165a565b1561153e57813410156113c45760405162461bcd60e51b815260040180806020018281038252602a815260200180611da9602a913960400191505060405180910390fd5b6001600160a01b0383163014611477576040516000906001600160a01b0385169061c35090859084818181858888f193505050503d8060008114611424576040519150601f19603f3d011682016040523d82523d6000602084013e611429565b606091505b5050905080611475576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b505b80801561148357508134115b156115395760006001600160a01b0385166114a4348563ffffffff61132b16565b60405161c35091906000818181858888f193505050503d80600081146114e6576040519150601f19603f3d011682016040523d82523d6000602084013e6114eb565b606091505b5050905080611537576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b505b611559565b6115596001600160a01b03861685858563ffffffff6118e216565b5050505050565b600081836115ec5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115b1578181015183820152602001611599565b50505050905090810190601f1680156115de5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816115f857fe5b0495945050505050565b54670fffffffffff000019811691601082901c650fffffff0001600160f01b031691602081901c630fff0001600160e01b03169160309190911c610100600160d01b031690565b5460301c610100600160d01b031690565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b6000610bba8260080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116d457600080fd5b505afa1580156116e8573d6000803e3d6000fd5b505050506040513d60208110156116fe57600080fd5b50516007840154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561174757600080fd5b505afa15801561175b573d6000803e3d6000fd5b505050506040513d602081101561177157600080fd5b50519063ffffffff610b5d16565b6000806117994264ffffffffff851663ffffffff61132b16565b905060006117c26117ad6301e13380611942565b6117b684611942565b9063ffffffff61195816565b90506117eb6117cf611983565b6117df878463ffffffff6117f416565b9063ffffffff610b5d16565b95945050505050565b6000610bb76b033b2e3c9fd0803ce80000006104f1611819868663ffffffff610bc016565b6b019d971e4fe8401e7400000090610b5d565b6000806118464264ffffffffff851663ffffffff61132b16565b9050600061185e856301e1338063ffffffff610c1916565b90506117eb8261187c61186f611983565b849063ffffffff610b5d16565b9063ffffffff61199316565b600081848411156118da5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115b1578181015183820152602001611599565b505050900390565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261193c9085906119ed565b50505050565b6000610bba82633b9aca0063ffffffff610bc016565b60006002820461197b836104f161186f876b033b2e3c9fd0803ce8000000610bc0565b949350505050565b6b033b2e3c9fd0803ce800000090565b6000600282066119af576b033b2e3c9fd0803ce80000006119b1565b825b90506002820491505b8115610bba576119ca83846117f4565b925060028206156119e2576119df81846117f4565b90505b6002820491506119ba565b6060611a42826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611aa39092919063ffffffff16565b805190915015611a9e57808060200190516020811015611a6157600080fd5b5051611a9e5760405162461bcd60e51b815260040180806020018281038252602a815260200180611dd3602a913960400191505060405180910390fd5b505050565b606061197b84846000856060611ab885611c1a565b611b09576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611b485780518252601f199092019160209182019101611b29565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611baa576040519150601f19603f3d011682016040523d82523d6000602084013e611baf565b606091505b50915091508115611bc357915061197b9050565b805115611bd35780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156115b1578181015183820152602001611599565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061197b575050151592915050565b6040518061022001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006002811115611cb257fe5b81526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754686572652069736e277420656e6f756768206c697175696469747920617661696c61626c6520746f206c697175696461746554686520636f6c6c61746572616c2063686f73656e2063616e6e6f74206265206c69717569646174656457726f6e67207573616765206f66204554482e756e6976657273616c5472616e7366657246726f6d28295361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644865616c746820666163746f72206973206e6f742062656c6f7720746865207468726573686f6c645573657220646964206e6f7420626f72726f7720746865207370656369666965642063757272656e6379a26469706673582212208b1ee7a4d75ac55c3473a69bedf0630c2487c5658a274dbabc75554b85cfa99864736f6c63430006080033'; export interface LendingPoolLiquidationManagerLibraryAddresses { ['__$7347ff53b2b46c21e26a37164ae7f6739f$__']: string; diff --git a/types/LendingRateOracleFactory.ts b/types/LendingRateOracleFactory.ts index e0421460..783d6d5a 100644 --- a/types/LendingRateOracleFactory.ts +++ b/types/LendingRateOracleFactory.ts @@ -160,4 +160,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b5060006100246001600160e01b0361007316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610077565b3390565b6104d3806100866000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639f86a0ee1161005b5780639f86a0ee146100dc578063bb85c0bb14610108578063f2fde38b14610140578063fbe5ba1e146101665761007d565b8063715018a61461008257806372eb293d1461008c5780638da5cb5b146100b8575b600080fd5b61008a61018c565b005b61008a600480360360408110156100a257600080fd5b506001600160a01b03813516906020013561022e565b6100c06102a2565b604080516001600160a01b039092168252519081900360200190f35b61008a600480360360408110156100f257600080fd5b506001600160a01b0381351690602001356102b1565b61012e6004803603602081101561011e57600080fd5b50356001600160a01b0316610325565b60408051918252519081900360200190f35b61008a6004803603602081101561015657600080fd5b50356001600160a01b0316610340565b61012e6004803603602081101561017c57600080fd5b50356001600160a01b0316610438565b610194610453565b6000546001600160a01b039081169116146101e4576040805162461bcd60e51b8152602060048201819052602482015260008051602061047e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610236610453565b6000546001600160a01b03908116911614610286576040805162461bcd60e51b8152602060048201819052602482015260008051602061047e833981519152604482015290519081900360640190fd5b6001600160a01b03909116600090815260016020526040902055565b6000546001600160a01b031690565b6102b9610453565b6000546001600160a01b03908116911614610309576040805162461bcd60e51b8152602060048201819052602482015260008051602061047e833981519152604482015290519081900360640190fd5b6001600160a01b03909116600090815260026020526040902055565b6001600160a01b031660009081526001602052604090205490565b610348610453565b6000546001600160a01b03908116911614610398576040805162461bcd60e51b8152602060048201819052602482015260008051602061047e833981519152604482015290519081900360640190fd5b6001600160a01b0381166103dd5760405162461bcd60e51b81526004018080602001828103825260268152602001806104586026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526002602052604090205490565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212205a70c695df428b295326b997bc040b37bae1f9ec1bd06c08f157cb36423fc98664736f6c63430006080033'; + '0x608060405234801561001057600080fd5b5060006100246001600160e01b0361007316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610077565b3390565b6104d3806100866000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639f86a0ee1161005b5780639f86a0ee146100dc578063bb85c0bb14610108578063f2fde38b14610140578063fbe5ba1e146101665761007d565b8063715018a61461008257806372eb293d1461008c5780638da5cb5b146100b8575b600080fd5b61008a61018c565b005b61008a600480360360408110156100a257600080fd5b506001600160a01b03813516906020013561022e565b6100c06102a2565b604080516001600160a01b039092168252519081900360200190f35b61008a600480360360408110156100f257600080fd5b506001600160a01b0381351690602001356102b1565b61012e6004803603602081101561011e57600080fd5b50356001600160a01b0316610325565b60408051918252519081900360200190f35b61008a6004803603602081101561015657600080fd5b50356001600160a01b0316610340565b61012e6004803603602081101561017c57600080fd5b50356001600160a01b0316610438565b610194610453565b6000546001600160a01b039081169116146101e4576040805162461bcd60e51b8152602060048201819052602482015260008051602061047e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610236610453565b6000546001600160a01b03908116911614610286576040805162461bcd60e51b8152602060048201819052602482015260008051602061047e833981519152604482015290519081900360640190fd5b6001600160a01b03909116600090815260016020526040902055565b6000546001600160a01b031690565b6102b9610453565b6000546001600160a01b03908116911614610309576040805162461bcd60e51b8152602060048201819052602482015260008051602061047e833981519152604482015290519081900360640190fd5b6001600160a01b03909116600090815260026020526040902055565b6001600160a01b031660009081526001602052604090205490565b610348610453565b6000546001600160a01b03908116911614610398576040805162461bcd60e51b8152602060048201819052602482015260008051602061047e833981519152604482015290519081900360640190fd5b6001600160a01b0381166103dd5760405162461bcd60e51b81526004018080602001828103825260268152602001806104586026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526002602052604090205490565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220bcc898def2e44300e275ecf77acc2aacccc24f178c05892852eb5e61ff4bf45e64736f6c63430006080033'; diff --git a/types/MintableErc20Factory.ts b/types/MintableErc20Factory.ts index e5d8d13c..01f458fd 100644 --- a/types/MintableErc20Factory.ts +++ b/types/MintableErc20Factory.ts @@ -355,4 +355,4 @@ const _abi = [ ]; const _bytecode = - '0x60806040523480156200001157600080fd5b5060405162000e1338038062000e13833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405260209081015185519093508592508491620001bd9160039185019062000216565b508051620001d390600490602084019062000216565b50506005805460ff1916601217905550620001f7816001600160e01b036200020016565b505050620002bb565b6005805460ff191660ff92909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025957805160ff191683800117855562000289565b8280016001018555821562000289579182015b82811115620002895782518255916020019190600101906200026c565b50620002979291506200029b565b5090565b620002b891905b80821115620002975760008155600101620002a2565b90565b610b4880620002cb6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461021057806395d89b4114610236578063a0712d681461023e578063a457c2d71461025b578063a9059cbb14610287578063dd62ed3e146102b3576100b4565b806306fdde03146100b9578063095ea7b31461013657806318160ddd1461017657806323b872dd14610190578063313ce567146101c657806339509351146101e4575b600080fd5b6100c16102e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fb5781810151838201526020016100e3565b50505050905090810190601f1680156101285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101626004803603604081101561014c57600080fd5b506001600160a01b038135169060200135610377565b604080519115158252519081900360200190f35b61017e610394565b60408051918252519081900360200190f35b610162600480360360608110156101a657600080fd5b506001600160a01b0381358116916020810135909116906040013561039a565b6101ce610427565b6040805160ff9092168252519081900360200190f35b610162600480360360408110156101fa57600080fd5b506001600160a01b038135169060200135610430565b61017e6004803603602081101561022657600080fd5b50356001600160a01b0316610484565b6100c161049f565b6101626004803603602081101561025457600080fd5b5035610500565b6101626004803603604081101561027157600080fd5b506001600160a01b038135169060200135610514565b6101626004803603604081101561029d57600080fd5b506001600160a01b038135169060200135610582565b61017e600480360360408110156102c957600080fd5b506001600160a01b0381358116916020013516610596565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561036d5780601f106103425761010080835404028352916020019161036d565b820191906000526020600020905b81548152906001019060200180831161035057829003601f168201915b5050505050905090565b600061038b6103846105c1565b84846105c5565b50600192915050565b60025490565b60006103a78484846106b1565b61041d846103b36105c1565b61041885604051806060016040528060288152602001610a7d602891396001600160a01b038a166000908152600160205260408120906103f16105c1565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61081816565b6105c5565b5060019392505050565b60055460ff1690565b600061038b61043d6105c1565b84610418856001600061044e6105c1565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6108af16565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561036d5780601f106103425761010080835404028352916020019161036d565b600061050c3383610910565b506001919050565b600061038b6105216105c1565b8461041885604051806060016040528060258152602001610aee602591396001600061054b6105c1565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61081816565b600061038b61058f6105c1565b84846106b1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661060a5760405162461bcd60e51b8152600401808060200182810382526024815260200180610aca6024913960400191505060405180910390fd5b6001600160a01b03821661064f5760405162461bcd60e51b8152600401808060200182810382526022815260200180610a356022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106f65760405162461bcd60e51b8152600401808060200182810382526025815260200180610aa56025913960400191505060405180910390fd5b6001600160a01b03821661073b5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a126023913960400191505060405180910390fd5b610746838383610a0c565b61078981604051806060016040528060268152602001610a57602691396001600160a01b038616600090815260208190526040902054919063ffffffff61081816565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107be908263ffffffff6108af16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156108a75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561086c578181015183820152602001610854565b50505050905090810190601f1680156108995780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610909576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03821661096b576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61097760008383610a0c565b60025461098a908263ffffffff6108af16565b6002556001600160a01b0382166000908152602081905260409020546109b6908263ffffffff6108af16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202a37b424f12dcf3ec4394d8a8d7e9480379619412de1645936fee30a2215239564736f6c63430006080033'; + '0x60806040523480156200001157600080fd5b5060405162000e1338038062000e13833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405260209081015185519093508592508491620001bd9160039185019062000216565b508051620001d390600490602084019062000216565b50506005805460ff1916601217905550620001f7816001600160e01b036200020016565b505050620002bb565b6005805460ff191660ff92909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025957805160ff191683800117855562000289565b8280016001018555821562000289579182015b82811115620002895782518255916020019190600101906200026c565b50620002979291506200029b565b5090565b620002b891905b80821115620002975760008155600101620002a2565b90565b610b4880620002cb6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461021057806395d89b4114610236578063a0712d681461023e578063a457c2d71461025b578063a9059cbb14610287578063dd62ed3e146102b3576100b4565b806306fdde03146100b9578063095ea7b31461013657806318160ddd1461017657806323b872dd14610190578063313ce567146101c657806339509351146101e4575b600080fd5b6100c16102e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fb5781810151838201526020016100e3565b50505050905090810190601f1680156101285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101626004803603604081101561014c57600080fd5b506001600160a01b038135169060200135610377565b604080519115158252519081900360200190f35b61017e610394565b60408051918252519081900360200190f35b610162600480360360608110156101a657600080fd5b506001600160a01b0381358116916020810135909116906040013561039a565b6101ce610427565b6040805160ff9092168252519081900360200190f35b610162600480360360408110156101fa57600080fd5b506001600160a01b038135169060200135610430565b61017e6004803603602081101561022657600080fd5b50356001600160a01b0316610484565b6100c161049f565b6101626004803603602081101561025457600080fd5b5035610500565b6101626004803603604081101561027157600080fd5b506001600160a01b038135169060200135610514565b6101626004803603604081101561029d57600080fd5b506001600160a01b038135169060200135610582565b61017e600480360360408110156102c957600080fd5b506001600160a01b0381358116916020013516610596565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561036d5780601f106103425761010080835404028352916020019161036d565b820191906000526020600020905b81548152906001019060200180831161035057829003601f168201915b5050505050905090565b600061038b6103846105c1565b84846105c5565b50600192915050565b60025490565b60006103a78484846106b1565b61041d846103b36105c1565b61041885604051806060016040528060288152602001610a7d602891396001600160a01b038a166000908152600160205260408120906103f16105c1565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61081816565b6105c5565b5060019392505050565b60055460ff1690565b600061038b61043d6105c1565b84610418856001600061044e6105c1565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6108af16565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561036d5780601f106103425761010080835404028352916020019161036d565b600061050c3383610910565b506001919050565b600061038b6105216105c1565b8461041885604051806060016040528060258152602001610aee602591396001600061054b6105c1565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61081816565b600061038b61058f6105c1565b84846106b1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661060a5760405162461bcd60e51b8152600401808060200182810382526024815260200180610aca6024913960400191505060405180910390fd5b6001600160a01b03821661064f5760405162461bcd60e51b8152600401808060200182810382526022815260200180610a356022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106f65760405162461bcd60e51b8152600401808060200182810382526025815260200180610aa56025913960400191505060405180910390fd5b6001600160a01b03821661073b5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a126023913960400191505060405180910390fd5b610746838383610a0c565b61078981604051806060016040528060268152602001610a57602691396001600160a01b038616600090815260208190526040902054919063ffffffff61081816565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107be908263ffffffff6108af16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156108a75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561086c578181015183820152602001610854565b50505050905090810190601f1680156108995780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610909576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03821661096b576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61097760008383610a0c565b60025461098a908263ffffffff6108af16565b6002556001600160a01b0382166000908152602081905260409020546109b6908263ffffffff6108af16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220972a45814563125f67a4b749194155c32c9833283844c95cce8d8769f036a43164736f6c63430006080033'; diff --git a/types/MockAggregatorFactory.ts b/types/MockAggregatorFactory.ts index eab445e9..4b8ed6be 100644 --- a/types/MockAggregatorFactory.ts +++ b/types/MockAggregatorFactory.ts @@ -87,4 +87,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b506040516101003803806101008339818101604052602081101561003357600080fd5b5051600081815560408051428152905183917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f919081900360200190a35060818061007f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336045565b60408051918252519081900360200190f35b6000549056fea264697066735822122091d4f0afd82a633f8071a785eb6981a22f2cbb2175e6501f53f446275b42e05764736f6c63430006080033'; + '0x608060405234801561001057600080fd5b506040516101003803806101008339818101604052602081101561003357600080fd5b5051600081815560408051428152905183917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f919081900360200190a35060818061007f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336045565b60408051918252519081900360200190f35b6000549056fea264697066735822122026081027bccb4981711bfb517e3852a08cfd5f2df9f0909cc3825dbc5a143ee064736f6c63430006080033'; diff --git a/types/MockFlashLoanReceiver.d.ts b/types/MockFlashLoanReceiver.d.ts index 0653b292..0526c4cf 100644 --- a/types/MockFlashLoanReceiver.d.ts +++ b/types/MockFlashLoanReceiver.d.ts @@ -11,7 +11,8 @@ interface MockFlashLoanReceiverInterface extends Interface { addressesProvider: TypedFunctionDescription<{encode([]: []): string}>; executeOperation: TypedFunctionDescription<{ - encode([_reserve, _amount, _fee, _params]: [ + encode([_reserve, _destination, _amount, _fee, _params]: [ + string, string, BigNumberish, BigNumberish, @@ -53,6 +54,7 @@ export class MockFlashLoanReceiver extends Contract { executeOperation( _reserve: string, + _destination: string, _amount: BigNumberish, _fee: BigNumberish, _params: Arrayish, @@ -69,6 +71,7 @@ export class MockFlashLoanReceiver extends Contract { executeOperation( _reserve: string, + _destination: string, _amount: BigNumberish, _fee: BigNumberish, _params: Arrayish, @@ -91,6 +94,7 @@ export class MockFlashLoanReceiver extends Contract { executeOperation( _reserve: string, + _destination: string, _amount: BigNumberish, _fee: BigNumberish, _params: Arrayish diff --git a/types/MockFlashLoanReceiverFactory.ts b/types/MockFlashLoanReceiverFactory.ts index 12f35079..fe193312 100644 --- a/types/MockFlashLoanReceiverFactory.ts +++ b/types/MockFlashLoanReceiverFactory.ts @@ -112,6 +112,11 @@ const _abi = [ name: '_reserve', type: 'address', }, + { + internalType: 'address', + name: '_destination', + type: 'address', + }, { internalType: 'uint256', name: '_amount', @@ -153,4 +158,4 @@ const _abi = [ ]; const _bytecode = - '0x60806040526000805460ff60a01b1916905534801561001d57600080fd5b50604051610a4b380380610a4b8339818101604052602081101561004057600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556109d9806100726000396000f3fe6080604052600436106100385760003560e01c8063388f70f114610044578063c72c4d1014610072578063ee872558146100a35761003f565b3661003f57005b600080fd5b34801561005057600080fd5b506100706004803603602081101561006757600080fd5b50351515610172565b005b34801561007e57600080fd5b50610087610190565b604080516001600160a01b039092168252519081900360200190f35b3480156100af57600080fd5b50610070600480360360808110156100c657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156100fd57600080fd5b82018360208201111561010f57600080fd5b8035906020019184600183028401116401000000008311171561013157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061019f945050505050565b60008054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031681565b836101b96001600160a01b0382163063ffffffff61036116565b84111561020d576040805162461bcd60e51b815260206004820181905260248201527f496e76616c69642062616c616e636520666f722074686520636f6e7472616374604482015290519081900360640190fd5b600054600160a01b900460ff161561026e57604080516001600160a01b03871681526020810186905280820185905290517f816f6a6bc084e1996be1a831afa1af30763d0501b6b43b9e1922a11f347366d79181900360600190a15061035b565b610280856001600160a01b031661040d565b6102f757806001600160a01b031663a0712d68846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156102ca57600080fd5b505af11580156102de573d6000803e3d6000fd5b505050506040513d60208110156102f457600080fd5b50505b6103108561030b868663ffffffff61043216565b610493565b604080516001600160a01b03871681526020810186905280820185905290517f7d94e9d0c906b8d7b2b52a581b9e9ba728aa6f8cd8532bd87243d193f47401be9181900360600190a1505b50505050565b600061036c8361040d565b1561038257506001600160a01b03811631610407565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156103d857600080fd5b505afa1580156103ec573d6000803e3d6000fd5b505050506040513d602081101561040257600080fd5b505190505b92915050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b60008282018381101561048c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b5051905061051b818484610520565b505050565b610532826001600160a01b031661040d565b1561058d576040516001600160a01b038416908290600081818185875af1925050503d8060008114610580576040519150601f19603f3d011682016040523d82523d6000602084013e610585565b606091505b50505061051b565b61051b6001600160a01b038316848363ffffffff6105a716565b806105b15761051b565b6105ba8361040d565b15610666576040516000906001600160a01b0384169061c35090849084818181858888f193505050503d806000811461060f576040519150601f19603f3d011682016040523d82523d6000602084013e610614565b606091505b5050905080610660576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b5061051b565b61051b6001600160a01b038416838363ffffffff61068016565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261051b9084906060610722826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661077e9092919063ffffffff16565b80519091501561051b5780806020019051602081101561074157600080fd5b505161051b5760405162461bcd60e51b815260040180806020018281038252602a81526020018061097a602a913960400191505060405180910390fd5b606061078d8484600085610795565b949350505050565b60606107a085610940565b6107f1576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106108305780518252601f199092019160209182019101610811565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610892576040519150601f19603f3d011682016040523d82523d6000602084013e610897565b606091505b509150915081156108ab57915061078d9050565b8051156108bb5780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109055781810151838201526020016108ed565b50505050905090810190601f1680156109325780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061078d57505015159291505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220465484f6c9b8de2bda0cda9dd2cc8181ee7f910cbe26e3d3226c32373fd8603064736f6c63430006080033'; + '0x60806040526000805460ff60a01b1916905534801561001d57600080fd5b506040516109663803806109668339818101604052602081101561004057600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556108f4806100726000396000f3fe6080604052600436106100385760003560e01c8063388f70f114610044578063405b019d14610072578063c72c4d101461014a5761003f565b3661003f57005b600080fd5b34801561005057600080fd5b506100706004803603602081101561006757600080fd5b5035151561017b565b005b34801561007e57600080fd5b50610070600480360360a081101561009557600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a0810160808201356401000000008111156100d557600080fd5b8201836020820111156100e757600080fd5b8035906020019184600183028401116401000000008311171561010957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610199945050505050565b34801561015657600080fd5b5061015f61034e565b604080516001600160a01b039092168252519081900360200190f35b60008054911515600160a01b0260ff60a01b19909216919091179055565b846101a4308261035d565b8411156101f8576040805162461bcd60e51b815260206004820181905260248201527f496e76616c69642062616c616e636520666f722074686520636f6e7472616374604482015290519081900360640190fd5b600054600160a01b900460ff161561025957604080516001600160a01b03881681526020810186905280820185905290517f816f6a6bc084e1996be1a831afa1af30763d0501b6b43b9e1922a11f347366d79181900360600190a150610347565b61026b866001600160a01b0316610412565b6102e257806001600160a01b031663a0712d68846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156102b557600080fd5b505af11580156102c9573d6000803e3d6000fd5b505050506040513d60208110156102df57600080fd5b50505b6102fc86866102f7878763ffffffff61043716565b610498565b604080516001600160a01b03881681526020810186905280820185905290517f7d94e9d0c906b8d7b2b52a581b9e9ba728aa6f8cd8532bd87243d193f47401be9181900360600190a1505b5050505050565b6000546001600160a01b031681565b6000610371826001600160a01b0316610412565b1561038757506001600160a01b0382163161040c565b816001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156103dd57600080fd5b505afa1580156103f1573d6000803e3d6000fd5b505050506040513d602081101561040757600080fd5b505190505b92915050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b600082820183811015610491576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6104a38284836104a8565b505050565b6104a36001600160a01b038316848363ffffffff6104c216565b806104cc576104a3565b6104d583610412565b15610581576040516000906001600160a01b0384169061c35090849084818181858888f193505050503d806000811461052a576040519150601f19603f3d011682016040523d82523d6000602084013e61052f565b606091505b505090508061057b576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b506104a3565b6104a36001600160a01b038416838363ffffffff61059b16565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526104a3908490606061063d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166106999092919063ffffffff16565b8051909150156104a35780806020019051602081101561065c57600080fd5b50516104a35760405162461bcd60e51b815260040180806020018281038252602a815260200180610895602a913960400191505060405180910390fd5b60606106a884846000856106b0565b949350505050565b60606106bb8561085b565b61070c576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061074b5780518252601f19909201916020918201910161072c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146107ad576040519150601f19603f3d011682016040523d82523d6000602084013e6107b2565b606091505b509150915081156107c65791506106a89050565b8051156107d65780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610820578181015183820152602001610808565b50505050905090810190601f16801561084d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906106a857505015159291505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220516cc8692ecd6324970df77ee93fb747bff000502ddb41784874b25d58bf1f1764736f6c63430006080033'; diff --git a/types/PriceOracleFactory.ts b/types/PriceOracleFactory.ts index f44d7292..e819323c 100644 --- a/types/PriceOracleFactory.ts +++ b/types/PriceOracleFactory.ts @@ -141,4 +141,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b506101d0806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806351323f7214610051578063a0a8045e1461007f578063b3596f0714610099578063b951883a146100bf575b600080fd5b61007d6004803603604081101561006757600080fd5b506001600160a01b0381351690602001356100dc565b005b610087610137565b60408051918252519081900360200190f35b610087600480360360208110156100af57600080fd5b50356001600160a01b031661013d565b61007d600480360360208110156100d557600080fd5b5035610158565b6001600160a01b03821660008181526020818152604091829020849055815192835282018390524282820152517fce6e0b57367bae95ca7198e1172f653ea64a645c16ab586b4cefa9237bfc2d929181900360600190a15050565b60015490565b6001600160a01b031660009081526020819052604090205490565b60018190556040805182815242602082015281517fb4f35977939fa8b5ffe552d517a8ff5223046b1fdd3ee0068ae38d1e2b8d0016929181900390910190a15056fea264697066735822122099f53b6981b65616d385dea54c4fed741a17ffabec0ee5d7980361b3fcabd5b564736f6c63430006080033'; + '0x608060405234801561001057600080fd5b506101d0806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806351323f7214610051578063a0a8045e1461007f578063b3596f0714610099578063b951883a146100bf575b600080fd5b61007d6004803603604081101561006757600080fd5b506001600160a01b0381351690602001356100dc565b005b610087610137565b60408051918252519081900360200190f35b610087600480360360208110156100af57600080fd5b50356001600160a01b031661013d565b61007d600480360360208110156100d557600080fd5b5035610158565b6001600160a01b03821660008181526020818152604091829020849055815192835282018390524282820152517fce6e0b57367bae95ca7198e1172f653ea64a645c16ab586b4cefa9237bfc2d929181900360600190a15050565b60015490565b6001600160a01b031660009081526020819052604090205490565b60018190556040805182815242602082015281517fb4f35977939fa8b5ffe552d517a8ff5223046b1fdd3ee0068ae38d1e2b8d0016929181900390910190a15056fea2646970667358221220b739db650a684a3f2637f5b002e50df6b4f59d99a53433c6b98e6987cc6c068a64736f6c63430006080033'; diff --git a/types/ReserveLogicFactory.ts b/types/ReserveLogicFactory.ts index 9a4a2e8b..18ced3b2 100644 --- a/types/ReserveLogicFactory.ts +++ b/types/ReserveLogicFactory.ts @@ -83,4 +83,4 @@ const _abi = [ ]; const _bytecode = - '0x611152610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100b35760003560e01c80638acb830b1161007b5780638acb830b146101bb578063bde2ece714610206578063c38f451a14610242578063ebc1add114610274578063f51fedb4146102bb578063fade6ba0146102e5576100b3565b80630c1282ce146100b85780632bf7f292146100f65780633373b4c01461012257806358ba22fa1461017b5780637d368d2e1461019e575b600080fd5b6100e4600480360360408110156100ce57600080fd5b50803590602001356001600160a01b0316610311565b60408051918252519081900360200190f35b81801561010257600080fd5b506101206004803603602081101561011957600080fd5b5035610376565b005b81801561012e57600080fd5b50610120600480360360c081101561014557600080fd5b508035906001600160a01b0360208201358116916040810135821691606082013581169160808101359160a09091013516610386565b6100e46004803603604081101561019157600080fd5b508035906020013561046e565b6100e4600480360360208110156101b457600080fd5b503561048f565b8180156101c757600080fd5b50610120600480360360a08110156101de57600080fd5b508035906001600160a01b03602082013516906040810135906060810135906080013561052d565b81801561021257600080fd5b506101206004803603608081101561022957600080fd5b5080359060208101359060408101359060600135610579565b81801561024e57600080fd5b506101206004803603604081101561026557600080fd5b50803590602001351515610605565b81801561028057600080fd5b506101206004803603608081101561029757600080fd5b508035906001600160a01b0360208201351690604081013590606001351515610697565b8180156102c757600080fd5b50610120600480360360208110156102de57600080fd5b50356106b2565b6100e4600480360360408110156102fb57600080fd5b50803590602001356001600160a01b03166106c2565b60008061031d846106f5565b90508061032e576000915050610370565b60006103496001600160a01b0385163063ffffffff6107f516565b905061036b61035e828463ffffffff61089f16565b839063ffffffff6108f916565b925050505b92915050565b600c01805460ff60d01b19169055565b60098601546001600160a01b0316156103d05760405162461bcd60e51b81526004018080602001828103825260248152602001806110b06024913960400191505060405180910390fd5b85546103e1576103de61093d565b86555b60048601546103f8576103f261093d565b60048701555b6009860180546001600160a01b03199081166001600160a01b0397881617909155600a87018054821695871695909517909455600b860180548516938616939093179092556008850155600c9093018054600160e01b9216939092169290921760ff60e01b19169190911760ff60e81b19169055565b60008260030154600014610486578260030154610488565b815b9392505050565b60008160020154600014156105215781600c0160009054906101000a90046001600160a01b03166001600160a01b03166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b1580156104ee57600080fd5b505afa158015610502573d6000803e3d6000fd5b505050506040513d602081101561051857600080fd5b50519050610528565b5060028101545b919050565b6105368561094d565b6000610551610544876106f5565b859063ffffffff61089f16565b905061056486828563ffffffff610a0516565b6105718686856000610a63565b505050505050565b600c840154600160d01b900460ff16156105c45760405162461bcd60e51b81526004018080602001828103825260288152602001806110d46028913960400191505060405180910390fd5b600c8401805460ff60d01b1916600160d01b17905560058401839055600684018290556007840181905583546105ff576105fc61093d565b84555b50505050565b600c820154600160c81b900460ff1615610666576040805162461bcd60e51b815260206004820152601a60248201527f5265736572766520697320616c726561647920656e61626c6564000000000000604482015290519081900360640190fd5b600c9091018054911515600160d81b0260ff60d81b1960ff60c81b19909316600160c81b1792909216919091179055565b6106a08461094d565b806105ff576105ff8484600085610a63565b600c01805460ff60c81b19169055565b60006104886106d0846106f5565b6106e96001600160a01b0385163063ffffffff6107f516565b9063ffffffff61089f16565b600061037082600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505050506040513d602081101561077457600080fd5b5051600a840154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156107bd57600080fd5b505afa1580156107d1573d6000803e3d6000fd5b505050506040513d60208110156107e757600080fd5b50519063ffffffff61089f16565b600061080083610d6f565b1561081657506001600160a01b03811631610370565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561086c57600080fd5b505afa158015610880573d6000803e3d6000fd5b505050506040513d602081101561089657600080fd5b50519050610370565b600082820183811015610488576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000600282046109358361092961091c876b033b2e3c9fd0803ce8000000610d94565b849063ffffffff61089f16565b9063ffffffff610ded16565b949350505050565b6b033b2e3c9fd0803ce800000090565b6000610958826106f5565b905080156109e1576001820154600c83015460009161098491600160a01b900464ffffffffff16610e2f565b835490915061099a90829063ffffffff610e7a16565b83556002830154600c8401546000916109c091600160a01b900464ffffffffff16610eb2565b90506109d9846004015482610e7a90919063ffffffff16565b600485015550505b50600c01805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b6000610a28610a1384610f01565b610a1c84610f01565b9063ffffffff6108f916565b90506000610a44610a3761093d565b839063ffffffff61089f16565b8554909150610a5a90829063ffffffff610e7a16565b90945550505050565b600a8401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b158015610aaa57600080fd5b505afa158015610abe573d6000803e3d6000fd5b505050506040513d6020811015610ad457600080fd5b505190506000610af36001600160a01b0386163063ffffffff6107f516565b9050610b07856001600160a01b0316610d6f565b15610b1f57610b1c813463ffffffff610f1716565b90505b600c860154600090819081906001600160a01b03166357e37af089610b5a89610b4e898d63ffffffff61089f16565b9063ffffffff610f1716565b8c600a0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610baa57600080fd5b505afa158015610bbe573d6000803e3d6000fd5b505050506040513d6020811015610bd457600080fd5b5051600b8e0154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d6020811015610c4757600080fd5b5051604080516001600160e01b031960e088901b1681526001600160a01b039095166004860152602485019390935260448401919091526064830152608482018990525160a4808301926060929190829003018186803b158015610caa57600080fd5b505afa158015610cbe573d6000803e3d6000fd5b505050506040513d6060811015610cd457600080fd5b50805160208083015160409384015160018e0184905560038e0182905560028e018190558d5460048f015486518681529485018490528487018c905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a2505050505050505050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b600082610da357506000610370565b82820282848281610db057fe5b04146104885760405162461bcd60e51b81526004018080602001828103825260218152602001806110fc6021913960400191505060405180910390fd5b600061048883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f59565b600080610e494264ffffffffff851663ffffffff610f1716565b90506000610e5d610a136301e13380610f01565b905061036b610e6a61093d565b6106e9878463ffffffff610e7a16565b60006104886b033b2e3c9fd0803ce8000000610929610e9f868663ffffffff610d9416565b6b019d971e4fe8401e740000009061089f565b600080610ecc4264ffffffffff851663ffffffff610f1716565b90506000610ee4856301e1338063ffffffff610ded16565b905061036b82610ef561091c61093d565b9063ffffffff610ffb16565b600061037082633b9aca0063ffffffff610d9416565b600061048883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611055565b60008183610fe55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610faa578181015183820152602001610f92565b50505050905090810190601f168015610fd75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610ff157fe5b0495945050505050565b600060028206611017576b033b2e3c9fd0803ce8000000611019565b825b90506002820491505b8115610370576110328384610e7a565b9250600282061561104a576110478184610e7a565b90505b600282049150611022565b600081848411156110a75760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610faa578181015183820152602001610f92565b50505090039056fe526573657276652068617320616c7265616479206265656e20696e697469616c697a65645265736572766520697320616c726561647920656e61626c656420617320636f6c6c61746572616c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220a6cf4b703fd4b963f2a9ab15609b5318e5c9a06973d99e5e3de799807de3a90964736f6c63430006080033'; + '0x610fb1610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c80630c1282ce1461007157806358ba22fa146100af5780637d368d2e146100d25780638acb830b146100ef578063b5887a641461013c578063fade6ba01461018d575b600080fd5b61009d6004803603604081101561008757600080fd5b50803590602001356001600160a01b03166101b9565b60408051918252519081900360200190f35b61009d600480360360408110156100c557600080fd5b508035906020013561021e565b61009d600480360360208110156100e857600080fd5b503561023f565b8180156100fb57600080fd5b5061013a600480360360a081101561011257600080fd5b508035906001600160a01b0360208201351690604081013590606081013590608001356102dd565b005b81801561014857600080fd5b5061013a600480360360a081101561015f57600080fd5b508035906001600160a01b036020820135811691604081013582169160608201358116916080013516610329565b61009d600480360360408110156101a357600080fd5b50803590602001356001600160a01b0316610426565b6000806101c584610459565b9050806101d6576000915050610218565b60006101f16001600160a01b0385163063ffffffff61055916565b9050610213610206828463ffffffff61060316565b839063ffffffff61065d16565b925050505b92915050565b60008260030154600014610236578260030154610238565b815b9392505050565b60008160020154600014156102d1578160090160009054906101000a90046001600160a01b03166001600160a01b03166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b15801561029e57600080fd5b505afa1580156102b2573d6000803e3d6000fd5b505050506040513d60208110156102c857600080fd5b505190506102d8565b5060028101545b919050565b6102e6856106a1565b60006103016102f487610459565b859063ffffffff61060316565b905061031486828563ffffffff61075916565b61032186868560006107b7565b505050505050565b60068501546001600160a01b0316156103735760405162461bcd60e51b8152600401808060200182810382526024815260200180610f376024913960400191505060405180910390fd5b6103a36040518060400160405280600f81526020016e31b0b63634b7339034b734ba17171760891b815250610aa4565b84546103b4576103b1610be6565b85555b60048501546103cb576103c5610be6565b60048601555b6006850180546001600160a01b03199081166001600160a01b03968716179091556007860180548216948616949094179093556008850180548416928516929092179091556009909301805490911692909116919091179055565b600061023861043484610459565b61044d6001600160a01b0385163063ffffffff61055916565b9063ffffffff61060316565b60006102188260080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104ae57600080fd5b505afa1580156104c2573d6000803e3d6000fd5b505050506040513d60208110156104d857600080fd5b50516007840154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561052157600080fd5b505afa158015610535573d6000803e3d6000fd5b505050506040513d602081101561054b57600080fd5b50519063ffffffff61060316565b600061056483610bf6565b1561057a57506001600160a01b03811631610218565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156105d057600080fd5b505afa1580156105e4573d6000803e3d6000fd5b505050506040513d60208110156105fa57600080fd5b50519050610218565b600082820183811015610238576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000600282046106998361068d610680876b033b2e3c9fd0803ce8000000610c1b565b849063ffffffff61060316565b9063ffffffff610c7416565b949350505050565b60006106ac82610459565b9050801561073557600182015460098301546000916106d891600160a01b900464ffffffffff16610cb6565b83549091506106ee90829063ffffffff610d0116565b83556002830154600984015460009161071491600160a01b900464ffffffffff16610d39565b905061072d846004015482610d0190919063ffffffff16565b600485015550505b50600901805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b600061077c61076784610d88565b61077084610d88565b9063ffffffff61065d16565b9050600061079861078b610be6565b839063ffffffff61060316565b85549091506107ae90829063ffffffff610d0116565b90945550505050565b60078401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b1580156107fe57600080fd5b505afa158015610812573d6000803e3d6000fd5b505050506040513d602081101561082857600080fd5b50516006860154909150600090610851906001600160a01b03878116911663ffffffff61055916565b6009870154909150600090819081906001600160a01b03166357e37af08961088f89610883898d63ffffffff61060316565b9063ffffffff610d9e16565b8c60070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108df57600080fd5b505afa1580156108f3573d6000803e3d6000fd5b505050506040513d602081101561090957600080fd5b505160088e0154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b505050506040513d602081101561097c57600080fd5b5051604080516001600160e01b031960e088901b1681526001600160a01b039095166004860152602485019390935260448401919091526064830152608482018990525160a4808301926060929190829003018186803b1580156109df57600080fd5b505afa1580156109f3573d6000803e3d6000fd5b505050506040513d6060811015610a0957600080fd5b50805160208083015160409384015160018e0184905560038e0182905560028e018190558d5460048f015486518681529485018490528487018c905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a2505050505050505050565b6040516020602482018181528351604484015283516000936a636f6e736f6c652e6c6f67938693928392606401918501908083838a5b83811015610af2578181015183820152602001610ada565b50505050905090810190601f168015610b1f5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b031663104c13eb60e21b178152905182519295509350839250908083835b60208310610b7a5780518252601f199092019160209182019101610b5b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610bda576040519150601f19603f3d011682016040523d82523d6000602084013e610bdf565b606091505b5050505050565b6b033b2e3c9fd0803ce800000090565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b600082610c2a57506000610218565b82820282848281610c3757fe5b04146102385760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5b6021913960400191505060405180910390fd5b600061023883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610de0565b600080610cd04264ffffffffff851663ffffffff610d9e16565b90506000610ce46107676301e13380610d88565b9050610213610cf1610be6565b61044d878463ffffffff610d0116565b60006102386b033b2e3c9fd0803ce800000061068d610d26868663ffffffff610c1b16565b6b019d971e4fe8401e7400000090610603565b600080610d534264ffffffffff851663ffffffff610d9e16565b90506000610d6b856301e1338063ffffffff610c7416565b905061021382610d7c610680610be6565b9063ffffffff610e8216565b600061021882633b9aca0063ffffffff610c1b16565b600061023883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610edc565b60008183610e6c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e31578181015183820152602001610e19565b50505050905090810190601f168015610e5e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610e7857fe5b0495945050505050565b600060028206610e9e576b033b2e3c9fd0803ce8000000610ea0565b825b90506002820491505b811561021857610eb98384610d01565b92506002820615610ed157610ece8184610d01565b90505b600282049150610ea9565b60008184841115610f2e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e31578181015183820152602001610e19565b50505090039056fe526573657276652068617320616c7265616479206265656e20696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122006598862a63579dea40d0772bcaeb47e731d9368ce0b7e2063c38fb9ffb0fa0164736f6c63430006080033'; diff --git a/types/StableDebtTokenFactory.ts b/types/StableDebtTokenFactory.ts index 616828d0..d3aceedf 100644 --- a/types/StableDebtTokenFactory.ts +++ b/types/StableDebtTokenFactory.ts @@ -541,4 +541,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b506112bc806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806381e75277116100ad578063a457c2d711610071578063a457c2d714610285578063a9059cbb146104be578063c634dfaa146104ea578063dd62ed3e14610510578063e78c9b3b1461053e57610121565b806381e752771461031757806389d1a0fc1461045e57806390f6fcf21461048257806395d89b411461048a5780639dc29fac1461049257610121565b806323b872dd116100f457806323b872dd14610231578063313ce56714610267578063395093511461028557806370a08231146102b157806379ce6b8c146102d757610121565b806306fdde0314610126578063095ea7b3146101a3578063156e29f6146101e357806318160ddd14610217575b600080fd5b61012e610564565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356105f1565b604080519115158252519081900360200190f35b610215600480360360608110156101f957600080fd5b506001600160a01b038135169060208101359060400135610639565b005b61021f610837565b60408051918252519081900360200190f35b6101cf6004803603606081101561024757600080fd5b506001600160a01b0381358116916020810135909116906040013561083d565b61026f610885565b6040805160ff9092168252519081900360200190f35b6101cf6004803603604081101561029b57600080fd5b506001600160a01b03813516906020013561088e565b61021f600480360360208110156102c757600080fd5b50356001600160a01b03166108dd565b6102fd600480360360208110156102ed57600080fd5b50356001600160a01b0316610987565b6040805164ffffffffff9092168252519081900360200190f35b610215600480360360a081101561032d57600080fd5b81019060208101813564010000000081111561034857600080fd5b82018360208201111561035a57600080fd5b8035906020019184600183028401116401000000008311171561037c57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156103cf57600080fd5b8201836020820111156103e157600080fd5b8035906020019184600183028401116401000000008311171561040357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505060ff8335169350506001600160a01b036020830135811692604001351690506109ac565b610466610a91565b604080516001600160a01b039092168252519081900360200190f35b61021f610aa5565b61012e610aac565b610215600480360360408110156104a857600080fd5b506001600160a01b038135169060200135610b04565b6101cf600480360360408110156104d457600080fd5b506001600160a01b03813516906020013561083d565b61021f6004803603602081101561050057600080fd5b50356001600160a01b0316610c8a565b61021f6004803603604081101561052657600080fd5b506001600160a01b038135811691602001351661088e565b61021f6004803603602081101561055457600080fd5b50356001600160a01b0316610ca5565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b6004546001600160a01b031633146106825760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b61068a61117a565b600080600061069887610cc0565b9250925092506106b386600054610d2e90919063ffffffff16565b84526106be86610d91565b60208501526107406106de6106d9848963ffffffff610d2e16565b610d91565b6020860151610734906106f7908963ffffffff610da716565b61072861070387610d91565b6001600160a01b038d166000908152600760205260409020549063ffffffff610da716565b9063ffffffff610d2e16565b9063ffffffff610deb16565b60408581018290526001600160a01b0389166000908152600760205220908155600101805464ffffffffff19164264ffffffffff1617905583516107be9061078790610d91565b6107346107a1876020015189610da790919063ffffffff16565b6107286107af600054610d91565b6006549063ffffffff610da716565b6006556107cb8787610e23565b60408085015181516001600160a01b038a16815260208101899052808301869052606081018590526080810184905260a081019190915290517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a150505050505050565b60005481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60035460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b6001600160a01b03811660009081526005602052604081205461090257506000610982565b6001600160a01b038216600090815260076020526040812080546001820154919291610935919064ffffffffff16610e81565b905061097d6109788261096c60056000896001600160a01b03166001600160a01b0316815260200190815260200160002054610d91565b9063ffffffff610da716565b610ed9565b925050505b919050565b6001600160a01b031660009081526007602052604090206001015464ffffffffff1690565b84516109bf90600190602088019061119b565b5083516109d390600290602087019061119b565b506003805460ff191660ff851617610100600160a81b0319166101006001600160a01b03858116919091029190911790915560408051630261bf8b60e01b8152905191831691630261bf8b91600480820192602092909190829003018186803b158015610a3f57600080fd5b505afa158015610a53573d6000803e3d6000fd5b505050506040513d6020811015610a6957600080fd5b5051600480546001600160a01b0319166001600160a01b039092169190911790555050505050565b60035461010090046001600160a01b031681565b6006545b90565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105e95780601f106105be576101008083540402835291602001916105e9565b6004546001600160a01b03163314610b4d5760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b6000806000610b5b85610cc0565b9250925092506000610b7885600054610ef990919063ffffffff16565b90506000610b8586610d91565b905081610b96576000600655610bed565b610be9610ba283610d91565b6001600160a01b03891660009081526007602052604090205461073490610bcf908563ffffffff610da716565b610bdd6107af600054610d91565b9063ffffffff610ef916565b6006555b83861415610c20576001600160a01b0387166000908152600760205260408120908155600101805464ffffffffff191690555b610c2a8787610f3b565b604080516001600160a01b038916815260208101889052808201879052606081018690526080810185905290517fecde08620c30706a4d7ba53e9163327f2e12a6cea2709dd6a9226fed28c2bb729181900360a00190a150505050505050565b6001600160a01b031660009081526005602052604090205490565b6001600160a01b031660009081526007602052604090205490565b6001600160a01b0381166000908152600560205260408120548190819080610cf2575060009250829150819050610d27565b6000610d0182610bdd886108dd565b9050610d0d8682610e23565b81610d1e818363ffffffff610d2e16565b90955093509150505b9193909250565b600082820183811015610d88576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000610d8b82633b9aca0063ffffffff610f7916565b6000610d886b033b2e3c9fd0803ce8000000610ddf610dcc868663ffffffff610f7916565b6b019d971e4fe8401e7400000090610d2e565b9063ffffffff610fd216565b600060028204610e1b83610ddf610e0e876b033b2e3c9fd0803ce8000000610f79565b849063ffffffff610d2e16565b949350505050565b600054610e36908263ffffffff610d2e16565b60009081556001600160a01b038316815260056020526040902054610e61908263ffffffff610d2e16565b6001600160a01b0390921660009081526005602052604090209190915550565b600080610e9b4264ffffffffff851663ffffffff610ef916565b90506000610eb3856301e1338063ffffffff610fd216565b9050610ed082610ec4610e0e611014565b9063ffffffff61102416565b95945050505050565b6000631dcd6500610ef2633b9aca00610ddf8386610d2e565b9392505050565b6000610d8883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061107e565b600054610f4e908263ffffffff610ef916565b60009081556001600160a01b038316815260056020526040902054610e61908263ffffffff610ef916565b600082610f8857506000610d8b565b82820282848281610f9557fe5b0414610d885760405162461bcd60e51b81526004018080602001828103825260218152602001806112346021913960400191505060405180910390fd5b6000610d8883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611115565b6b033b2e3c9fd0803ce800000090565b600060028206611040576b033b2e3c9fd0803ce8000000611042565b825b90506002820491505b8115610d8b5761105b8384610da7565b92506002820615611073576110708184610da7565b90505b60028204915061104b565b6000818484111561110d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110d25781810151838201526020016110ba565b50505050905090810190601f1680156110ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836111645760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110d25781810151838201526020016110ba565b50600083858161117057fe5b0495945050505050565b60405180606001604052806000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111dc57805160ff1916838001178555611209565b82800160010185558215611209579182015b828111156112095782518255916020019190600101906111ee565b50611215929150611219565b5090565b610aa991905b80821115611215576000815560010161121f56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca26469706673582212207a39d1c0b838d16b4f65b88032d3ac3423eb18e8a51fdbf98176945eb429a83a64736f6c63430006080033'; + '0x608060405234801561001057600080fd5b506112bc806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806381e75277116100ad578063a457c2d711610071578063a457c2d714610285578063a9059cbb146104be578063c634dfaa146104ea578063dd62ed3e14610510578063e78c9b3b1461053e57610121565b806381e752771461031757806389d1a0fc1461045e57806390f6fcf21461048257806395d89b411461048a5780639dc29fac1461049257610121565b806323b872dd116100f457806323b872dd14610231578063313ce56714610267578063395093511461028557806370a08231146102b157806379ce6b8c146102d757610121565b806306fdde0314610126578063095ea7b3146101a3578063156e29f6146101e357806318160ddd14610217575b600080fd5b61012e610564565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356105f1565b604080519115158252519081900360200190f35b610215600480360360608110156101f957600080fd5b506001600160a01b038135169060208101359060400135610639565b005b61021f610837565b60408051918252519081900360200190f35b6101cf6004803603606081101561024757600080fd5b506001600160a01b0381358116916020810135909116906040013561083d565b61026f610885565b6040805160ff9092168252519081900360200190f35b6101cf6004803603604081101561029b57600080fd5b506001600160a01b03813516906020013561088e565b61021f600480360360208110156102c757600080fd5b50356001600160a01b03166108dd565b6102fd600480360360208110156102ed57600080fd5b50356001600160a01b0316610987565b6040805164ffffffffff9092168252519081900360200190f35b610215600480360360a081101561032d57600080fd5b81019060208101813564010000000081111561034857600080fd5b82018360208201111561035a57600080fd5b8035906020019184600183028401116401000000008311171561037c57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156103cf57600080fd5b8201836020820111156103e157600080fd5b8035906020019184600183028401116401000000008311171561040357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505060ff8335169350506001600160a01b036020830135811692604001351690506109ac565b610466610a91565b604080516001600160a01b039092168252519081900360200190f35b61021f610aa5565b61012e610aac565b610215600480360360408110156104a857600080fd5b506001600160a01b038135169060200135610b04565b6101cf600480360360408110156104d457600080fd5b506001600160a01b03813516906020013561083d565b61021f6004803603602081101561050057600080fd5b50356001600160a01b0316610c8a565b61021f6004803603604081101561052657600080fd5b506001600160a01b038135811691602001351661088e565b61021f6004803603602081101561055457600080fd5b50356001600160a01b0316610ca5565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b6004546001600160a01b031633146106825760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b61068a61117a565b600080600061069887610cc0565b9250925092506106b386600054610d2e90919063ffffffff16565b84526106be86610d91565b60208501526107406106de6106d9848963ffffffff610d2e16565b610d91565b6020860151610734906106f7908963ffffffff610da716565b61072861070387610d91565b6001600160a01b038d166000908152600760205260409020549063ffffffff610da716565b9063ffffffff610d2e16565b9063ffffffff610deb16565b60408581018290526001600160a01b0389166000908152600760205220908155600101805464ffffffffff19164264ffffffffff1617905583516107be9061078790610d91565b6107346107a1876020015189610da790919063ffffffff16565b6107286107af600054610d91565b6006549063ffffffff610da716565b6006556107cb8787610e23565b60408085015181516001600160a01b038a16815260208101899052808301869052606081018590526080810184905260a081019190915290517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a150505050505050565b60005481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60035460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b6001600160a01b03811660009081526005602052604081205461090257506000610982565b6001600160a01b038216600090815260076020526040812080546001820154919291610935919064ffffffffff16610e81565b905061097d6109788261096c60056000896001600160a01b03166001600160a01b0316815260200190815260200160002054610d91565b9063ffffffff610da716565b610ed9565b925050505b919050565b6001600160a01b031660009081526007602052604090206001015464ffffffffff1690565b84516109bf90600190602088019061119b565b5083516109d390600290602087019061119b565b506003805460ff191660ff851617610100600160a81b0319166101006001600160a01b03858116919091029190911790915560408051630261bf8b60e01b8152905191831691630261bf8b91600480820192602092909190829003018186803b158015610a3f57600080fd5b505afa158015610a53573d6000803e3d6000fd5b505050506040513d6020811015610a6957600080fd5b5051600480546001600160a01b0319166001600160a01b039092169190911790555050505050565b60035461010090046001600160a01b031681565b6006545b90565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105e95780601f106105be576101008083540402835291602001916105e9565b6004546001600160a01b03163314610b4d5760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b6000806000610b5b85610cc0565b9250925092506000610b7885600054610ef990919063ffffffff16565b90506000610b8586610d91565b905081610b96576000600655610bed565b610be9610ba283610d91565b6001600160a01b03891660009081526007602052604090205461073490610bcf908563ffffffff610da716565b610bdd6107af600054610d91565b9063ffffffff610ef916565b6006555b83861415610c20576001600160a01b0387166000908152600760205260408120908155600101805464ffffffffff191690555b610c2a8787610f3b565b604080516001600160a01b038916815260208101889052808201879052606081018690526080810185905290517fecde08620c30706a4d7ba53e9163327f2e12a6cea2709dd6a9226fed28c2bb729181900360a00190a150505050505050565b6001600160a01b031660009081526005602052604090205490565b6001600160a01b031660009081526007602052604090205490565b6001600160a01b0381166000908152600560205260408120548190819080610cf2575060009250829150819050610d27565b6000610d0182610bdd886108dd565b9050610d0d8682610e23565b81610d1e818363ffffffff610d2e16565b90955093509150505b9193909250565b600082820183811015610d88576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000610d8b82633b9aca0063ffffffff610f7916565b6000610d886b033b2e3c9fd0803ce8000000610ddf610dcc868663ffffffff610f7916565b6b019d971e4fe8401e7400000090610d2e565b9063ffffffff610fd216565b600060028204610e1b83610ddf610e0e876b033b2e3c9fd0803ce8000000610f79565b849063ffffffff610d2e16565b949350505050565b600054610e36908263ffffffff610d2e16565b60009081556001600160a01b038316815260056020526040902054610e61908263ffffffff610d2e16565b6001600160a01b0390921660009081526005602052604090209190915550565b600080610e9b4264ffffffffff851663ffffffff610ef916565b90506000610eb3856301e1338063ffffffff610fd216565b9050610ed082610ec4610e0e611014565b9063ffffffff61102416565b95945050505050565b6000631dcd6500610ef2633b9aca00610ddf8386610d2e565b9392505050565b6000610d8883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061107e565b600054610f4e908263ffffffff610ef916565b60009081556001600160a01b038316815260056020526040902054610e61908263ffffffff610ef916565b600082610f8857506000610d8b565b82820282848281610f9557fe5b0414610d885760405162461bcd60e51b81526004018080602001828103825260218152602001806112346021913960400191505060405180910390fd5b6000610d8883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611115565b6b033b2e3c9fd0803ce800000090565b600060028206611040576b033b2e3c9fd0803ce8000000611042565b825b90506002820491505b8115610d8b5761105b8384610da7565b92506002820615611073576110708184610da7565b90505b60028204915061104b565b6000818484111561110d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110d25781810151838201526020016110ba565b50505050905090810190601f1680156110ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836111645760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110d25781810151838201526020016110ba565b50600083858161117057fe5b0495945050505050565b60405180606001604052806000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111dc57805160ff1916838001178555611209565b82800160010185558215611209579182015b828111156112095782518255916020019190600101906111ee565b50611215929150611219565b5090565b610aa991905b80821115611215576000815560010161121f56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca2646970667358221220970689f3bb696083754805ce3d8f92b7a8571b3df7e77f59d7aaf05d63891ae764736f6c63430006080033'; diff --git a/types/TokenDistributorFactory.ts b/types/TokenDistributorFactory.ts index dc7377cd..73b54467 100644 --- a/types/TokenDistributorFactory.ts +++ b/types/TokenDistributorFactory.ts @@ -355,4 +355,4 @@ const _abi = [ ]; const _bytecode = - '0x6080604052600060015534801561001557600080fd5b506001600055611a5a8061002a6000396000f3fe6080604052600436106100ec5760003560e01c80634f1b86eb1161008a57806393ed43091161005957806393ed4309146104ff578063cc8cc9d8146105ad578063e5b5019a146106dd578063eed64c30146106f2576100f3565b80634f1b86eb146102525780636138889b146102675780637623bac5146103175780638c0c9a25146104ea576100f3565b8063217ab806116100c6578063217ab806146101e257806323879bb1146102135780632cbcda251461022857806340d58a4a1461023d576100f3565b8063043c41d4146100f8578063135206581461011f5780631cced51b14610134576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610822565b60408051918252519081900360200190f35b34801561012b57600080fd5b5061010d610828565b34801561014057600080fd5b5061014961082e565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561018d578181015183820152602001610175565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101cc5781810151838201526020016101b4565b5050505090500194505050505060405180910390f35b3480156101ee57600080fd5b506101f76108eb565b604080516001600160a01b039092168252519081900360200190f35b34801561021f57600080fd5b5061010d6108fa565b34801561023457600080fd5b506101f76108ff565b34801561024957600080fd5b5061010d61090e565b34801561025e57600080fd5b506101f7610913565b34801561027357600080fd5b506103156004803603602081101561028a57600080fd5b810190602081018135600160201b8111156102a457600080fd5b8201836020820111156102b657600080fd5b803590602001918460208302840111600160201b831117156102d757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610922945050505050565b005b34801561032357600080fd5b50610315600480360360c081101561033a57600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135600160201b81111561037557600080fd5b82018360208201111561038757600080fd5b803590602001918460208302840111600160201b831117156103a857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156103f757600080fd5b82018360208201111561040957600080fd5b803590602001918460208302840111600160201b8311171561042a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561047957600080fd5b82018360208201111561048b57600080fd5b803590602001918460208302840111600160201b831117156104ac57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061099a945050505050565b3480156104f657600080fd5b506101f7610ad9565b34801561050b57600080fd5b506103156004803603602081101561052257600080fd5b810190602081018135600160201b81111561053c57600080fd5b82018360208201111561054e57600080fd5b803590602001918460208302840111600160201b8311171561056f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610af1945050505050565b3480156105b957600080fd5b50610315600480360360408110156105d057600080fd5b810190602081018135600160201b8111156105ea57600080fd5b8201836020820111156105fc57600080fd5b803590602001918460208302840111600160201b8311171561061d57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561066c57600080fd5b82018360208201111561067e57600080fd5b803590602001918460208302840111600160201b8311171561069f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c23945050505050565b3480156106e957600080fd5b5061010d610c6c565b3480156106fe57600080fd5b506103156004803603604081101561071557600080fd5b810190602081018135600160201b81111561072f57600080fd5b82018360208201111561074157600080fd5b803590602001918460208302840111600160201b8311171561076257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156107b157600080fd5b8201836020820111156107c357600080fd5b803590602001918460208302840111600160201b831117156107e457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c72945050505050565b60011981565b61271081565b606080603560000180548060200260200160405190810160405280929190818152602001828054801561088a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161086c575b5050505050915060356001018054806020026020016040519081016040528092919081815260200182805480156108e057602002820191906000526020600020905b8154815260200190600101908083116108cc575b505050505090509091565b6038546001600160a01b031681565b600381565b6039546001600160a01b031681565b600181565b6037546001600160a01b031681565b60005b815181101561099657600061095f3084848151811061094057fe5b60200260200101516001600160a01b0316610ced90919063ffffffff16565b90506000811161096f575061098e565b61098c83838151811061097e57fe5b602002602001015182610d99565b505b600101610925565b5050565b60006109a4611115565b60025490915060ff16806109bb57506109bb61111b565b806109c7575060015481115b610a025760405162461bcd60e51b815260040180806020018281038252602e815260200180611994602e913960400191505060405180910390fd5b60025460ff16158015610a23576002805460ff191660019081179091558290555b603880546001600160a01b03808b166001600160a01b031992831617909255603780548a84169083161790556039805492891692909116919091179055610a6a8585611121565b610a7383610af1565b604080516001600160a01b03808a16825280891660208301528a168183015290517f99566d155bc7902033d8db6b0f091f12209d9651abdae3aad004632bd3e657b59181900360600190a18015610acf576002805460ff191690555b5050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6039546040516020602482018181528451604484015284516000946001600160a01b0316936393ed430960e01b9387939283926064019180860191028083838b5b83811015610b4a578181015183820152602001610b32565b5050505090500192505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310610bb75780518252601f199092019160209182019101610b98565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c17576040519150601f19603f3d011682016040523d82523d6000602084013e610c1c565b606091505b5050505050565b60005b8251811015610c6757610c5f838281518110610c3e57fe5b6020026020010151838381518110610c5257fe5b6020026020010151610d99565b600101610c26565b505050565b60001981565b60005b8251811015610c67576000610cc46064610cb8858581518110610c9457fe5b6020026020010151610cac3089888151811061094057fe5b9063ffffffff61127b16565b9063ffffffff6112db16565b905060008111610cd45750610ce5565b610ce384838151811061097e57fe5b505b600101610c75565b6000610cf88361131d565b15610d0e57506001600160a01b03811631610d93565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d6457600080fd5b505afa158015610d78573d6000803e3d6000fd5b505050506040513d6020811015610d8e57600080fd5b505190505b92915050565b81610da261186e565b604080516035805460606020820284018101855293830181815292939192849290918491840182828015610dff57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610de1575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610e5757602002820191906000526020600020905b815481526020019060010190808311610e43575b505050505081525050905060008090505b815151811015610c1c576000610ea4612710610cb885602001518581518110610e8d57fe5b60200260200101518861127b90919063ffffffff16565b905080610eb1575061110d565b825180516000919084908110610ec357fe5b60200260200101516001600160a01b031614610f8d57610f0e83600001518381518110610eec57fe5b602002602001015182886001600160a01b03166113429092919063ffffffff16565b7f60ce3cc2d133631eac66a476f14997a9fa682bd05a60dd993cf02285822d78d883600001518381518110610f3f57fe5b602002602001015184602001518481518110610f5757fe5b602090810291909101810151604080516001600160a01b03909416845291830152818101849052519081900360600190a161110b565b60375481906001600160a01b0386811691161461110057603954603754604080516001600160a01b038981166024830152928316604482015260648101869052600a6084808301919091528251808303909101815260a490910182526020810180516001600160e01b0316630ed2fc9560e01b17815291518151600095606095169382918083835b602083106110345780518252601f199092019160209182019101611015565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611094576040519150601f19603f3d011682016040523d82523d6000602084013e611099565b606091505b5091509150816110e4576040805162461bcd60e51b81526020600482015260116024820152704552524f525f4f4e5f45584348414e474560781b604482015290519081900360640190fd5b8080602001905160208110156110f957600080fd5b5051925050505b6111098161141b565b505b505b600101610e68565b60035b90565b303b1590565b8051825114611177576040805162461bcd60e51b815260206004820152601d60248201527f4172726179206c656e677468732073686f756c6420626520657175616c000000604482015290519081900360640190fd5b604080518082019091528281526020808201839052835160359161119f918391870190611888565b5060208281015180516111b892600185019201906118ed565b509050507fdc9f439f707945ade720b0154668dd64af0689fb88b40abdb0f0289156d23e9d8282604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561122357818101518382015260200161120b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561126257818101518382015260200161124a565b5050505090500194505050505060405180910390a15050565b60008261128a57506000610d93565b8282028284828161129757fe5b04146112d45760405162461bcd60e51b81526004018080602001828103825260218152602001806119736021913960400191505060405180910390fd5b9392505050565b60006112d483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611511565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b8061134c57610c67565b6113558361131d565b15611401576040516000906001600160a01b0384169061c35090849084818181858888f193505050503d80600081146113aa576040519150601f19603f3d011682016040523d82523d6000602084013e6113af565b606091505b50509050806113fb576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b50610c67565b610c676001600160a01b038416838363ffffffff6115b316565b6037546038546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561147457600080fd5b505af1158015611488573d6000803e3d6000fd5b505050506040513d602081101561149e57600080fd5b50516114db5760405162461bcd60e51b81526004018080602001828103825260398152602001806119c26039913960400191505060405180910390fd5b6040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a150565b6000818361159d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561156257818101518382015260200161154a565b50505050905090810190601f16801561158f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816115a957fe5b0495945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c679084906060611655826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116b19092919063ffffffff16565b805190915015610c675780806020019051602081101561167457600080fd5b5051610c675760405162461bcd60e51b815260040180806020018281038252602a8152602001806119fb602a913960400191505060405180910390fd5b60606116c084846000856116c8565b949350505050565b60606116d385611835565b611724576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106117635780518252601f199092019160209182019101611744565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146117c5576040519150601f19603f3d011682016040523d82523d6000602084013e6117ca565b606091505b509150915081156117de5791506116c09050565b8051156117ee5780518082602001fd5b60405162461bcd60e51b815260206004820181815286516024840152865187939192839260440191908501908083836000831561156257818101518382015260200161154a565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906116c0575050151592915050565b604051806040016040528060608152602001606081525090565b8280548282559060005260206000209081019282156118dd579160200282015b828111156118dd57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906118a8565b506118e9929150611934565b5090565b828054828255906000526020600020908101928215611928579160200282015b8281111561192857825182559160200191906001019061190d565b506118e9929150611958565b61111891905b808211156118e95780546001600160a01b031916815560010161193a565b61111891905b808211156118e9576000815560010161195e56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564494e5445524e414c5f4255524e2e205265766572746564207472616e7366657220746f20726563697069656e744275726e20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212207cd9645616cc68298bc834ed8be0f446e656d8351a3aa53c0164254e05b3931464736f6c63430006080033'; + '0x6080604052600060015534801561001557600080fd5b506001600055611a5a8061002a6000396000f3fe6080604052600436106100ec5760003560e01c80634f1b86eb1161008a57806393ed43091161005957806393ed4309146104ff578063cc8cc9d8146105ad578063e5b5019a146106dd578063eed64c30146106f2576100f3565b80634f1b86eb146102525780636138889b146102675780637623bac5146103175780638c0c9a25146104ea576100f3565b8063217ab806116100c6578063217ab806146101e257806323879bb1146102135780632cbcda251461022857806340d58a4a1461023d576100f3565b8063043c41d4146100f8578063135206581461011f5780631cced51b14610134576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610822565b60408051918252519081900360200190f35b34801561012b57600080fd5b5061010d610828565b34801561014057600080fd5b5061014961082e565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561018d578181015183820152602001610175565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101cc5781810151838201526020016101b4565b5050505090500194505050505060405180910390f35b3480156101ee57600080fd5b506101f76108eb565b604080516001600160a01b039092168252519081900360200190f35b34801561021f57600080fd5b5061010d6108fa565b34801561023457600080fd5b506101f76108ff565b34801561024957600080fd5b5061010d61090e565b34801561025e57600080fd5b506101f7610913565b34801561027357600080fd5b506103156004803603602081101561028a57600080fd5b810190602081018135600160201b8111156102a457600080fd5b8201836020820111156102b657600080fd5b803590602001918460208302840111600160201b831117156102d757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610922945050505050565b005b34801561032357600080fd5b50610315600480360360c081101561033a57600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135600160201b81111561037557600080fd5b82018360208201111561038757600080fd5b803590602001918460208302840111600160201b831117156103a857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156103f757600080fd5b82018360208201111561040957600080fd5b803590602001918460208302840111600160201b8311171561042a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561047957600080fd5b82018360208201111561048b57600080fd5b803590602001918460208302840111600160201b831117156104ac57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061099a945050505050565b3480156104f657600080fd5b506101f7610ad9565b34801561050b57600080fd5b506103156004803603602081101561052257600080fd5b810190602081018135600160201b81111561053c57600080fd5b82018360208201111561054e57600080fd5b803590602001918460208302840111600160201b8311171561056f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610af1945050505050565b3480156105b957600080fd5b50610315600480360360408110156105d057600080fd5b810190602081018135600160201b8111156105ea57600080fd5b8201836020820111156105fc57600080fd5b803590602001918460208302840111600160201b8311171561061d57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561066c57600080fd5b82018360208201111561067e57600080fd5b803590602001918460208302840111600160201b8311171561069f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c23945050505050565b3480156106e957600080fd5b5061010d610c6c565b3480156106fe57600080fd5b506103156004803603604081101561071557600080fd5b810190602081018135600160201b81111561072f57600080fd5b82018360208201111561074157600080fd5b803590602001918460208302840111600160201b8311171561076257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156107b157600080fd5b8201836020820111156107c357600080fd5b803590602001918460208302840111600160201b831117156107e457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c72945050505050565b60011981565b61271081565b606080603560000180548060200260200160405190810160405280929190818152602001828054801561088a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161086c575b5050505050915060356001018054806020026020016040519081016040528092919081815260200182805480156108e057602002820191906000526020600020905b8154815260200190600101908083116108cc575b505050505090509091565b6038546001600160a01b031681565b600381565b6039546001600160a01b031681565b600181565b6037546001600160a01b031681565b60005b815181101561099657600061095f3084848151811061094057fe5b60200260200101516001600160a01b0316610ced90919063ffffffff16565b90506000811161096f575061098e565b61098c83838151811061097e57fe5b602002602001015182610d99565b505b600101610925565b5050565b60006109a4611115565b60025490915060ff16806109bb57506109bb61111b565b806109c7575060015481115b610a025760405162461bcd60e51b815260040180806020018281038252602e815260200180611994602e913960400191505060405180910390fd5b60025460ff16158015610a23576002805460ff191660019081179091558290555b603880546001600160a01b03808b166001600160a01b031992831617909255603780548a84169083161790556039805492891692909116919091179055610a6a8585611121565b610a7383610af1565b604080516001600160a01b03808a16825280891660208301528a168183015290517f99566d155bc7902033d8db6b0f091f12209d9651abdae3aad004632bd3e657b59181900360600190a18015610acf576002805460ff191690555b5050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6039546040516020602482018181528451604484015284516000946001600160a01b0316936393ed430960e01b9387939283926064019180860191028083838b5b83811015610b4a578181015183820152602001610b32565b5050505090500192505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310610bb75780518252601f199092019160209182019101610b98565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c17576040519150601f19603f3d011682016040523d82523d6000602084013e610c1c565b606091505b5050505050565b60005b8251811015610c6757610c5f838281518110610c3e57fe5b6020026020010151838381518110610c5257fe5b6020026020010151610d99565b600101610c26565b505050565b60001981565b60005b8251811015610c67576000610cc46064610cb8858581518110610c9457fe5b6020026020010151610cac3089888151811061094057fe5b9063ffffffff61127b16565b9063ffffffff6112db16565b905060008111610cd45750610ce5565b610ce384838151811061097e57fe5b505b600101610c75565b6000610cf88361131d565b15610d0e57506001600160a01b03811631610d93565b826001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d6457600080fd5b505afa158015610d78573d6000803e3d6000fd5b505050506040513d6020811015610d8e57600080fd5b505190505b92915050565b81610da261186e565b604080516035805460606020820284018101855293830181815292939192849290918491840182828015610dff57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610de1575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610e5757602002820191906000526020600020905b815481526020019060010190808311610e43575b505050505081525050905060008090505b815151811015610c1c576000610ea4612710610cb885602001518581518110610e8d57fe5b60200260200101518861127b90919063ffffffff16565b905080610eb1575061110d565b825180516000919084908110610ec357fe5b60200260200101516001600160a01b031614610f8d57610f0e83600001518381518110610eec57fe5b602002602001015182886001600160a01b03166113429092919063ffffffff16565b7f60ce3cc2d133631eac66a476f14997a9fa682bd05a60dd993cf02285822d78d883600001518381518110610f3f57fe5b602002602001015184602001518481518110610f5757fe5b602090810291909101810151604080516001600160a01b03909416845291830152818101849052519081900360600190a161110b565b60375481906001600160a01b0386811691161461110057603954603754604080516001600160a01b038981166024830152928316604482015260648101869052600a6084808301919091528251808303909101815260a490910182526020810180516001600160e01b0316630ed2fc9560e01b17815291518151600095606095169382918083835b602083106110345780518252601f199092019160209182019101611015565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611094576040519150601f19603f3d011682016040523d82523d6000602084013e611099565b606091505b5091509150816110e4576040805162461bcd60e51b81526020600482015260116024820152704552524f525f4f4e5f45584348414e474560781b604482015290519081900360640190fd5b8080602001905160208110156110f957600080fd5b5051925050505b6111098161141b565b505b505b600101610e68565b60035b90565b303b1590565b8051825114611177576040805162461bcd60e51b815260206004820152601d60248201527f4172726179206c656e677468732073686f756c6420626520657175616c000000604482015290519081900360640190fd5b604080518082019091528281526020808201839052835160359161119f918391870190611888565b5060208281015180516111b892600185019201906118ed565b509050507fdc9f439f707945ade720b0154668dd64af0689fb88b40abdb0f0289156d23e9d8282604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561122357818101518382015260200161120b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561126257818101518382015260200161124a565b5050505090500194505050505060405180910390a15050565b60008261128a57506000610d93565b8282028284828161129757fe5b04146112d45760405162461bcd60e51b81526004018080602001828103825260218152602001806119736021913960400191505060405180910390fd5b9392505050565b60006112d483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611511565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b8061134c57610c67565b6113558361131d565b15611401576040516000906001600160a01b0384169061c35090849084818181858888f193505050503d80600081146113aa576040519150601f19603f3d011682016040523d82523d6000602084013e6113af565b606091505b50509050806113fb576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b50610c67565b610c676001600160a01b038416838363ffffffff6115b316565b6037546038546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561147457600080fd5b505af1158015611488573d6000803e3d6000fd5b505050506040513d602081101561149e57600080fd5b50516114db5760405162461bcd60e51b81526004018080602001828103825260398152602001806119c26039913960400191505060405180910390fd5b6040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a150565b6000818361159d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561156257818101518382015260200161154a565b50505050905090810190601f16801561158f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816115a957fe5b0495945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c679084906060611655826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116b19092919063ffffffff16565b805190915015610c675780806020019051602081101561167457600080fd5b5051610c675760405162461bcd60e51b815260040180806020018281038252602a8152602001806119fb602a913960400191505060405180910390fd5b60606116c084846000856116c8565b949350505050565b60606116d385611835565b611724576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106117635780518252601f199092019160209182019101611744565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146117c5576040519150601f19603f3d011682016040523d82523d6000602084013e6117ca565b606091505b509150915081156117de5791506116c09050565b8051156117ee5780518082602001fd5b60405162461bcd60e51b815260206004820181815286516024840152865187939192839260440191908501908083836000831561156257818101518382015260200161154a565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906116c0575050151592915050565b604051806040016040528060608152602001606081525090565b8280548282559060005260206000209081019282156118dd579160200282015b828111156118dd57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906118a8565b506118e9929150611934565b5090565b828054828255906000526020600020908101928215611928579160200282015b8281111561192857825182559160200191906001019061190d565b506118e9929150611958565b61111891905b808211156118e95780546001600160a01b031916815560010161193a565b61111891905b808211156118e9576000815560010161195e56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564494e5445524e414c5f4255524e2e205265766572746564207472616e7366657220746f20726563697069656e744275726e20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220c2481c0207487fa2db3c8ece246fc3c7034351874bf478a2227705ed0aa77de264736f6c63430006080033'; diff --git a/types/UintStorageFactory.ts b/types/UintStorageFactory.ts index 306a7abe..491e94cb 100644 --- a/types/UintStorageFactory.ts +++ b/types/UintStorageFactory.ts @@ -53,4 +53,4 @@ const _abi = [ ]; const _bytecode = - '0x6080604052348015600f57600080fd5b5060a18061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063bd02d0f514602d575b600080fd5b604760048036036020811015604157600080fd5b50356059565b60408051918252519081900360200190f35b6000908152602081905260409020549056fea2646970667358221220bd68e5c406e3798dd84a0380e5fca02432bd9828e948826d8c339558e7076aef64736f6c63430006080033'; + '0x6080604052348015600f57600080fd5b5060a18061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063bd02d0f514602d575b600080fd5b604760048036036020811015604157600080fd5b50356059565b60408051918252519081900360200190f35b6000908152602081905260409020549056fea264697066735822122060e13c8f991d1c7dbc9f9978241019018fefda3e1d69fcfe8ff8d23b365286e964736f6c63430006080033'; diff --git a/types/UpgradeabilityProxyFactory.ts b/types/UpgradeabilityProxyFactory.ts index cb487cbc..3219ee74 100644 --- a/types/UpgradeabilityProxyFactory.ts +++ b/types/UpgradeabilityProxyFactory.ts @@ -76,4 +76,4 @@ const _abi = [ ]; const _bytecode = - '0x60806040526040516103d93803806103d98339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c01902060008051602061037e83398151915260001990910114925061012a91505057fe5b61013c826001600160e01b036101fb16565b8051156101f4576000826001600160a01b0316826040518082805190602001908083835b6020831061017f5780518252601f199092019160209182019101610160565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101df576040519150601f19603f3d011682016040523d82523d6000602084013e6101e4565b606091505b50509050806101f257600080fd5b505b5050610297565b61020e8161025b60201b6100201760201c565b6102495760405162461bcd60e51b815260040180806020018281038252603b81526020018061039e603b913960400191505060405180910390fd5b60008051602061037e83398151915255565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061028f57508115155b949350505050565b60d9806102a56000396000f3fe6080604052600a600c565b005b6012601e565b601e601a605b565b6080565b565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590605357508115155b949350505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015609e573d6000f35b3d6000fdfea26469706673582212204ee01122e5fcbff438ad1062473a5fe6887186d5edfc23e8ac1f913068bf5bdd64736f6c63430006080033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373'; + '0x60806040526040516103d93803806103d98339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c01902060008051602061037e83398151915260001990910114925061012a91505057fe5b61013c826001600160e01b036101fb16565b8051156101f4576000826001600160a01b0316826040518082805190602001908083835b6020831061017f5780518252601f199092019160209182019101610160565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101df576040519150601f19603f3d011682016040523d82523d6000602084013e6101e4565b606091505b50509050806101f257600080fd5b505b5050610297565b61020e8161025b60201b6100201760201c565b6102495760405162461bcd60e51b815260040180806020018281038252603b81526020018061039e603b913960400191505060405180910390fd5b60008051602061037e83398151915255565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061028f57508115155b949350505050565b60d9806102a56000396000f3fe6080604052600a600c565b005b6012601e565b601e601a605b565b6080565b565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590605357508115155b949350505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015609e573d6000f35b3d6000fdfea2646970667358221220891f7d2cdf9bc2a5b96323f4d5af76668af4ae95783fb0cd3c25a0d695eed46264736f6c63430006080033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373'; diff --git a/types/VariableDebtTokenFactory.ts b/types/VariableDebtTokenFactory.ts index ca2cd91f..dd1fcb29 100644 --- a/types/VariableDebtTokenFactory.ts +++ b/types/VariableDebtTokenFactory.ts @@ -510,4 +510,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b50611132806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806381e75277116100a2578063a457c2d711610071578063a457c2d71461023b578063a9059cbb1461045a578063c634dfaa14610486578063dd62ed3e146104ac578063ee9907a4146104da5761010b565b806381e75277146102bb57806389d1a0fc1461040257806395d89b41146104265780639dc29fac1461042e5761010b565b8063313ce567116100de578063313ce5671461021d578063395093511461023b57806340c10f191461026757806370a08231146102955761010b565b806306fdde0314610110578063095ea7b31461018d57806318160ddd146101cd57806323b872dd146101e7575b600080fd5b610118610500565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015257818101518382015260200161013a565b50505050905090810190601f16801561017f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101b9600480360360408110156101a357600080fd5b506001600160a01b03813516906020013561058d565b604080519115158252519081900360200190f35b6101d56105d5565b60408051918252519081900360200190f35b6101b9600480360360608110156101fd57600080fd5b506001600160a01b038135811691602081013590911690604001356105db565b610225610623565b6040805160ff9092168252519081900360200190f35b6101b96004803603604081101561025157600080fd5b506001600160a01b03813516906020013561062c565b6102936004803603604081101561027d57600080fd5b506001600160a01b03813516906020013561067b565b005b6101d5600480360360208110156102ab57600080fd5b50356001600160a01b03166107db565b610293600480360360a08110156102d157600080fd5b8101906020810181356401000000008111156102ec57600080fd5b8201836020820111156102fe57600080fd5b8035906020019184600183028401116401000000008311171561032057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460018302840111640100000000831117156103a757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505060ff8335169350506001600160a01b036020830135811692604001351690506108e8565b61040a6109cd565b604080516001600160a01b039092168252519081900360200190f35b6101186109e1565b6102936004803603604081101561044457600080fd5b506001600160a01b038135169060200135610a39565b6101b96004803603604081101561047057600080fd5b506001600160a01b0381351690602001356105db565b6101d56004803603602081101561049c57600080fd5b50356001600160a01b0316610bd4565b6101d5600480360360408110156104c257600080fd5b506001600160a01b038135811691602001351661062c565b6101d5600480360360208110156104f057600080fd5b50356001600160a01b0316610bef565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105855780601f1061055a57610100808354040283529160200191610585565b820191906000526020600020905b81548152906001019060200180831161056857829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60005481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60035460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b6004546001600160a01b031633146106c45760405162461bcd60e51b81526004018080602001828103825260328152602001806110cb6032913960400191505060405180910390fd5b60008060006106d285610c0a565b9250925092506106e28585610c84565b600480546003546040805163386497fd60e01b81526001600160a01b036101009093048316948101949094525191169163386497fd916024808301926020929190829003018186803b15801561073757600080fd5b505afa15801561074b573d6000803e3d6000fd5b505050506040513d602081101561076157600080fd5b50516001600160a01b03861660008181526006602090815260409182902084905581519283528201879052818101869052606082018590526080820184905260a082019290925290517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a15050505050565b6001600160a01b038116600090815260056020526040812054610800575060006108e3565b6001600160a01b038083166000908152600660209081526040918290205460048054600354855163386497fd60e01b815261010090910487169281019290925293516108e0956108db9593946108cf949091169263386497fd9260248083019392829003018186803b15801561087557600080fd5b505afa158015610889573d6000803e3d6000fd5b505050506040513d602081101561089f57600080fd5b50516001600160a01b0387166000908152600560205260409020546108c390610ce2565b9063ffffffff610cf816565b9063ffffffff610d4516565b610d7d565b90505b919050565b84516108fb90600190602088019061100e565b50835161090f90600290602087019061100e565b506003805460ff191660ff851617610100600160a81b0319166101006001600160a01b03858116919091029190911790915560408051630261bf8b60e01b8152905191831691630261bf8b91600480820192602092909190829003018186803b15801561097b57600080fd5b505afa15801561098f573d6000803e3d6000fd5b505050506040513d60208110156109a557600080fd5b5051600480546001600160a01b0319166001600160a01b039092169190911790555050505050565b60035461010090046001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105855780601f1061055a57610100808354040283529160200191610585565b6004546001600160a01b03163314610a825760405162461bcd60e51b81526004018080602001828103825260328152602001806110cb6032913960400191505060405180910390fd5b6000806000610a9085610c0a565b925092509250610aa08585610d9d565b83821415610ac6576001600160a01b038516600090815260066020526040812055610b61565b600480546003546040805163386497fd60e01b81526001600160a01b036101009093048316948101949094525191169163386497fd916024808301926020929190829003018186803b158015610b1b57600080fd5b505afa158015610b2f573d6000803e3d6000fd5b505050506040513d6020811015610b4557600080fd5b50516001600160a01b0386166000908152600660205260409020555b6001600160a01b038516600081815260066020908152604091829020548251938452908301879052828201869052606083018590526080830184905260a0830152517fc57f977ee00c44453a91f798753002bf12fca5f5ca2ee8db560720f51d4b0f629181900360c00190a15050505050565b6001600160a01b031660009081526005602052604090205490565b6001600160a01b031660009081526006602052604090205490565b6001600160a01b0381166000908152600560205260408120548190819080610c3c575060009250829150819050610c7d565b6000610c5782610c4b886107db565b9063ffffffff610ddb16565b9050610c638682610c84565b81610c74818363ffffffff610e1d16565b90955093509150505b9193909250565b600054610c97908263ffffffff610e1d16565b60009081556001600160a01b038316815260056020526040902054610cc2908263ffffffff610e1d16565b6001600160a01b0390921660009081526005602052604090209190915550565b60006108e082633b9aca0063ffffffff610e7716565b6000610d3c6b033b2e3c9fd0803ce8000000610d30610d1d868663ffffffff610e7716565b6b019d971e4fe8401e7400000090610e1d565b9063ffffffff610ed016565b90505b92915050565b600060028204610d7583610d30610d68876b033b2e3c9fd0803ce8000000610e77565b849063ffffffff610e1d16565b949350505050565b6000631dcd6500610d96633b9aca00610d308386610e1d565b9392505050565b600054610db0908263ffffffff610ddb16565b60009081556001600160a01b038316815260056020526040902054610cc2908263ffffffff610ddb16565b6000610d3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f12565b600082820183811015610d3c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082610e8657506000610d3f565b82820282848281610e9357fe5b0414610d3c5760405162461bcd60e51b81526004018080602001828103825260218152602001806110aa6021913960400191505060405180910390fd5b6000610d3c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fa9565b60008184841115610fa15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f66578181015183820152602001610f4e565b50505050905090810190601f168015610f935780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610ff85760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f66578181015183820152602001610f4e565b50600083858161100457fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061104f57805160ff191683800117855561107c565b8280016001018555821561107c579182015b8281111561107c578251825591602001919060010190611061565b5061108892915061108c565b5090565b6110a691905b808211156110885760008155600101611092565b9056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca264697066735822122063b432f4e5592189c0c62c372c202fd05b34099ccbf27045293a7836ea92a6e464736f6c63430006080033'; + '0x608060405234801561001057600080fd5b50611132806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806381e75277116100a2578063a457c2d711610071578063a457c2d71461023b578063a9059cbb1461045a578063c634dfaa14610486578063dd62ed3e146104ac578063ee9907a4146104da5761010b565b806381e75277146102bb57806389d1a0fc1461040257806395d89b41146104265780639dc29fac1461042e5761010b565b8063313ce567116100de578063313ce5671461021d578063395093511461023b57806340c10f191461026757806370a08231146102955761010b565b806306fdde0314610110578063095ea7b31461018d57806318160ddd146101cd57806323b872dd146101e7575b600080fd5b610118610500565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015257818101518382015260200161013a565b50505050905090810190601f16801561017f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101b9600480360360408110156101a357600080fd5b506001600160a01b03813516906020013561058d565b604080519115158252519081900360200190f35b6101d56105d5565b60408051918252519081900360200190f35b6101b9600480360360608110156101fd57600080fd5b506001600160a01b038135811691602081013590911690604001356105db565b610225610623565b6040805160ff9092168252519081900360200190f35b6101b96004803603604081101561025157600080fd5b506001600160a01b03813516906020013561062c565b6102936004803603604081101561027d57600080fd5b506001600160a01b03813516906020013561067b565b005b6101d5600480360360208110156102ab57600080fd5b50356001600160a01b03166107db565b610293600480360360a08110156102d157600080fd5b8101906020810181356401000000008111156102ec57600080fd5b8201836020820111156102fe57600080fd5b8035906020019184600183028401116401000000008311171561032057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460018302840111640100000000831117156103a757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505060ff8335169350506001600160a01b036020830135811692604001351690506108e8565b61040a6109cd565b604080516001600160a01b039092168252519081900360200190f35b6101186109e1565b6102936004803603604081101561044457600080fd5b506001600160a01b038135169060200135610a39565b6101b96004803603604081101561047057600080fd5b506001600160a01b0381351690602001356105db565b6101d56004803603602081101561049c57600080fd5b50356001600160a01b0316610bd4565b6101d5600480360360408110156104c257600080fd5b506001600160a01b038135811691602001351661062c565b6101d5600480360360208110156104f057600080fd5b50356001600160a01b0316610bef565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105855780601f1061055a57610100808354040283529160200191610585565b820191906000526020600020905b81548152906001019060200180831161056857829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60005481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60035460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b6004546001600160a01b031633146106c45760405162461bcd60e51b81526004018080602001828103825260328152602001806110cb6032913960400191505060405180910390fd5b60008060006106d285610c0a565b9250925092506106e28585610c84565b600480546003546040805163386497fd60e01b81526001600160a01b036101009093048316948101949094525191169163386497fd916024808301926020929190829003018186803b15801561073757600080fd5b505afa15801561074b573d6000803e3d6000fd5b505050506040513d602081101561076157600080fd5b50516001600160a01b03861660008181526006602090815260409182902084905581519283528201879052818101869052606082018590526080820184905260a082019290925290517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a15050505050565b6001600160a01b038116600090815260056020526040812054610800575060006108e3565b6001600160a01b038083166000908152600660209081526040918290205460048054600354855163386497fd60e01b815261010090910487169281019290925293516108e0956108db9593946108cf949091169263386497fd9260248083019392829003018186803b15801561087557600080fd5b505afa158015610889573d6000803e3d6000fd5b505050506040513d602081101561089f57600080fd5b50516001600160a01b0387166000908152600560205260409020546108c390610ce2565b9063ffffffff610cf816565b9063ffffffff610d4516565b610d7d565b90505b919050565b84516108fb90600190602088019061100e565b50835161090f90600290602087019061100e565b506003805460ff191660ff851617610100600160a81b0319166101006001600160a01b03858116919091029190911790915560408051630261bf8b60e01b8152905191831691630261bf8b91600480820192602092909190829003018186803b15801561097b57600080fd5b505afa15801561098f573d6000803e3d6000fd5b505050506040513d60208110156109a557600080fd5b5051600480546001600160a01b0319166001600160a01b039092169190911790555050505050565b60035461010090046001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105855780601f1061055a57610100808354040283529160200191610585565b6004546001600160a01b03163314610a825760405162461bcd60e51b81526004018080602001828103825260328152602001806110cb6032913960400191505060405180910390fd5b6000806000610a9085610c0a565b925092509250610aa08585610d9d565b83821415610ac6576001600160a01b038516600090815260066020526040812055610b61565b600480546003546040805163386497fd60e01b81526001600160a01b036101009093048316948101949094525191169163386497fd916024808301926020929190829003018186803b158015610b1b57600080fd5b505afa158015610b2f573d6000803e3d6000fd5b505050506040513d6020811015610b4557600080fd5b50516001600160a01b0386166000908152600660205260409020555b6001600160a01b038516600081815260066020908152604091829020548251938452908301879052828201869052606083018590526080830184905260a0830152517fc57f977ee00c44453a91f798753002bf12fca5f5ca2ee8db560720f51d4b0f629181900360c00190a15050505050565b6001600160a01b031660009081526005602052604090205490565b6001600160a01b031660009081526006602052604090205490565b6001600160a01b0381166000908152600560205260408120548190819080610c3c575060009250829150819050610c7d565b6000610c5782610c4b886107db565b9063ffffffff610ddb16565b9050610c638682610c84565b81610c74818363ffffffff610e1d16565b90955093509150505b9193909250565b600054610c97908263ffffffff610e1d16565b60009081556001600160a01b038316815260056020526040902054610cc2908263ffffffff610e1d16565b6001600160a01b0390921660009081526005602052604090209190915550565b60006108e082633b9aca0063ffffffff610e7716565b6000610d3c6b033b2e3c9fd0803ce8000000610d30610d1d868663ffffffff610e7716565b6b019d971e4fe8401e7400000090610e1d565b9063ffffffff610ed016565b90505b92915050565b600060028204610d7583610d30610d68876b033b2e3c9fd0803ce8000000610e77565b849063ffffffff610e1d16565b949350505050565b6000631dcd6500610d96633b9aca00610d308386610e1d565b9392505050565b600054610db0908263ffffffff610ddb16565b60009081556001600160a01b038316815260056020526040902054610cc2908263ffffffff610ddb16565b6000610d3c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f12565b600082820183811015610d3c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082610e8657506000610d3f565b82820282848281610e9357fe5b0414610d3c5760405162461bcd60e51b81526004018080602001828103825260218152602001806110aa6021913960400191505060405180910390fd5b6000610d3c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fa9565b60008184841115610fa15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f66578181015183820152602001610f4e565b50505050905090810190601f168015610f935780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610ff85760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f66578181015183820152602001610f4e565b50600083858161100457fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061104f57805160ff191683800117855561107c565b8280016001018555821561107c579182015b8281111561107c578251825591602001919060010190611061565b5061108892915061108c565b5090565b6110a691905b808211156110885760008155600101611092565b9056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca2646970667358221220e78f9d8018c81e82b47bd8018c68bab3dedc316196c363eb5de36ffc1aa6e69664736f6c63430006080033'; diff --git a/types/WalletBalanceProviderFactory.ts b/types/WalletBalanceProviderFactory.ts index f1e3cf0f..6053dc4e 100644 --- a/types/WalletBalanceProviderFactory.ts +++ b/types/WalletBalanceProviderFactory.ts @@ -121,4 +121,4 @@ const _abi = [ ]; const _bytecode = - '0x608060405234801561001057600080fd5b506040516109863803806109868339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610921806100656000396000f3fe6080604052600436106100385760003560e01c80639e3c930914610083578063b59b28ef1461014f578063f7888aec146102d35761007e565b3661007e5761004633610320565b61007c576040805162461bcd60e51b8152602060048201526002602482015261191960f11b604482015290519081900360640190fd5b005b600080fd5b34801561008f57600080fd5b506100b6600480360360208110156100a657600080fd5b50356001600160a01b031661035c565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100fa5781810151838201526020016100e2565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610139578181015183820152602001610121565b5050505090500194505050505060405180910390f35b34801561015b57600080fd5b506102836004803603604081101561017257600080fd5b81019060208101813564010000000081111561018d57600080fd5b82018360208201111561019f57600080fd5b803590602001918460208302840111640100000000831117156101c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561021157600080fd5b82018360208201111561022357600080fd5b8035906020019184602083028401116401000000008311171561024557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106a0945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102bf5781810151838201526020016102a7565b505050509050019250505060405180910390f35b3480156102df57600080fd5b5061030e600480360360408110156102f657600080fd5b506001600160a01b038135811691602001351661081c565b60408051918252519081900360200190f35b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061035457508115155b949350505050565b60608060008060009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103ae57600080fd5b505afa1580156103c2573d6000803e3d6000fd5b505050506040513d60208110156103d857600080fd5b505160408051630240bc6b60e21b815290519192506060916001600160a01b03841691630902f1ac916004808301926000929190829003018186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561045d57600080fd5b810190808051604051939291908464010000000082111561047d57600080fd5b90830190602082018581111561049257600080fd5b82518660208202830111640100000000821117156104af57600080fd5b82525081516020918201928201910280838360005b838110156104dc5781810151838201526020016104c4565b5050505090500160405250505090506060815167ffffffffffffffff8111801561050557600080fd5b5060405190808252806020026020018201604052801561052f578160200160208202803683370190505b50905060005b8251811015610694576000846001600160a01b0316633e15014185848151811061055b57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b031681526020019150506101406040518083038186803b1580156105aa57600080fd5b505afa1580156105be573d6000803e3d6000fd5b505050506040513d6101408110156105d557600080fd5b5061010001519050806106025760008383815181106105f057fe5b6020026020010181815250505061068c565b61062784838151811061061157fe5b60200260200101516001600160a01b03166108c6565b15610666576106498885848151811061063c57fe5b602002602001015161081c565b83838151811061065557fe5b60200260200101818152505061068a565b876001600160a01b03163183838151811061067d57fe5b6020026020010181815250505b505b600101610535565b50909350915050915091565b606080825184510267ffffffffffffffff811180156106be57600080fd5b506040519080825280602002602001820160405280156106e8578160200160208202803683370190505b50905060005b84518110156108125760005b845181101561080957600085518302905061071a86838151811061061157fe5b1561075c5786838151811061072b57fe5b60200260200101516001600160a01b031631848383018151811061074b57fe5b602002602001018181525050610800565b61078186838151811061076b57fe5b60200260200101516001600160a01b0316610320565b6107c2576040805162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22faa27a5a2a760991b604482015290519081900360640190fd5b6107e58784815181106107d157fe5b602002602001015187848151811061063c57fe5b84838301815181106107f357fe5b6020026020010181815250505b506001016106fa565b506001016106ee565b5090505b92915050565b6000610830826001600160a01b0316610320565b156108be57816001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561088b57600080fd5b505afa15801561089f573d6000803e3d6000fd5b505050506040513d60208110156108b557600080fd5b50519050610816565b506000610816565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1491905056fea26469706673582212200fbc644a4e6267f8c144d0aca26cc131b879cfeaf1483e40e6f760d362632a8364736f6c63430006080033'; + '0x608060405234801561001057600080fd5b506040516109863803806109868339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610921806100656000396000f3fe6080604052600436106100385760003560e01c80639e3c930914610083578063b59b28ef1461014f578063f7888aec146102d35761007e565b3661007e5761004633610320565b61007c576040805162461bcd60e51b8152602060048201526002602482015261191960f11b604482015290519081900360640190fd5b005b600080fd5b34801561008f57600080fd5b506100b6600480360360208110156100a657600080fd5b50356001600160a01b031661035c565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100fa5781810151838201526020016100e2565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610139578181015183820152602001610121565b5050505090500194505050505060405180910390f35b34801561015b57600080fd5b506102836004803603604081101561017257600080fd5b81019060208101813564010000000081111561018d57600080fd5b82018360208201111561019f57600080fd5b803590602001918460208302840111640100000000831117156101c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561021157600080fd5b82018360208201111561022357600080fd5b8035906020019184602083028401116401000000008311171561024557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106a0945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102bf5781810151838201526020016102a7565b505050509050019250505060405180910390f35b3480156102df57600080fd5b5061030e600480360360408110156102f657600080fd5b506001600160a01b038135811691602001351661081c565b60408051918252519081900360200190f35b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061035457508115155b949350505050565b60608060008060009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103ae57600080fd5b505afa1580156103c2573d6000803e3d6000fd5b505050506040513d60208110156103d857600080fd5b505160408051630240bc6b60e21b815290519192506060916001600160a01b03841691630902f1ac916004808301926000929190829003018186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561045d57600080fd5b810190808051604051939291908464010000000082111561047d57600080fd5b90830190602082018581111561049257600080fd5b82518660208202830111640100000000821117156104af57600080fd5b82525081516020918201928201910280838360005b838110156104dc5781810151838201526020016104c4565b5050505090500160405250505090506060815167ffffffffffffffff8111801561050557600080fd5b5060405190808252806020026020018201604052801561052f578160200160208202803683370190505b50905060005b8251811015610694576000846001600160a01b0316633e15014185848151811061055b57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b031681526020019150506101406040518083038186803b1580156105aa57600080fd5b505afa1580156105be573d6000803e3d6000fd5b505050506040513d6101408110156105d557600080fd5b5061010001519050806106025760008383815181106105f057fe5b6020026020010181815250505061068c565b61062784838151811061061157fe5b60200260200101516001600160a01b03166108c6565b15610666576106498885848151811061063c57fe5b602002602001015161081c565b83838151811061065557fe5b60200260200101818152505061068a565b876001600160a01b03163183838151811061067d57fe5b6020026020010181815250505b505b600101610535565b50909350915050915091565b606080825184510267ffffffffffffffff811180156106be57600080fd5b506040519080825280602002602001820160405280156106e8578160200160208202803683370190505b50905060005b84518110156108125760005b845181101561080957600085518302905061071a86838151811061061157fe5b1561075c5786838151811061072b57fe5b60200260200101516001600160a01b031631848383018151811061074b57fe5b602002602001018181525050610800565b61078186838151811061076b57fe5b60200260200101516001600160a01b0316610320565b6107c2576040805162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22faa27a5a2a760991b604482015290519081900360640190fd5b6107e58784815181106107d157fe5b602002602001015187848151811061063c57fe5b84838301815181106107f357fe5b6020026020010181815250505b506001016106fa565b506001016106ee565b5090505b92915050565b6000610830826001600160a01b0316610320565b156108be57816001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561088b57600080fd5b505afa15801561089f573d6000803e3d6000fd5b505050506040513d60208110156108b557600080fd5b50519050610816565b506000610816565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1491905056fea2646970667358221220c12cfbdd480ca99bcf6c566c25db8abeeec08854a31462c3db0b4e3c5b074d8d64736f6c63430006080033';