From 87a75065e3b66d83b4458d66a278ddbfb3558129 Mon Sep 17 00:00:00 2001 From: eboado Date: Wed, 3 Jun 2020 12:23:21 +0200 Subject: [PATCH] - Added protocol types --- types/AToken.d.ts | 537 ++++++ types/ATokenFactory.ts | 844 ++++++++ types/AddressStorage.d.ts | 50 + types/AddressStorageFactory.ts | 59 + types/AdminUpgradeabilityProxy.d.ts | 130 ++ types/AdminUpgradeabilityProxyFactory.ts | 184 ++ types/BaseAdminUpgradeabilityProxy.d.ts | 138 ++ types/BaseAdminUpgradeabilityProxyFactory.ts | 152 ++ types/BaseUpgradeabilityProxy.d.ts | 51 + types/BaseUpgradeabilityProxyFactory.ts | 61 + types/ChainlinkProxyPriceProvider.d.ts | 188 ++ types/ChainlinkProxyPriceProviderFactory.ts | 270 +++ types/ChainlinkUsdethOracleI.d.ts | 52 + types/ChainlinkUsdethOracleIFactory.ts | 42 + types/DefaultReserveInterestRateStrategy.d.ts | 227 +++ ...faultReserveInterestRateStrategyFactory.ts | 353 ++++ types/Erc20.d.ts | 219 +++ types/Erc20Burnable.d.ts | 256 +++ types/Erc20BurnableFactory.ts | 320 +++ types/Erc20Factory.ts | 331 ++++ types/FeeProvider.d.ts | 100 + types/FeeProviderFactory.ts | 116 ++ types/FlashLoanReceiverBase.d.ts | 80 + types/FlashLoanReceiverBaseFactory.ts | 79 + types/GenericOracleI.d.ts | 86 + types/GenericOracleIFactory.ts | 126 ++ types/IChainlinkAggregator.d.ts | 110 ++ types/IChainlinkAggregatorFactory.ts | 144 ++ types/IExchangeAdapter.d.ts | 106 + types/IExchangeAdapterFactory.ts | 103 + types/IExtendedPriceAggregator.d.ts | 99 + types/IExtendedPriceAggregatorFactory.ts | 113 ++ types/IFeeProvider.d.ts | 69 + types/IFeeProviderFactory.ts | 56 + types/IFlashLoanReceiver.d.ts | 72 + types/IFlashLoanReceiverFactory.ts | 47 + types/IKyberNetworkProxyInterface.d.ts | 186 ++ types/IKyberNetworkProxyInterfaceFactory.ts | 199 ++ types/ILendingPoolAddressesProvider.d.ts | 327 ++++ types/ILendingPoolAddressesProviderFactory.ts | 309 +++ ...ILendingPoolAddressesProviderRegistry.d.ts | 110 ++ ...ingPoolAddressesProviderRegistryFactory.ts | 86 + types/ILendingRateOracle.d.ts | 71 + types/ILendingRateOracleFactory.ts | 56 + types/IOneSplit.d.ts | 294 +++ types/IOneSplitFactory.ts | 334 ++++ types/IOneSplitView.d.ts | 210 ++ types/IOneSplitViewFactory.ts | 258 +++ types/IPriceOracle.d.ts | 68 + types/IPriceOracleFactory.ts | 56 + types/IPriceOracleGetter.d.ts | 50 + types/IPriceOracleGetterFactory.ts | 38 + types/IReserveInterestRateStrategy.d.ts | 117 ++ types/IReserveInterestRateStrategyFactory.ts | 85 + types/IUniswapExchange.d.ts | 96 + types/IUniswapExchangeFactory.ts | 119 ++ types/Ierc20.d.ts | 153 ++ types/Ierc20Detailed.d.ts | 180 ++ types/Ierc20DetailedBytes.d.ts | 64 + types/Ierc20DetailedBytesFactory.ts | 79 + types/Ierc20DetailedFactory.ts | 241 +++ types/Ierc20Factory.ts | 199 ++ ...InitializableAdminUpgradeabilityProxy.d.ts | 174 ++ ...alizableAdminUpgradeabilityProxyFactory.ts | 197 ++ types/InitializableUpgradeabilityProxy.d.ts | 77 + ...InitializableUpgradeabilityProxyFactory.ts | 81 + types/LendingPool.d.ts | 816 ++++++++ types/LendingPoolAddressesProvider.d.ts | 467 +++++ types/LendingPoolAddressesProviderFactory.ts | 578 ++++++ .../LendingPoolAddressesProviderRegistry.d.ts | 170 ++ ...ingPoolAddressesProviderRegistryFactory.ts | 189 ++ types/LendingPoolConfigurator.d.ts | 586 ++++++ types/LendingPoolConfiguratorFactory.ts | 686 +++++++ types/LendingPoolCore.d.ts | 1408 ++++++++++++++ types/LendingPoolCoreFactory.ts | 1698 ++++++++++++++++ types/LendingPoolDataProvider.d.ts | 448 +++++ types/LendingPoolDataProviderFactory.ts | 505 +++++ types/LendingPoolFactory.ts | 1055 ++++++++++ types/LendingPoolLiquidationManager.d.ts | 160 ++ types/LendingPoolLiquidationManagerFactory.ts | 207 ++ types/LendingPoolParametersProvider.d.ts | 105 + types/LendingPoolParametersProviderFactory.ts | 103 + types/LendingRateOracle.d.ts | 150 ++ types/LendingRateOracleFactory.ts | 166 ++ types/MintableErc20.d.ts | 236 +++ types/MintableErc20Factory.ts | 363 ++++ types/MockAggregatorBase.d.ts | 62 + types/MockAggregatorBaseFactory.ts | 98 + types/MockAggregatorBat.d.ts | 62 + types/MockAggregatorBatFactory.ts | 98 + types/MockAggregatorBusd.d.ts | 62 + types/MockAggregatorBusdFactory.ts | 98 + types/MockAggregatorDai.d.ts | 62 + types/MockAggregatorDaiFactory.ts | 98 + types/MockAggregatorKnc.d.ts | 62 + types/MockAggregatorKncFactory.ts | 98 + types/MockAggregatorLend.d.ts | 62 + types/MockAggregatorLendFactory.ts | 98 + types/MockAggregatorLink.d.ts | 62 + types/MockAggregatorLinkFactory.ts | 98 + types/MockAggregatorMana.d.ts | 62 + types/MockAggregatorManaFactory.ts | 98 + types/MockAggregatorMkr.d.ts | 62 + types/MockAggregatorMkrFactory.ts | 98 + types/MockAggregatorRep.d.ts | 62 + types/MockAggregatorRepFactory.ts | 98 + types/MockAggregatorSnx.d.ts | 62 + types/MockAggregatorSnxFactory.ts | 98 + types/MockAggregatorSusd.d.ts | 62 + types/MockAggregatorSusdFactory.ts | 98 + types/MockAggregatorTusd.d.ts | 62 + types/MockAggregatorTusdFactory.ts | 98 + types/MockAggregatorUniDaiEth.d.ts | 67 + types/MockAggregatorUniDaiEthFactory.ts | 102 + types/MockAggregatorUniLendEth.d.ts | 67 + types/MockAggregatorUniLendEthFactory.ts | 102 + types/MockAggregatorUniLinkEth.d.ts | 67 + types/MockAggregatorUniLinkEthFactory.ts | 102 + types/MockAggregatorUniMkrEth.d.ts | 67 + types/MockAggregatorUniMkrEthFactory.ts | 102 + types/MockAggregatorUniSethEth.d.ts | 67 + types/MockAggregatorUniSethEthFactory.ts | 102 + types/MockAggregatorUniUsdcEth.d.ts | 67 + types/MockAggregatorUniUsdcEthFactory.ts | 102 + types/MockAggregatorUsd.d.ts | 62 + types/MockAggregatorUsdFactory.ts | 98 + types/MockAggregatorUsdc.d.ts | 62 + types/MockAggregatorUsdcFactory.ts | 98 + types/MockAggregatorUsdt.d.ts | 62 + types/MockAggregatorUsdtFactory.ts | 98 + types/MockAggregatorWbtc.d.ts | 62 + types/MockAggregatorWbtcFactory.ts | 98 + types/MockAggregatorZrx.d.ts | 62 + types/MockAggregatorZrxFactory.ts | 98 + types/MockBat.d.ts | 233 +++ types/MockBatFactory.ts | 329 ++++ types/MockBusd.d.ts | 233 +++ types/MockBusdFactory.ts | 329 ++++ types/MockDai.d.ts | 233 +++ types/MockDaiFactory.ts | 329 ++++ types/MockFlashLoanReceiver.d.ts | 108 ++ types/MockFlashLoanReceiverFactory.ts | 169 ++ types/MockKnc.d.ts | 233 +++ types/MockKncFactory.ts | 329 ++++ types/MockKyberProxy.d.ts | 105 + types/MockKyberProxyFactory.ts | 124 ++ types/MockLend.d.ts | 233 +++ types/MockLendFactory.ts | 329 ++++ types/MockLendingPoolCore.d.ts | 1414 ++++++++++++++ types/MockLendingPoolCoreFactory.ts | 1711 +++++++++++++++++ types/MockLink.d.ts | 233 +++ types/MockLinkFactory.ts | 329 ++++ types/MockMana.d.ts | 233 +++ types/MockManaFactory.ts | 329 ++++ types/MockMkr.d.ts | 233 +++ types/MockMkrFactory.ts | 329 ++++ types/MockOneSplit.d.ts | 305 +++ types/MockOneSplitFactory.ts | 385 ++++ types/MockRep.d.ts | 233 +++ types/MockRepFactory.ts | 329 ++++ types/MockSnx.d.ts | 233 +++ types/MockSnxFactory.ts | 329 ++++ types/MockSusd.d.ts | 233 +++ types/MockSusdFactory.ts | 329 ++++ types/MockTusd.d.ts | 233 +++ types/MockTusdFactory.ts | 329 ++++ types/MockUniDaiEth.d.ts | 236 +++ types/MockUniDaiEthFactory.ts | 329 ++++ types/MockUniLendEth.d.ts | 236 +++ types/MockUniLendEthFactory.ts | 329 ++++ types/MockUniLinkEth.d.ts | 236 +++ types/MockUniLinkEthFactory.ts | 329 ++++ types/MockUniMkrEth.d.ts | 236 +++ types/MockUniMkrEthFactory.ts | 329 ++++ types/MockUniSethEth.d.ts | 236 +++ types/MockUniSethEthFactory.ts | 329 ++++ types/MockUniUsdcEth.d.ts | 236 +++ types/MockUniUsdcEthFactory.ts | 329 ++++ types/MockUsd.d.ts | 233 +++ types/MockUsdFactory.ts | 329 ++++ types/MockUsdc.d.ts | 233 +++ types/MockUsdcFactory.ts | 329 ++++ types/MockUsdt.d.ts | 233 +++ types/MockUsdtFactory.ts | 329 ++++ types/MockWbtc.d.ts | 233 +++ types/MockWbtcFactory.ts | 329 ++++ types/MockZrx.d.ts | 233 +++ types/MockZrxFactory.ts | 329 ++++ types/OneSplitAdapter.d.ts | 120 ++ types/OneSplitAdapterFactory.ts | 154 ++ types/Ownable.d.ts | 85 + types/OwnableFactory.ts | 71 + types/PriceOracle.d.ts | 101 + types/PriceOracleFactory.ts | 147 ++ types/Proxy.d.ts | 37 + types/ProxyFactory.ts | 20 + types/TokenDistributor.d.ts | 290 +++ types/TokenDistributorFactory.ts | 374 ++++ types/UintStorage.d.ts | 45 + types/UintStorageFactory.ts | 59 + types/UpgradeabilityProxy.d.ts | 46 + types/UpgradeabilityProxyFactory.ts | 84 + types/WalletBalanceProvider.d.ts | 80 + types/WalletBalanceProviderFactory.ts | 137 ++ 204 files changed, 43589 insertions(+) create mode 100644 types/AToken.d.ts create mode 100644 types/ATokenFactory.ts create mode 100644 types/AddressStorage.d.ts create mode 100644 types/AddressStorageFactory.ts create mode 100644 types/AdminUpgradeabilityProxy.d.ts create mode 100644 types/AdminUpgradeabilityProxyFactory.ts create mode 100644 types/BaseAdminUpgradeabilityProxy.d.ts create mode 100644 types/BaseAdminUpgradeabilityProxyFactory.ts create mode 100644 types/BaseUpgradeabilityProxy.d.ts create mode 100644 types/BaseUpgradeabilityProxyFactory.ts create mode 100644 types/ChainlinkProxyPriceProvider.d.ts create mode 100644 types/ChainlinkProxyPriceProviderFactory.ts create mode 100644 types/ChainlinkUsdethOracleI.d.ts create mode 100644 types/ChainlinkUsdethOracleIFactory.ts create mode 100644 types/DefaultReserveInterestRateStrategy.d.ts create mode 100644 types/DefaultReserveInterestRateStrategyFactory.ts create mode 100644 types/Erc20.d.ts create mode 100644 types/Erc20Burnable.d.ts create mode 100644 types/Erc20BurnableFactory.ts create mode 100644 types/Erc20Factory.ts create mode 100644 types/FeeProvider.d.ts create mode 100644 types/FeeProviderFactory.ts create mode 100644 types/FlashLoanReceiverBase.d.ts create mode 100644 types/FlashLoanReceiverBaseFactory.ts create mode 100644 types/GenericOracleI.d.ts create mode 100644 types/GenericOracleIFactory.ts create mode 100644 types/IChainlinkAggregator.d.ts create mode 100644 types/IChainlinkAggregatorFactory.ts create mode 100644 types/IExchangeAdapter.d.ts create mode 100644 types/IExchangeAdapterFactory.ts create mode 100644 types/IExtendedPriceAggregator.d.ts create mode 100644 types/IExtendedPriceAggregatorFactory.ts create mode 100644 types/IFeeProvider.d.ts create mode 100644 types/IFeeProviderFactory.ts create mode 100644 types/IFlashLoanReceiver.d.ts create mode 100644 types/IFlashLoanReceiverFactory.ts create mode 100644 types/IKyberNetworkProxyInterface.d.ts create mode 100644 types/IKyberNetworkProxyInterfaceFactory.ts create mode 100644 types/ILendingPoolAddressesProvider.d.ts create mode 100644 types/ILendingPoolAddressesProviderFactory.ts create mode 100644 types/ILendingPoolAddressesProviderRegistry.d.ts create mode 100644 types/ILendingPoolAddressesProviderRegistryFactory.ts create mode 100644 types/ILendingRateOracle.d.ts create mode 100644 types/ILendingRateOracleFactory.ts create mode 100644 types/IOneSplit.d.ts create mode 100644 types/IOneSplitFactory.ts create mode 100644 types/IOneSplitView.d.ts create mode 100644 types/IOneSplitViewFactory.ts create mode 100644 types/IPriceOracle.d.ts create mode 100644 types/IPriceOracleFactory.ts create mode 100644 types/IPriceOracleGetter.d.ts create mode 100644 types/IPriceOracleGetterFactory.ts create mode 100644 types/IReserveInterestRateStrategy.d.ts create mode 100644 types/IReserveInterestRateStrategyFactory.ts create mode 100644 types/IUniswapExchange.d.ts create mode 100644 types/IUniswapExchangeFactory.ts create mode 100644 types/Ierc20.d.ts create mode 100644 types/Ierc20Detailed.d.ts create mode 100644 types/Ierc20DetailedBytes.d.ts create mode 100644 types/Ierc20DetailedBytesFactory.ts create mode 100644 types/Ierc20DetailedFactory.ts create mode 100644 types/Ierc20Factory.ts create mode 100644 types/InitializableAdminUpgradeabilityProxy.d.ts create mode 100644 types/InitializableAdminUpgradeabilityProxyFactory.ts create mode 100644 types/InitializableUpgradeabilityProxy.d.ts create mode 100644 types/InitializableUpgradeabilityProxyFactory.ts create mode 100644 types/LendingPool.d.ts create mode 100644 types/LendingPoolAddressesProvider.d.ts create mode 100644 types/LendingPoolAddressesProviderFactory.ts create mode 100644 types/LendingPoolAddressesProviderRegistry.d.ts create mode 100644 types/LendingPoolAddressesProviderRegistryFactory.ts create mode 100644 types/LendingPoolConfigurator.d.ts create mode 100644 types/LendingPoolConfiguratorFactory.ts create mode 100644 types/LendingPoolCore.d.ts create mode 100644 types/LendingPoolCoreFactory.ts create mode 100644 types/LendingPoolDataProvider.d.ts create mode 100644 types/LendingPoolDataProviderFactory.ts create mode 100644 types/LendingPoolFactory.ts create mode 100644 types/LendingPoolLiquidationManager.d.ts create mode 100644 types/LendingPoolLiquidationManagerFactory.ts create mode 100644 types/LendingPoolParametersProvider.d.ts create mode 100644 types/LendingPoolParametersProviderFactory.ts create mode 100644 types/LendingRateOracle.d.ts create mode 100644 types/LendingRateOracleFactory.ts create mode 100644 types/MintableErc20.d.ts create mode 100644 types/MintableErc20Factory.ts create mode 100644 types/MockAggregatorBase.d.ts create mode 100644 types/MockAggregatorBaseFactory.ts create mode 100644 types/MockAggregatorBat.d.ts create mode 100644 types/MockAggregatorBatFactory.ts create mode 100644 types/MockAggregatorBusd.d.ts create mode 100644 types/MockAggregatorBusdFactory.ts create mode 100644 types/MockAggregatorDai.d.ts create mode 100644 types/MockAggregatorDaiFactory.ts create mode 100644 types/MockAggregatorKnc.d.ts create mode 100644 types/MockAggregatorKncFactory.ts create mode 100644 types/MockAggregatorLend.d.ts create mode 100644 types/MockAggregatorLendFactory.ts create mode 100644 types/MockAggregatorLink.d.ts create mode 100644 types/MockAggregatorLinkFactory.ts create mode 100644 types/MockAggregatorMana.d.ts create mode 100644 types/MockAggregatorManaFactory.ts create mode 100644 types/MockAggregatorMkr.d.ts create mode 100644 types/MockAggregatorMkrFactory.ts create mode 100644 types/MockAggregatorRep.d.ts create mode 100644 types/MockAggregatorRepFactory.ts create mode 100644 types/MockAggregatorSnx.d.ts create mode 100644 types/MockAggregatorSnxFactory.ts create mode 100644 types/MockAggregatorSusd.d.ts create mode 100644 types/MockAggregatorSusdFactory.ts create mode 100644 types/MockAggregatorTusd.d.ts create mode 100644 types/MockAggregatorTusdFactory.ts create mode 100644 types/MockAggregatorUniDaiEth.d.ts create mode 100644 types/MockAggregatorUniDaiEthFactory.ts create mode 100644 types/MockAggregatorUniLendEth.d.ts create mode 100644 types/MockAggregatorUniLendEthFactory.ts create mode 100644 types/MockAggregatorUniLinkEth.d.ts create mode 100644 types/MockAggregatorUniLinkEthFactory.ts create mode 100644 types/MockAggregatorUniMkrEth.d.ts create mode 100644 types/MockAggregatorUniMkrEthFactory.ts create mode 100644 types/MockAggregatorUniSethEth.d.ts create mode 100644 types/MockAggregatorUniSethEthFactory.ts create mode 100644 types/MockAggregatorUniUsdcEth.d.ts create mode 100644 types/MockAggregatorUniUsdcEthFactory.ts create mode 100644 types/MockAggregatorUsd.d.ts create mode 100644 types/MockAggregatorUsdFactory.ts create mode 100644 types/MockAggregatorUsdc.d.ts create mode 100644 types/MockAggregatorUsdcFactory.ts create mode 100644 types/MockAggregatorUsdt.d.ts create mode 100644 types/MockAggregatorUsdtFactory.ts create mode 100644 types/MockAggregatorWbtc.d.ts create mode 100644 types/MockAggregatorWbtcFactory.ts create mode 100644 types/MockAggregatorZrx.d.ts create mode 100644 types/MockAggregatorZrxFactory.ts create mode 100644 types/MockBat.d.ts create mode 100644 types/MockBatFactory.ts create mode 100644 types/MockBusd.d.ts create mode 100644 types/MockBusdFactory.ts create mode 100644 types/MockDai.d.ts create mode 100644 types/MockDaiFactory.ts create mode 100644 types/MockFlashLoanReceiver.d.ts create mode 100644 types/MockFlashLoanReceiverFactory.ts create mode 100644 types/MockKnc.d.ts create mode 100644 types/MockKncFactory.ts create mode 100644 types/MockKyberProxy.d.ts create mode 100644 types/MockKyberProxyFactory.ts create mode 100644 types/MockLend.d.ts create mode 100644 types/MockLendFactory.ts create mode 100644 types/MockLendingPoolCore.d.ts create mode 100644 types/MockLendingPoolCoreFactory.ts create mode 100644 types/MockLink.d.ts create mode 100644 types/MockLinkFactory.ts create mode 100644 types/MockMana.d.ts create mode 100644 types/MockManaFactory.ts create mode 100644 types/MockMkr.d.ts create mode 100644 types/MockMkrFactory.ts create mode 100644 types/MockOneSplit.d.ts create mode 100644 types/MockOneSplitFactory.ts create mode 100644 types/MockRep.d.ts create mode 100644 types/MockRepFactory.ts create mode 100644 types/MockSnx.d.ts create mode 100644 types/MockSnxFactory.ts create mode 100644 types/MockSusd.d.ts create mode 100644 types/MockSusdFactory.ts create mode 100644 types/MockTusd.d.ts create mode 100644 types/MockTusdFactory.ts create mode 100644 types/MockUniDaiEth.d.ts create mode 100644 types/MockUniDaiEthFactory.ts create mode 100644 types/MockUniLendEth.d.ts create mode 100644 types/MockUniLendEthFactory.ts create mode 100644 types/MockUniLinkEth.d.ts create mode 100644 types/MockUniLinkEthFactory.ts create mode 100644 types/MockUniMkrEth.d.ts create mode 100644 types/MockUniMkrEthFactory.ts create mode 100644 types/MockUniSethEth.d.ts create mode 100644 types/MockUniSethEthFactory.ts create mode 100644 types/MockUniUsdcEth.d.ts create mode 100644 types/MockUniUsdcEthFactory.ts create mode 100644 types/MockUsd.d.ts create mode 100644 types/MockUsdFactory.ts create mode 100644 types/MockUsdc.d.ts create mode 100644 types/MockUsdcFactory.ts create mode 100644 types/MockUsdt.d.ts create mode 100644 types/MockUsdtFactory.ts create mode 100644 types/MockWbtc.d.ts create mode 100644 types/MockWbtcFactory.ts create mode 100644 types/MockZrx.d.ts create mode 100644 types/MockZrxFactory.ts create mode 100644 types/OneSplitAdapter.d.ts create mode 100644 types/OneSplitAdapterFactory.ts create mode 100644 types/Ownable.d.ts create mode 100644 types/OwnableFactory.ts create mode 100644 types/PriceOracle.d.ts create mode 100644 types/PriceOracleFactory.ts create mode 100644 types/Proxy.d.ts create mode 100644 types/ProxyFactory.ts create mode 100644 types/TokenDistributor.d.ts create mode 100644 types/TokenDistributorFactory.ts create mode 100644 types/UintStorage.d.ts create mode 100644 types/UintStorageFactory.ts create mode 100644 types/UpgradeabilityProxy.d.ts create mode 100644 types/UpgradeabilityProxyFactory.ts create mode 100644 types/WalletBalanceProvider.d.ts create mode 100644 types/WalletBalanceProviderFactory.ts diff --git a/types/AToken.d.ts b/types/AToken.d.ts new file mode 100644 index 00000000..f45c991b --- /dev/null +++ b/types/AToken.d.ts @@ -0,0 +1,537 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface ATokenInterface extends Interface { + functions: { + UINT_MAX_VALUE: TypedFunctionDescription<{ encode([]: []): string }>; + + allowInterestRedirectionTo: TypedFunctionDescription<{ + encode([_to]: [string]): string; + }>; + + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ encode([_user]: [string]): string }>; + + burnOnLiquidation: TypedFunctionDescription<{ + encode([_account, _value]: [string, BigNumberish]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + getInterestRedirectionAddress: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + getRedirectedBalance: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + getUserIndex: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + isTransferAllowed: TypedFunctionDescription<{ + encode([_user, _amount]: [string, BigNumberish]): string; + }>; + + mintOnDeposit: TypedFunctionDescription<{ + encode([_account, _amount]: [string, BigNumberish]): string; + }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + principalBalanceOf: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + redeem: TypedFunctionDescription<{ + encode([_amount]: [BigNumberish]): string; + }>; + + redirectInterestStream: TypedFunctionDescription<{ + encode([_to]: [string]): string; + }>; + + redirectInterestStreamOf: TypedFunctionDescription<{ + encode([_from, _to]: [string, string]): string; + }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + transferOnLiquidation: TypedFunctionDescription<{ + encode([_from, _to, _value]: [string, string, BigNumberish]): string; + }>; + + underlyingAssetAddress: TypedFunctionDescription<{ + encode([]: []): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + BalanceTransfer: TypedEventDescription<{ + encodeTopics([ + _from, + _to, + _value, + _fromBalanceIncrease, + _toBalanceIncrease, + _fromIndex, + _toIndex + ]: [ + string | null, + string | null, + null, + null, + null, + null, + null + ]): string[]; + }>; + + BurnOnLiquidation: TypedEventDescription<{ + encodeTopics([_from, _value, _fromBalanceIncrease, _fromIndex]: [ + string | null, + null, + null, + null + ]): string[]; + }>; + + InterestRedirectionAllowanceChanged: TypedEventDescription<{ + encodeTopics([_from, _to]: [string | null, string | null]): string[]; + }>; + + InterestStreamRedirected: TypedEventDescription<{ + encodeTopics([ + _from, + _to, + _redirectedBalance, + _fromBalanceIncrease, + _fromIndex + ]: [string | null, string | null, null, null, null]): string[]; + }>; + + MintOnDeposit: TypedEventDescription<{ + encodeTopics([_from, _value, _fromBalanceIncrease, _fromIndex]: [ + string | null, + null, + null, + null + ]): string[]; + }>; + + Redeem: TypedEventDescription<{ + encodeTopics([_from, _value, _fromBalanceIncrease, _fromIndex]: [ + string | null, + null, + null, + null + ]): string[]; + }>; + + RedirectedBalanceUpdated: TypedEventDescription<{ + encodeTopics([ + _targetAddress, + _targetBalanceIncrease, + _targetIndex, + _redirectedBalanceAdded, + _redirectedBalanceRemoved + ]: [string | null, null, null, null, null]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class AToken extends Contract { + connect(signerOrProvider: Signer | Provider | string): AToken; + attach(addressOrName: string): AToken; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): AToken; + once(event: EventFilter | string, listener: Listener): AToken; + addListener(eventName: EventFilter | string, listener: Listener): AToken; + removeAllListeners(eventName: EventFilter | string): AToken; + removeListener(eventName: any, listener: Listener): AToken; + + interface: ATokenInterface; + + functions: { + UINT_MAX_VALUE(): Promise; + + allowInterestRedirectionTo( + _to: string, + overrides?: TransactionOverrides + ): Promise; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(_user: string): Promise; + + burnOnLiquidation( + _account: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getInterestRedirectionAddress(_user: string): Promise; + + getRedirectedBalance(_user: string): Promise; + + getUserIndex(_user: string): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + isTransferAllowed(_user: string, _amount: BigNumberish): Promise; + + mintOnDeposit( + _account: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + principalBalanceOf(_user: string): Promise; + + redeem( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + redirectInterestStream( + _to: string, + overrides?: TransactionOverrides + ): Promise; + + redirectInterestStreamOf( + _from: string, + _to: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferOnLiquidation( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + underlyingAssetAddress(): Promise; + }; + + UINT_MAX_VALUE(): Promise; + + allowInterestRedirectionTo( + _to: string, + overrides?: TransactionOverrides + ): Promise; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(_user: string): Promise; + + burnOnLiquidation( + _account: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getInterestRedirectionAddress(_user: string): Promise; + + getRedirectedBalance(_user: string): Promise; + + getUserIndex(_user: string): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + isTransferAllowed(_user: string, _amount: BigNumberish): Promise; + + mintOnDeposit( + _account: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + principalBalanceOf(_user: string): Promise; + + redeem( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + redirectInterestStream( + _to: string, + overrides?: TransactionOverrides + ): Promise; + + redirectInterestStreamOf( + _from: string, + _to: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferOnLiquidation( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + underlyingAssetAddress(): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + BalanceTransfer( + _from: string | null, + _to: string | null, + _value: null, + _fromBalanceIncrease: null, + _toBalanceIncrease: null, + _fromIndex: null, + _toIndex: null + ): EventFilter; + + BurnOnLiquidation( + _from: string | null, + _value: null, + _fromBalanceIncrease: null, + _fromIndex: null + ): EventFilter; + + InterestRedirectionAllowanceChanged( + _from: string | null, + _to: string | null + ): EventFilter; + + InterestStreamRedirected( + _from: string | null, + _to: string | null, + _redirectedBalance: null, + _fromBalanceIncrease: null, + _fromIndex: null + ): EventFilter; + + MintOnDeposit( + _from: string | null, + _value: null, + _fromBalanceIncrease: null, + _fromIndex: null + ): EventFilter; + + Redeem( + _from: string | null, + _value: null, + _fromBalanceIncrease: null, + _fromIndex: null + ): EventFilter; + + RedirectedBalanceUpdated( + _targetAddress: string | null, + _targetBalanceIncrease: null, + _targetIndex: null, + _redirectedBalanceAdded: null, + _redirectedBalanceRemoved: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + UINT_MAX_VALUE(): Promise; + + allowInterestRedirectionTo(_to: string): Promise; + + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(_user: string): Promise; + + burnOnLiquidation( + _account: string, + _value: BigNumberish + ): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + getInterestRedirectionAddress(_user: string): Promise; + + getRedirectedBalance(_user: string): Promise; + + getUserIndex(_user: string): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + isTransferAllowed(_user: string, _amount: BigNumberish): Promise; + + mintOnDeposit(_account: string, _amount: BigNumberish): Promise; + + name(): Promise; + + principalBalanceOf(_user: string): Promise; + + redeem(_amount: BigNumberish): Promise; + + redirectInterestStream(_to: string): Promise; + + redirectInterestStreamOf(_from: string, _to: string): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + + transferOnLiquidation( + _from: string, + _to: string, + _value: BigNumberish + ): Promise; + + underlyingAssetAddress(): Promise; + }; +} diff --git a/types/ATokenFactory.ts b/types/ATokenFactory.ts new file mode 100644 index 00000000..d29ef4b5 --- /dev/null +++ b/types/ATokenFactory.ts @@ -0,0 +1,844 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { AToken } from "./AToken"; + +export class ATokenFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _addressesProvider: string, + _underlyingAsset: string, + _underlyingAssetDecimals: BigNumberish, + _name: string, + _symbol: string, + overrides?: TransactionOverrides + ): Promise { + return super.deploy( + _addressesProvider, + _underlyingAsset, + _underlyingAssetDecimals, + _name, + _symbol, + overrides + ) as Promise; + } + getDeployTransaction( + _addressesProvider: string, + _underlyingAsset: string, + _underlyingAssetDecimals: BigNumberish, + _name: string, + _symbol: string, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction( + _addressesProvider, + _underlyingAsset, + _underlyingAssetDecimals, + _name, + _symbol, + overrides + ); + } + attach(address: string): AToken { + return super.attach(address) as AToken; + } + connect(signer: Signer): ATokenFactory { + return super.connect(signer) as ATokenFactory; + } + static connect(address: string, signerOrProvider: Signer | Provider): AToken { + return new Contract(address, _abi, signerOrProvider) as AToken; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "_addressesProvider", + type: "address" + }, + { + internalType: "address", + name: "_underlyingAsset", + type: "address" + }, + { + internalType: "uint8", + name: "_underlyingAssetDecimals", + type: "uint8" + }, + { + internalType: "string", + name: "_name", + type: "string" + }, + { + internalType: "string", + name: "_symbol", + type: "string" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_value", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_toBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromIndex", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_toIndex", + type: "uint256" + } + ], + name: "BalanceTransfer", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_value", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromIndex", + type: "uint256" + } + ], + name: "BurnOnLiquidation", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address" + } + ], + name: "InterestRedirectionAllowanceChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_redirectedBalance", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromIndex", + type: "uint256" + } + ], + name: "InterestStreamRedirected", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_value", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromIndex", + type: "uint256" + } + ], + name: "MintOnDeposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_from", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_value", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fromIndex", + type: "uint256" + } + ], + name: "Redeem", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_targetAddress", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_targetBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_targetIndex", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_redirectedBalanceAdded", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_redirectedBalanceRemoved", + type: "uint256" + } + ], + name: "RedirectedBalanceUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [], + name: "UINT_MAX_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_to", + type: "address" + } + ], + name: "allowInterestRedirectionTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_account", + type: "address" + }, + { + internalType: "uint256", + name: "_value", + type: "uint256" + } + ], + name: "burnOnLiquidation", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getInterestRedirectionAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getRedirectedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "isTransferAllowed", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_account", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "mintOnDeposit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "principalBalanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "redeem", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_to", + type: "address" + } + ], + name: "redirectInterestStream", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + } + ], + name: "redirectInterestStreamOf", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_value", + type: "uint256" + } + ], + name: "transferOnLiquidation", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "underlyingAssetAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b50604051620040fd380380620040fd833981810160405260a08110156200003757600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805160405193929190846401000000008211156200007657600080fd5b838201915060208201858111156200008d57600080fd5b8251866001820283011164010000000082111715620000ab57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000e1578082015181840152602081019050620000c4565b50505050905090810190601f1680156200010f5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013357600080fd5b838201915060208201858111156200014a57600080fd5b82518660018202830111640100000000821117156200016857600080fd5b8083526020830192505050908051906020019080838360005b838110156200019e57808201518184015260208101905062000181565b50505050905090810190601f168015620001cc5780820380516001836020036101000a031916815260200191505b5060405250505081818160039080519060200190620001ed92919062000593565b5080600490805190602001906200020692919062000593565b506012600560006101000a81548160ff021916908360ff160217905550505062000236836200057560201b60201c565b84600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b158015620002e057600080fd5b505afa158015620002f5573d6000803e3d6000fd5b505050506040513d60208110156200030c57600080fd5b8101908080519060200190929190505050600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015620003c657600080fd5b505afa158015620003db573d6000803e3d6000fd5b505050506040513d6020811015620003f257600080fd5b8101908080519060200190929190505050600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f58b80d6040518163ffffffff1660e01b815260040160206040518083038186803b158015620004ac57600080fd5b505afa158015620004c1573d6000803e3d6000fd5b505050506040513d6020811015620004d857600080fd5b8101908080519060200190929190505050600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000642565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005d657805160ff191683800117855562000607565b8280016001018555821562000607579182015b8281111562000606578251825591602001919060010190620005e9565b5b5090506200061691906200061a565b5090565b6200063f91905b808211156200063b57600081600090555060010162000621565b5090565b90565b613aab80620006526000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80635eae177c116100de578063a9059cbb11610097578063db006a7511610071578063db006a75146108c0578063dd62ed3e146108ee578063ee9907a414610966578063f866c319146109be57610173565b8063a9059cbb146107e4578063c634dfaa1461084a578063d0fc81d2146108a257610173565b80635eae177c146105a557806370a082311461060b57806389d1a0fc1461066357806394362e8b146106ad57806395d89b41146106fb578063a457c2d71461077e57610173565b806323b872dd1161013057806323b872dd1461035f578063313ce567146103e5578063325a9b1314610409578063395093511461046d5780633edb7cb8146104d3578063445e80101461052157610173565b806306fdde0314610178578063095ea7b3146101fb5780630e49072d1461026157806312c87c2d146102a557806318160ddd146102e95780631d51e7cf14610307575b600080fd5b610180610a2c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c05780820151818401526020810190506101a5565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102476004803603604081101561021157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ace565b604051808215151515815260200191505060405180910390f35b6102a36004803603602081101561027757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b005b6102e7600480360360208110156102bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610af9565b005b6102f1610c59565b6040518082815260200191505060405180910390f35b6103496004803603602081101561031d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d9e565b6040518082815260200191505060405180910390f35b6103cb6004803603606081101561037557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de7565b604051808215151515815260200191505060405180910390f35b6103ed610ec0565b604051808260ff1660ff16815260200191505060405180910390f35b61046b6004803603604081101561041f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ed7565b005b6104b96004803603604081101561048357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fc8565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061107b565b005b6105636004803603602081101561053757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611253565b604051808215151515815260200191505060405180910390f35b61064d6004803603602081101561062157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611395565b6040518082815260200191505060405180910390f35b61066b61150a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106f9600480360360408110156106c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611530565b005b610703611674565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610743578082015181840152602081019050610728565b50505050905090810190601f1680156107705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107ca6004803603604081101561079457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611716565b604051808215151515815260200191505060405180910390f35b610830600480360360408110156107fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117e3565b604051808215151515815260200191505060405180910390f35b61088c6004803603602081101561086057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611801565b6040518082815260200191505060405180910390f35b6108aa611813565b6040518082815260200191505060405180910390f35b6108ec600480360360208110156108d657600080fd5b8101908080359060200190929190505050611837565b005b6109506004803603604081101561090457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bad565b6040518082815260200191505060405180910390f35b6109a86004803603602081101561097c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c34565b6040518082815260200191505060405180910390f35b610a2a600480360360608110156109d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c7d565b005b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ac45780601f10610a9957610100808354040283529160200191610ac4565b820191906000526020600020905b815481529060010190602001808311610aa757829003601f168201915b5050505050905090565b6000610ae2610adb611d33565b8484611d3b565b6001905092915050565b610af63382611f32565b50565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806138716025913960400191505060405180910390fd5b80600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b60405160405180910390a350565b600080610c64612308565b90506000811415610c79576000915050610d9b565b610d97610d92600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d15e0053600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d4057600080fd5b505afa158015610d54573d6000803e3d6000fd5b505050506040513d6020811015610d6a57600080fd5b8101908080519060200190929190505050610d8484612312565b61233290919063ffffffff16565b612395565b9150505b90565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610df48484846123da565b610eb584610e00611d33565b610eb0856040518060600160405280602881526020016138b760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e66611d33565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246a9092919063ffffffff16565b611d3b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180613a3c603a913960400191505060405180910390fd5b610fc48282611f32565b5050565b6000611071610fd5611d33565b8461106c8560016000610fe6611d33565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b611d3b565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611121576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806139e56032913960400191505060405180910390fd5b600080600061112f856125b2565b93509350935050611141858386612758565b61114b8585612a4e565b600080905060006111658686612c1290919063ffffffff16565b14156111775761117486612c5c565b90505b8573ffffffffffffffffffffffffffffffffffffffff167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db8685846111bc57856111bf565b60005b60405180848152602001838152602001828152602001935050505060405180910390a2505050505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166376e9d615600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b15801561135257600080fd5b505afa158015611366573d6000803e3d6000fd5b505050506040513d602081101561137c57600080fd5b8101908080519060200190929190505050905092915050565b6000806113a183612df4565b90506000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000821480156113f75750600081145b1561140757600092505050611505565b600073ffffffffffffffffffffffffffffffffffffffff16600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156114d2576114c9816114bb866114b6858761252a90919063ffffffff16565b612e3c565b612c1290919063ffffffff16565b92505050611505565b6115006114f1826114e38785612e3c565b612c1290919063ffffffff16565b8361252a90919063ffffffff16565b925050505b919050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806139e56032913960400191505060405180910390fd5b6000806115e2846125b2565b935093505050611606846115ff858561252a90919063ffffffff16565b6000612758565b6116108484612fb5565b8373ffffffffffffffffffffffffffffffffffffffff167fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a84848460405180848152602001838152602001828152602001935050505060405180910390a250505050565b606060048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561170c5780601f106116e15761010080835404028352916020019161170c565b820191906000526020600020905b8154815290600101906020018083116116ef57829003601f168201915b5050505050905090565b60006117d9611723611d33565b846117d485604051806060016040528060258152602001613a17602591396001600061174d611d33565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246a9092919063ffffffff16565b611d3b565b6001905092915050565b60006117f76117f0611d33565b84846123da565b6001905092915050565b600061180c82612df4565b9050919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b600081116118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f416d6f756e7420746f2072656465656d206e6565647320746f206265203e203081525060200191505060405180910390fd5b60008060006118bb336125b2565b9350935093505060008490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8514156118f3578390505b8381111561194c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806137f76032913960400191505060405180910390fd5b6119563382611253565b6119c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e736665722063616e6e6f7420626520616c6c6f7765642e000000000081525060200191505060405180910390fd5b6119d3338483612758565b6119dd3382612a4e565b600080905060006119f78387612c1290919063ffffffff16565b1415611a0957611a0633612c5c565b90505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639895e3d8600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff163385611a7f878b612c1290919063ffffffff16565b6040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b158015611b2257600080fd5b505af1158015611b36573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff167fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a7646838684611b7f5786611b82565b60005b60405180848152602001838152602001828152602001935050505060405180910390a2505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806139e56032913960400191505060405180910390fd5b611d2e83838361317c565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611dc1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806139c16024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e47576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138296022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561201b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806138df602a913960400191505060405180910390fd5b60008060008061202a876125b2565b93509350935093506000831161208b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260428152602001806139096042913960600191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146120cc576120cb87600086612758565b5b8673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156121ff576000600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a734873559485858560405180848152602001838152602001828152602001935050505060405180910390a35050505050612304565b85600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061228987846000612758565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a734873559485858560405180848152602001838152602001828152602001935050505060405180910390a350505050505b5050565b6000600254905090565b600061232b633b9aca00836132f990919063ffffffff16565b9050919050565b600061238d6b033b2e3c9fd0803ce800000061237f61235a85876132f990919063ffffffff16565b60026b033b2e3c9fd0803ce80000008161237057fe5b0461252a90919063ffffffff16565b61337f90919063ffffffff16565b905092915050565b6000806002633b9aca00816123a657fe5b0490506123d2633b9aca006123c4858461252a90919063ffffffff16565b61337f90919063ffffffff16565b915050919050565b82816123e68282611253565b612458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e736665722063616e6e6f7420626520616c6c6f7765642e000000000081525060200191505060405180910390fd5b61246385858561317c565b5050505050565b6000838311158290612517576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124dc5780820151818401526020810190506124c1565b50505050905090810190601f1680156125095780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156125a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060008060006125c386612df4565b905060006125e2826125d489611395565b612c1290919063ffffffff16565b90506125ee8782612fb5565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d15e0053600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156126b157600080fd5b505afa1580156126c5573d6000803e3d6000fd5b505050506040513d60208110156126db57600080fd5b8101908080519060200190929190505050600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055905082612744838561252a90919063ffffffff16565b838396509650965096505050509193509193565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156127f75750612a49565b600080612803836125b2565b93509350505061286d8461285f87600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b612c1290919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146129de5761299a83600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff167f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f848489896040518085815260200184815260200183815260200182815260200194505050505060405180910390a2505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ad4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061397b6021913960400191505060405180910390fd5b612ae0826000836133c9565b612b4b816040518060600160405280602281526020016137d5602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246a9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ba281600254612c1290919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000612c5483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061246a565b905092915050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594600080600060405180848152602001838152602001828152602001935050505060405180910390a36000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612dea576000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050612def565b600090505b919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000612fad612fa8600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f9a600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d15e0053600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612f4857600080fd5b505afa158015612f5c573d6000803e3d6000fd5b505050506040513d6020811015612f7257600080fd5b8101908080519060200190929190505050612f8c87612312565b61233290919063ffffffff16565b6133ce90919063ffffffff16565b612395565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b613064600083836133c9565b6130798160025461252a90919063ffffffff16565b6002819055506130d0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600081116131d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061394b6030913960400191505060405180910390fd5b60008060006131e3866125b2565b935093509350506000806131f6876125b2565b935093505050613207888588612758565b6132258761321e888561252a90919063ffffffff16565b6000612758565b61323088888861342a565b6000809050600061324a8888612c1290919063ffffffff16565b141561325c5761325989612c5c565b90505b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde8898887866132b957896132bc565b60005b88604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3505050505050505050565b60008083141561330c5760009050613379565b600082840290508284828161331d57fe5b0414613374576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138966021913960400191505060405180910390fd5b809150505b92915050565b60006133c183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506136eb565b905092915050565b505050565b600080600283816133db57fe5b049050613421836134136134046b033b2e3c9fd0803ce8000000886132f990919063ffffffff16565b8461252a90919063ffffffff16565b61337f90919063ffffffff16565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156134b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061399c6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806137b26023913960400191505060405180910390fd5b6135418383836133c9565b6135ac8160405180606001604052806026815260200161384b602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246a9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061363f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008083118290613797576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561375c578082015181840152602081019050613741565b50505050905090810190601f1680156137895780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816137a357fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a264697066735822122088d750a4e3b3943503e728f5a5fb21f6a77c593a73246a90c2869cdebaae015964736f6c63430006080033"; diff --git a/types/AddressStorage.d.ts b/types/AddressStorage.d.ts new file mode 100644 index 00000000..1d324de0 --- /dev/null +++ b/types/AddressStorage.d.ts @@ -0,0 +1,50 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface AddressStorageInterface extends Interface { + functions: { + getAddress: TypedFunctionDescription<{ + encode([_key]: [Arrayish]): string; + }>; + }; + + events: {}; +} + +export class AddressStorage extends Contract { + connect(signerOrProvider: Signer | Provider | string): AddressStorage; + attach(addressOrName: string): AddressStorage; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): AddressStorage; + once(event: EventFilter | string, listener: Listener): AddressStorage; + addListener( + eventName: EventFilter | string, + listener: Listener + ): AddressStorage; + removeAllListeners(eventName: EventFilter | string): AddressStorage; + removeListener(eventName: any, listener: Listener): AddressStorage; + + interface: AddressStorageInterface; + + functions: { + getAddress(_key: Arrayish): Promise; + }; + + getAddress(_key: Arrayish): Promise; + + filters: {}; + + estimate: { + getAddress(_key: Arrayish): Promise; + }; +} diff --git a/types/AddressStorageFactory.ts b/types/AddressStorageFactory.ts new file mode 100644 index 00000000..05f7062c --- /dev/null +++ b/types/AddressStorageFactory.ts @@ -0,0 +1,59 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { AddressStorage } from "./AddressStorage"; + +export class AddressStorageFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): AddressStorage { + return super.attach(address) as AddressStorage; + } + connect(signer: Signer): AddressStorageFactory { + return super.connect(signer) as AddressStorageFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): AddressStorage { + return new Contract(address, _abi, signerOrProvider) as AddressStorage; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_key", + type: "bytes32" + } + ], + name: "getAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5061010a806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806321f8a72114602d575b600080fd5b605660048036036020811015604157600080fd5b81019080803590602001909291905050506098565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905091905056fea2646970667358221220a16c9e7d045268148ef25ca3a4b35c2d6af3954ef6b65238e4dc4a8820245b4c64736f6c63430006080033"; diff --git a/types/AdminUpgradeabilityProxy.d.ts b/types/AdminUpgradeabilityProxy.d.ts new file mode 100644 index 00000000..a7fe4958 --- /dev/null +++ b/types/AdminUpgradeabilityProxy.d.ts @@ -0,0 +1,130 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface AdminUpgradeabilityProxyInterface extends Interface { + functions: { + admin: TypedFunctionDescription<{ encode([]: []): string }>; + + changeAdmin: TypedFunctionDescription<{ + encode([newAdmin]: [string]): string; + }>; + + implementation: TypedFunctionDescription<{ encode([]: []): string }>; + + upgradeTo: TypedFunctionDescription<{ + encode([newImplementation]: [string]): string; + }>; + + upgradeToAndCall: TypedFunctionDescription<{ + encode([newImplementation, data]: [string, Arrayish]): string; + }>; + }; + + events: { + AdminChanged: TypedEventDescription<{ + encodeTopics([previousAdmin, newAdmin]: [null, null]): string[]; + }>; + + Upgraded: TypedEventDescription<{ + encodeTopics([implementation]: [string | null]): string[]; + }>; + }; +} + +export class AdminUpgradeabilityProxy extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): AdminUpgradeabilityProxy; + attach(addressOrName: string): AdminUpgradeabilityProxy; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): AdminUpgradeabilityProxy; + once( + event: EventFilter | string, + listener: Listener + ): AdminUpgradeabilityProxy; + addListener( + eventName: EventFilter | string, + listener: Listener + ): AdminUpgradeabilityProxy; + removeAllListeners(eventName: EventFilter | string): AdminUpgradeabilityProxy; + removeListener(eventName: any, listener: Listener): AdminUpgradeabilityProxy; + + interface: AdminUpgradeabilityProxyInterface; + + functions: { + admin(overrides?: TransactionOverrides): Promise; + + changeAdmin( + newAdmin: string, + overrides?: TransactionOverrides + ): Promise; + + implementation( + overrides?: TransactionOverrides + ): Promise; + + upgradeTo( + newImplementation: string, + overrides?: TransactionOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + admin(overrides?: TransactionOverrides): Promise; + + changeAdmin( + newAdmin: string, + overrides?: TransactionOverrides + ): Promise; + + implementation( + overrides?: TransactionOverrides + ): Promise; + + upgradeTo( + newImplementation: string, + overrides?: TransactionOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + AdminChanged(previousAdmin: null, newAdmin: null): EventFilter; + + Upgraded(implementation: string | null): EventFilter; + }; + + estimate: { + admin(): Promise; + + changeAdmin(newAdmin: string): Promise; + + implementation(): Promise; + + upgradeTo(newImplementation: string): Promise; + + upgradeToAndCall( + newImplementation: string, + data: Arrayish + ): Promise; + }; +} diff --git a/types/AdminUpgradeabilityProxyFactory.ts b/types/AdminUpgradeabilityProxyFactory.ts new file mode 100644 index 00000000..b6394977 --- /dev/null +++ b/types/AdminUpgradeabilityProxyFactory.ts @@ -0,0 +1,184 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { Arrayish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { AdminUpgradeabilityProxy } from "./AdminUpgradeabilityProxy"; + +export class AdminUpgradeabilityProxyFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _logic: string, + _admin: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_logic, _admin, _data, overrides) as Promise< + AdminUpgradeabilityProxy + >; + } + getDeployTransaction( + _logic: string, + _admin: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_logic, _admin, _data, overrides); + } + attach(address: string): AdminUpgradeabilityProxy { + return super.attach(address) as AdminUpgradeabilityProxy; + } + connect(signer: Signer): AdminUpgradeabilityProxyFactory { + return super.connect(signer) as AdminUpgradeabilityProxyFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): AdminUpgradeabilityProxy { + return new Contract( + address, + _abi, + signerOrProvider + ) as AdminUpgradeabilityProxy; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x6080604052604051610d2c380380610d2c8339818101604052606081101561002657600080fd5b8101908080519060200190929190805190602001909291908051604051939291908464010000000082111561005a57600080fd5b8382019150602082018581111561007057600080fd5b825186600182028301116401000000008211171561008d57600080fd5b8083526020830192505050908051906020019080838360005b838110156100c15780820151818401526020810190506100a6565b50505050905090810190601f1680156100ee5780820380516001836020036101000a031916815260200191505b506040525050508281600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b1461016157fe5b610170826102bf60201b60201c565b60008151111561023c5760008273ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b602083106101c757805182526020820191506020810190506020830392506101a4565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610227576040519150601f19603f3d011682016040523d82523d6000602084013e61022c565b606091505b505090508061023a57600080fd5b505b5050600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b146102a857fe5b6102b78261035660201b60201c565b5050506103d0565b6102d28161038560201b6105b91760201c565b610327576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610cf1603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156103c757506000801b8214155b92505050919050565b610912806103df6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100625780634f1ef286146100b35780635c60da1b1461014c5780638f283970146101a3578063f851a440146101f45761005d565b3661005d5761005b61024b565b005b600080fd5b34801561006e57600080fd5b506100b16004803603602081101561008557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610265565b005b61014a600480360360408110156100c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561010657600080fd5b82018360208201111561011857600080fd5b8035906020019184600183028401116401000000008311171561013a57600080fd5b90919293919293905050506102ba565b005b34801561015857600080fd5b50610161610390565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101af57600080fd5b506101f2600480360360208110156101c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e8565b005b34801561020057600080fd5b50610209610561565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610253610604565b61026361025e61060e565b61063f565b565b61026d610665565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102ae576102a981610696565b6102b7565b6102b661024b565b5b50565b6102c2610665565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610382576102fe83610696565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610369576040519150601f19603f3d011682016040523d82523d6000602084013e61036e565b606091505b505090508061037c57600080fd5b5061038b565b61038a61024b565b5b505050565b600061039a610665565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103dc576103d561060e565b90506103e5565b6103e461024b565b5b90565b6103f0610665565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561055557600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603681526020018061086c6036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104d2610665565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610550816106e5565b61055e565b61055d61024b565b5b50565b600061056b610665565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105ad576105a6610665565b90506105b6565b6105b561024b565b5b90565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156105fb57506000801b8214155b92505050919050565b61060c610714565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e8060008114610660573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b61069f816107aa565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b61071c610665565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156107a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603281526020018061083a6032913960400191505060405180910390fd5b6107a8610837565b565b6107b3816105b9565b610808576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001806108a2603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b56fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122085caec80b6efac5b9328fdca186538e6eeb08fad4eb2a3560906c2780d455eb764736f6c6343000608003343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373"; diff --git a/types/BaseAdminUpgradeabilityProxy.d.ts b/types/BaseAdminUpgradeabilityProxy.d.ts new file mode 100644 index 00000000..0955361c --- /dev/null +++ b/types/BaseAdminUpgradeabilityProxy.d.ts @@ -0,0 +1,138 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface BaseAdminUpgradeabilityProxyInterface extends Interface { + functions: { + admin: TypedFunctionDescription<{ encode([]: []): string }>; + + changeAdmin: TypedFunctionDescription<{ + encode([newAdmin]: [string]): string; + }>; + + implementation: TypedFunctionDescription<{ encode([]: []): string }>; + + upgradeTo: TypedFunctionDescription<{ + encode([newImplementation]: [string]): string; + }>; + + upgradeToAndCall: TypedFunctionDescription<{ + encode([newImplementation, data]: [string, Arrayish]): string; + }>; + }; + + events: { + AdminChanged: TypedEventDescription<{ + encodeTopics([previousAdmin, newAdmin]: [null, null]): string[]; + }>; + + Upgraded: TypedEventDescription<{ + encodeTopics([implementation]: [string | null]): string[]; + }>; + }; +} + +export class BaseAdminUpgradeabilityProxy extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): BaseAdminUpgradeabilityProxy; + attach(addressOrName: string): BaseAdminUpgradeabilityProxy; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): BaseAdminUpgradeabilityProxy; + once( + event: EventFilter | string, + listener: Listener + ): BaseAdminUpgradeabilityProxy; + addListener( + eventName: EventFilter | string, + listener: Listener + ): BaseAdminUpgradeabilityProxy; + removeAllListeners( + eventName: EventFilter | string + ): BaseAdminUpgradeabilityProxy; + removeListener( + eventName: any, + listener: Listener + ): BaseAdminUpgradeabilityProxy; + + interface: BaseAdminUpgradeabilityProxyInterface; + + functions: { + admin(overrides?: TransactionOverrides): Promise; + + changeAdmin( + newAdmin: string, + overrides?: TransactionOverrides + ): Promise; + + implementation( + overrides?: TransactionOverrides + ): Promise; + + upgradeTo( + newImplementation: string, + overrides?: TransactionOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + admin(overrides?: TransactionOverrides): Promise; + + changeAdmin( + newAdmin: string, + overrides?: TransactionOverrides + ): Promise; + + implementation( + overrides?: TransactionOverrides + ): Promise; + + upgradeTo( + newImplementation: string, + overrides?: TransactionOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + AdminChanged(previousAdmin: null, newAdmin: null): EventFilter; + + Upgraded(implementation: string | null): EventFilter; + }; + + estimate: { + admin(): Promise; + + changeAdmin(newAdmin: string): Promise; + + implementation(): Promise; + + upgradeTo(newImplementation: string): Promise; + + upgradeToAndCall( + newImplementation: string, + data: Arrayish + ): Promise; + }; +} diff --git a/types/BaseAdminUpgradeabilityProxyFactory.ts b/types/BaseAdminUpgradeabilityProxyFactory.ts new file mode 100644 index 00000000..918a2724 --- /dev/null +++ b/types/BaseAdminUpgradeabilityProxyFactory.ts @@ -0,0 +1,152 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { BaseAdminUpgradeabilityProxy } from "./BaseAdminUpgradeabilityProxy"; + +export class BaseAdminUpgradeabilityProxyFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + overrides?: TransactionOverrides + ): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): BaseAdminUpgradeabilityProxy { + return super.attach(address) as BaseAdminUpgradeabilityProxy; + } + connect(signer: Signer): BaseAdminUpgradeabilityProxyFactory { + return super.connect(signer) as BaseAdminUpgradeabilityProxyFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): BaseAdminUpgradeabilityProxy { + return new Contract( + address, + _abi, + signerOrProvider + ) as BaseAdminUpgradeabilityProxy; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50610908806100206000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100625780634f1ef286146100b35780635c60da1b1461014c5780638f283970146101a3578063f851a440146101f45761005d565b3661005d5761005b61024b565b005b600080fd5b34801561006e57600080fd5b506100b16004803603602081101561008557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610265565b005b61014a600480360360408110156100c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561010657600080fd5b82018360208201111561011857600080fd5b8035906020019184600183028401116401000000008311171561013a57600080fd5b90919293919293905050506102ba565b005b34801561015857600080fd5b50610161610390565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101af57600080fd5b506101f2600480360360208110156101c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e8565b005b34801561020057600080fd5b50610209610561565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102536105b9565b61026361025e61064f565b610680565b565b61026d6106a6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102ae576102a9816106d7565b6102b7565b6102b661024b565b5b50565b6102c26106a6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610382576102fe836106d7565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610369576040519150601f19603f3d011682016040523d82523d6000602084013e61036e565b606091505b505090508061037c57600080fd5b5061038b565b61038a61024b565b5b505050565b600061039a6106a6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103dc576103d561064f565b90506103e5565b6103e461024b565b5b90565b6103f06106a6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561055557600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806108626036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104d26106a6565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161055081610726565b61055e565b61055d61024b565b5b50565b600061056b6106a6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105ad576105a66106a6565b90506105b6565b6105b561024b565b5b90565b6105c16106a6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610645576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806108306032913960400191505060405180910390fd5b61064d610755565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e80600081146106a1573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b6106e081610757565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b565b610760816107e4565b6107b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610898603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561082657506000801b8214155b9250505091905056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220bcf7a9ee60dd93ba2095ea1f2c9d93ef295f42fdea1cdd54f83dddb8429a479164736f6c63430006080033"; diff --git a/types/BaseUpgradeabilityProxy.d.ts b/types/BaseUpgradeabilityProxy.d.ts new file mode 100644 index 00000000..b163011a --- /dev/null +++ b/types/BaseUpgradeabilityProxy.d.ts @@ -0,0 +1,51 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface BaseUpgradeabilityProxyInterface extends Interface { + functions: {}; + + events: { + Upgraded: TypedEventDescription<{ + encodeTopics([implementation]: [string | null]): string[]; + }>; + }; +} + +export class BaseUpgradeabilityProxy extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): BaseUpgradeabilityProxy; + attach(addressOrName: string): BaseUpgradeabilityProxy; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): BaseUpgradeabilityProxy; + once( + event: EventFilter | string, + listener: Listener + ): BaseUpgradeabilityProxy; + addListener( + eventName: EventFilter | string, + listener: Listener + ): BaseUpgradeabilityProxy; + removeAllListeners(eventName: EventFilter | string): BaseUpgradeabilityProxy; + removeListener(eventName: any, listener: Listener): BaseUpgradeabilityProxy; + + interface: BaseUpgradeabilityProxyInterface; + + functions: {}; + + filters: { + Upgraded(implementation: string | null): EventFilter; + }; + + estimate: {}; +} diff --git a/types/BaseUpgradeabilityProxyFactory.ts b/types/BaseUpgradeabilityProxyFactory.ts new file mode 100644 index 00000000..26d7ed19 --- /dev/null +++ b/types/BaseUpgradeabilityProxyFactory.ts @@ -0,0 +1,61 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { BaseUpgradeabilityProxy } from "./BaseUpgradeabilityProxy"; + +export class BaseUpgradeabilityProxyFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): BaseUpgradeabilityProxy { + return super.attach(address) as BaseUpgradeabilityProxy; + } + connect(signer: Signer): BaseUpgradeabilityProxyFactory { + return super.connect(signer) as BaseUpgradeabilityProxyFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): BaseUpgradeabilityProxy { + return new Contract( + address, + _abi, + signerOrProvider + ) as BaseUpgradeabilityProxy; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060b78061001f6000396000f3fe608060405236601057600e6015565b005b600080fd5b601b6029565b60276023602b565b605c565b565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e8060008114607c573d6000f35b3d6000fdfea26469706673582212205b9fe06218823c76111682e2b2f093d5f7713a33f64a2a9d36ab2e46371e031664736f6c63430006080033"; diff --git a/types/ChainlinkProxyPriceProvider.d.ts b/types/ChainlinkProxyPriceProvider.d.ts new file mode 100644 index 00000000..ead8e048 --- /dev/null +++ b/types/ChainlinkProxyPriceProvider.d.ts @@ -0,0 +1,188 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface ChainlinkProxyPriceProviderInterface extends Interface { + functions: { + getAssetPrice: TypedFunctionDescription<{ + encode([_asset]: [string]): string; + }>; + + getAssetsPrices: TypedFunctionDescription<{ + encode([_assets]: [string[]]): string; + }>; + + getFallbackOracle: TypedFunctionDescription<{ encode([]: []): string }>; + + getSourceOfAsset: TypedFunctionDescription<{ + encode([_asset]: [string]): string; + }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + renounceOwnership: TypedFunctionDescription<{ encode([]: []): string }>; + + setAssetSources: TypedFunctionDescription<{ + encode([_assets, _sources]: [string[], string[]]): string; + }>; + + setFallbackOracle: TypedFunctionDescription<{ + encode([_fallbackOracle]: [string]): string; + }>; + + transferOwnership: TypedFunctionDescription<{ + encode([newOwner]: [string]): string; + }>; + }; + + events: { + AssetSourceUpdated: TypedEventDescription<{ + encodeTopics([asset, source]: [string | null, string | null]): string[]; + }>; + + FallbackOracleUpdated: TypedEventDescription<{ + encodeTopics([fallbackOracle]: [string | null]): string[]; + }>; + + OwnershipTransferred: TypedEventDescription<{ + encodeTopics([previousOwner, newOwner]: [ + string | null, + string | null + ]): string[]; + }>; + }; +} + +export class ChainlinkProxyPriceProvider extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): ChainlinkProxyPriceProvider; + attach(addressOrName: string): ChainlinkProxyPriceProvider; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): ChainlinkProxyPriceProvider; + once( + event: EventFilter | string, + listener: Listener + ): ChainlinkProxyPriceProvider; + addListener( + eventName: EventFilter | string, + listener: Listener + ): ChainlinkProxyPriceProvider; + removeAllListeners( + eventName: EventFilter | string + ): ChainlinkProxyPriceProvider; + removeListener( + eventName: any, + listener: Listener + ): ChainlinkProxyPriceProvider; + + interface: ChainlinkProxyPriceProviderInterface; + + functions: { + getAssetPrice(_asset: string): Promise; + + getAssetsPrices(_assets: string[]): Promise; + + getFallbackOracle(): Promise; + + getSourceOfAsset(_asset: string): Promise; + + owner(): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + setAssetSources( + _assets: string[], + _sources: string[], + overrides?: TransactionOverrides + ): Promise; + + setFallbackOracle( + _fallbackOracle: string, + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + }; + + getAssetPrice(_asset: string): Promise; + + getAssetsPrices(_assets: string[]): Promise; + + getFallbackOracle(): Promise; + + getSourceOfAsset(_asset: string): Promise; + + owner(): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + setAssetSources( + _assets: string[], + _sources: string[], + overrides?: TransactionOverrides + ): Promise; + + setFallbackOracle( + _fallbackOracle: string, + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + AssetSourceUpdated( + asset: string | null, + source: string | null + ): EventFilter; + + FallbackOracleUpdated(fallbackOracle: string | null): EventFilter; + + OwnershipTransferred( + previousOwner: string | null, + newOwner: string | null + ): EventFilter; + }; + + estimate: { + getAssetPrice(_asset: string): Promise; + + getAssetsPrices(_assets: string[]): Promise; + + getFallbackOracle(): Promise; + + getSourceOfAsset(_asset: string): Promise; + + owner(): Promise; + + renounceOwnership(): Promise; + + setAssetSources(_assets: string[], _sources: string[]): Promise; + + setFallbackOracle(_fallbackOracle: string): Promise; + + transferOwnership(newOwner: string): Promise; + }; +} diff --git a/types/ChainlinkProxyPriceProviderFactory.ts b/types/ChainlinkProxyPriceProviderFactory.ts new file mode 100644 index 00000000..ecfd15a8 --- /dev/null +++ b/types/ChainlinkProxyPriceProviderFactory.ts @@ -0,0 +1,270 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { ChainlinkProxyPriceProvider } from "./ChainlinkProxyPriceProvider"; + +export class ChainlinkProxyPriceProviderFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _assets: string[], + _sources: string[], + _fallbackOracle: string, + overrides?: TransactionOverrides + ): Promise { + return super.deploy( + _assets, + _sources, + _fallbackOracle, + overrides + ) as Promise; + } + getDeployTransaction( + _assets: string[], + _sources: string[], + _fallbackOracle: string, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction( + _assets, + _sources, + _fallbackOracle, + overrides + ); + } + attach(address: string): ChainlinkProxyPriceProvider { + return super.attach(address) as ChainlinkProxyPriceProvider; + } + connect(signer: Signer): ChainlinkProxyPriceProviderFactory { + return super.connect(signer) as ChainlinkProxyPriceProviderFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ChainlinkProxyPriceProvider { + return new Contract( + address, + _abi, + signerOrProvider + ) as ChainlinkProxyPriceProvider; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address[]", + name: "_assets", + type: "address[]" + }, + { + internalType: "address[]", + name: "_sources", + type: "address[]" + }, + { + internalType: "address", + name: "_fallbackOracle", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "asset", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "source", + type: "address" + } + ], + name: "AssetSourceUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "fallbackOracle", + type: "address" + } + ], + name: "FallbackOracleUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnershipTransferred", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + } + ], + name: "getAssetPrice", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "_assets", + type: "address[]" + } + ], + name: "getAssetsPrices", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getFallbackOracle", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + } + ], + name: "getSourceOfAsset", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "_assets", + type: "address[]" + }, + { + internalType: "address[]", + name: "_sources", + type: "address[]" + } + ], + name: "setAssetSources", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_fallbackOracle", + type: "address" + } + ], + name: "setFallbackOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040516200163538038062001635833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660208202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015620000c6578082015181840152602081019050620000a9565b5050505090500160405260200180516040519392919084640100000000821115620000f057600080fd5b838201915060208201858111156200010757600080fd5b82518660208202830111640100000000821117156200012557600080fd5b8083526020830192505050908051906020019060200280838360005b838110156200015e57808201518184015260208101905062000141565b505050509050016040526020018051906020019092919050505060006200018a6200025460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000239816200025c60201b60201c565b6200024b8383620002e360201b60201c565b505050620004a6565b600033905090565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb60405160405180910390a250565b80518251146200035b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f494e434f4e53495354454e545f504152414d535f4c454e47544800000000000081525060200191505060405180910390fd5b60008090505b8251811015620004a1578181815181106200037857fe5b6020026020010151600160008584815181106200039157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508181815181106200041e57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168382815181106200044957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a3808060010191505062000361565b505050565b61117f80620004b66000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806392bf2be01161006657806392bf2be01461017a5780639d23d9f2146101fe578063abfd5310146102cc578063b3596f071461039a578063f2fde38b146103f257610093565b8063170aee73146100985780636210308c146100dc578063715018a6146101265780638da5cb5b14610130575b600080fd5b6100da600480360360208110156100ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610436565b005b6100e461050b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61012e610535565b005b6101386106bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101bc6004803603602081101561019057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102756004803603602081101561021457600080fd5b810190808035906020019064010000000081111561023157600080fd5b82018360208201111561024357600080fd5b8035906020019184602083028401116401000000008311171561026557600080fd5b909192939192939050505061074f565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102b857808201518184015260208101905061029d565b505050509050019250505060405180910390f35b610398600480360360408110156102e257600080fd5b81019080803590602001906401000000008111156102ff57600080fd5b82018360208201111561031157600080fd5b8035906020019184602083028401116401000000008311171561033357600080fd5b90919293919293908035906020019064010000000081111561035457600080fd5b82018360208201111561036657600080fd5b8035906020019184602083028401116401000000008311171561038857600080fd5b9091929391929390505050610810565b005b6103dc600480360360208110156103b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061096b565b6040518082815260200191505060405180910390f35b6104346004803603602081101561040857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610caf565b005b61043e610ebc565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61050881610ec4565b50565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61053d610ebc565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060808383905067ffffffffffffffff8111801561076c57600080fd5b5060405190808252806020026020018201604052801561079b5781602001602082028036833780820191505090505b50905060008090505b84849050811015610805576107e08585838181106107be57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1661096b565b8282815181106107ec57fe5b60200260200101818152505080806001019150506107a4565b508091505092915050565b610818610ebc565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610965848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050610f4b565b50505050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109d8611107565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a1c57670de0b6b3a7640000915050610caa565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b3357600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3596f07846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610af057600080fd5b505afa158015610b04573d6000803e3d6000fd5b505050506040513d6020811015610b1a57600080fd5b8101908080519060200190929190505050915050610caa565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7b57600080fd5b505afa158015610b8f573d6000803e3d6000fd5b505050506040513d6020811015610ba557600080fd5b810190808051906020019092919050505090506000811315610bcb578092505050610caa565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3596f07856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c6a57600080fd5b505afa158015610c7e573d6000803e3d6000fd5b505050506040513d6020811015610c9457600080fd5b8101908080519060200190929190505050925050505b919050565b610cb7610ebc565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dfe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806111246026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fce7a780d33665b1ea097af5f155e3821b809ecbaa839d3b33aa83ba28168cefb60405160405180910390a250565b8051825114610fc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f494e434f4e53495354454e545f504152414d535f4c454e47544800000000000081525060200191505060405180910390fd5b60008090505b825181101561110257818181518110610fdd57fe5b602002602001015160016000858481518110610ff557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081818151811061108157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168382815181106110ab57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f22c5b7b2d8561d39f7f210b6b326a1aa69f15311163082308ac4877db6339dc160405160405180910390a38080600101915050610fc8565b505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220472edb817ea27b8494ca73c279699eadeeb38ab67f452c7135049df4550b567864736f6c63430006080033"; diff --git a/types/ChainlinkUsdethOracleI.d.ts b/types/ChainlinkUsdethOracleI.d.ts new file mode 100644 index 00000000..eb82f221 --- /dev/null +++ b/types/ChainlinkUsdethOracleI.d.ts @@ -0,0 +1,52 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface ChainlinkUsdethOracleIInterface extends Interface { + functions: {}; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, answerId]: [ + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + }; +} + +export class ChainlinkUsdethOracleI extends Contract { + connect(signerOrProvider: Signer | Provider | string): ChainlinkUsdethOracleI; + attach(addressOrName: string): ChainlinkUsdethOracleI; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): ChainlinkUsdethOracleI; + once(event: EventFilter | string, listener: Listener): ChainlinkUsdethOracleI; + addListener( + eventName: EventFilter | string, + listener: Listener + ): ChainlinkUsdethOracleI; + removeAllListeners(eventName: EventFilter | string): ChainlinkUsdethOracleI; + removeListener(eventName: any, listener: Listener): ChainlinkUsdethOracleI; + + interface: ChainlinkUsdethOracleIInterface; + + functions: {}; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + answerId: BigNumberish | null + ): EventFilter; + }; + + estimate: {}; +} diff --git a/types/ChainlinkUsdethOracleIFactory.ts b/types/ChainlinkUsdethOracleIFactory.ts new file mode 100644 index 00000000..e10bef05 --- /dev/null +++ b/types/ChainlinkUsdethOracleIFactory.ts @@ -0,0 +1,42 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { ChainlinkUsdethOracleI } from "./ChainlinkUsdethOracleI"; + +export class ChainlinkUsdethOracleIFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ChainlinkUsdethOracleI { + return new Contract( + address, + _abi, + signerOrProvider + ) as ChainlinkUsdethOracleI; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "answerId", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + } +]; diff --git a/types/DefaultReserveInterestRateStrategy.d.ts b/types/DefaultReserveInterestRateStrategy.d.ts new file mode 100644 index 00000000..2e53d496 --- /dev/null +++ b/types/DefaultReserveInterestRateStrategy.d.ts @@ -0,0 +1,227 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface DefaultReserveInterestRateStrategyInterface extends Interface { + functions: { + EXCESS_UTILIZATION_RATE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + OPTIMAL_UTILIZATION_RATE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + addressesProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + baseVariableBorrowRate: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + calculateInterestRates: TypedFunctionDescription<{ + encode([ + _reserve, + _availableLiquidity, + _totalBorrowsStable, + _totalBorrowsVariable, + _averageStableBorrowRate + ]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + getBaseVariableBorrowRate: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getStableRateSlope1: TypedFunctionDescription<{ encode([]: []): string }>; + + getStableRateSlope2: TypedFunctionDescription<{ encode([]: []): string }>; + + getVariableRateSlope1: TypedFunctionDescription<{ encode([]: []): string }>; + + getVariableRateSlope2: TypedFunctionDescription<{ encode([]: []): string }>; + + reserve: TypedFunctionDescription<{ encode([]: []): string }>; + + stableRateSlope1: TypedFunctionDescription<{ encode([]: []): string }>; + + stableRateSlope2: TypedFunctionDescription<{ encode([]: []): string }>; + + variableRateSlope1: TypedFunctionDescription<{ encode([]: []): string }>; + + variableRateSlope2: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: {}; +} + +export class DefaultReserveInterestRateStrategy extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): DefaultReserveInterestRateStrategy; + attach(addressOrName: string): DefaultReserveInterestRateStrategy; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): DefaultReserveInterestRateStrategy; + once( + event: EventFilter | string, + listener: Listener + ): DefaultReserveInterestRateStrategy; + addListener( + eventName: EventFilter | string, + listener: Listener + ): DefaultReserveInterestRateStrategy; + removeAllListeners( + eventName: EventFilter | string + ): DefaultReserveInterestRateStrategy; + removeListener( + eventName: any, + listener: Listener + ): DefaultReserveInterestRateStrategy; + + interface: DefaultReserveInterestRateStrategyInterface; + + functions: { + EXCESS_UTILIZATION_RATE(): Promise; + + OPTIMAL_UTILIZATION_RATE(): Promise; + + addressesProvider(): Promise; + + baseVariableBorrowRate(): Promise; + + calculateInterestRates( + _reserve: string, + _availableLiquidity: BigNumberish, + _totalBorrowsStable: BigNumberish, + _totalBorrowsVariable: BigNumberish, + _averageStableBorrowRate: BigNumberish + ): Promise<{ + currentLiquidityRate: BigNumber; + currentStableBorrowRate: BigNumber; + currentVariableBorrowRate: BigNumber; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + }>; + + getBaseVariableBorrowRate(): Promise; + + getStableRateSlope1(): Promise; + + getStableRateSlope2(): Promise; + + getVariableRateSlope1(): Promise; + + getVariableRateSlope2(): Promise; + + reserve(): Promise; + + stableRateSlope1(): Promise; + + stableRateSlope2(): Promise; + + variableRateSlope1(): Promise; + + variableRateSlope2(): Promise; + }; + + EXCESS_UTILIZATION_RATE(): Promise; + + OPTIMAL_UTILIZATION_RATE(): Promise; + + addressesProvider(): Promise; + + baseVariableBorrowRate(): Promise; + + calculateInterestRates( + _reserve: string, + _availableLiquidity: BigNumberish, + _totalBorrowsStable: BigNumberish, + _totalBorrowsVariable: BigNumberish, + _averageStableBorrowRate: BigNumberish + ): Promise<{ + currentLiquidityRate: BigNumber; + currentStableBorrowRate: BigNumber; + currentVariableBorrowRate: BigNumber; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + }>; + + getBaseVariableBorrowRate(): Promise; + + getStableRateSlope1(): Promise; + + getStableRateSlope2(): Promise; + + getVariableRateSlope1(): Promise; + + getVariableRateSlope2(): Promise; + + reserve(): Promise; + + stableRateSlope1(): Promise; + + stableRateSlope2(): Promise; + + variableRateSlope1(): Promise; + + variableRateSlope2(): Promise; + + filters: {}; + + estimate: { + EXCESS_UTILIZATION_RATE(): Promise; + + OPTIMAL_UTILIZATION_RATE(): Promise; + + addressesProvider(): Promise; + + baseVariableBorrowRate(): Promise; + + calculateInterestRates( + _reserve: string, + _availableLiquidity: BigNumberish, + _totalBorrowsStable: BigNumberish, + _totalBorrowsVariable: BigNumberish, + _averageStableBorrowRate: BigNumberish + ): Promise; + + getBaseVariableBorrowRate(): Promise; + + getStableRateSlope1(): Promise; + + getStableRateSlope2(): Promise; + + getVariableRateSlope1(): Promise; + + getVariableRateSlope2(): Promise; + + reserve(): Promise; + + stableRateSlope1(): Promise; + + stableRateSlope2(): Promise; + + variableRateSlope1(): Promise; + + variableRateSlope2(): Promise; + }; +} diff --git a/types/DefaultReserveInterestRateStrategyFactory.ts b/types/DefaultReserveInterestRateStrategyFactory.ts new file mode 100644 index 00000000..fcfd8319 --- /dev/null +++ b/types/DefaultReserveInterestRateStrategyFactory.ts @@ -0,0 +1,353 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { DefaultReserveInterestRateStrategy } from "./DefaultReserveInterestRateStrategy"; + +export class DefaultReserveInterestRateStrategyFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _reserve: string, + _provider: string, + _baseVariableBorrowRate: BigNumberish, + _variableRateSlope1: BigNumberish, + _variableRateSlope2: BigNumberish, + _stableRateSlope1: BigNumberish, + _stableRateSlope2: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy( + _reserve, + _provider, + _baseVariableBorrowRate, + _variableRateSlope1, + _variableRateSlope2, + _stableRateSlope1, + _stableRateSlope2, + overrides + ) as Promise; + } + getDeployTransaction( + _reserve: string, + _provider: string, + _baseVariableBorrowRate: BigNumberish, + _variableRateSlope1: BigNumberish, + _variableRateSlope2: BigNumberish, + _stableRateSlope1: BigNumberish, + _stableRateSlope2: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction( + _reserve, + _provider, + _baseVariableBorrowRate, + _variableRateSlope1, + _variableRateSlope2, + _stableRateSlope1, + _stableRateSlope2, + overrides + ); + } + attach(address: string): DefaultReserveInterestRateStrategy { + return super.attach(address) as DefaultReserveInterestRateStrategy; + } + connect(signer: Signer): DefaultReserveInterestRateStrategyFactory { + return super.connect(signer) as DefaultReserveInterestRateStrategyFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): DefaultReserveInterestRateStrategy { + return new Contract( + address, + _abi, + signerOrProvider + ) as DefaultReserveInterestRateStrategy; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "contract LendingPoolAddressesProvider", + name: "_provider", + type: "address" + }, + { + internalType: "uint256", + name: "_baseVariableBorrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "_variableRateSlope1", + type: "uint256" + }, + { + internalType: "uint256", + name: "_variableRateSlope2", + type: "uint256" + }, + { + internalType: "uint256", + name: "_stableRateSlope1", + type: "uint256" + }, + { + internalType: "uint256", + name: "_stableRateSlope2", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "EXCESS_UTILIZATION_RATE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "OPTIMAL_UTILIZATION_RATE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "addressesProvider", + outputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "baseVariableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_availableLiquidity", + type: "uint256" + }, + { + internalType: "uint256", + name: "_totalBorrowsStable", + type: "uint256" + }, + { + internalType: "uint256", + name: "_totalBorrowsVariable", + type: "uint256" + }, + { + internalType: "uint256", + name: "_averageStableBorrowRate", + type: "uint256" + } + ], + name: "calculateInterestRates", + outputs: [ + { + internalType: "uint256", + name: "currentLiquidityRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "currentStableBorrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "currentVariableBorrowRate", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getBaseVariableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getStableRateSlope1", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getStableRateSlope2", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getVariableRateSlope1", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getVariableRateSlope2", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "reserve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "stableRateSlope1", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "stableRateSlope2", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "variableRateSlope1", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "variableRateSlope2", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50604051610dce380380610dce833981810160405260e081101561003357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050856000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846001819055508360028190555082600381905550816004819055508060058190555086600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050610c948061013a6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80637b832f5811610097578063ccab01a311610066578063ccab01a3146102e0578063cd3293de146102fe578063d5cd739114610348578063f420240914610366576100f5565b80637b832f581461023c578063a15f30ac1461025a578063b258954414610278578063c72c4d1014610296576100f5565b806317319873116100d3578063173198731461015457806334762ca51461017257806357e37af01461019057806365614f811461021e576100f5565b80630b3429a2146100fa5780630bdf953f1461011857806314e32da414610136575b600080fd5b610102610384565b6040518082815260200191505060405180910390f35b61012061038e565b6040518082815260200191505060405180910390f35b61013e610394565b6040518082815260200191505060405180910390f35b61015c61039e565b6040518082815260200191505060405180910390f35b61017a6103ad565b6040518082815260200191505060405180910390f35b6101fa600480360360a08110156101a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506103b7565b60405180848152602001838152602001828152602001935050505060405180910390f35b610226610705565b6040518082815260200191505060405180910390f35b61024461070b565b6040518082815260200191505060405180910390f35b610262610711565b6040518082815260200191505060405180910390f35b610280610721565b6040518082815260200191505060405180910390f35b61029e610727565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102e861074c565b6040518082815260200191505060405180910390f35b610306610752565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610350610778565b6040518082815260200191505060405180910390f35b61036e610782565b6040518082815260200191505060405180910390f35b6000600254905090565b60045481565b6000600554905090565b6aa56fa5b99019a5c800000081565b6000600154905090565b6000806000806103d0868861078c90919063ffffffff16565b9050600080821480156103e35750600089145b6104115761040c6103fd838b61078c90919063ffffffff16565b8361081490919063ffffffff16565b610414565b60005b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633618abba6040518163ffffffff1660e01b815260040160206040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d60208110156104a757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663bb85c0bb8b6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561053457600080fd5b505afa158015610548573d6000803e3d6000fd5b505050506040513d602081101561055e57600080fd5b810190808051906020019092919050505093506b0295be96e6406697200000008111156106475760006105c36aa56fa5b99019a5c80000006105b56b0295be96e6406697200000008561087090919063ffffffff16565b61081490919063ffffffff16565b90506106006105dd826005546108ba90919063ffffffff16565b6105f26004548861078c90919063ffffffff16565b61078c90919063ffffffff16565b945061063f61061a826003546108ba90919063ffffffff16565b61063160025460015461078c90919063ffffffff16565b61078c90919063ffffffff16565b9350506106d8565b61068c61067d61066c6b0295be96e6406697200000008461081490919063ffffffff16565b6004546108ba90919063ffffffff16565b8561078c90919063ffffffff16565b93506106d56106c46002546106b66b0295be96e6406697200000008561081490919063ffffffff16565b6108ba90919063ffffffff16565b60015461078c90919063ffffffff16565b92505b6106f6816106e88a8a878b61091d565b6108ba90919063ffffffff16565b94505050955095509592505050565b60035481565b60025481565b6b0295be96e64066972000000081565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600454905090565b6000600354905090565b60008082840190508381101561080a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000806002838161082157fe5b0490506108678361085961084a6b033b2e3c9fd0803ce8000000886109c790919063ffffffff16565b8461078c90919063ffffffff16565b610a4d90919063ffffffff16565b91505092915050565b60006108b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a97565b905092915050565b60006109156b033b2e3c9fd0803ce80000006109076108e285876109c790919063ffffffff16565b60026b033b2e3c9fd0803ce8000000816108f857fe5b0461078c90919063ffffffff16565b610a4d90919063ffffffff16565b905092915050565b600080610933858761078c90919063ffffffff16565b905060008114156109485760009150506109bf565b60006109658561095788610b57565b6108ba90919063ffffffff16565b90506000610984856109768a610b57565b6108ba90919063ffffffff16565b905060006109b561099485610b57565b6109a7848661078c90919063ffffffff16565b61081490919063ffffffff16565b9050809450505050505b949350505050565b6000808314156109da5760009050610a47565b60008284029050828482816109eb57fe5b0414610a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610c3e6021913960400191505060405180910390fd5b809150505b92915050565b6000610a8f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b77565b905092915050565b6000838311158290610b44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b09578082015181840152602081019050610aee565b50505050905090810190601f168015610b365780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000610b70633b9aca00836109c790919063ffffffff16565b9050919050565b60008083118290610c23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610be8578082015181840152602081019050610bcd565b50505050905090810190601f168015610c155780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610c2f57fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122051b1aa5f797a4c9bfdfac84cc76058f103fe35d1c913128f7d3bcdd9b2785a5664736f6c63430006080033"; diff --git a/types/Erc20.d.ts b/types/Erc20.d.ts new file mode 100644 index 00000000..921995d4 --- /dev/null +++ b/types/Erc20.d.ts @@ -0,0 +1,219 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface Erc20Interface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class Erc20 extends Contract { + connect(signerOrProvider: Signer | Provider | string): Erc20; + attach(addressOrName: string): Erc20; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): Erc20; + once(event: EventFilter | string, listener: Listener): Erc20; + addListener(eventName: EventFilter | string, listener: Listener): Erc20; + removeAllListeners(eventName: EventFilter | string): Erc20; + removeListener(eventName: any, listener: Listener): Erc20; + + interface: Erc20Interface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/Erc20Burnable.d.ts b/types/Erc20Burnable.d.ts new file mode 100644 index 00000000..b5a370c2 --- /dev/null +++ b/types/Erc20Burnable.d.ts @@ -0,0 +1,256 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface Erc20BurnableInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + burn: TypedFunctionDescription<{ + encode([amount]: [BigNumberish]): string; + }>; + + burnFrom: TypedFunctionDescription<{ + encode([account, amount]: [string, BigNumberish]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class Erc20Burnable extends Contract { + connect(signerOrProvider: Signer | Provider | string): Erc20Burnable; + attach(addressOrName: string): Erc20Burnable; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): Erc20Burnable; + once(event: EventFilter | string, listener: Listener): Erc20Burnable; + addListener( + eventName: EventFilter | string, + listener: Listener + ): Erc20Burnable; + removeAllListeners(eventName: EventFilter | string): Erc20Burnable; + removeListener(eventName: any, listener: Listener): Erc20Burnable; + + interface: Erc20BurnableInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + burn( + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + burnFrom( + account: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + burn( + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + burnFrom( + account: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + burn(amount: BigNumberish): Promise; + + burnFrom(account: string, amount: BigNumberish): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/Erc20BurnableFactory.ts b/types/Erc20BurnableFactory.ts new file mode 100644 index 00000000..63a81044 --- /dev/null +++ b/types/Erc20BurnableFactory.ts @@ -0,0 +1,320 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { Erc20Burnable } from "./Erc20Burnable"; + +export class Erc20BurnableFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Erc20Burnable { + return new Contract(address, _abi, signerOrProvider) as Erc20Burnable; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/Erc20Factory.ts b/types/Erc20Factory.ts new file mode 100644 index 00000000..97048599 --- /dev/null +++ b/types/Erc20Factory.ts @@ -0,0 +1,331 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { Erc20 } from "./Erc20"; + +export class Erc20Factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + name: string, + symbol: string, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(name, symbol, overrides) as Promise; + } + getDeployTransaction( + name: string, + symbol: string, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(name, symbol, overrides); + } + attach(address: string): Erc20 { + return super.attach(address) as Erc20; + } + connect(signer: Signer): Erc20Factory { + return super.connect(signer) as Erc20Factory; + } + static connect(address: string, signerOrProvider: Signer | Provider): Erc20 { + return new Contract(address, _abi, signerOrProvider) as Erc20; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "name", + type: "string" + }, + { + internalType: "string", + name: "symbol", + type: "string" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b50604051620013bb380380620013bb833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b506040525050508160039080519060200190620001cd9291906200020b565b508060049080519060200190620001e69291906200020b565b506012600560006101000a81548160ff021916908360ff1602179055505050620002ba565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024e57805160ff19168380011785556200027f565b828001600101855582156200027f579182015b828111156200027e57825182559160200191906001019062000261565b5b5090506200028e919062000292565b5090565b620002b791905b80821115620002b357600081600090555060010162000299565b5090565b90565b6110f180620002ca6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161102660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161109760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110736024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fde6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061104e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fbb6023913960400191505060405180910390fd5b610cc3838383610fb5565b610d2e81604051806060016040528060268152602001611000602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a6aa56672ff7d704de3780a7c086364b968f9ade39fd86612d01f6207546d9f464736f6c63430006080033"; diff --git a/types/FeeProvider.d.ts b/types/FeeProvider.d.ts new file mode 100644 index 00000000..d76db24a --- /dev/null +++ b/types/FeeProvider.d.ts @@ -0,0 +1,100 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface FeeProviderInterface extends Interface { + functions: { + FEE_PROVIDER_REVISION: TypedFunctionDescription<{ encode([]: []): string }>; + + calculateLoanOriginationFee: TypedFunctionDescription<{ + encode([_user, _amount]: [string, BigNumberish]): string; + }>; + + getLoanOriginationFeePercentage: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + initialize: TypedFunctionDescription<{ + encode([_addressesProvider]: [string]): string; + }>; + + originationFeePercentage: TypedFunctionDescription<{ + encode([]: []): string; + }>; + }; + + events: {}; +} + +export class FeeProvider extends Contract { + connect(signerOrProvider: Signer | Provider | string): FeeProvider; + attach(addressOrName: string): FeeProvider; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): FeeProvider; + once(event: EventFilter | string, listener: Listener): FeeProvider; + addListener(eventName: EventFilter | string, listener: Listener): FeeProvider; + removeAllListeners(eventName: EventFilter | string): FeeProvider; + removeListener(eventName: any, listener: Listener): FeeProvider; + + interface: FeeProviderInterface; + + functions: { + FEE_PROVIDER_REVISION(): Promise; + + calculateLoanOriginationFee( + _user: string, + _amount: BigNumberish + ): Promise; + + getLoanOriginationFeePercentage(): Promise; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + originationFeePercentage(): Promise; + }; + + FEE_PROVIDER_REVISION(): Promise; + + calculateLoanOriginationFee( + _user: string, + _amount: BigNumberish + ): Promise; + + getLoanOriginationFeePercentage(): Promise; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + originationFeePercentage(): Promise; + + filters: {}; + + estimate: { + FEE_PROVIDER_REVISION(): Promise; + + calculateLoanOriginationFee( + _user: string, + _amount: BigNumberish + ): Promise; + + getLoanOriginationFeePercentage(): Promise; + + initialize(_addressesProvider: string): Promise; + + originationFeePercentage(): Promise; + }; +} diff --git a/types/FeeProviderFactory.ts b/types/FeeProviderFactory.ts new file mode 100644 index 00000000..ad1e49c3 --- /dev/null +++ b/types/FeeProviderFactory.ts @@ -0,0 +1,116 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { FeeProvider } from "./FeeProvider"; + +export class FeeProviderFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): FeeProvider { + return super.attach(address) as FeeProvider; + } + connect(signer: Signer): FeeProviderFactory { + return super.connect(signer) as FeeProviderFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): FeeProvider { + return new Contract(address, _abi, signerOrProvider) as FeeProvider; + } +} + +const _abi = [ + { + inputs: [], + name: "FEE_PROVIDER_REVISION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "calculateLoanOriginationFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLoanOriginationFeePercentage", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_addressesProvider", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "originationFeePercentage", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x60806040526000805534801561001457600080fd5b506105a6806100246000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80639403ed3a1461005c578063b0d73d4e1461007a578063c211f9a414610098578063c4d66de8146100b6578063e563a7d0146100fa575b600080fd5b61006461015c565b6040518082815260200191505060405180910390f35b610082610162565b6040518082815260200191505060405180910390f35b6100a0610167565b6040518082815260200191505060405180910390f35b6100f8600480360360208110156100cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610171565b005b6101466004803603604081101561011057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061026f565b6040518082815260200191505060405180910390f35b60345481565b600181565b6000603454905090565b600061017b61028e565b9050600160009054906101000a900460ff168061019c575061019b610297565b5b806101a8575060005481115b6101fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610543602e913960400191505060405180910390fd5b6000600160009054906101000a900460ff16159050801561023a5760018060006101000a81548160ff021916908315150217905550816000819055505b6608e1bc9bf04000603481905550801561026a576000600160006101000a81548160ff0219169083151502179055505b505050565b6000610286603454836102a890919063ffffffff16565b905092915050565b60006001905090565b600080303b90506000811491505090565b60006102fb670de0b6b3a76400006102ed6102cc858761030390919063ffffffff16565b6002670de0b6b3a7640000816102de57fe5b0461038990919063ffffffff16565b61041190919063ffffffff16565b905092915050565b6000808314156103165760009050610383565b600082840290508284828161032757fe5b041461037e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806105226021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015610407576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061045383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061045b565b905092915050565b60008083118290610507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104cc5780820151818401526020810190506104b1565b50505050905090810190601f1680156104f95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161051357fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a264697066735822122089bcac65a55f6d08c407c046f359ea89e8c8a9faef3d94cacf55fb22990f71fb64736f6c63430006080033"; diff --git a/types/FlashLoanReceiverBase.d.ts b/types/FlashLoanReceiverBase.d.ts new file mode 100644 index 00000000..b190f91d --- /dev/null +++ b/types/FlashLoanReceiverBase.d.ts @@ -0,0 +1,80 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface FlashLoanReceiverBaseInterface extends Interface { + functions: { + addressesProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + executeOperation: TypedFunctionDescription<{ + encode([_reserve, _amount, _fee, _params]: [ + string, + BigNumberish, + BigNumberish, + Arrayish + ]): string; + }>; + }; + + events: {}; +} + +export class FlashLoanReceiverBase extends Contract { + connect(signerOrProvider: Signer | Provider | string): FlashLoanReceiverBase; + attach(addressOrName: string): FlashLoanReceiverBase; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): FlashLoanReceiverBase; + once(event: EventFilter | string, listener: Listener): FlashLoanReceiverBase; + addListener( + eventName: EventFilter | string, + listener: Listener + ): FlashLoanReceiverBase; + removeAllListeners(eventName: EventFilter | string): FlashLoanReceiverBase; + removeListener(eventName: any, listener: Listener): FlashLoanReceiverBase; + + interface: FlashLoanReceiverBaseInterface; + + functions: { + addressesProvider(): Promise; + + executeOperation( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _params: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + addressesProvider(): Promise; + + executeOperation( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _params: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + addressesProvider(): Promise; + + executeOperation( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _params: Arrayish + ): Promise; + }; +} diff --git a/types/FlashLoanReceiverBaseFactory.ts b/types/FlashLoanReceiverBaseFactory.ts new file mode 100644 index 00000000..3921f8ad --- /dev/null +++ b/types/FlashLoanReceiverBaseFactory.ts @@ -0,0 +1,79 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { FlashLoanReceiverBase } from "./FlashLoanReceiverBase"; + +export class FlashLoanReceiverBaseFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): FlashLoanReceiverBase { + return new Contract( + address, + _abi, + signerOrProvider + ) as FlashLoanReceiverBase; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "contract ILendingPoolAddressesProvider", + name: "_provider", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "addressesProvider", + outputs: [ + { + internalType: "contract ILendingPoolAddressesProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "bytes", + name: "_params", + type: "bytes" + } + ], + name: "executeOperation", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; diff --git a/types/GenericOracleI.d.ts b/types/GenericOracleI.d.ts new file mode 100644 index 00000000..bad14d31 --- /dev/null +++ b/types/GenericOracleI.d.ts @@ -0,0 +1,86 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface GenericOracleIInterface extends Interface { + functions: { + getAssetPrice: TypedFunctionDescription<{ + encode([_asset]: [string]): string; + }>; + + getEthUsdPrice: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AssetPriceUpdated: TypedEventDescription<{ + encodeTopics([_asset, _price, timestamp]: [null, null, null]): string[]; + }>; + + EthPriceUpdated: TypedEventDescription<{ + encodeTopics([_price, timestamp]: [null, null]): string[]; + }>; + + ProphecySubmitted: TypedEventDescription<{ + encodeTopics([_sybil, _asset, _sybilProphecy, _oracleProphecy]: [ + string | null, + string | null, + null, + null + ]): string[]; + }>; + }; +} + +export class GenericOracleI extends Contract { + connect(signerOrProvider: Signer | Provider | string): GenericOracleI; + attach(addressOrName: string): GenericOracleI; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): GenericOracleI; + once(event: EventFilter | string, listener: Listener): GenericOracleI; + addListener( + eventName: EventFilter | string, + listener: Listener + ): GenericOracleI; + removeAllListeners(eventName: EventFilter | string): GenericOracleI; + removeListener(eventName: any, listener: Listener): GenericOracleI; + + interface: GenericOracleIInterface; + + functions: { + getAssetPrice(_asset: string): Promise; + + getEthUsdPrice(): Promise; + }; + + getAssetPrice(_asset: string): Promise; + + getEthUsdPrice(): Promise; + + filters: { + AssetPriceUpdated(_asset: null, _price: null, timestamp: null): EventFilter; + + EthPriceUpdated(_price: null, timestamp: null): EventFilter; + + ProphecySubmitted( + _sybil: string | null, + _asset: string | null, + _sybilProphecy: null, + _oracleProphecy: null + ): EventFilter; + }; + + estimate: { + getAssetPrice(_asset: string): Promise; + + getEthUsdPrice(): Promise; + }; +} diff --git a/types/GenericOracleIFactory.ts b/types/GenericOracleIFactory.ts new file mode 100644 index 00000000..2821eb01 --- /dev/null +++ b/types/GenericOracleIFactory.ts @@ -0,0 +1,126 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { GenericOracleI } from "./GenericOracleI"; + +export class GenericOracleIFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): GenericOracleI { + return new Contract(address, _abi, signerOrProvider) as GenericOracleI; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_asset", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_price", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AssetPriceUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "_price", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "EthPriceUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_sybil", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_asset", + type: "address" + }, + { + indexed: false, + internalType: "uint96", + name: "_sybilProphecy", + type: "uint96" + }, + { + indexed: false, + internalType: "uint96", + name: "_oracleProphecy", + type: "uint96" + } + ], + name: "ProphecySubmitted", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + } + ], + name: "getAssetPrice", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getEthUsdPrice", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; diff --git a/types/IChainlinkAggregator.d.ts b/types/IChainlinkAggregator.d.ts new file mode 100644 index 00000000..0297b369 --- /dev/null +++ b/types/IChainlinkAggregator.d.ts @@ -0,0 +1,110 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IChainlinkAggregatorInterface extends Interface { + functions: { + getAnswer: TypedFunctionDescription<{ + encode([roundId]: [BigNumberish]): string; + }>; + + getTimestamp: TypedFunctionDescription<{ + encode([roundId]: [BigNumberish]): string; + }>; + + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + + latestRound: TypedFunctionDescription<{ encode([]: []): string }>; + + latestTimestamp: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + + NewRound: TypedEventDescription<{ + encodeTopics([roundId, startedBy]: [ + BigNumberish | null, + string | null + ]): string[]; + }>; + }; +} + +export class IChainlinkAggregator extends Contract { + connect(signerOrProvider: Signer | Provider | string): IChainlinkAggregator; + attach(addressOrName: string): IChainlinkAggregator; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IChainlinkAggregator; + once(event: EventFilter | string, listener: Listener): IChainlinkAggregator; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IChainlinkAggregator; + removeAllListeners(eventName: EventFilter | string): IChainlinkAggregator; + removeListener(eventName: any, listener: Listener): IChainlinkAggregator; + + interface: IChainlinkAggregatorInterface; + + functions: { + getAnswer(roundId: BigNumberish): Promise; + + getTimestamp(roundId: BigNumberish): Promise; + + latestAnswer(): Promise; + + latestRound(): Promise; + + latestTimestamp(): Promise; + }; + + getAnswer(roundId: BigNumberish): Promise; + + getTimestamp(roundId: BigNumberish): Promise; + + latestAnswer(): Promise; + + latestRound(): Promise; + + latestTimestamp(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + + NewRound( + roundId: BigNumberish | null, + startedBy: string | null + ): EventFilter; + }; + + estimate: { + getAnswer(roundId: BigNumberish): Promise; + + getTimestamp(roundId: BigNumberish): Promise; + + latestAnswer(): Promise; + + latestRound(): Promise; + + latestTimestamp(): Promise; + }; +} diff --git a/types/IChainlinkAggregatorFactory.ts b/types/IChainlinkAggregatorFactory.ts new file mode 100644 index 00000000..d4ae5fc1 --- /dev/null +++ b/types/IChainlinkAggregatorFactory.ts @@ -0,0 +1,144 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IChainlinkAggregator } from "./IChainlinkAggregator"; + +export class IChainlinkAggregatorFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IChainlinkAggregator { + return new Contract( + address, + _abi, + signerOrProvider + ) as IChainlinkAggregator; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "startedBy", + type: "address" + } + ], + name: "NewRound", + type: "event" + }, + { + inputs: [ + { + internalType: "uint256", + name: "roundId", + type: "uint256" + } + ], + name: "getAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "roundId", + type: "uint256" + } + ], + name: "getTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "latestRound", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "latestTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; diff --git a/types/IExchangeAdapter.d.ts b/types/IExchangeAdapter.d.ts new file mode 100644 index 00000000..d6c8bcfb --- /dev/null +++ b/types/IExchangeAdapter.d.ts @@ -0,0 +1,106 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IExchangeAdapterInterface extends Interface { + functions: { + approveExchange: TypedFunctionDescription<{ + encode([_tokens]: [string[]]): string; + }>; + + exchange: TypedFunctionDescription<{ + encode([_from, _to, _amount, _maxSlippage]: [ + string, + string, + BigNumberish, + BigNumberish + ]): string; + }>; + }; + + events: { + Exchange: TypedEventDescription<{ + encodeTopics([from, to, platform, fromAmount, toAmount]: [ + string | null, + string | null, + string | null, + null, + null + ]): string[]; + }>; + }; +} + +export class IExchangeAdapter extends Contract { + connect(signerOrProvider: Signer | Provider | string): IExchangeAdapter; + attach(addressOrName: string): IExchangeAdapter; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IExchangeAdapter; + once(event: EventFilter | string, listener: Listener): IExchangeAdapter; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IExchangeAdapter; + removeAllListeners(eventName: EventFilter | string): IExchangeAdapter; + removeListener(eventName: any, listener: Listener): IExchangeAdapter; + + interface: IExchangeAdapterInterface; + + functions: { + approveExchange( + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + exchange( + _from: string, + _to: string, + _amount: BigNumberish, + _maxSlippage: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + approveExchange( + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + exchange( + _from: string, + _to: string, + _amount: BigNumberish, + _maxSlippage: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Exchange( + from: string | null, + to: string | null, + platform: string | null, + fromAmount: null, + toAmount: null + ): EventFilter; + }; + + estimate: { + approveExchange(_tokens: string[]): Promise; + + exchange( + _from: string, + _to: string, + _amount: BigNumberish, + _maxSlippage: BigNumberish + ): Promise; + }; +} diff --git a/types/IExchangeAdapterFactory.ts b/types/IExchangeAdapterFactory.ts new file mode 100644 index 00000000..3e4d6c85 --- /dev/null +++ b/types/IExchangeAdapterFactory.ts @@ -0,0 +1,103 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IExchangeAdapter } from "./IExchangeAdapter"; + +export class IExchangeAdapterFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IExchangeAdapter { + return new Contract(address, _abi, signerOrProvider) as IExchangeAdapter; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "platform", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fromAmount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "toAmount", + type: "uint256" + } + ], + name: "Exchange", + type: "event" + }, + { + inputs: [ + { + internalType: "contract IERC20[]", + name: "_tokens", + type: "address[]" + } + ], + name: "approveExchange", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "_maxSlippage", + type: "uint256" + } + ], + name: "exchange", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/IExtendedPriceAggregator.d.ts b/types/IExtendedPriceAggregator.d.ts new file mode 100644 index 00000000..68184651 --- /dev/null +++ b/types/IExtendedPriceAggregator.d.ts @@ -0,0 +1,99 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IExtendedPriceAggregatorInterface extends Interface { + functions: { + getPlatformId: TypedFunctionDescription<{ encode([]: []): string }>; + + getSubTokens: TypedFunctionDescription<{ encode([]: []): string }>; + + getToken: TypedFunctionDescription<{ encode([]: []): string }>; + + getTokenType: TypedFunctionDescription<{ encode([]: []): string }>; + + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class IExtendedPriceAggregator extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): IExtendedPriceAggregator; + attach(addressOrName: string): IExtendedPriceAggregator; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IExtendedPriceAggregator; + once( + event: EventFilter | string, + listener: Listener + ): IExtendedPriceAggregator; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IExtendedPriceAggregator; + removeAllListeners(eventName: EventFilter | string): IExtendedPriceAggregator; + removeListener(eventName: any, listener: Listener): IExtendedPriceAggregator; + + interface: IExtendedPriceAggregatorInterface; + + functions: { + getPlatformId(): Promise; + + getSubTokens(): Promise; + + getToken(): Promise; + + getTokenType(): Promise; + + latestAnswer(): Promise; + }; + + getPlatformId(): Promise; + + getSubTokens(): Promise; + + getToken(): Promise; + + getTokenType(): Promise; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + getPlatformId(): Promise; + + getSubTokens(): Promise; + + getToken(): Promise; + + getTokenType(): Promise; + + latestAnswer(): Promise; + }; +} diff --git a/types/IExtendedPriceAggregatorFactory.ts b/types/IExtendedPriceAggregatorFactory.ts new file mode 100644 index 00000000..46f3ca12 --- /dev/null +++ b/types/IExtendedPriceAggregatorFactory.ts @@ -0,0 +1,113 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IExtendedPriceAggregator } from "./IExtendedPriceAggregator"; + +export class IExtendedPriceAggregatorFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IExtendedPriceAggregator { + return new Contract( + address, + _abi, + signerOrProvider + ) as IExtendedPriceAggregator; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "getPlatformId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getSubTokens", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getTokenType", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; diff --git a/types/IFeeProvider.d.ts b/types/IFeeProvider.d.ts new file mode 100644 index 00000000..793e8c57 --- /dev/null +++ b/types/IFeeProvider.d.ts @@ -0,0 +1,69 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IFeeProviderInterface extends Interface { + functions: { + calculateLoanOriginationFee: TypedFunctionDescription<{ + encode([_user, _amount]: [string, BigNumberish]): string; + }>; + + getLoanOriginationFeePercentage: TypedFunctionDescription<{ + encode([]: []): string; + }>; + }; + + events: {}; +} + +export class IFeeProvider extends Contract { + connect(signerOrProvider: Signer | Provider | string): IFeeProvider; + attach(addressOrName: string): IFeeProvider; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IFeeProvider; + once(event: EventFilter | string, listener: Listener): IFeeProvider; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IFeeProvider; + removeAllListeners(eventName: EventFilter | string): IFeeProvider; + removeListener(eventName: any, listener: Listener): IFeeProvider; + + interface: IFeeProviderInterface; + + functions: { + calculateLoanOriginationFee( + _user: string, + _amount: BigNumberish + ): Promise; + + getLoanOriginationFeePercentage(): Promise; + }; + + calculateLoanOriginationFee( + _user: string, + _amount: BigNumberish + ): Promise; + + getLoanOriginationFeePercentage(): Promise; + + filters: {}; + + estimate: { + calculateLoanOriginationFee( + _user: string, + _amount: BigNumberish + ): Promise; + + getLoanOriginationFeePercentage(): Promise; + }; +} diff --git a/types/IFeeProviderFactory.ts b/types/IFeeProviderFactory.ts new file mode 100644 index 00000000..18cdfcc4 --- /dev/null +++ b/types/IFeeProviderFactory.ts @@ -0,0 +1,56 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IFeeProvider } from "./IFeeProvider"; + +export class IFeeProviderFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IFeeProvider { + return new Contract(address, _abi, signerOrProvider) as IFeeProvider; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "calculateLoanOriginationFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLoanOriginationFeePercentage", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; diff --git a/types/IFlashLoanReceiver.d.ts b/types/IFlashLoanReceiver.d.ts new file mode 100644 index 00000000..57e9cc80 --- /dev/null +++ b/types/IFlashLoanReceiver.d.ts @@ -0,0 +1,72 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IFlashLoanReceiverInterface extends Interface { + functions: { + executeOperation: TypedFunctionDescription<{ + encode([_reserve, _amount, _fee, _params]: [ + string, + BigNumberish, + BigNumberish, + Arrayish + ]): string; + }>; + }; + + events: {}; +} + +export class IFlashLoanReceiver extends Contract { + connect(signerOrProvider: Signer | Provider | string): IFlashLoanReceiver; + attach(addressOrName: string): IFlashLoanReceiver; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IFlashLoanReceiver; + once(event: EventFilter | string, listener: Listener): IFlashLoanReceiver; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IFlashLoanReceiver; + removeAllListeners(eventName: EventFilter | string): IFlashLoanReceiver; + removeListener(eventName: any, listener: Listener): IFlashLoanReceiver; + + interface: IFlashLoanReceiverInterface; + + functions: { + executeOperation( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _params: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + executeOperation( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _params: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + executeOperation( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _params: Arrayish + ): Promise; + }; +} diff --git a/types/IFlashLoanReceiverFactory.ts b/types/IFlashLoanReceiverFactory.ts new file mode 100644 index 00000000..f187b29d --- /dev/null +++ b/types/IFlashLoanReceiverFactory.ts @@ -0,0 +1,47 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IFlashLoanReceiver } from "./IFlashLoanReceiver"; + +export class IFlashLoanReceiverFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IFlashLoanReceiver { + return new Contract(address, _abi, signerOrProvider) as IFlashLoanReceiver; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "bytes", + name: "_params", + type: "bytes" + } + ], + name: "executeOperation", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/IKyberNetworkProxyInterface.d.ts b/types/IKyberNetworkProxyInterface.d.ts new file mode 100644 index 00000000..e149d2c1 --- /dev/null +++ b/types/IKyberNetworkProxyInterface.d.ts @@ -0,0 +1,186 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IKyberNetworkProxyInterfaceInterface extends Interface { + functions: { + enabled: TypedFunctionDescription<{ encode([]: []): string }>; + + getExpectedRate: TypedFunctionDescription<{ + encode([src, dest, srcQty]: [string, string, BigNumberish]): string; + }>; + + getUserCapInTokenWei: TypedFunctionDescription<{ + encode([user, token]: [string, string]): string; + }>; + + getUserCapInWei: TypedFunctionDescription<{ + encode([user]: [string]): string; + }>; + + info: TypedFunctionDescription<{ encode([id]: [Arrayish]): string }>; + + maxGasPrice: TypedFunctionDescription<{ encode([]: []): string }>; + + tradeWithHint: TypedFunctionDescription<{ + encode([ + src, + srcAmount, + dest, + destAddress, + maxDestAmount, + minConversionRate, + walletId, + hint + ]: [ + string, + BigNumberish, + string, + string, + BigNumberish, + BigNumberish, + string, + Arrayish + ]): string; + }>; + }; + + events: {}; +} + +export class IKyberNetworkProxyInterface extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): IKyberNetworkProxyInterface; + attach(addressOrName: string): IKyberNetworkProxyInterface; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): IKyberNetworkProxyInterface; + once( + event: EventFilter | string, + listener: Listener + ): IKyberNetworkProxyInterface; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IKyberNetworkProxyInterface; + removeAllListeners( + eventName: EventFilter | string + ): IKyberNetworkProxyInterface; + removeListener( + eventName: any, + listener: Listener + ): IKyberNetworkProxyInterface; + + interface: IKyberNetworkProxyInterfaceInterface; + + functions: { + enabled(): Promise; + + getExpectedRate( + src: string, + dest: string, + srcQty: BigNumberish + ): Promise<{ + expectedRate: BigNumber; + slippageRate: BigNumber; + 0: BigNumber; + 1: BigNumber; + }>; + + getUserCapInTokenWei(user: string, token: string): Promise; + + getUserCapInWei(user: string): Promise; + + info(id: Arrayish): Promise; + + maxGasPrice(): Promise; + + tradeWithHint( + src: string, + srcAmount: BigNumberish, + dest: string, + destAddress: string, + maxDestAmount: BigNumberish, + minConversionRate: BigNumberish, + walletId: string, + hint: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + enabled(): Promise; + + getExpectedRate( + src: string, + dest: string, + srcQty: BigNumberish + ): Promise<{ + expectedRate: BigNumber; + slippageRate: BigNumber; + 0: BigNumber; + 1: BigNumber; + }>; + + getUserCapInTokenWei(user: string, token: string): Promise; + + getUserCapInWei(user: string): Promise; + + info(id: Arrayish): Promise; + + maxGasPrice(): Promise; + + tradeWithHint( + src: string, + srcAmount: BigNumberish, + dest: string, + destAddress: string, + maxDestAmount: BigNumberish, + minConversionRate: BigNumberish, + walletId: string, + hint: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + enabled(): Promise; + + getExpectedRate( + src: string, + dest: string, + srcQty: BigNumberish + ): Promise; + + getUserCapInTokenWei(user: string, token: string): Promise; + + getUserCapInWei(user: string): Promise; + + info(id: Arrayish): Promise; + + maxGasPrice(): Promise; + + tradeWithHint( + src: string, + srcAmount: BigNumberish, + dest: string, + destAddress: string, + maxDestAmount: BigNumberish, + minConversionRate: BigNumberish, + walletId: string, + hint: Arrayish + ): Promise; + }; +} diff --git a/types/IKyberNetworkProxyInterfaceFactory.ts b/types/IKyberNetworkProxyInterfaceFactory.ts new file mode 100644 index 00000000..22d8d676 --- /dev/null +++ b/types/IKyberNetworkProxyInterfaceFactory.ts @@ -0,0 +1,199 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IKyberNetworkProxyInterface } from "./IKyberNetworkProxyInterface"; + +export class IKyberNetworkProxyInterfaceFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IKyberNetworkProxyInterface { + return new Contract( + address, + _abi, + signerOrProvider + ) as IKyberNetworkProxyInterface; + } +} + +const _abi = [ + { + inputs: [], + name: "enabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "src", + type: "address" + }, + { + internalType: "contract IERC20", + name: "dest", + type: "address" + }, + { + internalType: "uint256", + name: "srcQty", + type: "uint256" + } + ], + name: "getExpectedRate", + outputs: [ + { + internalType: "uint256", + name: "expectedRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "slippageRate", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "user", + type: "address" + }, + { + internalType: "contract IERC20", + name: "token", + type: "address" + } + ], + name: "getUserCapInTokenWei", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "user", + type: "address" + } + ], + name: "getUserCapInWei", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32" + } + ], + name: "info", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "maxGasPrice", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "src", + type: "address" + }, + { + internalType: "uint256", + name: "srcAmount", + type: "uint256" + }, + { + internalType: "contract IERC20", + name: "dest", + type: "address" + }, + { + internalType: "address", + name: "destAddress", + type: "address" + }, + { + internalType: "uint256", + name: "maxDestAmount", + type: "uint256" + }, + { + internalType: "uint256", + name: "minConversionRate", + type: "uint256" + }, + { + internalType: "address", + name: "walletId", + type: "address" + }, + { + internalType: "bytes", + name: "hint", + type: "bytes" + } + ], + name: "tradeWithHint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "payable", + type: "function" + } +]; diff --git a/types/ILendingPoolAddressesProvider.d.ts b/types/ILendingPoolAddressesProvider.d.ts new file mode 100644 index 00000000..e8754c26 --- /dev/null +++ b/types/ILendingPoolAddressesProvider.d.ts @@ -0,0 +1,327 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface ILendingPoolAddressesProviderInterface extends Interface { + functions: { + getFeeProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + getLendingPool: TypedFunctionDescription<{ encode([]: []): string }>; + + getLendingPoolConfigurator: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getLendingPoolCore: TypedFunctionDescription<{ encode([]: []): string }>; + + getLendingPoolDataProvider: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getLendingPoolLiquidationManager: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getLendingPoolManager: TypedFunctionDescription<{ encode([]: []): string }>; + + getLendingPoolParametersProvider: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getLendingRateOracle: TypedFunctionDescription<{ encode([]: []): string }>; + + getPriceOracle: TypedFunctionDescription<{ encode([]: []): string }>; + + getTokenDistributor: TypedFunctionDescription<{ encode([]: []): string }>; + + setFeeProviderImpl: TypedFunctionDescription<{ + encode([_feeProvider]: [string]): string; + }>; + + setLendingPoolConfiguratorImpl: TypedFunctionDescription<{ + encode([_configurator]: [string]): string; + }>; + + setLendingPoolCoreImpl: TypedFunctionDescription<{ + encode([_lendingPoolCore]: [string]): string; + }>; + + setLendingPoolDataProviderImpl: TypedFunctionDescription<{ + encode([_provider]: [string]): string; + }>; + + setLendingPoolImpl: TypedFunctionDescription<{ + encode([_pool]: [string]): string; + }>; + + setLendingPoolLiquidationManager: TypedFunctionDescription<{ + encode([_manager]: [string]): string; + }>; + + setLendingPoolManager: TypedFunctionDescription<{ + encode([_lendingPoolManager]: [string]): string; + }>; + + setLendingPoolParametersProviderImpl: TypedFunctionDescription<{ + encode([_parametersProvider]: [string]): string; + }>; + + setLendingRateOracle: TypedFunctionDescription<{ + encode([_lendingRateOracle]: [string]): string; + }>; + + setPriceOracle: TypedFunctionDescription<{ + encode([_priceOracle]: [string]): string; + }>; + + setTokenDistributor: TypedFunctionDescription<{ + encode([_tokenDistributor]: [string]): string; + }>; + }; + + events: {}; +} + +export class ILendingPoolAddressesProvider extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): ILendingPoolAddressesProvider; + attach(addressOrName: string): ILendingPoolAddressesProvider; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): ILendingPoolAddressesProvider; + once( + event: EventFilter | string, + listener: Listener + ): ILendingPoolAddressesProvider; + addListener( + eventName: EventFilter | string, + listener: Listener + ): ILendingPoolAddressesProvider; + removeAllListeners( + eventName: EventFilter | string + ): ILendingPoolAddressesProvider; + removeListener( + eventName: any, + listener: Listener + ): ILendingPoolAddressesProvider; + + interface: ILendingPoolAddressesProviderInterface; + + functions: { + getFeeProvider(): Promise; + + getLendingPool(): Promise; + + getLendingPoolConfigurator(): Promise; + + getLendingPoolCore(): Promise; + + getLendingPoolDataProvider(): Promise; + + getLendingPoolLiquidationManager(): Promise; + + getLendingPoolManager(): Promise; + + getLendingPoolParametersProvider(): Promise; + + getLendingRateOracle(): Promise; + + getPriceOracle(): Promise; + + getTokenDistributor(): Promise; + + setFeeProviderImpl( + _feeProvider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolConfiguratorImpl( + _configurator: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolCoreImpl( + _lendingPoolCore: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolDataProviderImpl( + _provider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolImpl( + _pool: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolLiquidationManager( + _manager: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolManager( + _lendingPoolManager: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolParametersProviderImpl( + _parametersProvider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingRateOracle( + _lendingRateOracle: string, + overrides?: TransactionOverrides + ): Promise; + + setPriceOracle( + _priceOracle: string, + overrides?: TransactionOverrides + ): Promise; + + setTokenDistributor( + _tokenDistributor: string, + overrides?: TransactionOverrides + ): Promise; + }; + + getFeeProvider(): Promise; + + getLendingPool(): Promise; + + getLendingPoolConfigurator(): Promise; + + getLendingPoolCore(): Promise; + + getLendingPoolDataProvider(): Promise; + + getLendingPoolLiquidationManager(): Promise; + + getLendingPoolManager(): Promise; + + getLendingPoolParametersProvider(): Promise; + + getLendingRateOracle(): Promise; + + getPriceOracle(): Promise; + + getTokenDistributor(): Promise; + + setFeeProviderImpl( + _feeProvider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolConfiguratorImpl( + _configurator: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolCoreImpl( + _lendingPoolCore: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolDataProviderImpl( + _provider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolImpl( + _pool: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolLiquidationManager( + _manager: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolManager( + _lendingPoolManager: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolParametersProviderImpl( + _parametersProvider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingRateOracle( + _lendingRateOracle: string, + overrides?: TransactionOverrides + ): Promise; + + setPriceOracle( + _priceOracle: string, + overrides?: TransactionOverrides + ): Promise; + + setTokenDistributor( + _tokenDistributor: string, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + getFeeProvider(): Promise; + + getLendingPool(): Promise; + + getLendingPoolConfigurator(): Promise; + + getLendingPoolCore(): Promise; + + getLendingPoolDataProvider(): Promise; + + getLendingPoolLiquidationManager(): Promise; + + getLendingPoolManager(): Promise; + + getLendingPoolParametersProvider(): Promise; + + getLendingRateOracle(): Promise; + + getPriceOracle(): Promise; + + getTokenDistributor(): Promise; + + setFeeProviderImpl(_feeProvider: string): Promise; + + setLendingPoolConfiguratorImpl(_configurator: string): Promise; + + setLendingPoolCoreImpl(_lendingPoolCore: string): Promise; + + setLendingPoolDataProviderImpl(_provider: string): Promise; + + setLendingPoolImpl(_pool: string): Promise; + + setLendingPoolLiquidationManager(_manager: string): Promise; + + setLendingPoolManager(_lendingPoolManager: string): Promise; + + setLendingPoolParametersProviderImpl( + _parametersProvider: string + ): Promise; + + setLendingRateOracle(_lendingRateOracle: string): Promise; + + setPriceOracle(_priceOracle: string): Promise; + + setTokenDistributor(_tokenDistributor: string): Promise; + }; +} diff --git a/types/ILendingPoolAddressesProviderFactory.ts b/types/ILendingPoolAddressesProviderFactory.ts new file mode 100644 index 00000000..56be6376 --- /dev/null +++ b/types/ILendingPoolAddressesProviderFactory.ts @@ -0,0 +1,309 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { ILendingPoolAddressesProvider } from "./ILendingPoolAddressesProvider"; + +export class ILendingPoolAddressesProviderFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ILendingPoolAddressesProvider { + return new Contract( + address, + _abi, + signerOrProvider + ) as ILendingPoolAddressesProvider; + } +} + +const _abi = [ + { + inputs: [], + name: "getFeeProvider", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPool", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolConfigurator", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolCore", + outputs: [ + { + internalType: "address payable", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolDataProvider", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolLiquidationManager", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolManager", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolParametersProvider", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingRateOracle", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getPriceOracle", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getTokenDistributor", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_feeProvider", + type: "address" + } + ], + name: "setFeeProviderImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_configurator", + type: "address" + } + ], + name: "setLendingPoolConfiguratorImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_lendingPoolCore", + type: "address" + } + ], + name: "setLendingPoolCoreImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_provider", + type: "address" + } + ], + name: "setLendingPoolDataProviderImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_pool", + type: "address" + } + ], + name: "setLendingPoolImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_manager", + type: "address" + } + ], + name: "setLendingPoolLiquidationManager", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_lendingPoolManager", + type: "address" + } + ], + name: "setLendingPoolManager", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_parametersProvider", + type: "address" + } + ], + name: "setLendingPoolParametersProviderImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_lendingRateOracle", + type: "address" + } + ], + name: "setLendingRateOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_priceOracle", + type: "address" + } + ], + name: "setPriceOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenDistributor", + type: "address" + } + ], + name: "setTokenDistributor", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/ILendingPoolAddressesProviderRegistry.d.ts b/types/ILendingPoolAddressesProviderRegistry.d.ts new file mode 100644 index 00000000..e6733539 --- /dev/null +++ b/types/ILendingPoolAddressesProviderRegistry.d.ts @@ -0,0 +1,110 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface ILendingPoolAddressesProviderRegistryInterface extends Interface { + functions: { + getAddressesProvidersList: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + isAddressesProviderRegistered: TypedFunctionDescription<{ + encode([_provider]: [string]): string; + }>; + + registerAddressesProvider: TypedFunctionDescription<{ + encode([_provider, _id]: [string, BigNumberish]): string; + }>; + + unregisterAddressesProvider: TypedFunctionDescription<{ + encode([_provider]: [string]): string; + }>; + }; + + events: {}; +} + +export class ILendingPoolAddressesProviderRegistry extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): ILendingPoolAddressesProviderRegistry; + attach(addressOrName: string): ILendingPoolAddressesProviderRegistry; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): ILendingPoolAddressesProviderRegistry; + once( + event: EventFilter | string, + listener: Listener + ): ILendingPoolAddressesProviderRegistry; + addListener( + eventName: EventFilter | string, + listener: Listener + ): ILendingPoolAddressesProviderRegistry; + removeAllListeners( + eventName: EventFilter | string + ): ILendingPoolAddressesProviderRegistry; + removeListener( + eventName: any, + listener: Listener + ): ILendingPoolAddressesProviderRegistry; + + interface: ILendingPoolAddressesProviderRegistryInterface; + + functions: { + getAddressesProvidersList(): Promise; + + isAddressesProviderRegistered(_provider: string): Promise; + + registerAddressesProvider( + _provider: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unregisterAddressesProvider( + _provider: string, + overrides?: TransactionOverrides + ): Promise; + }; + + getAddressesProvidersList(): Promise; + + isAddressesProviderRegistered(_provider: string): Promise; + + registerAddressesProvider( + _provider: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unregisterAddressesProvider( + _provider: string, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + getAddressesProvidersList(): Promise; + + isAddressesProviderRegistered(_provider: string): Promise; + + registerAddressesProvider( + _provider: string, + _id: BigNumberish + ): Promise; + + unregisterAddressesProvider(_provider: string): Promise; + }; +} diff --git a/types/ILendingPoolAddressesProviderRegistryFactory.ts b/types/ILendingPoolAddressesProviderRegistryFactory.ts new file mode 100644 index 00000000..b34efbb1 --- /dev/null +++ b/types/ILendingPoolAddressesProviderRegistryFactory.ts @@ -0,0 +1,86 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { ILendingPoolAddressesProviderRegistry } from "./ILendingPoolAddressesProviderRegistry"; + +export class ILendingPoolAddressesProviderRegistryFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ILendingPoolAddressesProviderRegistry { + return new Contract( + address, + _abi, + signerOrProvider + ) as ILendingPoolAddressesProviderRegistry; + } +} + +const _abi = [ + { + inputs: [], + name: "getAddressesProvidersList", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_provider", + type: "address" + } + ], + name: "isAddressesProviderRegistered", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_provider", + type: "address" + }, + { + internalType: "uint256", + name: "_id", + type: "uint256" + } + ], + name: "registerAddressesProvider", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_provider", + type: "address" + } + ], + name: "unregisterAddressesProvider", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/ILendingRateOracle.d.ts b/types/ILendingRateOracle.d.ts new file mode 100644 index 00000000..8da18663 --- /dev/null +++ b/types/ILendingRateOracle.d.ts @@ -0,0 +1,71 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface ILendingRateOracleInterface extends Interface { + functions: { + getMarketBorrowRate: TypedFunctionDescription<{ + encode([_asset]: [string]): string; + }>; + + setMarketBorrowRate: TypedFunctionDescription<{ + encode([_asset, _rate]: [string, BigNumberish]): string; + }>; + }; + + events: {}; +} + +export class ILendingRateOracle extends Contract { + connect(signerOrProvider: Signer | Provider | string): ILendingRateOracle; + attach(addressOrName: string): ILendingRateOracle; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): ILendingRateOracle; + once(event: EventFilter | string, listener: Listener): ILendingRateOracle; + addListener( + eventName: EventFilter | string, + listener: Listener + ): ILendingRateOracle; + removeAllListeners(eventName: EventFilter | string): ILendingRateOracle; + removeListener(eventName: any, listener: Listener): ILendingRateOracle; + + interface: ILendingRateOracleInterface; + + functions: { + getMarketBorrowRate(_asset: string): Promise; + + setMarketBorrowRate( + _asset: string, + _rate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + getMarketBorrowRate(_asset: string): Promise; + + setMarketBorrowRate( + _asset: string, + _rate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + getMarketBorrowRate(_asset: string): Promise; + + setMarketBorrowRate( + _asset: string, + _rate: BigNumberish + ): Promise; + }; +} diff --git a/types/ILendingRateOracleFactory.ts b/types/ILendingRateOracleFactory.ts new file mode 100644 index 00000000..06b93c3c --- /dev/null +++ b/types/ILendingRateOracleFactory.ts @@ -0,0 +1,56 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { ILendingRateOracle } from "./ILendingRateOracle"; + +export class ILendingRateOracleFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ILendingRateOracle { + return new Contract(address, _abi, signerOrProvider) as ILendingRateOracle; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + } + ], + name: "getMarketBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + }, + { + internalType: "uint256", + name: "_rate", + type: "uint256" + } + ], + name: "setMarketBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/IOneSplit.d.ts b/types/IOneSplit.d.ts new file mode 100644 index 00000000..093474e3 --- /dev/null +++ b/types/IOneSplit.d.ts @@ -0,0 +1,294 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IOneSplitInterface extends Interface { + functions: { + FLAG_AAVE: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_BANCOR: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_BDAI: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_CHAI: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_COMPOUND: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_FULCRUM: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_IEARN: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_KYBER: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_KYBER_BANCOR_RESERVE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + FLAG_KYBER_OASIS_RESERVE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + FLAG_KYBER_UNISWAP_RESERVE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + FLAG_MULTI_PATH_ETH: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_OASIS: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_SMART_TOKEN: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_UNISWAP: TypedFunctionDescription<{ encode([]: []): string }>; + + getExpectedReturn: TypedFunctionDescription<{ + encode([fromToken, toToken, amount, parts, disableFlags]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + goodSwap: TypedFunctionDescription<{ + encode([fromToken, toToken, amount, minReturn, parts, disableFlags]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + swap: TypedFunctionDescription<{ + encode([ + fromToken, + toToken, + amount, + minReturn, + distribution, + disableFlags + ]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish[], + BigNumberish + ]): string; + }>; + }; + + events: {}; +} + +export class IOneSplit extends Contract { + connect(signerOrProvider: Signer | Provider | string): IOneSplit; + attach(addressOrName: string): IOneSplit; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IOneSplit; + once(event: EventFilter | string, listener: Listener): IOneSplit; + addListener(eventName: EventFilter | string, listener: Listener): IOneSplit; + removeAllListeners(eventName: EventFilter | string): IOneSplit; + removeListener(eventName: any, listener: Listener): IOneSplit; + + interface: IOneSplitInterface; + + functions: { + FLAG_AAVE(): Promise; + + FLAG_BANCOR(): Promise; + + FLAG_BDAI(): Promise; + + FLAG_CHAI(): Promise; + + FLAG_COMPOUND(): Promise; + + FLAG_FULCRUM(): Promise; + + FLAG_IEARN(): Promise; + + FLAG_KYBER(): Promise; + + FLAG_KYBER_BANCOR_RESERVE(): Promise; + + FLAG_KYBER_OASIS_RESERVE(): Promise; + + FLAG_KYBER_UNISWAP_RESERVE(): Promise; + + FLAG_MULTI_PATH_ETH(): Promise; + + FLAG_OASIS(): Promise; + + FLAG_SMART_TOKEN(): Promise; + + FLAG_UNISWAP(): Promise; + + getExpectedReturn( + fromToken: string, + toToken: string, + amount: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise<{ + returnAmount: BigNumber; + distribution: BigNumber[]; + 0: BigNumber; + 1: BigNumber[]; + }>; + + goodSwap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + swap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + distribution: BigNumberish[], + disableFlags: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + FLAG_AAVE(): Promise; + + FLAG_BANCOR(): Promise; + + FLAG_BDAI(): Promise; + + FLAG_CHAI(): Promise; + + FLAG_COMPOUND(): Promise; + + FLAG_FULCRUM(): Promise; + + FLAG_IEARN(): Promise; + + FLAG_KYBER(): Promise; + + FLAG_KYBER_BANCOR_RESERVE(): Promise; + + FLAG_KYBER_OASIS_RESERVE(): Promise; + + FLAG_KYBER_UNISWAP_RESERVE(): Promise; + + FLAG_MULTI_PATH_ETH(): Promise; + + FLAG_OASIS(): Promise; + + FLAG_SMART_TOKEN(): Promise; + + FLAG_UNISWAP(): Promise; + + getExpectedReturn( + fromToken: string, + toToken: string, + amount: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise<{ + returnAmount: BigNumber; + distribution: BigNumber[]; + 0: BigNumber; + 1: BigNumber[]; + }>; + + goodSwap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + swap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + distribution: BigNumberish[], + disableFlags: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + FLAG_AAVE(): Promise; + + FLAG_BANCOR(): Promise; + + FLAG_BDAI(): Promise; + + FLAG_CHAI(): Promise; + + FLAG_COMPOUND(): Promise; + + FLAG_FULCRUM(): Promise; + + FLAG_IEARN(): Promise; + + FLAG_KYBER(): Promise; + + FLAG_KYBER_BANCOR_RESERVE(): Promise; + + FLAG_KYBER_OASIS_RESERVE(): Promise; + + FLAG_KYBER_UNISWAP_RESERVE(): Promise; + + FLAG_MULTI_PATH_ETH(): Promise; + + FLAG_OASIS(): Promise; + + FLAG_SMART_TOKEN(): Promise; + + FLAG_UNISWAP(): Promise; + + getExpectedReturn( + fromToken: string, + toToken: string, + amount: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise; + + goodSwap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise; + + swap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + distribution: BigNumberish[], + disableFlags: BigNumberish + ): Promise; + }; +} diff --git a/types/IOneSplitFactory.ts b/types/IOneSplitFactory.ts new file mode 100644 index 00000000..a8083faa --- /dev/null +++ b/types/IOneSplitFactory.ts @@ -0,0 +1,334 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IOneSplit } from "./IOneSplit"; + +export class IOneSplitFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IOneSplit { + return new Contract(address, _abi, signerOrProvider) as IOneSplit; + } +} + +const _abi = [ + { + inputs: [], + name: "FLAG_AAVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_BANCOR", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_BDAI", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_CHAI", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_COMPOUND", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_FULCRUM", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_IEARN", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER_BANCOR_RESERVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER_OASIS_RESERVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER_UNISWAP_RESERVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_MULTI_PATH_ETH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_OASIS", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_SMART_TOKEN", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_UNISWAP", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "fromToken", + type: "address" + }, + { + internalType: "contract IERC20", + name: "toToken", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "parts", + type: "uint256" + }, + { + internalType: "uint256", + name: "disableFlags", + type: "uint256" + } + ], + name: "getExpectedReturn", + outputs: [ + { + internalType: "uint256", + name: "returnAmount", + type: "uint256" + }, + { + internalType: "uint256[]", + name: "distribution", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "fromToken", + type: "address" + }, + { + internalType: "contract IERC20", + name: "toToken", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "minReturn", + type: "uint256" + }, + { + internalType: "uint256", + name: "parts", + type: "uint256" + }, + { + internalType: "uint256", + name: "disableFlags", + type: "uint256" + } + ], + name: "goodSwap", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "fromToken", + type: "address" + }, + { + internalType: "contract IERC20", + name: "toToken", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "minReturn", + type: "uint256" + }, + { + internalType: "uint256[]", + name: "distribution", + type: "uint256[]" + }, + { + internalType: "uint256", + name: "disableFlags", + type: "uint256" + } + ], + name: "swap", + outputs: [], + stateMutability: "payable", + type: "function" + } +]; diff --git a/types/IOneSplitView.d.ts b/types/IOneSplitView.d.ts new file mode 100644 index 00000000..5c76003d --- /dev/null +++ b/types/IOneSplitView.d.ts @@ -0,0 +1,210 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IOneSplitViewInterface extends Interface { + functions: { + FLAG_AAVE: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_BANCOR: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_BDAI: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_CHAI: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_COMPOUND: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_FULCRUM: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_IEARN: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_KYBER: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_KYBER_BANCOR_RESERVE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + FLAG_KYBER_OASIS_RESERVE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + FLAG_KYBER_UNISWAP_RESERVE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + FLAG_MULTI_PATH_ETH: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_OASIS: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_SMART_TOKEN: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_UNISWAP: TypedFunctionDescription<{ encode([]: []): string }>; + + getExpectedReturn: TypedFunctionDescription<{ + encode([fromToken, toToken, amount, parts, disableFlags]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + }; + + events: {}; +} + +export class IOneSplitView extends Contract { + connect(signerOrProvider: Signer | Provider | string): IOneSplitView; + attach(addressOrName: string): IOneSplitView; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IOneSplitView; + once(event: EventFilter | string, listener: Listener): IOneSplitView; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IOneSplitView; + removeAllListeners(eventName: EventFilter | string): IOneSplitView; + removeListener(eventName: any, listener: Listener): IOneSplitView; + + interface: IOneSplitViewInterface; + + functions: { + FLAG_AAVE(): Promise; + + FLAG_BANCOR(): Promise; + + FLAG_BDAI(): Promise; + + FLAG_CHAI(): Promise; + + FLAG_COMPOUND(): Promise; + + FLAG_FULCRUM(): Promise; + + FLAG_IEARN(): Promise; + + FLAG_KYBER(): Promise; + + FLAG_KYBER_BANCOR_RESERVE(): Promise; + + FLAG_KYBER_OASIS_RESERVE(): Promise; + + FLAG_KYBER_UNISWAP_RESERVE(): Promise; + + FLAG_MULTI_PATH_ETH(): Promise; + + FLAG_OASIS(): Promise; + + FLAG_SMART_TOKEN(): Promise; + + FLAG_UNISWAP(): Promise; + + getExpectedReturn( + fromToken: string, + toToken: string, + amount: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise<{ + returnAmount: BigNumber; + distribution: BigNumber[]; + 0: BigNumber; + 1: BigNumber[]; + }>; + }; + + FLAG_AAVE(): Promise; + + FLAG_BANCOR(): Promise; + + FLAG_BDAI(): Promise; + + FLAG_CHAI(): Promise; + + FLAG_COMPOUND(): Promise; + + FLAG_FULCRUM(): Promise; + + FLAG_IEARN(): Promise; + + FLAG_KYBER(): Promise; + + FLAG_KYBER_BANCOR_RESERVE(): Promise; + + FLAG_KYBER_OASIS_RESERVE(): Promise; + + FLAG_KYBER_UNISWAP_RESERVE(): Promise; + + FLAG_MULTI_PATH_ETH(): Promise; + + FLAG_OASIS(): Promise; + + FLAG_SMART_TOKEN(): Promise; + + FLAG_UNISWAP(): Promise; + + getExpectedReturn( + fromToken: string, + toToken: string, + amount: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise<{ + returnAmount: BigNumber; + distribution: BigNumber[]; + 0: BigNumber; + 1: BigNumber[]; + }>; + + filters: {}; + + estimate: { + FLAG_AAVE(): Promise; + + FLAG_BANCOR(): Promise; + + FLAG_BDAI(): Promise; + + FLAG_CHAI(): Promise; + + FLAG_COMPOUND(): Promise; + + FLAG_FULCRUM(): Promise; + + FLAG_IEARN(): Promise; + + FLAG_KYBER(): Promise; + + FLAG_KYBER_BANCOR_RESERVE(): Promise; + + FLAG_KYBER_OASIS_RESERVE(): Promise; + + FLAG_KYBER_UNISWAP_RESERVE(): Promise; + + FLAG_MULTI_PATH_ETH(): Promise; + + FLAG_OASIS(): Promise; + + FLAG_SMART_TOKEN(): Promise; + + FLAG_UNISWAP(): Promise; + + getExpectedReturn( + fromToken: string, + toToken: string, + amount: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise; + }; +} diff --git a/types/IOneSplitViewFactory.ts b/types/IOneSplitViewFactory.ts new file mode 100644 index 00000000..addc32ce --- /dev/null +++ b/types/IOneSplitViewFactory.ts @@ -0,0 +1,258 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IOneSplitView } from "./IOneSplitView"; + +export class IOneSplitViewFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IOneSplitView { + return new Contract(address, _abi, signerOrProvider) as IOneSplitView; + } +} + +const _abi = [ + { + inputs: [], + name: "FLAG_AAVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_BANCOR", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_BDAI", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_CHAI", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_COMPOUND", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_FULCRUM", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_IEARN", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER_BANCOR_RESERVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER_OASIS_RESERVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER_UNISWAP_RESERVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_MULTI_PATH_ETH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_OASIS", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_SMART_TOKEN", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_UNISWAP", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "fromToken", + type: "address" + }, + { + internalType: "contract IERC20", + name: "toToken", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "parts", + type: "uint256" + }, + { + internalType: "uint256", + name: "disableFlags", + type: "uint256" + } + ], + name: "getExpectedReturn", + outputs: [ + { + internalType: "uint256", + name: "returnAmount", + type: "uint256" + }, + { + internalType: "uint256[]", + name: "distribution", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + } +]; diff --git a/types/IPriceOracle.d.ts b/types/IPriceOracle.d.ts new file mode 100644 index 00000000..cb361743 --- /dev/null +++ b/types/IPriceOracle.d.ts @@ -0,0 +1,68 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IPriceOracleInterface extends Interface { + functions: { + getAssetPrice: TypedFunctionDescription<{ + encode([_asset]: [string]): string; + }>; + + setAssetPrice: TypedFunctionDescription<{ + encode([_asset, _price]: [string, BigNumberish]): string; + }>; + }; + + events: {}; +} + +export class IPriceOracle extends Contract { + connect(signerOrProvider: Signer | Provider | string): IPriceOracle; + attach(addressOrName: string): IPriceOracle; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IPriceOracle; + once(event: EventFilter | string, listener: Listener): IPriceOracle; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IPriceOracle; + removeAllListeners(eventName: EventFilter | string): IPriceOracle; + removeListener(eventName: any, listener: Listener): IPriceOracle; + + interface: IPriceOracleInterface; + + functions: { + getAssetPrice(_asset: string): Promise; + + setAssetPrice( + _asset: string, + _price: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + getAssetPrice(_asset: string): Promise; + + setAssetPrice( + _asset: string, + _price: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + getAssetPrice(_asset: string): Promise; + + setAssetPrice(_asset: string, _price: BigNumberish): Promise; + }; +} diff --git a/types/IPriceOracleFactory.ts b/types/IPriceOracleFactory.ts new file mode 100644 index 00000000..ae7832b4 --- /dev/null +++ b/types/IPriceOracleFactory.ts @@ -0,0 +1,56 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IPriceOracle } from "./IPriceOracle"; + +export class IPriceOracleFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IPriceOracle { + return new Contract(address, _abi, signerOrProvider) as IPriceOracle; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + } + ], + name: "getAssetPrice", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + }, + { + internalType: "uint256", + name: "_price", + type: "uint256" + } + ], + name: "setAssetPrice", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/IPriceOracleGetter.d.ts b/types/IPriceOracleGetter.d.ts new file mode 100644 index 00000000..25623017 --- /dev/null +++ b/types/IPriceOracleGetter.d.ts @@ -0,0 +1,50 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IPriceOracleGetterInterface extends Interface { + functions: { + getAssetPrice: TypedFunctionDescription<{ + encode([_asset]: [string]): string; + }>; + }; + + events: {}; +} + +export class IPriceOracleGetter extends Contract { + connect(signerOrProvider: Signer | Provider | string): IPriceOracleGetter; + attach(addressOrName: string): IPriceOracleGetter; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IPriceOracleGetter; + once(event: EventFilter | string, listener: Listener): IPriceOracleGetter; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IPriceOracleGetter; + removeAllListeners(eventName: EventFilter | string): IPriceOracleGetter; + removeListener(eventName: any, listener: Listener): IPriceOracleGetter; + + interface: IPriceOracleGetterInterface; + + functions: { + getAssetPrice(_asset: string): Promise; + }; + + getAssetPrice(_asset: string): Promise; + + filters: {}; + + estimate: { + getAssetPrice(_asset: string): Promise; + }; +} diff --git a/types/IPriceOracleGetterFactory.ts b/types/IPriceOracleGetterFactory.ts new file mode 100644 index 00000000..30db45b7 --- /dev/null +++ b/types/IPriceOracleGetterFactory.ts @@ -0,0 +1,38 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IPriceOracleGetter } from "./IPriceOracleGetter"; + +export class IPriceOracleGetterFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IPriceOracleGetter { + return new Contract(address, _abi, signerOrProvider) as IPriceOracleGetter; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + } + ], + name: "getAssetPrice", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; diff --git a/types/IReserveInterestRateStrategy.d.ts b/types/IReserveInterestRateStrategy.d.ts new file mode 100644 index 00000000..7e7fd2d7 --- /dev/null +++ b/types/IReserveInterestRateStrategy.d.ts @@ -0,0 +1,117 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IReserveInterestRateStrategyInterface extends Interface { + functions: { + calculateInterestRates: TypedFunctionDescription<{ + encode([ + _reserve, + _utilizationRate, + _totalBorrowsStable, + _totalBorrowsVariable, + _averageStableBorrowRate + ]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + getBaseVariableBorrowRate: TypedFunctionDescription<{ + encode([]: []): string; + }>; + }; + + events: {}; +} + +export class IReserveInterestRateStrategy extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): IReserveInterestRateStrategy; + attach(addressOrName: string): IReserveInterestRateStrategy; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): IReserveInterestRateStrategy; + once( + event: EventFilter | string, + listener: Listener + ): IReserveInterestRateStrategy; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IReserveInterestRateStrategy; + removeAllListeners( + eventName: EventFilter | string + ): IReserveInterestRateStrategy; + removeListener( + eventName: any, + listener: Listener + ): IReserveInterestRateStrategy; + + interface: IReserveInterestRateStrategyInterface; + + functions: { + calculateInterestRates( + _reserve: string, + _utilizationRate: BigNumberish, + _totalBorrowsStable: BigNumberish, + _totalBorrowsVariable: BigNumberish, + _averageStableBorrowRate: BigNumberish + ): Promise<{ + liquidityRate: BigNumber; + stableBorrowRate: BigNumber; + variableBorrowRate: BigNumber; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + }>; + + getBaseVariableBorrowRate(): Promise; + }; + + calculateInterestRates( + _reserve: string, + _utilizationRate: BigNumberish, + _totalBorrowsStable: BigNumberish, + _totalBorrowsVariable: BigNumberish, + _averageStableBorrowRate: BigNumberish + ): Promise<{ + liquidityRate: BigNumber; + stableBorrowRate: BigNumber; + variableBorrowRate: BigNumber; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + }>; + + getBaseVariableBorrowRate(): Promise; + + filters: {}; + + estimate: { + calculateInterestRates( + _reserve: string, + _utilizationRate: BigNumberish, + _totalBorrowsStable: BigNumberish, + _totalBorrowsVariable: BigNumberish, + _averageStableBorrowRate: BigNumberish + ): Promise; + + getBaseVariableBorrowRate(): Promise; + }; +} diff --git a/types/IReserveInterestRateStrategyFactory.ts b/types/IReserveInterestRateStrategyFactory.ts new file mode 100644 index 00000000..2c49a55f --- /dev/null +++ b/types/IReserveInterestRateStrategyFactory.ts @@ -0,0 +1,85 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IReserveInterestRateStrategy } from "./IReserveInterestRateStrategy"; + +export class IReserveInterestRateStrategyFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IReserveInterestRateStrategy { + return new Contract( + address, + _abi, + signerOrProvider + ) as IReserveInterestRateStrategy; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_utilizationRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "_totalBorrowsStable", + type: "uint256" + }, + { + internalType: "uint256", + name: "_totalBorrowsVariable", + type: "uint256" + }, + { + internalType: "uint256", + name: "_averageStableBorrowRate", + type: "uint256" + } + ], + name: "calculateInterestRates", + outputs: [ + { + internalType: "uint256", + name: "liquidityRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "stableBorrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "variableBorrowRate", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getBaseVariableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; diff --git a/types/IUniswapExchange.d.ts b/types/IUniswapExchange.d.ts new file mode 100644 index 00000000..7ab54488 --- /dev/null +++ b/types/IUniswapExchange.d.ts @@ -0,0 +1,96 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface IUniswapExchangeInterface extends Interface { + functions: {}; + + events: { + AddLiquidity: TypedEventDescription<{ + encodeTopics([provider, eth_amount, token_amount]: [ + string | null, + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + + EthPurchase: TypedEventDescription<{ + encodeTopics([buyer, tokens_sold, eth_bought]: [ + string | null, + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + + RemoveLiquidity: TypedEventDescription<{ + encodeTopics([provider, eth_amount, token_amount]: [ + string | null, + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + + TokenPurchase: TypedEventDescription<{ + encodeTopics([buyer, eth_sold, tokens_bought]: [ + string | null, + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + }; +} + +export class IUniswapExchange extends Contract { + connect(signerOrProvider: Signer | Provider | string): IUniswapExchange; + attach(addressOrName: string): IUniswapExchange; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IUniswapExchange; + once(event: EventFilter | string, listener: Listener): IUniswapExchange; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IUniswapExchange; + removeAllListeners(eventName: EventFilter | string): IUniswapExchange; + removeListener(eventName: any, listener: Listener): IUniswapExchange; + + interface: IUniswapExchangeInterface; + + functions: {}; + + filters: { + AddLiquidity( + provider: string | null, + eth_amount: BigNumberish | null, + token_amount: BigNumberish | null + ): EventFilter; + + EthPurchase( + buyer: string | null, + tokens_sold: BigNumberish | null, + eth_bought: BigNumberish | null + ): EventFilter; + + RemoveLiquidity( + provider: string | null, + eth_amount: BigNumberish | null, + token_amount: BigNumberish | null + ): EventFilter; + + TokenPurchase( + buyer: string | null, + eth_sold: BigNumberish | null, + tokens_bought: BigNumberish | null + ): EventFilter; + }; + + estimate: {}; +} diff --git a/types/IUniswapExchangeFactory.ts b/types/IUniswapExchangeFactory.ts new file mode 100644 index 00000000..f3fa4186 --- /dev/null +++ b/types/IUniswapExchangeFactory.ts @@ -0,0 +1,119 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IUniswapExchange } from "./IUniswapExchange"; + +export class IUniswapExchangeFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IUniswapExchange { + return new Contract(address, _abi, signerOrProvider) as IUniswapExchange; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "provider", + type: "address" + }, + { + indexed: true, + internalType: "uint256", + name: "eth_amount", + type: "uint256" + }, + { + indexed: true, + internalType: "uint256", + name: "token_amount", + type: "uint256" + } + ], + name: "AddLiquidity", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "buyer", + type: "address" + }, + { + indexed: true, + internalType: "uint256", + name: "tokens_sold", + type: "uint256" + }, + { + indexed: true, + internalType: "uint256", + name: "eth_bought", + type: "uint256" + } + ], + name: "EthPurchase", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "provider", + type: "address" + }, + { + indexed: true, + internalType: "uint256", + name: "eth_amount", + type: "uint256" + }, + { + indexed: true, + internalType: "uint256", + name: "token_amount", + type: "uint256" + } + ], + name: "RemoveLiquidity", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "buyer", + type: "address" + }, + { + indexed: true, + internalType: "uint256", + name: "eth_sold", + type: "uint256" + }, + { + indexed: true, + internalType: "uint256", + name: "tokens_bought", + type: "uint256" + } + ], + name: "TokenPurchase", + type: "event" + } +]; diff --git a/types/Ierc20.d.ts b/types/Ierc20.d.ts new file mode 100644 index 00000000..23639535 --- /dev/null +++ b/types/Ierc20.d.ts @@ -0,0 +1,153 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface Ierc20Interface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class Ierc20 extends Contract { + connect(signerOrProvider: Signer | Provider | string): Ierc20; + attach(addressOrName: string): Ierc20; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): Ierc20; + once(event: EventFilter | string, listener: Listener): Ierc20; + addListener(eventName: EventFilter | string, listener: Listener): Ierc20; + removeAllListeners(eventName: EventFilter | string): Ierc20; + removeListener(eventName: any, listener: Listener): Ierc20; + + interface: Ierc20Interface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/Ierc20Detailed.d.ts b/types/Ierc20Detailed.d.ts new file mode 100644 index 00000000..b9eead33 --- /dev/null +++ b/types/Ierc20Detailed.d.ts @@ -0,0 +1,180 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface Ierc20DetailedInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class Ierc20Detailed extends Contract { + connect(signerOrProvider: Signer | Provider | string): Ierc20Detailed; + attach(addressOrName: string): Ierc20Detailed; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): Ierc20Detailed; + once(event: EventFilter | string, listener: Listener): Ierc20Detailed; + addListener( + eventName: EventFilter | string, + listener: Listener + ): Ierc20Detailed; + removeAllListeners(eventName: EventFilter | string): Ierc20Detailed; + removeListener(eventName: any, listener: Listener): Ierc20Detailed; + + interface: Ierc20DetailedInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/Ierc20DetailedBytes.d.ts b/types/Ierc20DetailedBytes.d.ts new file mode 100644 index 00000000..ddb51ebc --- /dev/null +++ b/types/Ierc20DetailedBytes.d.ts @@ -0,0 +1,64 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface Ierc20DetailedBytesInterface extends Interface { + functions: { + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: {}; +} + +export class Ierc20DetailedBytes extends Contract { + connect(signerOrProvider: Signer | Provider | string): Ierc20DetailedBytes; + attach(addressOrName: string): Ierc20DetailedBytes; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): Ierc20DetailedBytes; + once(event: EventFilter | string, listener: Listener): Ierc20DetailedBytes; + addListener( + eventName: EventFilter | string, + listener: Listener + ): Ierc20DetailedBytes; + removeAllListeners(eventName: EventFilter | string): Ierc20DetailedBytes; + removeListener(eventName: any, listener: Listener): Ierc20DetailedBytes; + + interface: Ierc20DetailedBytesInterface; + + functions: { + decimals(): Promise; + + name(): Promise; + + symbol(): Promise; + }; + + decimals(): Promise; + + name(): Promise; + + symbol(): Promise; + + filters: {}; + + estimate: { + decimals(): Promise; + + name(): Promise; + + symbol(): Promise; + }; +} diff --git a/types/Ierc20DetailedBytesFactory.ts b/types/Ierc20DetailedBytesFactory.ts new file mode 100644 index 00000000..6a7217a9 --- /dev/null +++ b/types/Ierc20DetailedBytesFactory.ts @@ -0,0 +1,79 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { Ierc20DetailedBytes } from "./Ierc20DetailedBytes"; + +export class Ierc20DetailedBytesFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): Ierc20DetailedBytes { + return super.attach(address) as Ierc20DetailedBytes; + } + connect(signer: Signer): Ierc20DetailedBytesFactory { + return super.connect(signer) as Ierc20DetailedBytesFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Ierc20DetailedBytes { + return new Contract(address, _abi, signerOrProvider) as Ierc20DetailedBytes; + } +} + +const _abi = [ + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060dd8061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806306fdde03146041578063313ce56714605d57806395d89b41146079575b600080fd5b60476095565b6040518082815260200191505060405180910390f35b6063609b565b6040518082815260200191505060405180910390f35b607f60a1565b6040518082815260200191505060405180910390f35b60005481565b60025481565b6001548156fea264697066735822122012181cc1edfa2cb5dc11110436ba200114c6189dd7b22301a6738f7f6169359264736f6c63430006080033"; diff --git a/types/Ierc20DetailedFactory.ts b/types/Ierc20DetailedFactory.ts new file mode 100644 index 00000000..63f7abef --- /dev/null +++ b/types/Ierc20DetailedFactory.ts @@ -0,0 +1,241 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { Ierc20Detailed } from "./Ierc20Detailed"; + +export class Ierc20DetailedFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Ierc20Detailed { + return new Contract(address, _abi, signerOrProvider) as Ierc20Detailed; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/Ierc20Factory.ts b/types/Ierc20Factory.ts new file mode 100644 index 00000000..7462a780 --- /dev/null +++ b/types/Ierc20Factory.ts @@ -0,0 +1,199 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { Ierc20 } from "./Ierc20"; + +export class Ierc20Factory { + static connect(address: string, signerOrProvider: Signer | Provider): Ierc20 { + return new Contract(address, _abi, signerOrProvider) as Ierc20; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/InitializableAdminUpgradeabilityProxy.d.ts b/types/InitializableAdminUpgradeabilityProxy.d.ts new file mode 100644 index 00000000..d5d790bd --- /dev/null +++ b/types/InitializableAdminUpgradeabilityProxy.d.ts @@ -0,0 +1,174 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface InitializableAdminUpgradeabilityProxyInterface extends Interface { + functions: { + admin: TypedFunctionDescription<{ encode([]: []): string }>; + + changeAdmin: TypedFunctionDescription<{ + encode([newAdmin]: [string]): string; + }>; + + implementation: TypedFunctionDescription<{ encode([]: []): string }>; + + initialize: TypedFunctionDescription<{ + encode([_logic, _admin, _data]: [string, string, Arrayish]): string; + }>; + + upgradeTo: TypedFunctionDescription<{ + encode([newImplementation]: [string]): string; + }>; + + upgradeToAndCall: TypedFunctionDescription<{ + encode([newImplementation, data]: [string, Arrayish]): string; + }>; + }; + + events: { + AdminChanged: TypedEventDescription<{ + encodeTopics([previousAdmin, newAdmin]: [null, null]): string[]; + }>; + + Upgraded: TypedEventDescription<{ + encodeTopics([implementation]: [string | null]): string[]; + }>; + }; +} + +export class InitializableAdminUpgradeabilityProxy extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): InitializableAdminUpgradeabilityProxy; + attach(addressOrName: string): InitializableAdminUpgradeabilityProxy; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): InitializableAdminUpgradeabilityProxy; + once( + event: EventFilter | string, + listener: Listener + ): InitializableAdminUpgradeabilityProxy; + addListener( + eventName: EventFilter | string, + listener: Listener + ): InitializableAdminUpgradeabilityProxy; + removeAllListeners( + eventName: EventFilter | string + ): InitializableAdminUpgradeabilityProxy; + removeListener( + eventName: any, + listener: Listener + ): InitializableAdminUpgradeabilityProxy; + + interface: InitializableAdminUpgradeabilityProxyInterface; + + functions: { + admin(overrides?: TransactionOverrides): Promise; + + changeAdmin( + newAdmin: string, + overrides?: TransactionOverrides + ): Promise; + + implementation( + overrides?: TransactionOverrides + ): Promise; + + "initialize(address,address,bytes)"( + _logic: string, + _admin: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "initialize(address,bytes)"( + _logic: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + upgradeTo( + newImplementation: string, + overrides?: TransactionOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + admin(overrides?: TransactionOverrides): Promise; + + changeAdmin( + newAdmin: string, + overrides?: TransactionOverrides + ): Promise; + + implementation( + overrides?: TransactionOverrides + ): Promise; + + "initialize(address,address,bytes)"( + _logic: string, + _admin: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "initialize(address,bytes)"( + _logic: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + upgradeTo( + newImplementation: string, + overrides?: TransactionOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + AdminChanged(previousAdmin: null, newAdmin: null): EventFilter; + + Upgraded(implementation: string | null): EventFilter; + }; + + estimate: { + admin(): Promise; + + changeAdmin(newAdmin: string): Promise; + + implementation(): Promise; + + initialize( + _logic: string, + _admin: string, + _data: Arrayish + ): Promise; + + upgradeTo(newImplementation: string): Promise; + + upgradeToAndCall( + newImplementation: string, + data: Arrayish + ): Promise; + }; +} diff --git a/types/InitializableAdminUpgradeabilityProxyFactory.ts b/types/InitializableAdminUpgradeabilityProxyFactory.ts new file mode 100644 index 00000000..97332b17 --- /dev/null +++ b/types/InitializableAdminUpgradeabilityProxyFactory.ts @@ -0,0 +1,197 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { InitializableAdminUpgradeabilityProxy } from "./InitializableAdminUpgradeabilityProxy"; + +export class InitializableAdminUpgradeabilityProxyFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + overrides?: TransactionOverrides + ): Promise { + return super.deploy(overrides) as Promise< + InitializableAdminUpgradeabilityProxy + >; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): InitializableAdminUpgradeabilityProxy { + return super.attach(address) as InitializableAdminUpgradeabilityProxy; + } + connect(signer: Signer): InitializableAdminUpgradeabilityProxyFactory { + return super.connect( + signer + ) as InitializableAdminUpgradeabilityProxyFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): InitializableAdminUpgradeabilityProxy { + return new Contract( + address, + _abi, + signerOrProvider + ) as InitializableAdminUpgradeabilityProxy; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + name: "initialize", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + name: "initialize", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50610d53806100206000396000f3fe6080604052600436106100745760003560e01c80638f2839701161004e5780638f283970146101c9578063cf7a1d771461021a578063d1f5789414610315578063f851a440146103f057610083565b80633659cfe6146100885780634f1ef286146100d95780635c60da1b1461017257610083565b3661008357610081610447565b005b600080fd5b34801561009457600080fd5b506100d7600480360360208110156100ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610461565b005b610170600480360360408110156100ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561012c57600080fd5b82018360208201111561013e57600080fd5b8035906020019184600183028401116401000000008311171561016057600080fd5b90919293919293905050506104b6565b005b34801561017e57600080fd5b5061018761058c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101d557600080fd5b50610218600480360360208110156101ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105e4565b005b6103136004803603606081101561023057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028d57600080fd5b82018360208201111561029f57600080fd5b803590602001918460018302840111640100000000831117156102c157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061075d565b005b6103ee6004803603604081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561036857600080fd5b82018360208201111561037a57600080fd5b8035906020019184600183028401116401000000008311171561039c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061081f565b005b3480156103fc57600080fd5b506104056109a2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61044f6109fa565b61045f61045a610a04565b610a35565b565b610469610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156104aa576104a581610a8c565b6104b3565b6104b2610447565b5b50565b6104be610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561057e576104fa83610a8c565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610565576040519150601f19603f3d011682016040523d82523d6000602084013e61056a565b606091505b505090508061057857600080fd5b50610587565b610586610447565b5b505050565b6000610596610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105d8576105d1610a04565b90506105e1565b6105e0610447565b5b90565b6105ec610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561075157600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156106a5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610cad6036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6106ce610a5b565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161074c81610adb565b61075a565b610759610447565b5b50565b600073ffffffffffffffffffffffffffffffffffffffff1661077d610a04565b73ffffffffffffffffffffffffffffffffffffffff161461079d57600080fd5b6107a7838261081f565b600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b1461081157fe5b61081a82610adb565b505050565b600073ffffffffffffffffffffffffffffffffffffffff1661083f610a04565b73ffffffffffffffffffffffffffffffffffffffff161461085f57600080fd5b600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b146108c957fe5b6108d282610b0a565b60008151111561099e5760008273ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b602083106109295780518252602082019150602081019050602083039250610906565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610989576040519150601f19603f3d011682016040523d82523d6000602084013e61098e565b606091505b505090508061099c57600080fd5b505b5050565b60006109ac610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156109ee576109e7610a5b565b90506109f7565b6109f6610447565b5b90565b610a02610b97565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e8060008114610a56573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b610a9581610b0a565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b610b1381610c2d565b610b68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610ce3603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b610b9f610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180610c7b6032913960400191505060405180910390fd5b610c2b610c78565b565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015610c6f57506000801b8214155b92505050919050565b56fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220a12941e9bce1bde36f44bb5c03c27af62469cfa6958fcac106926a5a40dbe4d464736f6c63430006080033"; diff --git a/types/InitializableUpgradeabilityProxy.d.ts b/types/InitializableUpgradeabilityProxy.d.ts new file mode 100644 index 00000000..1c9e116a --- /dev/null +++ b/types/InitializableUpgradeabilityProxy.d.ts @@ -0,0 +1,77 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface InitializableUpgradeabilityProxyInterface extends Interface { + functions: { + initialize: TypedFunctionDescription<{ + encode([_logic, _data]: [string, Arrayish]): string; + }>; + }; + + events: { + Upgraded: TypedEventDescription<{ + encodeTopics([implementation]: [string | null]): string[]; + }>; + }; +} + +export class InitializableUpgradeabilityProxy extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): InitializableUpgradeabilityProxy; + attach(addressOrName: string): InitializableUpgradeabilityProxy; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): InitializableUpgradeabilityProxy; + once( + event: EventFilter | string, + listener: Listener + ): InitializableUpgradeabilityProxy; + addListener( + eventName: EventFilter | string, + listener: Listener + ): InitializableUpgradeabilityProxy; + removeAllListeners( + eventName: EventFilter | string + ): InitializableUpgradeabilityProxy; + removeListener( + eventName: any, + listener: Listener + ): InitializableUpgradeabilityProxy; + + interface: InitializableUpgradeabilityProxyInterface; + + functions: { + initialize( + _logic: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + initialize( + _logic: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Upgraded(implementation: string | null): EventFilter; + }; + + estimate: { + initialize(_logic: string, _data: Arrayish): Promise; + }; +} diff --git a/types/InitializableUpgradeabilityProxyFactory.ts b/types/InitializableUpgradeabilityProxyFactory.ts new file mode 100644 index 00000000..f3bea026 --- /dev/null +++ b/types/InitializableUpgradeabilityProxyFactory.ts @@ -0,0 +1,81 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { InitializableUpgradeabilityProxy } from "./InitializableUpgradeabilityProxy"; + +export class InitializableUpgradeabilityProxyFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + overrides?: TransactionOverrides + ): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): InitializableUpgradeabilityProxy { + return super.attach(address) as InitializableUpgradeabilityProxy; + } + connect(signer: Signer): InitializableUpgradeabilityProxyFactory { + return super.connect(signer) as InitializableUpgradeabilityProxyFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): InitializableUpgradeabilityProxy { + return new Contract( + address, + _abi, + signerOrProvider + ) as InitializableUpgradeabilityProxy; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + name: "initialize", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50610450806100206000396000f3fe6080604052600436106100225760003560e01c8063d1f578941461003657610031565b366100315761002f610111565b005b600080fd5b61010f6004803603604081101561004c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561008957600080fd5b82018360208201111561009b57600080fd5b803590602001918460018302840111640100000000831117156100bd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061012b565b005b6101196102ae565b6101296101246102b0565b6102e1565b565b600073ffffffffffffffffffffffffffffffffffffffff1661014b6102b0565b73ffffffffffffffffffffffffffffffffffffffff161461016b57600080fd5b600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b146101d557fe5b6101de82610307565b6000815111156102aa5760008273ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b602083106102355780518252602082019150602081019050602083039250610212565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610295576040519150601f19603f3d011682016040523d82523d6000602084013e61029a565b606091505b50509050806102a857600080fd5b505b5050565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e8060008114610302573d6000f35b3d6000fd5b61031081610394565b610365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001806103e0603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156103d657506000801b8214155b9250505091905056fe43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220ec5e8c1744cf082a11e2b69560ecd27aab52ab8ed1a234f721fc2b20fc028b1264736f6c63430006080033"; diff --git a/types/LendingPool.d.ts b/types/LendingPool.d.ts new file mode 100644 index 00000000..f0675c61 --- /dev/null +++ b/types/LendingPool.d.ts @@ -0,0 +1,816 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface LendingPoolInterface extends Interface { + functions: { + LENDINGPOOL_REVISION: TypedFunctionDescription<{ encode([]: []): string }>; + + UINT_MAX_VALUE: TypedFunctionDescription<{ encode([]: []): string }>; + + addressesProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + borrow: TypedFunctionDescription<{ + encode([_reserve, _amount, _interestRateMode, _referralCode]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + core: TypedFunctionDescription<{ encode([]: []): string }>; + + dataProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + deposit: TypedFunctionDescription<{ + encode([_reserve, _amount, _referralCode]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + flashLoan: TypedFunctionDescription<{ + encode([_receiver, _reserve, _amount, _params]: [ + string, + string, + BigNumberish, + Arrayish + ]): string; + }>; + + getReserveConfigurationData: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveData: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserves: TypedFunctionDescription<{ encode([]: []): string }>; + + getUserAccountData: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + getUserReserveData: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + initialize: TypedFunctionDescription<{ + encode([_addressesProvider]: [string]): string; + }>; + + liquidationCall: TypedFunctionDescription<{ + encode([_collateral, _reserve, _user, _purchaseAmount, _receiveAToken]: [ + string, + string, + string, + BigNumberish, + boolean + ]): string; + }>; + + parametersProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + rebalanceStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + redeemUnderlying: TypedFunctionDescription<{ + encode([_reserve, _user, _amount, _aTokenBalanceAfterRedeem]: [ + string, + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + repay: TypedFunctionDescription<{ + encode([_reserve, _amount, _onBehalfOf]: [ + string, + BigNumberish, + string + ]): string; + }>; + + setUserUseReserveAsCollateral: TypedFunctionDescription<{ + encode([_reserve, _useAsCollateral]: [string, boolean]): string; + }>; + + swapBorrowRateMode: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + }; + + events: { + Borrow: TypedEventDescription<{ + encodeTopics([ + _reserve, + _user, + _amount, + _borrowRateMode, + _borrowRate, + _originationFee, + _borrowBalanceIncrease, + _referral, + _timestamp + ]: [ + string | null, + string | null, + null, + null, + null, + null, + null, + BigNumberish | null, + null + ]): string[]; + }>; + + Deposit: TypedEventDescription<{ + encodeTopics([_reserve, _user, _amount, _referral, _timestamp]: [ + string | null, + string | null, + null, + BigNumberish | null, + null + ]): string[]; + }>; + + FlashLoan: TypedEventDescription<{ + encodeTopics([ + _target, + _reserve, + _amount, + _totalFee, + _protocolFee, + _timestamp + ]: [string | null, string | null, null, null, null, null]): string[]; + }>; + + LiquidationCall: TypedEventDescription<{ + encodeTopics([ + _collateral, + _reserve, + _user, + _purchaseAmount, + _liquidatedCollateralAmount, + _accruedBorrowInterest, + _liquidator, + _receiveAToken, + _timestamp + ]: [ + string | null, + string | null, + string | null, + null, + null, + null, + null, + null, + null + ]): string[]; + }>; + + OriginationFeeLiquidated: TypedEventDescription<{ + encodeTopics([ + _collateral, + _reserve, + _user, + _feeLiquidated, + _liquidatedCollateralForFee, + _timestamp + ]: [ + string | null, + string | null, + string | null, + null, + null, + null + ]): string[]; + }>; + + RebalanceStableBorrowRate: TypedEventDescription<{ + encodeTopics([ + _reserve, + _user, + _newStableRate, + _borrowBalanceIncrease, + _timestamp + ]: [string | null, string | null, null, null, null]): string[]; + }>; + + RedeemUnderlying: TypedEventDescription<{ + encodeTopics([_reserve, _user, _amount, _timestamp]: [ + string | null, + string | null, + null, + null + ]): string[]; + }>; + + Repay: TypedEventDescription<{ + encodeTopics([ + _reserve, + _user, + _repayer, + _amountMinusFees, + _fees, + _borrowBalanceIncrease, + _timestamp + ]: [ + string | null, + string | null, + string | null, + null, + null, + null, + null + ]): string[]; + }>; + + ReserveUsedAsCollateralDisabled: TypedEventDescription<{ + encodeTopics([_reserve, _user]: [string | null, string | null]): string[]; + }>; + + ReserveUsedAsCollateralEnabled: TypedEventDescription<{ + encodeTopics([_reserve, _user]: [string | null, string | null]): string[]; + }>; + + Swap: TypedEventDescription<{ + encodeTopics([ + _reserve, + _user, + _newRateMode, + _newRate, + _borrowBalanceIncrease, + _timestamp + ]: [string | null, string | null, null, null, null, null]): string[]; + }>; + }; +} + +export class LendingPool extends Contract { + connect(signerOrProvider: Signer | Provider | string): LendingPool; + attach(addressOrName: string): LendingPool; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): LendingPool; + once(event: EventFilter | string, listener: Listener): LendingPool; + addListener(eventName: EventFilter | string, listener: Listener): LendingPool; + removeAllListeners(eventName: EventFilter | string): LendingPool; + removeListener(eventName: any, listener: Listener): LendingPool; + + interface: LendingPoolInterface; + + functions: { + LENDINGPOOL_REVISION(): Promise; + + UINT_MAX_VALUE(): Promise; + + addressesProvider(): Promise; + + borrow( + _reserve: string, + _amount: BigNumberish, + _interestRateMode: BigNumberish, + _referralCode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + core(): Promise; + + dataProvider(): Promise; + + deposit( + _reserve: string, + _amount: BigNumberish, + _referralCode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + flashLoan( + _receiver: string, + _reserve: string, + _amount: BigNumberish, + _params: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getReserveConfigurationData( + _reserve: string + ): Promise<{ + ltv: BigNumber; + liquidationThreshold: BigNumber; + liquidationBonus: BigNumber; + interestRateStrategyAddress: string; + usageAsCollateralEnabled: boolean; + borrowingEnabled: boolean; + stableBorrowRateEnabled: boolean; + isActive: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: string; + 4: boolean; + 5: boolean; + 6: boolean; + 7: boolean; + }>; + + getReserveData( + _reserve: string + ): Promise<{ + totalLiquidity: BigNumber; + availableLiquidity: BigNumber; + totalBorrowsStable: BigNumber; + totalBorrowsVariable: BigNumber; + liquidityRate: BigNumber; + variableBorrowRate: BigNumber; + stableBorrowRate: BigNumber; + averageStableBorrowRate: BigNumber; + utilizationRate: BigNumber; + liquidityIndex: BigNumber; + variableBorrowIndex: BigNumber; + aTokenAddress: string; + lastUpdateTimestamp: number; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + 8: BigNumber; + 9: BigNumber; + 10: BigNumber; + 11: string; + 12: number; + }>; + + getReserves(): Promise; + + getUserAccountData( + _user: string + ): Promise<{ + totalLiquidityETH: BigNumber; + totalCollateralETH: BigNumber; + totalBorrowsETH: BigNumber; + totalFeesETH: BigNumber; + availableBorrowsETH: BigNumber; + currentLiquidationThreshold: BigNumber; + ltv: BigNumber; + healthFactor: BigNumber; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + }>; + + getUserReserveData( + _reserve: string, + _user: string + ): Promise<{ + currentATokenBalance: BigNumber; + currentBorrowBalance: BigNumber; + principalBorrowBalance: BigNumber; + borrowRateMode: BigNumber; + borrowRate: BigNumber; + liquidityRate: BigNumber; + originationFee: BigNumber; + variableBorrowIndex: BigNumber; + lastUpdateTimestamp: BigNumber; + usageAsCollateralEnabled: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + 8: BigNumber; + 9: boolean; + }>; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + liquidationCall( + _collateral: string, + _reserve: string, + _user: string, + _purchaseAmount: BigNumberish, + _receiveAToken: boolean, + overrides?: TransactionOverrides + ): Promise; + + parametersProvider(): Promise; + + rebalanceStableBorrowRate( + _reserve: string, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + redeemUnderlying( + _reserve: string, + _user: string, + _amount: BigNumberish, + _aTokenBalanceAfterRedeem: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + repay( + _reserve: string, + _amount: BigNumberish, + _onBehalfOf: string, + overrides?: TransactionOverrides + ): Promise; + + setUserUseReserveAsCollateral( + _reserve: string, + _useAsCollateral: boolean, + overrides?: TransactionOverrides + ): Promise; + + swapBorrowRateMode( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + }; + + LENDINGPOOL_REVISION(): Promise; + + UINT_MAX_VALUE(): Promise; + + addressesProvider(): Promise; + + borrow( + _reserve: string, + _amount: BigNumberish, + _interestRateMode: BigNumberish, + _referralCode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + core(): Promise; + + dataProvider(): Promise; + + deposit( + _reserve: string, + _amount: BigNumberish, + _referralCode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + flashLoan( + _receiver: string, + _reserve: string, + _amount: BigNumberish, + _params: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getReserveConfigurationData( + _reserve: string + ): Promise<{ + ltv: BigNumber; + liquidationThreshold: BigNumber; + liquidationBonus: BigNumber; + interestRateStrategyAddress: string; + usageAsCollateralEnabled: boolean; + borrowingEnabled: boolean; + stableBorrowRateEnabled: boolean; + isActive: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: string; + 4: boolean; + 5: boolean; + 6: boolean; + 7: boolean; + }>; + + getReserveData( + _reserve: string + ): Promise<{ + totalLiquidity: BigNumber; + availableLiquidity: BigNumber; + totalBorrowsStable: BigNumber; + totalBorrowsVariable: BigNumber; + liquidityRate: BigNumber; + variableBorrowRate: BigNumber; + stableBorrowRate: BigNumber; + averageStableBorrowRate: BigNumber; + utilizationRate: BigNumber; + liquidityIndex: BigNumber; + variableBorrowIndex: BigNumber; + aTokenAddress: string; + lastUpdateTimestamp: number; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + 8: BigNumber; + 9: BigNumber; + 10: BigNumber; + 11: string; + 12: number; + }>; + + getReserves(): Promise; + + getUserAccountData( + _user: string + ): Promise<{ + totalLiquidityETH: BigNumber; + totalCollateralETH: BigNumber; + totalBorrowsETH: BigNumber; + totalFeesETH: BigNumber; + availableBorrowsETH: BigNumber; + currentLiquidationThreshold: BigNumber; + ltv: BigNumber; + healthFactor: BigNumber; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + }>; + + getUserReserveData( + _reserve: string, + _user: string + ): Promise<{ + currentATokenBalance: BigNumber; + currentBorrowBalance: BigNumber; + principalBorrowBalance: BigNumber; + borrowRateMode: BigNumber; + borrowRate: BigNumber; + liquidityRate: BigNumber; + originationFee: BigNumber; + variableBorrowIndex: BigNumber; + lastUpdateTimestamp: BigNumber; + usageAsCollateralEnabled: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + 8: BigNumber; + 9: boolean; + }>; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + liquidationCall( + _collateral: string, + _reserve: string, + _user: string, + _purchaseAmount: BigNumberish, + _receiveAToken: boolean, + overrides?: TransactionOverrides + ): Promise; + + parametersProvider(): Promise; + + rebalanceStableBorrowRate( + _reserve: string, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + redeemUnderlying( + _reserve: string, + _user: string, + _amount: BigNumberish, + _aTokenBalanceAfterRedeem: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + repay( + _reserve: string, + _amount: BigNumberish, + _onBehalfOf: string, + overrides?: TransactionOverrides + ): Promise; + + setUserUseReserveAsCollateral( + _reserve: string, + _useAsCollateral: boolean, + overrides?: TransactionOverrides + ): Promise; + + swapBorrowRateMode( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Borrow( + _reserve: string | null, + _user: string | null, + _amount: null, + _borrowRateMode: null, + _borrowRate: null, + _originationFee: null, + _borrowBalanceIncrease: null, + _referral: BigNumberish | null, + _timestamp: null + ): EventFilter; + + Deposit( + _reserve: string | null, + _user: string | null, + _amount: null, + _referral: BigNumberish | null, + _timestamp: null + ): EventFilter; + + FlashLoan( + _target: string | null, + _reserve: string | null, + _amount: null, + _totalFee: null, + _protocolFee: null, + _timestamp: null + ): EventFilter; + + LiquidationCall( + _collateral: string | null, + _reserve: string | null, + _user: string | null, + _purchaseAmount: null, + _liquidatedCollateralAmount: null, + _accruedBorrowInterest: null, + _liquidator: null, + _receiveAToken: null, + _timestamp: null + ): EventFilter; + + OriginationFeeLiquidated( + _collateral: string | null, + _reserve: string | null, + _user: string | null, + _feeLiquidated: null, + _liquidatedCollateralForFee: null, + _timestamp: null + ): EventFilter; + + RebalanceStableBorrowRate( + _reserve: string | null, + _user: string | null, + _newStableRate: null, + _borrowBalanceIncrease: null, + _timestamp: null + ): EventFilter; + + RedeemUnderlying( + _reserve: string | null, + _user: string | null, + _amount: null, + _timestamp: null + ): EventFilter; + + Repay( + _reserve: string | null, + _user: string | null, + _repayer: string | null, + _amountMinusFees: null, + _fees: null, + _borrowBalanceIncrease: null, + _timestamp: null + ): EventFilter; + + ReserveUsedAsCollateralDisabled( + _reserve: string | null, + _user: string | null + ): EventFilter; + + ReserveUsedAsCollateralEnabled( + _reserve: string | null, + _user: string | null + ): EventFilter; + + Swap( + _reserve: string | null, + _user: string | null, + _newRateMode: null, + _newRate: null, + _borrowBalanceIncrease: null, + _timestamp: null + ): EventFilter; + }; + + estimate: { + LENDINGPOOL_REVISION(): Promise; + + UINT_MAX_VALUE(): Promise; + + addressesProvider(): Promise; + + borrow( + _reserve: string, + _amount: BigNumberish, + _interestRateMode: BigNumberish, + _referralCode: BigNumberish + ): Promise; + + core(): Promise; + + dataProvider(): Promise; + + deposit( + _reserve: string, + _amount: BigNumberish, + _referralCode: BigNumberish + ): Promise; + + flashLoan( + _receiver: string, + _reserve: string, + _amount: BigNumberish, + _params: Arrayish + ): Promise; + + getReserveConfigurationData(_reserve: string): Promise; + + getReserveData(_reserve: string): Promise; + + getReserves(): Promise; + + getUserAccountData(_user: string): Promise; + + getUserReserveData(_reserve: string, _user: string): Promise; + + initialize(_addressesProvider: string): Promise; + + liquidationCall( + _collateral: string, + _reserve: string, + _user: string, + _purchaseAmount: BigNumberish, + _receiveAToken: boolean + ): Promise; + + parametersProvider(): Promise; + + rebalanceStableBorrowRate( + _reserve: string, + _user: string + ): Promise; + + redeemUnderlying( + _reserve: string, + _user: string, + _amount: BigNumberish, + _aTokenBalanceAfterRedeem: BigNumberish + ): Promise; + + repay( + _reserve: string, + _amount: BigNumberish, + _onBehalfOf: string + ): Promise; + + setUserUseReserveAsCollateral( + _reserve: string, + _useAsCollateral: boolean + ): Promise; + + swapBorrowRateMode(_reserve: string): Promise; + }; +} diff --git a/types/LendingPoolAddressesProvider.d.ts b/types/LendingPoolAddressesProvider.d.ts new file mode 100644 index 00000000..731ca62d --- /dev/null +++ b/types/LendingPoolAddressesProvider.d.ts @@ -0,0 +1,467 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface LendingPoolAddressesProviderInterface extends Interface { + functions: { + getAddress: TypedFunctionDescription<{ + encode([_key]: [Arrayish]): string; + }>; + + getFeeProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + getLendingPool: TypedFunctionDescription<{ encode([]: []): string }>; + + getLendingPoolConfigurator: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getLendingPoolCore: TypedFunctionDescription<{ encode([]: []): string }>; + + getLendingPoolDataProvider: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getLendingPoolLiquidationManager: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getLendingPoolManager: TypedFunctionDescription<{ encode([]: []): string }>; + + getLendingPoolParametersProvider: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getLendingRateOracle: TypedFunctionDescription<{ encode([]: []): string }>; + + getPriceOracle: TypedFunctionDescription<{ encode([]: []): string }>; + + getTokenDistributor: TypedFunctionDescription<{ encode([]: []): string }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + renounceOwnership: TypedFunctionDescription<{ encode([]: []): string }>; + + setFeeProviderImpl: TypedFunctionDescription<{ + encode([_feeProvider]: [string]): string; + }>; + + setLendingPoolConfiguratorImpl: TypedFunctionDescription<{ + encode([_configurator]: [string]): string; + }>; + + setLendingPoolCoreImpl: TypedFunctionDescription<{ + encode([_lendingPoolCore]: [string]): string; + }>; + + setLendingPoolDataProviderImpl: TypedFunctionDescription<{ + encode([_provider]: [string]): string; + }>; + + setLendingPoolImpl: TypedFunctionDescription<{ + encode([_pool]: [string]): string; + }>; + + setLendingPoolLiquidationManager: TypedFunctionDescription<{ + encode([_manager]: [string]): string; + }>; + + setLendingPoolManager: TypedFunctionDescription<{ + encode([_lendingPoolManager]: [string]): string; + }>; + + setLendingPoolParametersProviderImpl: TypedFunctionDescription<{ + encode([_parametersProvider]: [string]): string; + }>; + + setLendingRateOracle: TypedFunctionDescription<{ + encode([_lendingRateOracle]: [string]): string; + }>; + + setPriceOracle: TypedFunctionDescription<{ + encode([_priceOracle]: [string]): string; + }>; + + setTokenDistributor: TypedFunctionDescription<{ + encode([_tokenDistributor]: [string]): string; + }>; + + transferOwnership: TypedFunctionDescription<{ + encode([newOwner]: [string]): string; + }>; + }; + + events: { + EthereumAddressUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + FeeProviderUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + LendingPoolConfiguratorUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + LendingPoolCoreUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + LendingPoolDataProviderUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + LendingPoolLiquidationManagerUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + LendingPoolManagerUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + LendingPoolParametersProviderUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + LendingPoolUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + LendingRateOracleUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + OwnershipTransferred: TypedEventDescription<{ + encodeTopics([previousOwner, newOwner]: [ + string | null, + string | null + ]): string[]; + }>; + + PriceOracleUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + ProxyCreated: TypedEventDescription<{ + encodeTopics([id, newAddress]: [null, string | null]): string[]; + }>; + + TokenDistributorUpdated: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + }; +} + +export class LendingPoolAddressesProvider extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): LendingPoolAddressesProvider; + attach(addressOrName: string): LendingPoolAddressesProvider; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): LendingPoolAddressesProvider; + once( + event: EventFilter | string, + listener: Listener + ): LendingPoolAddressesProvider; + addListener( + eventName: EventFilter | string, + listener: Listener + ): LendingPoolAddressesProvider; + removeAllListeners( + eventName: EventFilter | string + ): LendingPoolAddressesProvider; + removeListener( + eventName: any, + listener: Listener + ): LendingPoolAddressesProvider; + + interface: LendingPoolAddressesProviderInterface; + + functions: { + getAddress(_key: Arrayish): Promise; + + getFeeProvider(): Promise; + + getLendingPool(): Promise; + + getLendingPoolConfigurator(): Promise; + + getLendingPoolCore(): Promise; + + getLendingPoolDataProvider(): Promise; + + getLendingPoolLiquidationManager(): Promise; + + getLendingPoolManager(): Promise; + + getLendingPoolParametersProvider(): Promise; + + getLendingRateOracle(): Promise; + + getPriceOracle(): Promise; + + getTokenDistributor(): Promise; + + owner(): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + setFeeProviderImpl( + _feeProvider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolConfiguratorImpl( + _configurator: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolCoreImpl( + _lendingPoolCore: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolDataProviderImpl( + _provider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolImpl( + _pool: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolLiquidationManager( + _manager: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolManager( + _lendingPoolManager: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolParametersProviderImpl( + _parametersProvider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingRateOracle( + _lendingRateOracle: string, + overrides?: TransactionOverrides + ): Promise; + + setPriceOracle( + _priceOracle: string, + overrides?: TransactionOverrides + ): Promise; + + setTokenDistributor( + _tokenDistributor: string, + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + }; + + getAddress(_key: Arrayish): Promise; + + getFeeProvider(): Promise; + + getLendingPool(): Promise; + + getLendingPoolConfigurator(): Promise; + + getLendingPoolCore(): Promise; + + getLendingPoolDataProvider(): Promise; + + getLendingPoolLiquidationManager(): Promise; + + getLendingPoolManager(): Promise; + + getLendingPoolParametersProvider(): Promise; + + getLendingRateOracle(): Promise; + + getPriceOracle(): Promise; + + getTokenDistributor(): Promise; + + owner(): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + setFeeProviderImpl( + _feeProvider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolConfiguratorImpl( + _configurator: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolCoreImpl( + _lendingPoolCore: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolDataProviderImpl( + _provider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolImpl( + _pool: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolLiquidationManager( + _manager: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolManager( + _lendingPoolManager: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingPoolParametersProviderImpl( + _parametersProvider: string, + overrides?: TransactionOverrides + ): Promise; + + setLendingRateOracle( + _lendingRateOracle: string, + overrides?: TransactionOverrides + ): Promise; + + setPriceOracle( + _priceOracle: string, + overrides?: TransactionOverrides + ): Promise; + + setTokenDistributor( + _tokenDistributor: string, + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + EthereumAddressUpdated(newAddress: string | null): EventFilter; + + FeeProviderUpdated(newAddress: string | null): EventFilter; + + LendingPoolConfiguratorUpdated(newAddress: string | null): EventFilter; + + LendingPoolCoreUpdated(newAddress: string | null): EventFilter; + + LendingPoolDataProviderUpdated(newAddress: string | null): EventFilter; + + LendingPoolLiquidationManagerUpdated( + newAddress: string | null + ): EventFilter; + + LendingPoolManagerUpdated(newAddress: string | null): EventFilter; + + LendingPoolParametersProviderUpdated( + newAddress: string | null + ): EventFilter; + + LendingPoolUpdated(newAddress: string | null): EventFilter; + + LendingRateOracleUpdated(newAddress: string | null): EventFilter; + + OwnershipTransferred( + previousOwner: string | null, + newOwner: string | null + ): EventFilter; + + PriceOracleUpdated(newAddress: string | null): EventFilter; + + ProxyCreated(id: null, newAddress: string | null): EventFilter; + + TokenDistributorUpdated(newAddress: string | null): EventFilter; + }; + + estimate: { + getAddress(_key: Arrayish): Promise; + + getFeeProvider(): Promise; + + getLendingPool(): Promise; + + getLendingPoolConfigurator(): Promise; + + getLendingPoolCore(): Promise; + + getLendingPoolDataProvider(): Promise; + + getLendingPoolLiquidationManager(): Promise; + + getLendingPoolManager(): Promise; + + getLendingPoolParametersProvider(): Promise; + + getLendingRateOracle(): Promise; + + getPriceOracle(): Promise; + + getTokenDistributor(): Promise; + + owner(): Promise; + + renounceOwnership(): Promise; + + setFeeProviderImpl(_feeProvider: string): Promise; + + setLendingPoolConfiguratorImpl(_configurator: string): Promise; + + setLendingPoolCoreImpl(_lendingPoolCore: string): Promise; + + setLendingPoolDataProviderImpl(_provider: string): Promise; + + setLendingPoolImpl(_pool: string): Promise; + + setLendingPoolLiquidationManager(_manager: string): Promise; + + setLendingPoolManager(_lendingPoolManager: string): Promise; + + setLendingPoolParametersProviderImpl( + _parametersProvider: string + ): Promise; + + setLendingRateOracle(_lendingRateOracle: string): Promise; + + setPriceOracle(_priceOracle: string): Promise; + + setTokenDistributor(_tokenDistributor: string): Promise; + + transferOwnership(newOwner: string): Promise; + }; +} diff --git a/types/LendingPoolAddressesProviderFactory.ts b/types/LendingPoolAddressesProviderFactory.ts new file mode 100644 index 00000000..5c7d56e1 --- /dev/null +++ b/types/LendingPoolAddressesProviderFactory.ts @@ -0,0 +1,578 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { LendingPoolAddressesProvider } from "./LendingPoolAddressesProvider"; + +export class LendingPoolAddressesProviderFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + overrides?: TransactionOverrides + ): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): LendingPoolAddressesProvider { + return super.attach(address) as LendingPoolAddressesProvider; + } + connect(signer: Signer): LendingPoolAddressesProviderFactory { + return super.connect(signer) as LendingPoolAddressesProviderFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LendingPoolAddressesProvider { + return new Contract( + address, + _abi, + signerOrProvider + ) as LendingPoolAddressesProvider; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "EthereumAddressUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "FeeProviderUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "LendingPoolConfiguratorUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "LendingPoolCoreUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "LendingPoolDataProviderUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "LendingPoolLiquidationManagerUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "LendingPoolManagerUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "LendingPoolParametersProviderUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "LendingPoolUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "LendingRateOracleUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnershipTransferred", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "PriceOracleUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "id", + type: "bytes32" + }, + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "ProxyCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "TokenDistributorUpdated", + type: "event" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_key", + type: "bytes32" + } + ], + name: "getAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getFeeProvider", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPool", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolConfigurator", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolCore", + outputs: [ + { + internalType: "address payable", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolDataProvider", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolLiquidationManager", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolManager", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingPoolParametersProvider", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLendingRateOracle", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getPriceOracle", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getTokenDistributor", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_feeProvider", + type: "address" + } + ], + name: "setFeeProviderImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_configurator", + type: "address" + } + ], + name: "setLendingPoolConfiguratorImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_lendingPoolCore", + type: "address" + } + ], + name: "setLendingPoolCoreImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_provider", + type: "address" + } + ], + name: "setLendingPoolDataProviderImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_pool", + type: "address" + } + ], + name: "setLendingPoolImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_manager", + type: "address" + } + ], + name: "setLendingPoolLiquidationManager", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_lendingPoolManager", + type: "address" + } + ], + name: "setLendingPoolManager", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_parametersProvider", + type: "address" + } + ], + name: "setLendingPoolParametersProviderImpl", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_lendingRateOracle", + type: "address" + } + ], + name: "setLendingRateOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_priceOracle", + type: "address" + } + ], + name: "setPriceOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenDistributor", + type: "address" + } + ], + name: "setTokenDistributor", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b612e41806100db6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80635aef021f116100de578063bfedc10311610097578063ee89129611610071578063ee89129614610791578063f2fde38b146107db578063fbeefc3c1461081f578063fca513a8146108695761018e565b8063bfedc103146106bf578063c12542df14610703578063ed6ff760146107475761018e565b80635aef021f14610555578063715018a614610599578063820d1274146105a357806385c858b1146105e75780638da5cb5b14610631578063a5eface21461067b5761018e565b806333128d591161014b57806340fdcadc1161012557806340fdcadc1461043f57806344ce375b14610483578063530e784f146104c75780635834eb9a1461050b5761018e565b806333128d59146103675780633618abba146103b157806338280e6b146103fb5761018e565b80630261bf8b1461019357806304061d8e146101dd5780631c8272041461022757806321f8a7211461026b5780632a62c636146102d95780632f58b80d1461031d575b600080fd5b61019b6108b3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e56108e3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102696004803603602081101561023d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610913565b005b6102976004803603602081101561028157600080fd5b8101908080359060200190929190505050610a4c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61031b600480360360208110156102ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a89565b005b610325610bc2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61036f610bf2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103b9610c22565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61043d6004803603602081101561041157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c52565b005b6104816004803603602081101561045557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d8b565b005b6104c56004803603602081101561049957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec4565b005b610509600480360360208110156104dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ffd565b005b610513611136565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105976004803603602081101561056b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611166565b005b6105a161129f565b005b6105e5600480360360208110156105b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611427565b005b6105ef611560565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610639611590565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106bd6004803603602081101561069157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b9565b005b610701600480360360208110156106d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116f2565b005b6107456004803603602081101561071957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061182b565b005b61074f611964565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610799611999565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61081d600480360360208110156107f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119c9565b005b610827611bd6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610871611c06565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006108de7f4c454e44494e475f504f4f4c0000000000000000000000000000000000000000610a4c565b905090565b600061090e7f504152414d45544552535f50524f564944455200000000000000000000000000610a4c565b905090565b61091b611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610a067f4c454e44494e475f504f4f4c5f434f524500000000000000000000000000000082611c3e565b8073ffffffffffffffffffffffffffffffffffffffff167f71c226bb2879778ca1298196bf7cc1256baee9d05b496c31ee627d35a471b5b760405160405180910390a250565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610a91611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610b7c7f4645455f50524f5649444552000000000000000000000000000000000000000082611c3e565b8073ffffffffffffffffffffffffffffffffffffffff167f18e1a55b8eff9c93921eecfa1462d6a8cbb80b3988db3eb14c039e43fdb2266160405160405180910390a250565b6000610bed7f444154415f50524f564944455200000000000000000000000000000000000000610a4c565b905090565b6000610c1d7f4c454e44494e475f504f4f4c5f4d414e41474552000000000000000000000000610a4c565b905090565b6000610c4d7f4c454e44494e475f524154455f4f5241434c4500000000000000000000000000610a4c565b905090565b610c5a611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610d457f544f4b454e5f4449535452494255544f520000000000000000000000000000008261200f565b8073ffffffffffffffffffffffffffffffffffffffff167fa8b48a56ec01f81c3615a21ec43e16b925c26293e0801cf6330427f2a687f05360405160405180910390a250565b610d93611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610e7e7f4c454e44494e475f504f4f4c5f4d414e414745520000000000000000000000008261200f565b8073ffffffffffffffffffffffffffffffffffffffff167fd5280c51185a38d36f7a0f5e56cac6248312bb70d0974782fa5a595127e0e08e60405160405180910390a250565b610ecc611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610fb77f4c49515549444154494f4e5f4d414e41474552000000000000000000000000008261200f565b8073ffffffffffffffffffffffffffffffffffffffff167f1a76cb769b814bc038223da86932b099b20aae03473683e6d98f5c3554e2606460405160405180910390a250565b611005611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6110f07f50524943455f4f5241434c4500000000000000000000000000000000000000008261200f565b8073ffffffffffffffffffffffffffffffffffffffff167fefe8ab924ca486283a79dc604baa67add51afb82af1db8ac386ebbba643cdffd60405160405180910390a250565b60006111617f4c49515549444154494f4e5f4d414e4147455200000000000000000000000000610a4c565b905090565b61116e611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6112597f4c454e44494e475f504f4f4c000000000000000000000000000000000000000082611c3e565b8073ffffffffffffffffffffffffffffffffffffffff167fc4e6c6cdf28d0edbd8bcf071d724d33cc2e7a30be7d06443925656e9cb492aa460405160405180910390a250565b6112a7611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61142f611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61151a7f4c454e44494e475f524154455f4f5241434c45000000000000000000000000008261200f565b8073ffffffffffffffffffffffffffffffffffffffff167f5c29179aba6942020a8a2d38f65de02fb6b7f784e7f049ed3a3cab97621859b560405160405180910390a250565b600061158b7f4c454e44494e475f504f4f4c5f434f4e464947555241544f5200000000000000610a4c565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6115c1611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611682576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6116ac7f504152414d45544552535f50524f56494445520000000000000000000000000082611c3e565b8073ffffffffffffffffffffffffffffffffffffffff167fce16ea9b2fd7cadddd0f7359971028f50b5ddba33dfae1a9bdea956fabb1e28060405160405180910390a250565b6116fa611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6117e57f444154415f50524f56494445520000000000000000000000000000000000000082611c3e565b8073ffffffffffffffffffffffffffffffffffffffff167f07890d7d10db37434d76ee4f2928fb2dc66227c3b3391206aced4f7bcb59cdb060405160405180910390a250565b611833611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61191e7f4c454e44494e475f504f4f4c5f434f4e464947555241544f520000000000000082611c3e565b8073ffffffffffffffffffffffffffffffffffffffff167fdfabe479bad36782fb1e77fbfddd4e382671713527e4786cfc93a022ae76372960405160405180910390a250565b6000806119907f4c454e44494e475f504f4f4c5f434f5245000000000000000000000000000000610a4c565b90508091505090565b60006119c47f544f4b454e5f4449535452494255544f52000000000000000000000000000000610a4c565b905090565b6119d1611c36565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612de66026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611c017f4645455f50524f56494445520000000000000000000000000000000000000000610a4c565b905090565b6000611c317f50524943455f4f5241434c450000000000000000000000000000000000000000610a4c565b905090565b600033905090565b6000611c4983610a4c565b90506000819050606030604051602401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040516020818303038152906040527fc4d66de8000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f0357604051611d4f90612065565b604051809103906000f080158015611d6b573d6000803e3d6000fd5b5091508173ffffffffffffffffffffffffffffffffffffffff1663cf7a1d778530846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611e40578082015181840152602081019050611e25565b50505050905090810190601f168015611e6d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611e8e57600080fd5b505af1158015611ea2573d6000803e3d6000fd5b50505050611eb0858361200f565b8173ffffffffffffffffffffffffffffffffffffffff167f1eb35cb4b5bbb23d152f3b4016a5a46c37a07ae930ed0956aba951e231142438866040518082815260200191505060405180910390a2612008565b8173ffffffffffffffffffffffffffffffffffffffff16634f1ef28685836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611fa2578082015181840152602081019050611f87565b50505050905090810190601f168015611fcf5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015611fef57600080fd5b505af1158015612003573d6000803e3d6000fd5b505050505b5050505050565b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b610d73806120738339019056fe608060405234801561001057600080fd5b50610d53806100206000396000f3fe6080604052600436106100745760003560e01c80638f2839701161004e5780638f283970146101c9578063cf7a1d771461021a578063d1f5789414610315578063f851a440146103f057610083565b80633659cfe6146100885780634f1ef286146100d95780635c60da1b1461017257610083565b3661008357610081610447565b005b600080fd5b34801561009457600080fd5b506100d7600480360360208110156100ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610461565b005b610170600480360360408110156100ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561012c57600080fd5b82018360208201111561013e57600080fd5b8035906020019184600183028401116401000000008311171561016057600080fd5b90919293919293905050506104b6565b005b34801561017e57600080fd5b5061018761058c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101d557600080fd5b50610218600480360360208110156101ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105e4565b005b6103136004803603606081101561023057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028d57600080fd5b82018360208201111561029f57600080fd5b803590602001918460018302840111640100000000831117156102c157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061075d565b005b6103ee6004803603604081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561036857600080fd5b82018360208201111561037a57600080fd5b8035906020019184600183028401116401000000008311171561039c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061081f565b005b3480156103fc57600080fd5b506104056109a2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61044f6109fa565b61045f61045a610a04565b610a35565b565b610469610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156104aa576104a581610a8c565b6104b3565b6104b2610447565b5b50565b6104be610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561057e576104fa83610a8c565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610565576040519150601f19603f3d011682016040523d82523d6000602084013e61056a565b606091505b505090508061057857600080fd5b50610587565b610586610447565b5b505050565b6000610596610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105d8576105d1610a04565b90506105e1565b6105e0610447565b5b90565b6105ec610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561075157600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156106a5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610cad6036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6106ce610a5b565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161074c81610adb565b61075a565b610759610447565b5b50565b600073ffffffffffffffffffffffffffffffffffffffff1661077d610a04565b73ffffffffffffffffffffffffffffffffffffffff161461079d57600080fd5b6107a7838261081f565b600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b1461081157fe5b61081a82610adb565b505050565b600073ffffffffffffffffffffffffffffffffffffffff1661083f610a04565b73ffffffffffffffffffffffffffffffffffffffff161461085f57600080fd5b600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b146108c957fe5b6108d282610b0a565b60008151111561099e5760008273ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b602083106109295780518252602082019150602081019050602083039250610906565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610989576040519150601f19603f3d011682016040523d82523d6000602084013e61098e565b606091505b505090508061099c57600080fd5b505b5050565b60006109ac610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156109ee576109e7610a5b565b90506109f7565b6109f6610447565b5b90565b610a02610b97565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e8060008114610a56573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b610a9581610b0a565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b610b1381610c2d565b610b68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610ce3603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b610b9f610a5b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180610c7b6032913960400191505060405180910390fd5b610c2b610c78565b565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015610c6f57506000801b8214155b92505050919050565b56fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220a12941e9bce1bde36f44bb5c03c27af62469cfa6958fcac106926a5a40dbe4d464736f6c634300060800334f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212205a6b01910506d53d78d74eddecc906aff4aef41d6489fb73bcb65465d0a1b34064736f6c63430006080033"; diff --git a/types/LendingPoolAddressesProviderRegistry.d.ts b/types/LendingPoolAddressesProviderRegistry.d.ts new file mode 100644 index 00000000..a58835ca --- /dev/null +++ b/types/LendingPoolAddressesProviderRegistry.d.ts @@ -0,0 +1,170 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface LendingPoolAddressesProviderRegistryInterface extends Interface { + functions: { + getAddressesProvidersList: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + isAddressesProviderRegistered: TypedFunctionDescription<{ + encode([_provider]: [string]): string; + }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + registerAddressesProvider: TypedFunctionDescription<{ + encode([_provider, _id]: [string, BigNumberish]): string; + }>; + + renounceOwnership: TypedFunctionDescription<{ encode([]: []): string }>; + + transferOwnership: TypedFunctionDescription<{ + encode([newOwner]: [string]): string; + }>; + + unregisterAddressesProvider: TypedFunctionDescription<{ + encode([_provider]: [string]): string; + }>; + }; + + events: { + AddressesProviderRegistered: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + AddressesProviderUnregistered: TypedEventDescription<{ + encodeTopics([newAddress]: [string | null]): string[]; + }>; + + OwnershipTransferred: TypedEventDescription<{ + encodeTopics([previousOwner, newOwner]: [ + string | null, + string | null + ]): string[]; + }>; + }; +} + +export class LendingPoolAddressesProviderRegistry extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): LendingPoolAddressesProviderRegistry; + attach(addressOrName: string): LendingPoolAddressesProviderRegistry; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): LendingPoolAddressesProviderRegistry; + once( + event: EventFilter | string, + listener: Listener + ): LendingPoolAddressesProviderRegistry; + addListener( + eventName: EventFilter | string, + listener: Listener + ): LendingPoolAddressesProviderRegistry; + removeAllListeners( + eventName: EventFilter | string + ): LendingPoolAddressesProviderRegistry; + removeListener( + eventName: any, + listener: Listener + ): LendingPoolAddressesProviderRegistry; + + interface: LendingPoolAddressesProviderRegistryInterface; + + functions: { + getAddressesProvidersList(): Promise; + + isAddressesProviderRegistered(_provider: string): Promise; + + owner(): Promise; + + registerAddressesProvider( + _provider: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + unregisterAddressesProvider( + _provider: string, + overrides?: TransactionOverrides + ): Promise; + }; + + getAddressesProvidersList(): Promise; + + isAddressesProviderRegistered(_provider: string): Promise; + + owner(): Promise; + + registerAddressesProvider( + _provider: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + unregisterAddressesProvider( + _provider: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + AddressesProviderRegistered(newAddress: string | null): EventFilter; + + AddressesProviderUnregistered(newAddress: string | null): EventFilter; + + OwnershipTransferred( + previousOwner: string | null, + newOwner: string | null + ): EventFilter; + }; + + estimate: { + getAddressesProvidersList(): Promise; + + isAddressesProviderRegistered(_provider: string): Promise; + + owner(): Promise; + + registerAddressesProvider( + _provider: string, + _id: BigNumberish + ): Promise; + + renounceOwnership(): Promise; + + transferOwnership(newOwner: string): Promise; + + unregisterAddressesProvider(_provider: string): Promise; + }; +} diff --git a/types/LendingPoolAddressesProviderRegistryFactory.ts b/types/LendingPoolAddressesProviderRegistryFactory.ts new file mode 100644 index 00000000..05f9357c --- /dev/null +++ b/types/LendingPoolAddressesProviderRegistryFactory.ts @@ -0,0 +1,189 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { LendingPoolAddressesProviderRegistry } from "./LendingPoolAddressesProviderRegistry"; + +export class LendingPoolAddressesProviderRegistryFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + overrides?: TransactionOverrides + ): Promise { + return super.deploy(overrides) as Promise< + LendingPoolAddressesProviderRegistry + >; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): LendingPoolAddressesProviderRegistry { + return super.attach(address) as LendingPoolAddressesProviderRegistry; + } + connect(signer: Signer): LendingPoolAddressesProviderRegistryFactory { + return super.connect(signer) as LendingPoolAddressesProviderRegistryFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LendingPoolAddressesProviderRegistry { + return new Contract( + address, + _abi, + signerOrProvider + ) as LendingPoolAddressesProviderRegistry; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "AddressesProviderRegistered", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newAddress", + type: "address" + } + ], + name: "AddressesProviderUnregistered", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnershipTransferred", + type: "event" + }, + { + inputs: [], + name: "getAddressesProvidersList", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_provider", + type: "address" + } + ], + name: "isAddressesProviderRegistered", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_provider", + type: "address" + }, + { + internalType: "uint256", + name: "_id", + type: "uint256" + } + ], + name: "registerAddressesProvider", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_provider", + type: "address" + } + ], + name: "unregisterAddressesProvider", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b610cab806100db6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b1461012f578063d258191e14610179578063d570d954146101c7578063f2fde38b1461021f5761007d565b80630de2670714610082578063365ccbbf146100c6578063715018a614610125575b600080fd5b6100c46004803603602081101561009857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610263565b005b6100ce61046c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101115780820151818401526020810190506100f6565b505050509050019250505060405180910390f35b61012d6105ea565b005b610137610772565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101c56004803603604081101561018f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061079b565b005b610209600480360360208110156101dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f8565b6040518082815260200191505060405180910390f35b6102616004803603602081101561023557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610941565b005b61026b610b4e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461032c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116103e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f50726f7669646572206973206e6f74207265676973746572656400000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f851e5971c053e6b76e3a1e0b8ffa81430df738007fad86e195c409a757faccd260405160405180910390a250565b60606000600280549050905060608167ffffffffffffffff8111801561049157600080fd5b506040519080825280602002602001820160405280156104c05781602001602082028036833780820191505090505b50905060008090505b6002805490508110156105e157600060016000600284815481106104e957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156105d4576002818154811061056257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682828151811061059957fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b80806001019150506104c9565b50809250505090565b6105f2610b4e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6107a3610b4e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610864576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108b182610b56565b8173ffffffffffffffffffffffffffffffffffffffff167f2db38786c10176b033a1608361716b0ca992e3af55dc05b6dc710969790beeda60405160405180910390a25050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610949610b4e565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610c506026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b60008090505b600280549050811015610be7578173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b8d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610bda5750610c4c565b8080600101915050610b5c565b506002819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212208fff8148c4d3f27688a2b4dd4afc6b9426ed78e1c8b0661d0de03eadada05b8564736f6c63430006080033"; diff --git a/types/LendingPoolConfigurator.d.ts b/types/LendingPoolConfigurator.d.ts new file mode 100644 index 00000000..c971bc30 --- /dev/null +++ b/types/LendingPoolConfigurator.d.ts @@ -0,0 +1,586 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface LendingPoolConfiguratorInterface extends Interface { + functions: { + CONFIGURATOR_REVISION: TypedFunctionDescription<{ encode([]: []): string }>; + + activateReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + deactivateReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + disableBorrowingOnReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + disableReserveAsCollateral: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + disableReserveStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + enableBorrowingOnReserve: TypedFunctionDescription<{ + encode([_reserve, _stableBorrowRateEnabled]: [string, boolean]): string; + }>; + + enableReserveAsCollateral: TypedFunctionDescription<{ + encode([ + _reserve, + _baseLTVasCollateral, + _liquidationThreshold, + _liquidationBonus + ]: [string, BigNumberish, BigNumberish, BigNumberish]): string; + }>; + + enableReserveStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + freezeReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + initReserve: TypedFunctionDescription<{ + encode([ + _reserve, + _underlyingAssetDecimals, + _interestRateStrategyAddress + ]: [string, BigNumberish, string]): string; + }>; + + initReserveWithData: TypedFunctionDescription<{ + encode([ + _reserve, + _aTokenName, + _aTokenSymbol, + _underlyingAssetDecimals, + _interestRateStrategyAddress + ]: [string, string, string, BigNumberish, string]): string; + }>; + + initialize: TypedFunctionDescription<{ + encode([_poolAddressesProvider]: [string]): string; + }>; + + poolAddressesProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + refreshLendingPoolCoreConfiguration: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + removeLastAddedReserve: TypedFunctionDescription<{ + encode([_reserveToRemove]: [string]): string; + }>; + + setReserveBaseLTVasCollateral: TypedFunctionDescription<{ + encode([_reserve, _ltv]: [string, BigNumberish]): string; + }>; + + setReserveDecimals: TypedFunctionDescription<{ + encode([_reserve, _decimals]: [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; + }>; + + unfreezeReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + }; + + events: { + BorrowingDisabledOnReserve: TypedEventDescription<{ + encodeTopics([_reserve]: [string | null]): string[]; + }>; + + BorrowingEnabledOnReserve: TypedEventDescription<{ + encodeTopics([_reserve, _stableRateEnabled]: [null, null]): string[]; + }>; + + ReserveActivated: TypedEventDescription<{ + encodeTopics([_reserve]: [string | null]): string[]; + }>; + + ReserveBaseLtvChanged: TypedEventDescription<{ + encodeTopics([_reserve, _ltv]: [null, null]): string[]; + }>; + + ReserveDeactivated: TypedEventDescription<{ + encodeTopics([_reserve]: [string | null]): string[]; + }>; + + ReserveDecimalsChanged: TypedEventDescription<{ + encodeTopics([_reserve, _decimals]: [null, null]): string[]; + }>; + + ReserveDisabledAsCollateral: TypedEventDescription<{ + encodeTopics([_reserve]: [string | null]): string[]; + }>; + + ReserveEnabledAsCollateral: TypedEventDescription<{ + encodeTopics([_reserve, _ltv, _liquidationThreshold, _liquidationBonus]: [ + string | null, + null, + null, + null + ]): string[]; + }>; + + ReserveFreezed: TypedEventDescription<{ + encodeTopics([_reserve]: [string | null]): string[]; + }>; + + ReserveInitialized: TypedEventDescription<{ + encodeTopics([_reserve, _aToken, _interestRateStrategyAddress]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + ReserveInterestRateStrategyChanged: TypedEventDescription<{ + encodeTopics([_reserve, _strategy]: [null, null]): string[]; + }>; + + ReserveLiquidationBonusChanged: TypedEventDescription<{ + encodeTopics([_reserve, _bonus]: [null, null]): string[]; + }>; + + ReserveLiquidationThresholdChanged: TypedEventDescription<{ + encodeTopics([_reserve, _threshold]: [null, null]): string[]; + }>; + + ReserveRemoved: TypedEventDescription<{ + encodeTopics([_reserve]: [string | null]): string[]; + }>; + + ReserveUnfreezed: TypedEventDescription<{ + encodeTopics([_reserve]: [string | null]): string[]; + }>; + + StableRateDisabledOnReserve: TypedEventDescription<{ + encodeTopics([_reserve]: [string | null]): string[]; + }>; + + StableRateEnabledOnReserve: TypedEventDescription<{ + encodeTopics([_reserve]: [string | null]): string[]; + }>; + }; +} + +export class LendingPoolConfigurator extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): LendingPoolConfigurator; + attach(addressOrName: string): LendingPoolConfigurator; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): LendingPoolConfigurator; + once( + event: EventFilter | string, + listener: Listener + ): LendingPoolConfigurator; + addListener( + eventName: EventFilter | string, + listener: Listener + ): LendingPoolConfigurator; + removeAllListeners(eventName: EventFilter | string): LendingPoolConfigurator; + removeListener(eventName: any, listener: Listener): LendingPoolConfigurator; + + interface: LendingPoolConfiguratorInterface; + + functions: { + CONFIGURATOR_REVISION(): Promise; + + activateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + deactivateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableBorrowingOnReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveAsCollateral( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + enableBorrowingOnReserve( + _reserve: string, + _stableBorrowRateEnabled: boolean, + overrides?: TransactionOverrides + ): Promise; + + enableReserveAsCollateral( + _reserve: string, + _baseLTVasCollateral: BigNumberish, + _liquidationThreshold: BigNumberish, + _liquidationBonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + enableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + freezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + initReserve( + _reserve: string, + _underlyingAssetDecimals: BigNumberish, + _interestRateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + initReserveWithData( + _reserve: string, + _aTokenName: string, + _aTokenSymbol: string, + _underlyingAssetDecimals: BigNumberish, + _interestRateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _poolAddressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + poolAddressesProvider(): Promise; + + refreshLendingPoolCoreConfiguration( + overrides?: TransactionOverrides + ): Promise; + + removeLastAddedReserve( + _reserveToRemove: string, + overrides?: TransactionOverrides + ): Promise; + + setReserveBaseLTVasCollateral( + _reserve: string, + _ltv: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveDecimals( + _reserve: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveInterestRateStrategyAddress( + _reserve: string, + _rateStrategyAddress: string, + 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; + }; + + CONFIGURATOR_REVISION(): Promise; + + activateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + deactivateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableBorrowingOnReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveAsCollateral( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + enableBorrowingOnReserve( + _reserve: string, + _stableBorrowRateEnabled: boolean, + overrides?: TransactionOverrides + ): Promise; + + enableReserveAsCollateral( + _reserve: string, + _baseLTVasCollateral: BigNumberish, + _liquidationThreshold: BigNumberish, + _liquidationBonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + enableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + freezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + initReserve( + _reserve: string, + _underlyingAssetDecimals: BigNumberish, + _interestRateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + initReserveWithData( + _reserve: string, + _aTokenName: string, + _aTokenSymbol: string, + _underlyingAssetDecimals: BigNumberish, + _interestRateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _poolAddressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + poolAddressesProvider(): Promise; + + refreshLendingPoolCoreConfiguration( + overrides?: TransactionOverrides + ): Promise; + + removeLastAddedReserve( + _reserveToRemove: string, + overrides?: TransactionOverrides + ): Promise; + + setReserveBaseLTVasCollateral( + _reserve: string, + _ltv: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveDecimals( + _reserve: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveInterestRateStrategyAddress( + _reserve: string, + _rateStrategyAddress: string, + 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: { + BorrowingDisabledOnReserve(_reserve: string | null): EventFilter; + + BorrowingEnabledOnReserve( + _reserve: null, + _stableRateEnabled: null + ): EventFilter; + + ReserveActivated(_reserve: string | null): EventFilter; + + ReserveBaseLtvChanged(_reserve: null, _ltv: null): EventFilter; + + ReserveDeactivated(_reserve: string | null): EventFilter; + + ReserveDecimalsChanged(_reserve: null, _decimals: null): EventFilter; + + ReserveDisabledAsCollateral(_reserve: string | null): EventFilter; + + ReserveEnabledAsCollateral( + _reserve: string | null, + _ltv: null, + _liquidationThreshold: null, + _liquidationBonus: null + ): EventFilter; + + ReserveFreezed(_reserve: string | null): EventFilter; + + ReserveInitialized( + _reserve: string | null, + _aToken: string | null, + _interestRateStrategyAddress: null + ): EventFilter; + + ReserveInterestRateStrategyChanged( + _reserve: null, + _strategy: null + ): EventFilter; + + ReserveLiquidationBonusChanged(_reserve: null, _bonus: null): EventFilter; + + ReserveLiquidationThresholdChanged( + _reserve: null, + _threshold: null + ): EventFilter; + + ReserveRemoved(_reserve: string | null): EventFilter; + + ReserveUnfreezed(_reserve: string | null): EventFilter; + + StableRateDisabledOnReserve(_reserve: string | null): EventFilter; + + StableRateEnabledOnReserve(_reserve: string | null): EventFilter; + }; + + estimate: { + CONFIGURATOR_REVISION(): Promise; + + activateReserve(_reserve: string): Promise; + + deactivateReserve(_reserve: string): Promise; + + disableBorrowingOnReserve(_reserve: string): Promise; + + disableReserveAsCollateral(_reserve: string): Promise; + + disableReserveStableBorrowRate(_reserve: string): Promise; + + enableBorrowingOnReserve( + _reserve: string, + _stableBorrowRateEnabled: boolean + ): Promise; + + enableReserveAsCollateral( + _reserve: string, + _baseLTVasCollateral: BigNumberish, + _liquidationThreshold: BigNumberish, + _liquidationBonus: BigNumberish + ): Promise; + + enableReserveStableBorrowRate(_reserve: string): Promise; + + freezeReserve(_reserve: string): Promise; + + initReserve( + _reserve: string, + _underlyingAssetDecimals: BigNumberish, + _interestRateStrategyAddress: string + ): Promise; + + initReserveWithData( + _reserve: string, + _aTokenName: string, + _aTokenSymbol: string, + _underlyingAssetDecimals: BigNumberish, + _interestRateStrategyAddress: string + ): Promise; + + initialize(_poolAddressesProvider: string): Promise; + + poolAddressesProvider(): Promise; + + refreshLendingPoolCoreConfiguration(): Promise; + + removeLastAddedReserve(_reserveToRemove: string): Promise; + + setReserveBaseLTVasCollateral( + _reserve: string, + _ltv: BigNumberish + ): Promise; + + setReserveDecimals( + _reserve: string, + _decimals: BigNumberish + ): Promise; + + setReserveInterestRateStrategyAddress( + _reserve: string, + _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 new file mode 100644 index 00000000..bbb0735f --- /dev/null +++ b/types/LendingPoolConfiguratorFactory.ts @@ -0,0 +1,686 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { LendingPoolConfigurator } from "./LendingPoolConfigurator"; + +export class LendingPoolConfiguratorFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): LendingPoolConfigurator { + return super.attach(address) as LendingPoolConfigurator; + } + connect(signer: Signer): LendingPoolConfiguratorFactory { + return super.connect(signer) as LendingPoolConfiguratorFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LendingPoolConfigurator { + return new Contract( + address, + _abi, + signerOrProvider + ) as LendingPoolConfigurator; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "BorrowingDisabledOnReserve", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "bool", + name: "_stableRateEnabled", + type: "bool" + } + ], + name: "BorrowingEnabledOnReserve", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "ReserveActivated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_ltv", + type: "uint256" + } + ], + name: "ReserveBaseLtvChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "ReserveDeactivated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_decimals", + type: "uint256" + } + ], + name: "ReserveDecimalsChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "ReserveDisabledAsCollateral", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_ltv", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_liquidationThreshold", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_liquidationBonus", + type: "uint256" + } + ], + name: "ReserveEnabledAsCollateral", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "ReserveFreezed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_aToken", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "_interestRateStrategyAddress", + type: "address" + } + ], + name: "ReserveInitialized", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "_strategy", + type: "address" + } + ], + name: "ReserveInterestRateStrategyChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_bonus", + type: "uint256" + } + ], + name: "ReserveLiquidationBonusChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_threshold", + type: "uint256" + } + ], + name: "ReserveLiquidationThresholdChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "ReserveRemoved", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "ReserveUnfreezed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "StableRateDisabledOnReserve", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "StableRateEnabledOnReserve", + type: "event" + }, + { + inputs: [], + name: "CONFIGURATOR_REVISION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "activateReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "deactivateReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "disableBorrowingOnReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "disableReserveAsCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "disableReserveStableBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "bool", + name: "_stableBorrowRateEnabled", + type: "bool" + } + ], + name: "enableBorrowingOnReserve", + 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: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "enableReserveStableBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "freezeReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint8", + name: "_underlyingAssetDecimals", + type: "uint8" + }, + { + internalType: "address", + name: "_interestRateStrategyAddress", + type: "address" + } + ], + name: "initReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "string", + name: "_aTokenName", + type: "string" + }, + { + internalType: "string", + name: "_aTokenSymbol", + type: "string" + }, + { + internalType: "uint8", + name: "_underlyingAssetDecimals", + type: "uint8" + }, + { + internalType: "address", + name: "_interestRateStrategyAddress", + type: "address" + } + ], + name: "initReserveWithData", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "_poolAddressesProvider", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "poolAddressesProvider", + outputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "refreshLendingPoolCoreConfiguration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserveToRemove", + type: "address" + } + ], + name: "removeLastAddedReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_ltv", + type: "uint256" + } + ], + name: "setReserveBaseLTVasCollateral", + 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: "address", + name: "_rateStrategyAddress", + type: "address" + } + ], + name: "setReserveInterestRateStrategyAddress", + outputs: [], + 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" + } + ], + name: "unfreezeReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040526000805534801561001457600080fd5b506186ec80620000256000396000f3fe60806040523480156200001157600080fd5b5060043610620001605760003560e01c8063a8dc0f4511620000c9578063d466016f1162000087578063d466016f146200079d578063dae4c4e714620007ee578063e12dcc6c1462000835578063e8ae2f5b1462000841578063eede87c11462000888578063ef1f937314620008db5762000160565b8063a8dc0f45146200063a578063b75d6f341462000681578063b8c0f74514620006c8578063c4d66de8146200070f578063d06e2ec114620007565762000160565b806366bbd928116200012357806366bbd928146200048057806370fb84f414620004d15780637aca76eb14620005225780637af635a6146200056957806380e17d871462000589578063a5bc826c14620005d55762000160565b8063071033e414620001655780631d2118f914620001d95780633443a14b146200024057806336805a6214620002915780633e72a4541462000439575b600080fd5b620001d7600480360360608110156200017d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062000922565b005b6200023e60048036036040811015620001f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062000e29565b005b6200028f600480360360408110156200025857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505062001167565b005b62000437600480360360a0811015620002a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115620002e757600080fd5b820183602082011115620002fa57600080fd5b803590602001918460018302840111640100000000831117156200031d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156200038157600080fd5b8201836020820111156200039457600080fd5b80359060200191846001830284011164010000000083111715620003b757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200144d565b005b6200047e600480360360208110156200045157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001973565b005b620004cf600480360360408110156200049857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505062001d3d565b005b6200052060048036036040811015620004e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505062002023565b005b62000567600480360360208110156200053a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062002309565b005b62000573620025be565b6040518082815260200191505060405180910390f35b62000593620025c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6200063860048036036080811015620005ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050620025e9565b005b6200067f600480360360208110156200065257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620028d4565b005b620006c6600480360360208110156200069957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062002b89565b005b6200070d60048036036020811015620006e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062002e3e565b005b62000754600480360360208110156200072757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620030f3565b005b6200079b600480360360208110156200076e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200322e565b005b620007ec60048036036040811015620007b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050620034e3565b005b62000833600480360360208110156200080657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620037c9565b005b6200083f62003a7e565b005b62000886600480360360208110156200085957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062003cb8565b005b620008d960048036036040811015620008a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505062003f6d565b005b6200092060048036036020811015620008f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200425b565b005b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b158015620009a257600080fd5b505afa158015620009b7573d6000803e3d6000fd5b505050506040513d6020811015620009ce57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462000a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b600083905060608173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801562000a9b57600080fd5b505afa15801562000ab0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101562000adb57600080fd5b810190808051604051939291908464010000000082111562000afc57600080fd5b8382019150602082018581111562000b1357600080fd5b825186600182028301116401000000008211171562000b3157600080fd5b8083526020830192505050908051906020019080838360005b8381101562000b6757808201518184015260208101905062000b4a565b50505050905090810190601f16801562000b955780820380516001836020036101000a031916815260200191505b5060405250505060405160200180807f4161766520496e7465726573742062656172696e67200000000000000000000081525060160182805190602001908083835b6020831062000bfc578051825260208201915060208101905060208303925062000bd7565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052905060608273ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801562000c7b57600080fd5b505afa15801562000c90573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101562000cbb57600080fd5b810190808051604051939291908464010000000082111562000cdc57600080fd5b8382019150602082018581111562000cf357600080fd5b825186600182028301116401000000008211171562000d1157600080fd5b8083526020830192505050908051906020019080838360005b8381101562000d4757808201518184015260208101905062000d2a565b50505050905090810190601f16801562000d755780820380516001836020036101000a031916815260200191505b5060405250505060405160200180807f610000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b6020831062000ddc578051825260208201915060208101905060208303925062000db7565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052905062000e2186838388886200144d565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b15801562000ea957600080fd5b505afa15801562000ebe573d6000803e3d6000fd5b505050506040513d602081101562000ed557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462000f54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801562000fbf57600080fd5b505afa15801562000fd4573d6000803e3d6000fd5b505050506040513d602081101562000feb57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff16631d2118f984846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015620010b257600080fd5b505af1158015620010c7573d6000803e3d6000fd5b505050507f5644b64ebb0ce18c4032248ca52f58355469092ff072866c3dcd8640e817d6a58383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b158015620011e757600080fd5b505afa158015620011fc573d6000803e3d6000fd5b505050506040513d60208110156200121357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462001292576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b158015620012fd57600080fd5b505afa15801562001312573d6000803e3d6000fd5b505050506040513d60208110156200132957600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff16633443a14b84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015620013c457600080fd5b505af1158015620013d9573d6000803e3d6000fd5b505050507f437dd3b61b7c7eee7fc70515c8846482dfca92e2e1e02af5d638c5d4878d67148383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b158015620014cd57600080fd5b505afa158015620014e2573d6000803e3d6000fd5b505050506040513d6020811015620014f957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462001578576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b158015620015e357600080fd5b505afa158015620015f8573d6000803e3d6000fd5b505050506040513d60208110156200160f57600080fd5b810190808051906020019092919050505090506000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168785888860405162001659906200452a565b808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156200170c578082015181840152602081019050620016ef565b50505050905090810190601f1680156200173a5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156200177557808201518184015260208101905062001758565b50505050905090810190601f168015620017a35780820380516001836020036101000a031916815260200191505b50975050505050505050604051809103906000f080158015620017ca573d6000803e3d6000fd5b5090508173ffffffffffffffffffffffffffffffffffffffff166345330a40888387876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360ff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015620018c057600080fd5b505af1158015620018d5573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f1d9fcd0dc935b4778d5af97f55c4d7b2553257382f1ef25c412114c8eeebd88e85604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a350505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b158015620019f357600080fd5b505afa15801562001a08573d6000803e3d6000fd5b505050506040513d602081101562001a1f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462001a9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801562001b0957600080fd5b505afa15801562001b1e573d6000803e3d6000fd5b505050506040513d602081101562001b3557600080fd5b8101908080519060200190929190505050905060008173ffffffffffffffffffffffffffffffffffffffff1663c33cfd90846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801562001bc857600080fd5b505afa15801562001bdd573d6000803e3d6000fd5b505050506040513d602081101562001bf457600080fd5b81019080805190602001909291905050501462001c5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806200868d602a913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16633e72a454836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801562001cdd57600080fd5b505af115801562001cf2573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167f6f60cf8bd0f218cabe1ea3150bd07b0b758c35c4cfdf7138017a283e65564d5e60405160405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b15801562001dbd57600080fd5b505afa15801562001dd2573d6000803e3d6000fd5b505050506040513d602081101562001de957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462001e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801562001ed357600080fd5b505afa15801562001ee8573d6000803e3d6000fd5b505050506040513d602081101562001eff57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff166366bbd92884846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801562001f9a57600080fd5b505af115801562001faf573d6000803e3d6000fd5b505050507f2e73b7f1df792712003e6859f940c1e8711c3f1329474771fee71d2ec11631298383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b158015620020a357600080fd5b505afa158015620020b8573d6000803e3d6000fd5b505050506040513d6020811015620020cf57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146200214e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b158015620021b957600080fd5b505afa158015620021ce573d6000803e3d6000fd5b505050506040513d6020811015620021e557600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff166370fb84f484846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156200228057600080fd5b505af115801562002295573d6000803e3d6000fd5b505050507fe3ba662f7011e701056a43e8cf832242322eeff01453e7a72d01ec2af36d9aec8383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b1580156200238957600080fd5b505afa1580156200239e573d6000803e3d6000fd5b505050506040513d6020811015620023b557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462002434576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b1580156200249f57600080fd5b505afa158015620024b4573d6000803e3d6000fd5b505050506040513d6020811015620024cb57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff16637aca76eb836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200255e57600080fd5b505af115801562002573573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167fda5cdb66c77023db6abe5226a4d4a40c3b8e768012f4ff4e446f62f60127fc5660405160405180910390a25050565b600381565b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b1580156200266957600080fd5b505afa1580156200267e573d6000803e3d6000fd5b505050506040513d60208110156200269557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462002714576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b1580156200277f57600080fd5b505afa15801562002794573d6000803e3d6000fd5b505050506040513d6020811015620027ab57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a5bc826c868686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156200285657600080fd5b505af11580156200286b573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff167fdfe62f53e7707d64f99bca15d2bdf3facc4074bc047e7dec2ea130300e99274485858560405180848152602001838152602001828152602001935050505060405180910390a25050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b1580156200295457600080fd5b505afa15801562002969573d6000803e3d6000fd5b505050506040513d60208110156200298057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614620029ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801562002a6a57600080fd5b505afa15801562002a7f573d6000803e3d6000fd5b505050506040513d602081101562002a9657600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a8dc0f45836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801562002b2957600080fd5b505af115801562002b3e573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167fe9a7e5fd4fc8ea18e602350324bf48e8f05d12434af0ce0be05743e6a5fdcb9e60405160405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b15801562002c0957600080fd5b505afa15801562002c1e573d6000803e3d6000fd5b505050506040513d602081101562002c3557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462002cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801562002d1f57600080fd5b505afa15801562002d34573d6000803e3d6000fd5b505050506040513d602081101562002d4b57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663b75d6f34836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801562002dde57600080fd5b505af115801562002df3573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167f35b80cd8ea3440e9a8454f116fa658b858da1b64c86c48451f4559cefcdfb56c60405160405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b15801562002ebe57600080fd5b505afa15801562002ed3573d6000803e3d6000fd5b505050506040513d602081101562002eea57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462002f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801562002fd457600080fd5b505afa15801562002fe9573d6000803e3d6000fd5b505050506040513d60208110156200300057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663b8c0f745836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200309357600080fd5b505af1158015620030a8573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167f8bbf35441ac2c607ddecadd3d8ee58636d32f217fad201fb2655581502dd84e360405160405180910390a25050565b6000620030ff62004510565b9050600160009054906101000a900460ff16806200312357506200312262004519565b5b8062003130575060005481115b62003187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806200865f602e913960400191505060405180910390fd5b6000600160009054906101000a900460ff161590508015620031c55760018060006101000a81548160ff021916908315150217905550816000819055505b82603460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801562003229576000600160006101000a81548160ff0219169083151502179055505b505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b158015620032ae57600080fd5b505afa158015620032c3573d6000803e3d6000fd5b505050506040513d6020811015620032da57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462003359576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b158015620033c457600080fd5b505afa158015620033d9573d6000803e3d6000fd5b505050506040513d6020811015620033f057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663d06e2ec1836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200348357600080fd5b505af115801562003498573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167f19dbf059e4d3a0cb998d4328b7b991bbe312827eeb053d8ff63edf33158e01db60405160405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b1580156200356357600080fd5b505afa15801562003578573d6000803e3d6000fd5b505050506040513d60208110156200358f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146200360e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b1580156200367957600080fd5b505afa1580156200368e573d6000803e3d6000fd5b505050506040513d6020811015620036a557600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663d466016f84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156200374057600080fd5b505af115801562003755573d6000803e3d6000fd5b505050507fda47540c7f7fd5a68c3285f3bb708f322424f948f41df6f51622fa24b39686648383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b1580156200384957600080fd5b505afa1580156200385e573d6000803e3d6000fd5b505050506040513d60208110156200387557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614620038f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b1580156200395f57600080fd5b505afa15801562003974573d6000803e3d6000fd5b505050506040513d60208110156200398b57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663dae4c4e7836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801562003a1e57600080fd5b505af115801562003a33573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167f8dee2b2f3e98319ae6347eda521788f73f4086c9be9a594942b370b137fb8cb160405160405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b15801562003afe57600080fd5b505afa15801562003b13573d6000803e3d6000fd5b505050506040513d602081101562003b2a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462003ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801562003c1457600080fd5b505afa15801562003c29573d6000803e3d6000fd5b505050506040513d602081101562003c4057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663646810836040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003c9c57600080fd5b505af115801562003cb1573d6000803e3d6000fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b15801562003d3857600080fd5b505afa15801562003d4d573d6000803e3d6000fd5b505050506040513d602081101562003d6457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462003de3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801562003e4e57600080fd5b505afa15801562003e63573d6000803e3d6000fd5b505050506040513d602081101562003e7a57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663e8ae2f5b836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801562003f0d57600080fd5b505af115801562003f22573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167f9cc75e4cafc9a556a369bc53468649075680eb554d225d5918f199453824796d60405160405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b15801562003fed57600080fd5b505afa15801562004002573d6000803e3d6000fd5b505050506040513d60208110156200401957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462004098576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b1580156200410357600080fd5b505afa15801562004118573d6000803e3d6000fd5b505050506040513d60208110156200412f57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663eede87c184846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015620041ce57600080fd5b505af1158015620041e3573d6000803e3d6000fd5b505050507fab2f7f9e5ca2772fafa94f355c1842a80ae6b9e41f83083098d81f67d7a0b5088383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a1505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333128d596040518163ffffffff1660e01b815260040160206040518083038186803b158015620042db57600080fd5b505afa158015620042f0573d6000803e3d6000fd5b505050506040513d60208110156200430757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161462004386576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180620086366029913960400191505060405180910390fd5b6000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b158015620043f157600080fd5b505afa15801562004406573d6000803e3d6000fd5b505050506040513d60208110156200441d57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663ef1f9373836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015620044b057600080fd5b505af1158015620044c5573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167f995959c2ceab6ce20e8cd89c904e449fd3e21918a0f420c9ec9340595585526b60405160405180910390a25050565b60006003905090565b600080303b90506000811491505090565b6140fd80620045398339019056fe60806040523480156200001157600080fd5b50604051620040fd380380620040fd833981810160405260a08110156200003757600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805160405193929190846401000000008211156200007657600080fd5b838201915060208201858111156200008d57600080fd5b8251866001820283011164010000000082111715620000ab57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000e1578082015181840152602081019050620000c4565b50505050905090810190601f1680156200010f5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013357600080fd5b838201915060208201858111156200014a57600080fd5b82518660018202830111640100000000821117156200016857600080fd5b8083526020830192505050908051906020019080838360005b838110156200019e57808201518184015260208101905062000181565b50505050905090810190601f168015620001cc5780820380516001836020036101000a031916815260200191505b5060405250505081818160039080519060200190620001ed92919062000593565b5080600490805190602001906200020692919062000593565b506012600560006101000a81548160ff021916908360ff160217905550505062000236836200057560201b60201c565b84600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b158015620002e057600080fd5b505afa158015620002f5573d6000803e3d6000fd5b505050506040513d60208110156200030c57600080fd5b8101908080519060200190929190505050600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015620003c657600080fd5b505afa158015620003db573d6000803e3d6000fd5b505050506040513d6020811015620003f257600080fd5b8101908080519060200190929190505050600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f58b80d6040518163ffffffff1660e01b815260040160206040518083038186803b158015620004ac57600080fd5b505afa158015620004c1573d6000803e3d6000fd5b505050506040513d6020811015620004d857600080fd5b8101908080519060200190929190505050600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000642565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005d657805160ff191683800117855562000607565b8280016001018555821562000607579182015b8281111562000606578251825591602001919060010190620005e9565b5b5090506200061691906200061a565b5090565b6200063f91905b808211156200063b57600081600090555060010162000621565b5090565b90565b613aab80620006526000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80635eae177c116100de578063a9059cbb11610097578063db006a7511610071578063db006a75146108c0578063dd62ed3e146108ee578063ee9907a414610966578063f866c319146109be57610173565b8063a9059cbb146107e4578063c634dfaa1461084a578063d0fc81d2146108a257610173565b80635eae177c146105a557806370a082311461060b57806389d1a0fc1461066357806394362e8b146106ad57806395d89b41146106fb578063a457c2d71461077e57610173565b806323b872dd1161013057806323b872dd1461035f578063313ce567146103e5578063325a9b1314610409578063395093511461046d5780633edb7cb8146104d3578063445e80101461052157610173565b806306fdde0314610178578063095ea7b3146101fb5780630e49072d1461026157806312c87c2d146102a557806318160ddd146102e95780631d51e7cf14610307575b600080fd5b610180610a2c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c05780820151818401526020810190506101a5565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102476004803603604081101561021157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ace565b604051808215151515815260200191505060405180910390f35b6102a36004803603602081101561027757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b005b6102e7600480360360208110156102bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610af9565b005b6102f1610c59565b6040518082815260200191505060405180910390f35b6103496004803603602081101561031d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d9e565b6040518082815260200191505060405180910390f35b6103cb6004803603606081101561037557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de7565b604051808215151515815260200191505060405180910390f35b6103ed610ec0565b604051808260ff1660ff16815260200191505060405180910390f35b61046b6004803603604081101561041f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ed7565b005b6104b96004803603604081101561048357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fc8565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061107b565b005b6105636004803603602081101561053757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105f1600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611253565b604051808215151515815260200191505060405180910390f35b61064d6004803603602081101561062157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611395565b6040518082815260200191505060405180910390f35b61066b61150a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106f9600480360360408110156106c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611530565b005b610703611674565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610743578082015181840152602081019050610728565b50505050905090810190601f1680156107705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107ca6004803603604081101561079457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611716565b604051808215151515815260200191505060405180910390f35b610830600480360360408110156107fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117e3565b604051808215151515815260200191505060405180910390f35b61088c6004803603602081101561086057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611801565b6040518082815260200191505060405180910390f35b6108aa611813565b6040518082815260200191505060405180910390f35b6108ec600480360360208110156108d657600080fd5b8101908080359060200190929190505050611837565b005b6109506004803603604081101561090457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bad565b6040518082815260200191505060405180910390f35b6109a86004803603602081101561097c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c34565b6040518082815260200191505060405180910390f35b610a2a600480360360608110156109d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c7d565b005b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ac45780601f10610a9957610100808354040283529160200191610ac4565b820191906000526020600020905b815481529060010190602001808311610aa757829003601f168201915b5050505050905090565b6000610ae2610adb611d33565b8484611d3b565b6001905092915050565b610af63382611f32565b50565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806138716025913960400191505060405180910390fd5b80600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b60405160405180910390a350565b600080610c64612308565b90506000811415610c79576000915050610d9b565b610d97610d92600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d15e0053600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d4057600080fd5b505afa158015610d54573d6000803e3d6000fd5b505050506040513d6020811015610d6a57600080fd5b8101908080519060200190929190505050610d8484612312565b61233290919063ffffffff16565b612395565b9150505b90565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610df48484846123da565b610eb584610e00611d33565b610eb0856040518060600160405280602881526020016138b760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e66611d33565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246a9092919063ffffffff16565b611d3b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180613a3c603a913960400191505060405180910390fd5b610fc48282611f32565b5050565b6000611071610fd5611d33565b8461106c8560016000610fe6611d33565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b611d3b565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611121576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806139e56032913960400191505060405180910390fd5b600080600061112f856125b2565b93509350935050611141858386612758565b61114b8585612a4e565b600080905060006111658686612c1290919063ffffffff16565b14156111775761117486612c5c565b90505b8573ffffffffffffffffffffffffffffffffffffffff167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db8685846111bc57856111bf565b60005b60405180848152602001838152602001828152602001935050505060405180910390a2505050505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166376e9d615600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b15801561135257600080fd5b505afa158015611366573d6000803e3d6000fd5b505050506040513d602081101561137c57600080fd5b8101908080519060200190929190505050905092915050565b6000806113a183612df4565b90506000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000821480156113f75750600081145b1561140757600092505050611505565b600073ffffffffffffffffffffffffffffffffffffffff16600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156114d2576114c9816114bb866114b6858761252a90919063ffffffff16565b612e3c565b612c1290919063ffffffff16565b92505050611505565b6115006114f1826114e38785612e3c565b612c1290919063ffffffff16565b8361252a90919063ffffffff16565b925050505b919050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806139e56032913960400191505060405180910390fd5b6000806115e2846125b2565b935093505050611606846115ff858561252a90919063ffffffff16565b6000612758565b6116108484612fb5565b8373ffffffffffffffffffffffffffffffffffffffff167fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a84848460405180848152602001838152602001828152602001935050505060405180910390a250505050565b606060048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561170c5780601f106116e15761010080835404028352916020019161170c565b820191906000526020600020905b8154815290600101906020018083116116ef57829003601f168201915b5050505050905090565b60006117d9611723611d33565b846117d485604051806060016040528060258152602001613a17602591396001600061174d611d33565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246a9092919063ffffffff16565b611d3b565b6001905092915050565b60006117f76117f0611d33565b84846123da565b6001905092915050565b600061180c82612df4565b9050919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b600081116118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f416d6f756e7420746f2072656465656d206e6565647320746f206265203e203081525060200191505060405180910390fd5b60008060006118bb336125b2565b9350935093505060008490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8514156118f3578390505b8381111561194c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806137f76032913960400191505060405180910390fd5b6119563382611253565b6119c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e736665722063616e6e6f7420626520616c6c6f7765642e000000000081525060200191505060405180910390fd5b6119d3338483612758565b6119dd3382612a4e565b600080905060006119f78387612c1290919063ffffffff16565b1415611a0957611a0633612c5c565b90505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639895e3d8600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff163385611a7f878b612c1290919063ffffffff16565b6040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050600060405180830381600087803b158015611b2257600080fd5b505af1158015611b36573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff167fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a7646838684611b7f5786611b82565b60005b60405180848152602001838152602001828152602001935050505060405180910390a2505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806139e56032913960400191505060405180910390fd5b611d2e83838361317c565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611dc1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806139c16024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e47576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138296022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561201b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806138df602a913960400191505060405180910390fd5b60008060008061202a876125b2565b93509350935093506000831161208b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260428152602001806139096042913960600191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146120cc576120cb87600086612758565b5b8673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156121ff576000600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a734873559485858560405180848152602001838152602001828152602001935050505060405180910390a35050505050612304565b85600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061228987846000612758565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a734873559485858560405180848152602001838152602001828152602001935050505060405180910390a350505050505b5050565b6000600254905090565b600061232b633b9aca00836132f990919063ffffffff16565b9050919050565b600061238d6b033b2e3c9fd0803ce800000061237f61235a85876132f990919063ffffffff16565b60026b033b2e3c9fd0803ce80000008161237057fe5b0461252a90919063ffffffff16565b61337f90919063ffffffff16565b905092915050565b6000806002633b9aca00816123a657fe5b0490506123d2633b9aca006123c4858461252a90919063ffffffff16565b61337f90919063ffffffff16565b915050919050565b82816123e68282611253565b612458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e736665722063616e6e6f7420626520616c6c6f7765642e000000000081525060200191505060405180910390fd5b61246385858561317c565b5050505050565b6000838311158290612517576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124dc5780820151818401526020810190506124c1565b50505050905090810190601f1680156125095780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156125a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060008060006125c386612df4565b905060006125e2826125d489611395565b612c1290919063ffffffff16565b90506125ee8782612fb5565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d15e0053600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156126b157600080fd5b505afa1580156126c5573d6000803e3d6000fd5b505050506040513d60208110156126db57600080fd5b8101908080519060200190929190505050600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055905082612744838561252a90919063ffffffff16565b838396509650965096505050509193509193565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156127f75750612a49565b600080612803836125b2565b93509350505061286d8461285f87600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b612c1290919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146129de5761299a83600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff167f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f848489896040518085815260200184815260200183815260200182815260200194505050505060405180910390a2505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ad4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061397b6021913960400191505060405180910390fd5b612ae0826000836133c9565b612b4b816040518060600160405280602281526020016137d5602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246a9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ba281600254612c1290919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000612c5483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061246a565b905092915050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594600080600060405180848152602001838152602001828152602001935050505060405180910390a36000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612dea576000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050612def565b600090505b919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000612fad612fa8600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f9a600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d15e0053600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612f4857600080fd5b505afa158015612f5c573d6000803e3d6000fd5b505050506040513d6020811015612f7257600080fd5b8101908080519060200190929190505050612f8c87612312565b61233290919063ffffffff16565b6133ce90919063ffffffff16565b612395565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b613064600083836133c9565b6130798160025461252a90919063ffffffff16565b6002819055506130d0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600081116131d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061394b6030913960400191505060405180910390fd5b60008060006131e3866125b2565b935093509350506000806131f6876125b2565b935093505050613207888588612758565b6132258761321e888561252a90919063ffffffff16565b6000612758565b61323088888861342a565b6000809050600061324a8888612c1290919063ffffffff16565b141561325c5761325989612c5c565b90505b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde8898887866132b957896132bc565b60005b88604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3505050505050505050565b60008083141561330c5760009050613379565b600082840290508284828161331d57fe5b0414613374576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138966021913960400191505060405180910390fd5b809150505b92915050565b60006133c183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506136eb565b905092915050565b505050565b600080600283816133db57fe5b049050613421836134136134046b033b2e3c9fd0803ce8000000886132f990919063ffffffff16565b8461252a90919063ffffffff16565b61337f90919063ffffffff16565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156134b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061399c6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806137b26023913960400191505060405180910390fd5b6135418383836133c9565b6135ac8160405180606001604052806026815260200161384b602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246a9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061363f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008083118290613797576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561375c578082015181840152602081019050613741565b50505050905090810190601f1680156137895780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816137a357fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a264697066735822122088d750a4e3b3943503e728f5a5fb21f6a77c593a73246a90c2869cdebaae015964736f6c634300060800335468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c206d616e61676572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564546865206c6971756964697479206f66207468652072657365727665206e6565647320746f2062652030a26469706673582212206e6c48d916e3eaf75892d0ebe84e0a172b749fe4186dd098c39818ec27c76b0764736f6c63430006080033"; diff --git a/types/LendingPoolCore.d.ts b/types/LendingPoolCore.d.ts new file mode 100644 index 00000000..74f2637e --- /dev/null +++ b/types/LendingPoolCore.d.ts @@ -0,0 +1,1408 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface LendingPoolCoreInterface extends Interface { + functions: { + activateReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + addressesProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + deactivateReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + disableBorrowingOnReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + disableReserveAsCollateral: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + disableReserveStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + enableBorrowingOnReserve: TypedFunctionDescription<{ + encode([_reserve, _stableBorrowRateEnabled]: [string, boolean]): string; + }>; + + enableReserveAsCollateral: TypedFunctionDescription<{ + encode([ + _reserve, + _baseLTVasCollateral, + _liquidationThreshold, + _liquidationBonus + ]: [string, BigNumberish, BigNumberish, BigNumberish]): string; + }>; + + enableReserveStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + freezeReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveATokenAddress: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveAvailableLiquidity: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveConfiguration: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveCurrentAverageStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveCurrentLiquidityRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveCurrentStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveCurrentVariableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveDecimals: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveInterestRateStrategyAddress: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveIsActive: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveIsFreezed: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveIsStableBorrowRateEnabled: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveLastUpdate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveLiquidationBonus: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveLiquidationThreshold: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveLiquidityCumulativeIndex: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveNormalizedIncome: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveTotalBorrows: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveTotalBorrowsStable: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveTotalBorrowsVariable: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveTotalLiquidity: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveUtilizationRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveVariableBorrowsCumulativeIndex: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserves: TypedFunctionDescription<{ encode([]: []): string }>; + + getUserBasicReserveData: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserBorrowBalances: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserCurrentBorrowRateMode: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserCurrentStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserLastUpdate: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserOriginationFee: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserUnderlyingAssetBalance: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserVariableBorrowCumulativeIndex: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + initReserve: TypedFunctionDescription<{ + encode([ + _reserve, + _aTokenAddress, + _decimals, + _interestRateStrategyAddress + ]: [string, string, BigNumberish, string]): string; + }>; + + initialize: TypedFunctionDescription<{ + encode([_addressesProvider]: [string]): string; + }>; + + isReserveBorrowingEnabled: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + isReserveUsageAsCollateralEnabled: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + isUserAllowedToBorrowAtStable: TypedFunctionDescription<{ + encode([_reserve, _user, _amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + isUserUseReserveAsCollateralEnabled: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + lendingPoolAddress: TypedFunctionDescription<{ encode([]: []): string }>; + + liquidateFee: TypedFunctionDescription<{ + encode([_token, _amount, _destination]: [ + string, + BigNumberish, + string + ]): string; + }>; + + refreshConfiguration: TypedFunctionDescription<{ encode([]: []): string }>; + + removeLastAddedReserve: TypedFunctionDescription<{ + encode([_reserveToRemove]: [string]): string; + }>; + + reservesList: TypedFunctionDescription<{ + encode([]: [BigNumberish]): string; + }>; + + setReserveBaseLTVasCollateral: TypedFunctionDescription<{ + encode([_reserve, _ltv]: [string, BigNumberish]): string; + }>; + + setReserveDecimals: TypedFunctionDescription<{ + encode([_reserve, _decimals]: [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; + }>; + + setUserUseReserveAsCollateral: TypedFunctionDescription<{ + encode([_reserve, _user, _useAsCollateral]: [ + string, + string, + boolean + ]): string; + }>; + + transferToFeeCollectionAddress: TypedFunctionDescription<{ + encode([_token, _user, _amount, _destination]: [ + string, + string, + BigNumberish, + string + ]): string; + }>; + + transferToReserve: TypedFunctionDescription<{ + encode([_reserve, _user, _amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + transferToUser: TypedFunctionDescription<{ + encode([_reserve, _user, _amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + unfreezeReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + updateStateOnBorrow: TypedFunctionDescription<{ + encode([_reserve, _user, _amountBorrowed, _borrowFee, _rateMode]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + updateStateOnDeposit: TypedFunctionDescription<{ + encode([_reserve, _user, _amount, _isFirstDeposit]: [ + string, + string, + BigNumberish, + boolean + ]): string; + }>; + + updateStateOnFlashLoan: TypedFunctionDescription<{ + encode([_reserve, _availableLiquidityBefore, _income, _protocolFee]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + updateStateOnLiquidation: TypedFunctionDescription<{ + encode([ + _principalReserve, + _collateralReserve, + _user, + _amountToLiquidate, + _collateralToLiquidate, + _feeLiquidated, + _liquidatedCollateralForFee, + _balanceIncrease, + _liquidatorReceivesAToken + ]: [ + string, + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + boolean + ]): string; + }>; + + updateStateOnRebalance: TypedFunctionDescription<{ + encode([_reserve, _user, _balanceIncrease]: [ + string, + string, + BigNumberish + ]): string; + }>; + + updateStateOnRedeem: TypedFunctionDescription<{ + encode([_reserve, _user, _amountRedeemed, _userRedeemedEverything]: [ + string, + string, + BigNumberish, + boolean + ]): string; + }>; + + updateStateOnRepay: TypedFunctionDescription<{ + encode([ + _reserve, + _user, + _paybackAmountMinusFees, + _originationFeeRepaid, + _balanceIncrease, + _repaidWholeLoan + ]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + boolean + ]): string; + }>; + + updateStateOnSwapRate: TypedFunctionDescription<{ + encode([ + _reserve, + _user, + _principalBorrowBalance, + _compoundedBorrowBalance, + _balanceIncrease, + _currentRateMode + ]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + }; + + events: { + ReserveDataUpdated: TypedEventDescription<{ + encodeTopics([ + reserve, + liquidityRate, + stableBorrowRate, + averageStableBorrowRate, + variableBorrowRate, + liquidityIndex, + variableBorrowIndex + ]: [string | null, null, null, null, null, null, null]): string[]; + }>; + + ReserveUpdated: TypedEventDescription<{ + encodeTopics([ + reserve, + liquidityRate, + stableBorrowRate, + variableBorrowRate, + liquidityIndex, + variableBorrowIndex + ]: [string | null, null, null, null, null, null]): string[]; + }>; + }; +} + +export class LendingPoolCore extends Contract { + connect(signerOrProvider: Signer | Provider | string): LendingPoolCore; + attach(addressOrName: string): LendingPoolCore; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): LendingPoolCore; + once(event: EventFilter | string, listener: Listener): LendingPoolCore; + addListener( + eventName: EventFilter | string, + listener: Listener + ): LendingPoolCore; + removeAllListeners(eventName: EventFilter | string): LendingPoolCore; + removeListener(eventName: any, listener: Listener): LendingPoolCore; + + interface: LendingPoolCoreInterface; + + functions: { + activateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + addressesProvider(): Promise; + + deactivateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableBorrowingOnReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveAsCollateral( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + enableBorrowingOnReserve( + _reserve: string, + _stableBorrowRateEnabled: boolean, + overrides?: TransactionOverrides + ): Promise; + + enableReserveAsCollateral( + _reserve: string, + _baseLTVasCollateral: BigNumberish, + _liquidationThreshold: BigNumberish, + _liquidationBonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + enableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + freezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + getReserveATokenAddress(_reserve: string): Promise; + + getReserveAvailableLiquidity(_reserve: string): Promise; + + getReserveConfiguration( + _reserve: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: boolean; + }>; + + getReserveCurrentAverageStableBorrowRate( + _reserve: string + ): Promise; + + getReserveCurrentLiquidityRate(_reserve: string): Promise; + + getReserveCurrentStableBorrowRate(_reserve: string): Promise; + + getReserveCurrentVariableBorrowRate(_reserve: string): Promise; + + getReserveDecimals(_reserve: string): Promise; + + getReserveInterestRateStrategyAddress(_reserve: string): Promise; + + getReserveIsActive(_reserve: string): Promise; + + getReserveIsFreezed(_reserve: string): Promise; + + getReserveIsStableBorrowRateEnabled(_reserve: string): Promise; + + getReserveLastUpdate(_reserve: string): Promise; + + getReserveLiquidationBonus(_reserve: string): Promise; + + getReserveLiquidationThreshold(_reserve: string): Promise; + + getReserveLiquidityCumulativeIndex(_reserve: string): Promise; + + getReserveNormalizedIncome(_reserve: string): Promise; + + getReserveTotalBorrows(_reserve: string): Promise; + + getReserveTotalBorrowsStable(_reserve: string): Promise; + + getReserveTotalBorrowsVariable(_reserve: string): Promise; + + getReserveTotalLiquidity(_reserve: string): Promise; + + getReserveUtilizationRate(_reserve: string): Promise; + + getReserveVariableBorrowsCumulativeIndex( + _reserve: string + ): Promise; + + getReserves(): Promise; + + getUserBasicReserveData( + _reserve: string, + _user: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: boolean; + }>; + + getUserBorrowBalances( + _reserve: string, + _user: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + }>; + + getUserCurrentBorrowRateMode( + _reserve: string, + _user: string + ): Promise; + + getUserCurrentStableBorrowRate( + _reserve: string, + _user: string + ): Promise; + + getUserLastUpdate(_reserve: string, _user: string): Promise; + + getUserOriginationFee(_reserve: string, _user: string): Promise; + + getUserUnderlyingAssetBalance( + _reserve: string, + _user: string + ): Promise; + + getUserVariableBorrowCumulativeIndex( + _reserve: string, + _user: string + ): Promise; + + initReserve( + _reserve: string, + _aTokenAddress: string, + _decimals: BigNumberish, + _interestRateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + isReserveBorrowingEnabled(_reserve: string): Promise; + + isReserveUsageAsCollateralEnabled(_reserve: string): Promise; + + isUserAllowedToBorrowAtStable( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + isUserUseReserveAsCollateralEnabled( + _reserve: string, + _user: string + ): Promise; + + lendingPoolAddress(): Promise; + + liquidateFee( + _token: string, + _amount: BigNumberish, + _destination: string, + overrides?: TransactionOverrides + ): Promise; + + refreshConfiguration( + overrides?: TransactionOverrides + ): Promise; + + removeLastAddedReserve( + _reserveToRemove: string, + overrides?: TransactionOverrides + ): Promise; + + reservesList(arg0: BigNumberish): Promise; + + setReserveBaseLTVasCollateral( + _reserve: string, + _ltv: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveDecimals( + _reserve: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveInterestRateStrategyAddress( + _reserve: string, + _rateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setReserveLiquidationBonus( + _reserve: string, + _bonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveLiquidationThreshold( + _reserve: string, + _threshold: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setUserUseReserveAsCollateral( + _reserve: string, + _user: string, + _useAsCollateral: boolean, + overrides?: TransactionOverrides + ): Promise; + + transferToFeeCollectionAddress( + _token: string, + _user: string, + _amount: BigNumberish, + _destination: string, + overrides?: TransactionOverrides + ): Promise; + + transferToReserve( + _reserve: string, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferToUser( + _reserve: string, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unfreezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnBorrow( + _reserve: string, + _user: string, + _amountBorrowed: BigNumberish, + _borrowFee: BigNumberish, + _rateMode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnDeposit( + _reserve: string, + _user: string, + _amount: BigNumberish, + _isFirstDeposit: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnFlashLoan( + _reserve: string, + _availableLiquidityBefore: BigNumberish, + _income: BigNumberish, + _protocolFee: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnLiquidation( + _principalReserve: string, + _collateralReserve: string, + _user: string, + _amountToLiquidate: BigNumberish, + _collateralToLiquidate: BigNumberish, + _feeLiquidated: BigNumberish, + _liquidatedCollateralForFee: BigNumberish, + _balanceIncrease: BigNumberish, + _liquidatorReceivesAToken: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRebalance( + _reserve: string, + _user: string, + _balanceIncrease: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRedeem( + _reserve: string, + _user: string, + _amountRedeemed: BigNumberish, + _userRedeemedEverything: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRepay( + _reserve: string, + _user: string, + _paybackAmountMinusFees: BigNumberish, + _originationFeeRepaid: BigNumberish, + _balanceIncrease: BigNumberish, + _repaidWholeLoan: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnSwapRate( + _reserve: string, + _user: string, + _principalBorrowBalance: BigNumberish, + _compoundedBorrowBalance: BigNumberish, + _balanceIncrease: BigNumberish, + _currentRateMode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + activateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + addressesProvider(): Promise; + + deactivateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableBorrowingOnReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveAsCollateral( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + enableBorrowingOnReserve( + _reserve: string, + _stableBorrowRateEnabled: boolean, + overrides?: TransactionOverrides + ): Promise; + + enableReserveAsCollateral( + _reserve: string, + _baseLTVasCollateral: BigNumberish, + _liquidationThreshold: BigNumberish, + _liquidationBonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + enableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + freezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + getReserveATokenAddress(_reserve: string): Promise; + + getReserveAvailableLiquidity(_reserve: string): Promise; + + getReserveConfiguration( + _reserve: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: boolean; + }>; + + getReserveCurrentAverageStableBorrowRate( + _reserve: string + ): Promise; + + getReserveCurrentLiquidityRate(_reserve: string): Promise; + + getReserveCurrentStableBorrowRate(_reserve: string): Promise; + + getReserveCurrentVariableBorrowRate(_reserve: string): Promise; + + getReserveDecimals(_reserve: string): Promise; + + getReserveInterestRateStrategyAddress(_reserve: string): Promise; + + getReserveIsActive(_reserve: string): Promise; + + getReserveIsFreezed(_reserve: string): Promise; + + getReserveIsStableBorrowRateEnabled(_reserve: string): Promise; + + getReserveLastUpdate(_reserve: string): Promise; + + getReserveLiquidationBonus(_reserve: string): Promise; + + getReserveLiquidationThreshold(_reserve: string): Promise; + + getReserveLiquidityCumulativeIndex(_reserve: string): Promise; + + getReserveNormalizedIncome(_reserve: string): Promise; + + getReserveTotalBorrows(_reserve: string): Promise; + + getReserveTotalBorrowsStable(_reserve: string): Promise; + + getReserveTotalBorrowsVariable(_reserve: string): Promise; + + getReserveTotalLiquidity(_reserve: string): Promise; + + getReserveUtilizationRate(_reserve: string): Promise; + + getReserveVariableBorrowsCumulativeIndex( + _reserve: string + ): Promise; + + getReserves(): Promise; + + getUserBasicReserveData( + _reserve: string, + _user: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: boolean; + }>; + + getUserBorrowBalances( + _reserve: string, + _user: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + }>; + + getUserCurrentBorrowRateMode( + _reserve: string, + _user: string + ): Promise; + + getUserCurrentStableBorrowRate( + _reserve: string, + _user: string + ): Promise; + + getUserLastUpdate(_reserve: string, _user: string): Promise; + + getUserOriginationFee(_reserve: string, _user: string): Promise; + + getUserUnderlyingAssetBalance( + _reserve: string, + _user: string + ): Promise; + + getUserVariableBorrowCumulativeIndex( + _reserve: string, + _user: string + ): Promise; + + initReserve( + _reserve: string, + _aTokenAddress: string, + _decimals: BigNumberish, + _interestRateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + isReserveBorrowingEnabled(_reserve: string): Promise; + + isReserveUsageAsCollateralEnabled(_reserve: string): Promise; + + isUserAllowedToBorrowAtStable( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + isUserUseReserveAsCollateralEnabled( + _reserve: string, + _user: string + ): Promise; + + lendingPoolAddress(): Promise; + + liquidateFee( + _token: string, + _amount: BigNumberish, + _destination: string, + overrides?: TransactionOverrides + ): Promise; + + refreshConfiguration( + overrides?: TransactionOverrides + ): Promise; + + removeLastAddedReserve( + _reserveToRemove: string, + overrides?: TransactionOverrides + ): Promise; + + reservesList(arg0: BigNumberish): Promise; + + setReserveBaseLTVasCollateral( + _reserve: string, + _ltv: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveDecimals( + _reserve: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveInterestRateStrategyAddress( + _reserve: string, + _rateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setReserveLiquidationBonus( + _reserve: string, + _bonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveLiquidationThreshold( + _reserve: string, + _threshold: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setUserUseReserveAsCollateral( + _reserve: string, + _user: string, + _useAsCollateral: boolean, + overrides?: TransactionOverrides + ): Promise; + + transferToFeeCollectionAddress( + _token: string, + _user: string, + _amount: BigNumberish, + _destination: string, + overrides?: TransactionOverrides + ): Promise; + + transferToReserve( + _reserve: string, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferToUser( + _reserve: string, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unfreezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnBorrow( + _reserve: string, + _user: string, + _amountBorrowed: BigNumberish, + _borrowFee: BigNumberish, + _rateMode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnDeposit( + _reserve: string, + _user: string, + _amount: BigNumberish, + _isFirstDeposit: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnFlashLoan( + _reserve: string, + _availableLiquidityBefore: BigNumberish, + _income: BigNumberish, + _protocolFee: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnLiquidation( + _principalReserve: string, + _collateralReserve: string, + _user: string, + _amountToLiquidate: BigNumberish, + _collateralToLiquidate: BigNumberish, + _feeLiquidated: BigNumberish, + _liquidatedCollateralForFee: BigNumberish, + _balanceIncrease: BigNumberish, + _liquidatorReceivesAToken: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRebalance( + _reserve: string, + _user: string, + _balanceIncrease: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRedeem( + _reserve: string, + _user: string, + _amountRedeemed: BigNumberish, + _userRedeemedEverything: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRepay( + _reserve: string, + _user: string, + _paybackAmountMinusFees: BigNumberish, + _originationFeeRepaid: BigNumberish, + _balanceIncrease: BigNumberish, + _repaidWholeLoan: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnSwapRate( + _reserve: string, + _user: string, + _principalBorrowBalance: BigNumberish, + _compoundedBorrowBalance: BigNumberish, + _balanceIncrease: BigNumberish, + _currentRateMode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + ReserveDataUpdated( + reserve: string | null, + liquidityRate: null, + stableBorrowRate: null, + averageStableBorrowRate: null, + variableBorrowRate: null, + liquidityIndex: null, + variableBorrowIndex: null + ): EventFilter; + + ReserveUpdated( + reserve: string | null, + liquidityRate: null, + stableBorrowRate: null, + variableBorrowRate: null, + liquidityIndex: null, + variableBorrowIndex: null + ): EventFilter; + }; + + estimate: { + activateReserve(_reserve: string): Promise; + + addressesProvider(): Promise; + + deactivateReserve(_reserve: string): Promise; + + disableBorrowingOnReserve(_reserve: string): Promise; + + disableReserveAsCollateral(_reserve: string): Promise; + + disableReserveStableBorrowRate(_reserve: string): Promise; + + enableBorrowingOnReserve( + _reserve: string, + _stableBorrowRateEnabled: boolean + ): Promise; + + enableReserveAsCollateral( + _reserve: string, + _baseLTVasCollateral: BigNumberish, + _liquidationThreshold: BigNumberish, + _liquidationBonus: BigNumberish + ): Promise; + + enableReserveStableBorrowRate(_reserve: string): Promise; + + freezeReserve(_reserve: string): Promise; + + getReserveATokenAddress(_reserve: string): Promise; + + getReserveAvailableLiquidity(_reserve: string): Promise; + + getReserveConfiguration(_reserve: string): Promise; + + getReserveCurrentAverageStableBorrowRate( + _reserve: string + ): Promise; + + getReserveCurrentLiquidityRate(_reserve: string): Promise; + + getReserveCurrentStableBorrowRate(_reserve: string): Promise; + + getReserveCurrentVariableBorrowRate(_reserve: string): Promise; + + getReserveDecimals(_reserve: string): Promise; + + getReserveInterestRateStrategyAddress(_reserve: string): Promise; + + getReserveIsActive(_reserve: string): Promise; + + getReserveIsFreezed(_reserve: string): Promise; + + getReserveIsStableBorrowRateEnabled(_reserve: string): Promise; + + getReserveLastUpdate(_reserve: string): Promise; + + getReserveLiquidationBonus(_reserve: string): Promise; + + getReserveLiquidationThreshold(_reserve: string): Promise; + + getReserveLiquidityCumulativeIndex(_reserve: string): Promise; + + getReserveNormalizedIncome(_reserve: string): Promise; + + getReserveTotalBorrows(_reserve: string): Promise; + + getReserveTotalBorrowsStable(_reserve: string): Promise; + + getReserveTotalBorrowsVariable(_reserve: string): Promise; + + getReserveTotalLiquidity(_reserve: string): Promise; + + getReserveUtilizationRate(_reserve: string): Promise; + + getReserveVariableBorrowsCumulativeIndex( + _reserve: string + ): Promise; + + getReserves(): Promise; + + getUserBasicReserveData( + _reserve: string, + _user: string + ): Promise; + + getUserBorrowBalances(_reserve: string, _user: string): Promise; + + getUserCurrentBorrowRateMode( + _reserve: string, + _user: string + ): Promise; + + getUserCurrentStableBorrowRate( + _reserve: string, + _user: string + ): Promise; + + getUserLastUpdate(_reserve: string, _user: string): Promise; + + getUserOriginationFee(_reserve: string, _user: string): Promise; + + getUserUnderlyingAssetBalance( + _reserve: string, + _user: string + ): Promise; + + getUserVariableBorrowCumulativeIndex( + _reserve: string, + _user: string + ): Promise; + + initReserve( + _reserve: string, + _aTokenAddress: string, + _decimals: BigNumberish, + _interestRateStrategyAddress: string + ): Promise; + + initialize(_addressesProvider: string): Promise; + + isReserveBorrowingEnabled(_reserve: string): Promise; + + isReserveUsageAsCollateralEnabled(_reserve: string): Promise; + + isUserAllowedToBorrowAtStable( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + isUserUseReserveAsCollateralEnabled( + _reserve: string, + _user: string + ): Promise; + + lendingPoolAddress(): Promise; + + liquidateFee( + _token: string, + _amount: BigNumberish, + _destination: string + ): Promise; + + refreshConfiguration(): Promise; + + removeLastAddedReserve(_reserveToRemove: string): Promise; + + reservesList(arg0: BigNumberish): Promise; + + setReserveBaseLTVasCollateral( + _reserve: string, + _ltv: BigNumberish + ): Promise; + + setReserveDecimals( + _reserve: string, + _decimals: BigNumberish + ): Promise; + + setReserveInterestRateStrategyAddress( + _reserve: string, + _rateStrategyAddress: string + ): Promise; + + setReserveLiquidationBonus( + _reserve: string, + _bonus: BigNumberish + ): Promise; + + setReserveLiquidationThreshold( + _reserve: string, + _threshold: BigNumberish + ): Promise; + + setUserUseReserveAsCollateral( + _reserve: string, + _user: string, + _useAsCollateral: boolean + ): Promise; + + transferToFeeCollectionAddress( + _token: string, + _user: string, + _amount: BigNumberish, + _destination: string + ): Promise; + + transferToReserve( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + transferToUser( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + unfreezeReserve(_reserve: string): Promise; + + updateStateOnBorrow( + _reserve: string, + _user: string, + _amountBorrowed: BigNumberish, + _borrowFee: BigNumberish, + _rateMode: BigNumberish + ): Promise; + + updateStateOnDeposit( + _reserve: string, + _user: string, + _amount: BigNumberish, + _isFirstDeposit: boolean + ): Promise; + + updateStateOnFlashLoan( + _reserve: string, + _availableLiquidityBefore: BigNumberish, + _income: BigNumberish, + _protocolFee: BigNumberish + ): Promise; + + updateStateOnLiquidation( + _principalReserve: string, + _collateralReserve: string, + _user: string, + _amountToLiquidate: BigNumberish, + _collateralToLiquidate: BigNumberish, + _feeLiquidated: BigNumberish, + _liquidatedCollateralForFee: BigNumberish, + _balanceIncrease: BigNumberish, + _liquidatorReceivesAToken: boolean + ): Promise; + + updateStateOnRebalance( + _reserve: string, + _user: string, + _balanceIncrease: BigNumberish + ): Promise; + + updateStateOnRedeem( + _reserve: string, + _user: string, + _amountRedeemed: BigNumberish, + _userRedeemedEverything: boolean + ): Promise; + + updateStateOnRepay( + _reserve: string, + _user: string, + _paybackAmountMinusFees: BigNumberish, + _originationFeeRepaid: BigNumberish, + _balanceIncrease: BigNumberish, + _repaidWholeLoan: boolean + ): Promise; + + updateStateOnSwapRate( + _reserve: string, + _user: string, + _principalBorrowBalance: BigNumberish, + _compoundedBorrowBalance: BigNumberish, + _balanceIncrease: BigNumberish, + _currentRateMode: BigNumberish + ): Promise; + }; +} diff --git a/types/LendingPoolCoreFactory.ts b/types/LendingPoolCoreFactory.ts new file mode 100644 index 00000000..ce7c256a --- /dev/null +++ b/types/LendingPoolCoreFactory.ts @@ -0,0 +1,1698 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { LendingPoolCore } from "./LendingPoolCore"; + +export class LendingPoolCoreFactory extends ContractFactory { + constructor( + linkLibraryAddresses: LendingPoolCoreLibraryAddresses, + signer?: Signer + ) { + super( + _abi, + LendingPoolCoreFactory.linkBytecode(linkLibraryAddresses), + signer + ); + } + + static linkBytecode( + linkLibraryAddresses: LendingPoolCoreLibraryAddresses + ): string { + let linkedBytecode = _bytecode; + + linkedBytecode = linkedBytecode.replace( + new RegExp("__\\$2ec35834968386f54fa313129cf94664e4\\$__", "g"), + linkLibraryAddresses["__$2ec35834968386f54fa313129cf94664e4$__"] + .replace(/^0x/, "") + .toLowerCase() + ); + + return linkedBytecode; + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): LendingPoolCore { + return super.attach(address) as LendingPoolCore; + } + connect(signer: Signer): LendingPoolCoreFactory { + return super.connect(signer) as LendingPoolCoreFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LendingPoolCore { + return new Contract(address, _abi, signerOrProvider) as LendingPoolCore; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "liquidityRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "stableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "averageStableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "variableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "liquidityIndex", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "variableBorrowIndex", + type: "uint256" + } + ], + name: "ReserveDataUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "liquidityRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "stableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "variableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "liquidityIndex", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "variableBorrowIndex", + type: "uint256" + } + ], + name: "ReserveUpdated", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "activateReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "addressesProvider", + outputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "deactivateReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "disableBorrowingOnReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "disableReserveAsCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "disableReserveStableBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "bool", + name: "_stableBorrowRateEnabled", + type: "bool" + } + ], + name: "enableBorrowingOnReserve", + 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: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "enableReserveStableBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "freezeReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveATokenAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveAvailableLiquidity", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveConfiguration", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveCurrentAverageStableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveCurrentLiquidityRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveCurrentStableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveCurrentVariableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveDecimals", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveInterestRateStrategyAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveIsActive", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveIsFreezed", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveIsStableBorrowRateEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveLastUpdate", + outputs: [ + { + internalType: "uint40", + name: "timestamp", + type: "uint40" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveLiquidationBonus", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveLiquidationThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveLiquidityCumulativeIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveNormalizedIncome", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveTotalBorrows", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveTotalBorrowsStable", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveTotalBorrowsVariable", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveTotalLiquidity", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveUtilizationRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveVariableBorrowsCumulativeIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getReserves", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserBasicReserveData", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserBorrowBalances", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserCurrentBorrowRateMode", + outputs: [ + { + internalType: "enum CoreLibrary.InterestRateMode", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserCurrentStableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserLastUpdate", + outputs: [ + { + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserOriginationFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserUnderlyingAssetBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserVariableBorrowCumulativeIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_aTokenAddress", + type: "address" + }, + { + internalType: "uint256", + name: "_decimals", + type: "uint256" + }, + { + internalType: "address", + name: "_interestRateStrategyAddress", + type: "address" + } + ], + name: "initReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "_addressesProvider", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "isReserveBorrowingEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "isReserveUsageAsCollateralEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "isUserAllowedToBorrowAtStable", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "isUserUseReserveAsCollateralEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "lendingPoolAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "address", + name: "_destination", + type: "address" + } + ], + name: "liquidateFee", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "refreshConfiguration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserveToRemove", + type: "address" + } + ], + name: "removeLastAddedReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "reservesList", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_ltv", + type: "uint256" + } + ], + name: "setReserveBaseLTVasCollateral", + 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: "address", + name: "_rateStrategyAddress", + type: "address" + } + ], + name: "setReserveInterestRateStrategyAddress", + outputs: [], + 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: "address", + name: "_user", + type: "address" + }, + { + internalType: "bool", + name: "_useAsCollateral", + type: "bool" + } + ], + name: "setUserUseReserveAsCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "address", + name: "_destination", + type: "address" + } + ], + name: "transferToFeeCollectionAddress", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address payable", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "transferToReserve", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address payable", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "transferToUser", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "unfreezeReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amountBorrowed", + type: "uint256" + }, + { + internalType: "uint256", + name: "_borrowFee", + type: "uint256" + }, + { + internalType: "enum CoreLibrary.InterestRateMode", + name: "_rateMode", + type: "uint8" + } + ], + name: "updateStateOnBorrow", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "bool", + name: "_isFirstDeposit", + type: "bool" + } + ], + name: "updateStateOnDeposit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_availableLiquidityBefore", + type: "uint256" + }, + { + internalType: "uint256", + name: "_income", + type: "uint256" + }, + { + internalType: "uint256", + name: "_protocolFee", + type: "uint256" + } + ], + name: "updateStateOnFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_principalReserve", + type: "address" + }, + { + internalType: "address", + name: "_collateralReserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amountToLiquidate", + type: "uint256" + }, + { + internalType: "uint256", + name: "_collateralToLiquidate", + type: "uint256" + }, + { + internalType: "uint256", + name: "_feeLiquidated", + type: "uint256" + }, + { + internalType: "uint256", + name: "_liquidatedCollateralForFee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + }, + { + internalType: "bool", + name: "_liquidatorReceivesAToken", + type: "bool" + } + ], + name: "updateStateOnLiquidation", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + } + ], + name: "updateStateOnRebalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amountRedeemed", + type: "uint256" + }, + { + internalType: "bool", + name: "_userRedeemedEverything", + type: "bool" + } + ], + name: "updateStateOnRedeem", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_paybackAmountMinusFees", + type: "uint256" + }, + { + internalType: "uint256", + name: "_originationFeeRepaid", + type: "uint256" + }, + { + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + }, + { + internalType: "bool", + name: "_repaidWholeLoan", + type: "bool" + } + ], + name: "updateStateOnRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_principalBorrowBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "_compoundedBorrowBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + }, + { + internalType: "enum CoreLibrary.InterestRateMode", + name: "_currentRateMode", + type: "uint8" + } + ], + name: "updateStateOnSwapRate", + outputs: [ + { + internalType: "enum CoreLibrary.InterestRateMode", + name: "", + type: "uint8" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x6080604052600080553480156200001557600080fd5b50619ca080620000266000396000f3fe6080604052600436106104145760003560e01c8063a2353fdc1161021e578063d15e005311610123578063e8ae2f5b116100ab578063f61483111161007a578063f61483111461211b578063f6ea8d76146121e0578063fa51854c14612265578063fa93b2a5146122e2578063feab31ac1461235d5761048f565b8063e8ae2f5b14611fb7578063eede87c114612008578063ef1f937314612065578063f054ab46146120b65761048f565b8063dae4c4e7116100f2578063dae4c4e714611d6b578063e10076ad14611dbc578063e2174d8614611e5a578063e240301914611eed578063e6d1819014611f525761048f565b8063d15e005314611bb9578063d3ae26b314611c1e578063d466016f14611c75578063da12d96f14611cd05761048f565b8063bd7fd79a116101a6578063c540148e11610175578063c540148e146119b9578063c72c4d1014611a1e578063c76a6c9c14611a75578063c7d1423714611ada578063d06e2ec114611b685761048f565b8063bd7fd79a14611839578063bfacad841461189e578063c33cfd9014611903578063c4d66de8146119685761048f565b8063afcdbea3116101ed578063afcdbea314611624578063b701d093146116ab578063b75d6f3414611710578063b8c0f74514611761578063bcd6ffa4146117b25761048f565b8063a2353fdc14611470578063a5bc826c146114d5578063a8dc0f4514611544578063af825b07146115955761048f565b80635cf2e656116103245780637aca76eb116102ac578063906c0a411161027b578063906c0a411461122157806398bd4737146112865780639e3c4f3b146112eb5780639e674848146113745780639fb8afcd146113dd5761048f565b80637aca76eb146110985780637f90fec5146110e957806388079d881461114e5780638f385c22146111b35761048f565b806366d103f3116102f357806366d103f314610dd257806368beb4d614610e575780636ae1441614610f275780636fffab0c14610fb857806370fb84f41461103d5761048f565b80635cf2e65614610c795780635fc526ff14610ce25780636468108314610d6057806366bbd92814610d775761048f565b80633443a14b116103a757806345330a401161037657806345330a4014610a2257806346bc0f2814610abd5780634a08accb14610b225780634f14460914610b8b5780634fe7a6e514610bfe5761048f565b80633443a14b1461083857806334b3beee1461089357806337ac6fe4146109245780633e72a454146109d15761048f565b806318f9bbae116103e357806318f9bbae1461065d5780631ca19f19146106c65780631d2118f91461075957806328fcf4d3146107ca5761048f565b806305075d6e146104945780630902f1ac146104fd57806309ac29531461056957806318a4dbca146105d85761048f565b3661048f576104383373ffffffffffffffffffffffffffffffffffffffff166123e2565b61048d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806199cf6036913960400191505060405180910390fd5b005b600080fd5b3480156104a057600080fd5b506104e3600480360360208110156104b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061242d565b604051808215151515815260200191505060405180910390f35b34801561050957600080fd5b5061051261248b565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561055557808201518184015260208101905061053a565b505050509050019250505060405180910390f35b34801561057557600080fd5b506105d66004803603608081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050612519565b005b3480156105e457600080fd5b50610647600480360360408110156105fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612695565b6040518082815260200191505060405180910390f35b34801561066957600080fd5b506106ac6004803603602081101561068057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127be565b604051808215151515815260200191505060405180910390f35b3480156106d257600080fd5b50610735600480360360408110156106e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061281c565b6040518082600281111561074557fe5b60ff16815260200191505060405180910390f35b34801561076557600080fd5b506107c86004803603604081101561077c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128d4565b005b610836600480360360608110156107e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612a7f565b005b34801561084457600080fd5b506108916004803603604081101561085b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d4c565b005b34801561089f57600080fd5b506108e2600480360360208110156108b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ec3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093057600080fd5b506109b4600480360360a081101561094757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190505050612f34565b604051808381526020018281526020019250505060405180910390f35b3480156109dd57600080fd5b50610a20600480360360208110156109f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613032565b005b348015610a2e57600080fd5b50610abb60048036036080811015610a4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506131bc565b005b348015610ac957600080fd5b50610b0c60048036036020811015610ae057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613408565b6040518082815260200191505060405180910390f35b348015610b2e57600080fd5b50610b7160048036036020811015610b4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613459565b604051808215151515815260200191505060405180910390f35b348015610b9757600080fd5b50610bda60048036036020811015610bae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506134b7565b604051808264ffffffffff1664ffffffffff16815260200191505060405180910390f35b348015610c0a57600080fd5b50610c3760048036036020811015610c2157600080fd5b8101908080359060200190929190505050613519565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c8557600080fd5b50610cc860048036036020811015610c9c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613555565b604051808215151515815260200191505060405180910390f35b348015610cee57600080fd5b50610d3160048036036020811015610d0557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506135b3565b604051808581526020018481526020018381526020018215151515815260200194505050505060405180910390f35b348015610d6c57600080fd5b50610d75613643565b005b348015610d8357600080fd5b50610dd060048036036040811015610d9a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613773565b005b348015610dde57600080fd5b50610e4160048036036040811015610df557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506138ea565b6040518082815260200191505060405180910390f35b348015610e6357600080fd5b50610f256004803603610120811015610e7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190505050613991565b005b348015610f3357600080fd5b50610f7660048036036020811015610f4a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613a94565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610fc457600080fd5b5061102760048036036040811015610fdb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b05565b6040518082815260200191505060405180910390f35b34801561104957600080fd5b506110966004803603604081101561106057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613b94565b005b3480156110a457600080fd5b506110e7600480360360208110156110bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613d0b565b005b3480156110f557600080fd5b506111386004803603602081101561110c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e95565b6040518082815260200191505060405180910390f35b34801561115a57600080fd5b5061119d6004803603602081101561117157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ee6565b6040518082815260200191505060405180910390f35b61121f600480360360608110156111c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506140ae565b005b34801561122d57600080fd5b506112706004803603602081101561124457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614305565b6040518082815260200191505060405180910390f35b34801561129257600080fd5b506112d5600480360360208110156112a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614411565b6040518082815260200191505060405180910390f35b3480156112f757600080fd5b5061135a6004803603604081101561130e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614462565b604051808215151515815260200191505060405180910390f35b34801561138057600080fd5b506113c36004803603602081101561139757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506144fe565b604051808215151515815260200191505060405180910390f35b3480156113e957600080fd5b5061144c6004803603604081101561140057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061455c565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561147c57600080fd5b506114bf6004803603602081101561149357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614682565b6040518082815260200191505060405180910390f35b3480156114e157600080fd5b50611542600480360360808110156114f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291905050506146ce565b005b34801561155057600080fd5b506115936004803603602081101561156757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506148b9565b005b3480156115a157600080fd5b5061160e600480360360608110156115b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614a89565b6040518082815260200191505060405180910390f35b34801561163057600080fd5b506116a96004803603608081101561164757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050614bdc565b005b3480156116b757600080fd5b506116fa600480360360208110156116ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614cee565b6040518082815260200191505060405180910390f35b34801561171c57600080fd5b5061175f6004803603602081101561173357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614d3f565b005b34801561176d57600080fd5b506117b06004803603602081101561178457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614f36565b005b3480156117be57600080fd5b50611837600480360360808110156117d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035151590602001909291905050506150c0565b005b34801561184557600080fd5b506118886004803603602081101561185c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506151d2565b6040518082815260200191505060405180910390f35b3480156118aa57600080fd5b506118ed600480360360208110156118c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615223565b6040518082815260200191505060405180910390f35b34801561190f57600080fd5b506119526004803603602081101561192657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506152c5565b6040518082815260200191505060405180910390f35b34801561197457600080fd5b506119b76004803603602081101561198b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615334565b005b3480156119c557600080fd5b50611a08600480360360208110156119dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061546d565b6040518082815260200191505060405180910390f35b348015611a2a57600080fd5b50611a336154be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015611a8157600080fd5b50611ac460048036036020811015611a9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506154e4565b6040518082815260200191505060405180910390f35b611b6660048036036080811015611af057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615535565b005b348015611b7457600080fd5b50611bb760048036036020811015611b8b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506157e8565b005b348015611bc557600080fd5b50611c0860048036036020811015611bdc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615e40565b6040518082815260200191505060405180910390f35b348015611c2a57600080fd5b50611c33615e95565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015611c8157600080fd5b50611cce60048036036040811015611c9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050615ebb565b005b348015611cdc57600080fd5b50611d69600480360360c0811015611cf357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190505050616032565b005b348015611d7757600080fd5b50611dba60048036036020811015611d8e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616106565b005b348015611dc857600080fd5b50611e2b60048036036040811015611ddf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616290565b604051808581526020018481526020018381526020018215151515815260200194505050505060405180910390f35b348015611e6657600080fd5b50611ed360048036036060811015611e7d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506163e0565b604051808215151515815260200191505060405180910390f35b348015611ef957600080fd5b50611f3c60048036036020811015611f1057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616511565b6040518082815260200191505060405180910390f35b348015611f5e57600080fd5b50611fa160048036036020811015611f7557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061661f565b6040518082815260200191505060405180910390f35b348015611fc357600080fd5b5061200660048036036020811015611fda57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061666f565b005b34801561201457600080fd5b506120636004803603604081101561202b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061683f565b005b34801561207157600080fd5b506120b46004803603602081101561208857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616a1c565b005b3480156120c257600080fd5b50612105600480360360208110156120d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616ba6565b6040518082815260200191505060405180910390f35b34801561212757600080fd5b506121b5600480360360c081101561213e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803560ff169060200190929190505050616bf7565b604051808360028111156121c557fe5b60ff1681526020018281526020019250505060405180910390f35b3480156121ec57600080fd5b5061224f6004803603604081101561220357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616ce4565b6040518082815260200191505060405180910390f35b34801561227157600080fd5b506122e06004803603606081101561228857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050616d73565b005b3480156122ee57600080fd5b5061235b6004803603606081101561230557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050616ebb565b005b34801561236957600080fd5b506123cc6004803603604081101561238057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506170b3565b6040518082815260200191505060405180910390f35b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561242457506000801b8214155b92505050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d01601c9054906101000a900460ff16915050919050565b6060603880548060200260200160405190810160405280929190818152602001828054801561250f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116124c5575b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b6125c98482617142565b612610603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b600061262d61261e8661661f565b856173c290919063ffffffff16565b90506126828184603660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061744a9092919063ffffffff16565b61268e858460006174b5565b5050505050565b600080603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561277a57600080fd5b505afa15801561278e573d6000803e3d6000fd5b505050506040513d60208110156127a457600080fd5b810190808051906020019092919050505091505092915050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d01601a9054906101000a900460ff16915050919050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015414156128b45760009150506128ce565b60008160030154116128c75760026128ca565b60015b9150505b92915050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561295357600080fd5b505afa158015612967573d6000803e3d6000fd5b505050506040513d602081101561297d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146129fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b80603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b612b2d617718565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612bea5760003414612bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180619a656032913960400191505060405180910390fd5b612be58230838673ffffffffffffffffffffffffffffffffffffffff16617734909392919063ffffffff16565b612d47565b80341015612c43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061999a6035913960400191505060405180910390fd5b80341115612d46576000612c60823461782190919063ffffffff16565b905060008373ffffffffffffffffffffffffffffffffffffffff168361c35090604051806000019050600060405180830381858888f193505050503d8060008114612cc7576040519150601f19603f3d011682016040523d82523d6000602084013e612ccc565b606091505b5050905080612d43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5472616e73666572206f6620455448206661696c65640000000000000000000081525060200191505060405180910390fd5b50505b5b505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcb57600080fd5b505afa158015612ddf573d6000803e3d6000fd5b505050506040513d6020811015612df557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614612e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160090181905550505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600c0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612fdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b600080612fea898961455c565b9250509150612ffd898984848b8a61786b565b61300b898989848a8a6178c8565b613017896000896174b5565b6130218989617aee565b819350935050509550959350505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156130b157600080fd5b505afa1580156130c5573d6000803e3d6000fd5b505050506040513d60208110156130db57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613158576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600d01601c6101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561323b57600080fd5b505afa15801561324f573d6000803e3d6000fd5b505050506040513d602081101561326557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146132e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__6313769cd490918585856040518563ffffffff1660e01b8152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060006040518083038186803b1580156133e157600080fd5b505af41580156133f5573d6000803e3d6000fd5b5050505061340284617c17565b50505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060060154915050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d01601d9054906101000a900460ff16915050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d0160149054906101000a900464ffffffffff16915050919050565b6038818154811061352657fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d0160199054906101000a900460ff16915050919050565b6000806000806000806000806000603660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600b01549450806008015493508060090154925080600d01601a9054906101000a900460ff16915084848484985098509850985050505050509193509193565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156136c257600080fd5b505afa1580156136d6573d6000803e3d6000fd5b505050506040513d60208110156136ec57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613769576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b613771617d1a565b565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156137f257600080fd5b505afa158015613806573d6000803e3d6000fd5b505050506040513d602081101561381c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613899576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508181600b0181905550505050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060040160009054906101000a900464ffffffffff1664ffffffffff1691505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613a37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b613a4389888885617dff565b613a4c88617f5f565b613a598988888786617fa9565b613a65898760006174b5565b80613a8957613a88886000613a8386896173c290919063ffffffff16565b6174b5565b5b505050505050505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806003015491505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015613c1357600080fd5b505afa158015613c27573d6000803e3d6000fd5b505050506040513d6020811015613c3d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508181600a0181905550505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015613d8a57600080fd5b505afa158015613d9e573d6000803e3d6000fd5b505050506040513d6020811015613db457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600181600d01601d6101000a81548160ff0219169083151502179055505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060020154915050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633618abba6040518163ffffffff1660e01b815260040160206040518083038186803b158015613f9457600080fd5b505afa158015613fa8573d6000803e3d6000fd5b505050506040513d6020811015613fbe57600080fd5b8101908080519060200190929190505050905060008260050154141561409f578073ffffffffffffffffffffffffffffffffffffffff1663bb85c0bb856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561405b57600080fd5b505afa15801561406f573d6000803e3d6000fd5b505050506040513d602081101561408557600080fd5b8101908080519060200190929190505050925050506140a9565b8160050154925050505b919050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b6000819050600034146141b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806199146036913960400191505060405180910390fd5b6141ba617718565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461421c5761421781848673ffffffffffffffffffffffffffffffffffffffff166181299092919063ffffffff16565b6142ff565b60008173ffffffffffffffffffffffffffffffffffffffff168461c35090604051806000019050600060405180830381858888f193505050503d8060008114614281576040519150601f19603f3d011682016040523d82523d6000602084013e614286565b606091505b50509050806142fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5472616e73666572206f6620455448206661696c65640000000000000000000081525060200191505060405180910390fd5b505b50505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816004015414156144035780600d0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b1580156143c057600080fd5b505afa1580156143d4573d6000803e3d6000fd5b505050506040513d60208110156143ea57600080fd5b810190808051906020019092919050505091505061440c565b80600401549150505b919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060030154915050919050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060040160059054906101000a900460ff1691505092915050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d01601b9054906101000a900460ff16915050919050565b600080600080603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015414156146075760008060008292508191508090509350935093505061467b565b600081600001549050600061465a83603660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206181e1565b90508181614671848461782190919063ffffffff16565b9550955095505050505b9250925092565b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600b01549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561474d57600080fd5b505afa158015614761573d6000803e3d6000fd5b505050506040513d602081101561477757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146147f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__6324ddc4e690918585856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b15801561489b57600080fd5b505af41580156148af573d6000803e3d6000fd5b5050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561493857600080fd5b505afa15801561494c573d6000803e3d6000fd5b505050506040513d602081101561496257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146149df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b603660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__63e5df56a690916040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015614a6e57600080fd5b505af4158015614a82573d6000803e3d6000fd5b5050505050565b60003373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b614b3c848484618318565b614b47848484618404565b614b53846000806174b5565b603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015490509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614c82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b614cc9603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b614cd5846000846174b5565b8015614ce857614ce784846000616d73565b5b50505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060070154915050919050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015614dbe57600080fd5b505afa158015614dd2573d6000803e3d6000fd5b505050506040513d6020811015614de857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614614e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154118015614ec0575060008160070154115b614f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180619b5d6024913960400191505060405180910390fd5b600181600d01601c6101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015614fb557600080fd5b505afa158015614fc9573d6000803e3d6000fd5b505050506040513d6020811015614fdf57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461505c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600d01601b6101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b6151ad603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b6151b9848360006174b5565b80156151cc576151cb84846001616d73565b5b50505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000154915050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006152728261851f565b90506000811415615288576000925050506152c0565b600061529385616511565b90506152ba6152ab83836173c290919063ffffffff16565b8361854390919063ffffffff16565b93505050505b919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061532c6153158261851f565b61531e85616511565b6173c290919063ffffffff16565b915050919050565b600061533e61859f565b9050600160009054906101000a900460ff168061535f575061535e6185a8565b5b8061536b575060005481115b6153c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180619bc6602e913960400191505060405180910390fd5b6000600160009054906101000a900460ff1615905080156153fd5760018060006101000a81548160ff021916908315150217905550816000819055505b82603560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615446617d1a565b8015615468576000600160006101000a81548160ff0219169083151502179055505b505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010154915050919050565b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600a0154915050919050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146155db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b60008190506155e8617718565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146156a55760003414615673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605f815260200180619a97605f913960600191505060405180910390fd5b6156a08482858873ffffffffffffffffffffffffffffffffffffffff16617734909392919063ffffffff16565b6157e1565b823410156156fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061999a6035913960400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff168461c35090604051806000019050600060405180830381858888f193505050503d8060008114615763576040519150601f19603f3d011682016040523d82523d6000602084013e615768565b606091505b50509050806157df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5472616e73666572206f6620455448206661696c65640000000000000000000081525060200191505060405180910390fd5b505b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561586757600080fd5b505afa15801561587b573d6000803e3d6000fd5b505050506040513d602081101561589157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461590e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b600060386001603880549050038154811061592557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146159d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d815260200180619a28603d913960400191505060405180910390fd5b60006159e18261661f565b14615a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180619af66030913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d01601c6101000a81548160ff0219169083151502179055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600b01819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d0160196101000a81548160ff0219169083151502179055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d01601a6101000a81548160ff0219169083151502179055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600801819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506038805480615e0757fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050615e8d816185b9565b915050919050565b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015615f3a57600080fd5b505afa158015615f4e573d6000803e3d6000fd5b505050506040513d6020811015615f6457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614615fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160080181905550505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146160d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b6160e486868685618600565b6160f286868686868661879e565b6160fe868560006174b5565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561618557600080fd5b505afa158015616199573d6000803e3d6000fd5b505050506040513d60208110156161af57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461622c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600181600d01601b6101000a81548160ff0219169083151502179055505050565b6000806000806000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006163658989612695565b90506000826000015414156163a057806000808460040160059054906101000a900460ff1682925081915096509650965096505050506163d7565b806163b484846181e190919063ffffffff16565b83600201548460040160059054906101000a900460ff1696509650965096505050505b92959194509250565b600080603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905081600d01601b9054906101000a900460ff166164c55760009250505061650a565b8060040160059054906101000a900460ff1615806164f2575081600d01601a9054906101000a900460ff16155b8061650557506165028686612695565b84115b925050505b9392505050565b60008060009050616520617718565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561655b57479050616616565b8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156165d857600080fd5b505afa1580156165ec573d6000803e3d6000fd5b505050506040513d602081101561660257600080fd5b810190808051906020019092919050505090505b80915050919050565b6000616668603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061851f565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156166ee57600080fd5b505afa158015616702573d6000803e3d6000fd5b505050506040513d602081101561671857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614616795576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b603660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__6383c165a090916040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561682457600080fd5b505af4158015616838573d6000803e3d6000fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156168be57600080fd5b505afa1580156168d2573d6000803e3d6000fd5b505050506040513d60208110156168e857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614616965576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__63f63babbe9091836040518363ffffffff1660e01b815260040180838152602001821515151581526020019250505060006040518083038186803b158015616a0057600080fd5b505af4158015616a14573d6000803e3d6000fd5b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015616a9b57600080fd5b505afa158015616aaf573d6000803e3d6000fd5b505050506040513d6020811015616ac557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614616b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b266037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600d01601d6101000a81548160ff0219169083151502179055505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060090154915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614616ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b616cad8888888887618908565b6000616cbb89898787618af7565b9050616cc9896000806174b5565b80616cd48a8a617aee565b9250925050965096945050505050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806001015491505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614616e19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b6000603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160040160056101000a81548160ff02191690831515021790555050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614616f61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619bf4602a913960400191505060405180910390fd5b616f69617718565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614616fcb57616fc682828573ffffffffffffffffffffffffffffffffffffffff166181299092919063ffffffff16565b6170ae565b60008273ffffffffffffffffffffffffffffffffffffffff168261c35090604051806000019050600060405180830381858888f193505050503d8060008114617030576040519150601f19603f3d011682016040523d82523d6000602084013e617035565b606091505b50509050806170ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5472616e73666572206f6620455448206661696c65640000000000000000000081525060200191505060405180910390fd5b505b505050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806002015491505092915050565b6000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee8912966040518163ffffffff1660e01b815260040160206040518083038186803b1580156171ac57600080fd5b505afa1580156171c0573d6000803e3d6000fd5b505050506040513d60208110156171d657600080fd5b810190808051906020019092919050505090506171f1617718565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146172535761724e81838573ffffffffffffffffffffffffffffffffffffffff166181299092919063ffffffff16565b617314565b60008173ffffffffffffffffffffffffffffffffffffffff168360405180600001905060006040518083038185875af1925050503d80600081146172b3576040519150601f19603f3d011682016040523d82523d6000602084013e6172b8565b606091505b5050905080617312576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180619ba26024913960400191505060405180910390fd5b505b505050565b60006173248261851f565b905060008111156173be576000617354836001015484600d0160149054906101000a900464ffffffffff16618ce1565b905061736d836000015482618d6190919063ffffffff16565b8360000181905550600061739a846004015485600d0160149054906101000a900464ffffffffff16618dc4565b90506173b3846007015482618d6190919063ffffffff16565b846007018190555050505b5050565b600080828401905083811015617440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061746f61745884618e34565b61746184618e34565b61854390919063ffffffff16565b9050600061748d61747e618e54565b836173c290919063ffffffff16565b90506174a6856000015482618d6190919063ffffffff16565b85600001819055505050505050565b6000603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600601549050600080600084600d0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357e37af089617574896175668c6175588f616511565b6173c290919063ffffffff16565b61782190919063ffffffff16565b88600201548960030154896040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b1580156175fb57600080fd5b505afa15801561760f573d6000803e3d6000fd5b505050506040513d606081101561762557600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050509250925092508285600101819055508185600501819055508085600401819055504285600d0160146101000a81548164ffffffffff021916908364ffffffffff1602179055508773ffffffffffffffffffffffffffffffffffffffff167f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4848487858a600001548b6007015460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a25050505050505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b61781b846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050618e68565b50505050565b600061786383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506190b3565b905092915050565b6178b2603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b6178c0868686868686619173565b505050505050565b6000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506001600281111561799857fe5b8360028111156179a457fe5b14156179c6578160050154816003018190555060008160010181905550617a6f565b6002808111156179d257fe5b8360028111156179de57fe5b1415617a00576000816003018190555081600701548160010181905550617a6e565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420626f72726f772072617465206d6f6465000000000000000081525060200191505060405180910390fd5b5b617a9885617a8a8884600001546173c290919063ffffffff16565b6173c290919063ffffffff16565b8160000181905550617ab78482600201546173c290919063ffffffff16565b8160020181905550428160040160006101000a81548164ffffffffff021916908364ffffffffff1602179055505050505050505050565b600080617afb848461281c565b905060006002811115617b0a57fe5b816002811115617b1657fe5b1415617b26576000915050617c11565b60016002811115617b3357fe5b816002811115617b3f57fe5b14617b8c57603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154617c0d565b603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301545b9150505b92915050565b600080905060008090505b603880549050811015617cac578273ffffffffffffffffffffffffffffffffffffffff1660388281548110617c5357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415617c9f57600191505b8080600101915050617c22565b5080617d16576038829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015617d8257600080fd5b505afa158015617d96573d6000803e3d6000fd5b505050506040513d6020811015617dac57600080fd5b8101908080519060200190929190505050603460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050617ecb82617319565b6000617ed7878761281c565b905060016002811115617ee657fe5b816002811115617ef257fe5b1415617f2f57617f11848360030154856193cb9092919063ffffffff16565b617f2a858360030154856194769092919063ffffffff16565b617f56565b617f42848461961290919063ffffffff16565b617f55858461963590919063ffffffff16565b5b50505050505050565b617fa6603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b50565b6000603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050618095856180878585600001546173c290919063ffffffff16565b61782190919063ffffffff16565b82600001819055506002808111156180a957fe5b6180b3888861281c565b60028111156180be57fe5b14156180d257806007015482600101819055505b60008411156180fb576180f284836002015461782190919063ffffffff16565b82600201819055505b428260040160006101000a81548164ffffffffff021916908364ffffffffff16021790555050505050505050565b6181dc8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050618e68565b505050565b600080836000015414156181f85760009050618312565b60006182078460000154618e34565b90506000809050600080905060008660030154111561824a5761824386600301548760040160009054906101000a900464ffffffffff16618dc4565b905061829c565b618299866001015461828b876007015461827d89600401548a600d0160149054906101000a900464ffffffffff16618dc4565b618d6190919063ffffffff16565b61854390919063ffffffff16565b90505b6182b76182b28285618d6190919063ffffffff16565b6196b5565b9150856000015482141561830b57428660040160009054906101000a900464ffffffffff1664ffffffffff161461830a57618300600187600001546173c290919063ffffffff16565b9350505050618312565b5b8193505050505b92915050565b6000603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506183e482617319565b6183fd838260030154846193cb9092919063ffffffff16565b5050505050565b6000603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506184de8383600001546173c290919063ffffffff16565b826000018190555080600501548260030181905550428260040160006101000a81548164ffffffffff021916908364ffffffffff1602179055505050505050565b600061853c826003015483600201546173c290919063ffffffff16565b9050919050565b6000806002838161855057fe5b049050618596836185886185796b033b2e3c9fd0803ce8000000886196fa90919063ffffffff16565b846173c290919063ffffffff16565b61978090919063ffffffff16565b91505092915050565b60006007905090565b600080303b90506000811491505090565b6000806185f583600001546185e7856001015486600d0160149054906101000a900464ffffffffff16618ce1565b618d6190919063ffffffff16565b905080915050919050565b6000603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006186cf878761281c565b9050618718603660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b6001600281111561872557fe5b81600281111561873157fe5b141561876e57618750848360030154856193cb9092919063ffffffff16565b618769858360030154856194769092919063ffffffff16565b618795565b618781848461961290919063ffffffff16565b618794858461963590919063ffffffff16565b5b50505050505050565b6000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061888a8661887c8684600001546173c290919063ffffffff16565b61782190919063ffffffff16565b81600001819055508160070154816001018190555082156188ba5760008160030181905550600081600101819055505b6188d185826002015461782190919063ffffffff16565b8160020181905550428160040160006101000a81548164ffffffffff021916908364ffffffffff1602179055505050505050505050565b6000603660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506189d482617319565b600160028111156189e157fe5b8360028111156189ed57fe5b1415618a2a57600081600301549050618a118682856194769092919063ffffffff16565b618a24858461961290919063ffffffff16565b50618aee565b600280811115618a3657fe5b836002811115618a4257fe5b1415618a7f57600082600501549050618a64868461963590919063ffffffff16565b618a798582856193cb9092919063ffffffff16565b50618aed565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e76616c69642072617465206d6f646520726563656976656400000000000081525060200191505060405180910390fd5b5b50505050505050565b600080603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000809050600280811115618bcc57fe5b856002811115618bd857fe5b1415618bfe57600190508160050154836003018190555060008360010181905550618c8f565b60016002811115618c0b57fe5b856002811115618c1757fe5b1415618c3d57600290506000836003018190555081600701548360010181905550618c8e565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180619c1e6023913960400191505060405180910390fd5b5b618ca68684600001546173c290919063ffffffff16565b8360000181905550428360040160006101000a81548164ffffffffff021916908364ffffffffff160217905550809350505050949350505050565b600080618cfe8364ffffffffff164261782190919063ffffffff16565b90506000618d29618d126301e13380618e34565b618d1b84618e34565b61854390919063ffffffff16565b9050618d57618d36618e54565b618d498388618d6190919063ffffffff16565b6173c290919063ffffffff16565b9250505092915050565b6000618dbc6b033b2e3c9fd0803ce8000000618dae618d8985876196fa90919063ffffffff16565b60026b033b2e3c9fd0803ce800000081618d9f57fe5b046173c290919063ffffffff16565b61978090919063ffffffff16565b905092915050565b600080618de18364ffffffffff164261782190919063ffffffff16565b90506000618dfc6301e133808661978090919063ffffffff16565b9050618e2a82618e1c618e0d618e54565b846173c290919063ffffffff16565b6197ca90919063ffffffff16565b9250505092915050565b6000618e4d633b9aca00836196fa90919063ffffffff16565b9050919050565b60006b033b2e3c9fd0803ce8000000905090565b618e878273ffffffffffffffffffffffffffffffffffffffff166123e2565b618ef9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310618f485780518252602082019150602081019050602083039250618f25565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114618faa576040519150601f19603f3d011682016040523d82523d6000602084013e618faf565b606091505b509150915081619027576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b6000815111156190ad5780806020019051602081101561904657600080fd5b81019080805190602001909291905050506190ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c41602a913960400191505060405180910390fd5b5b50505050565b6000838311158290619160576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561912557808201518184015260208101905061910a565b50505050905090810190601f1680156191525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600061917f878761281c565b90506000603660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600160028111156191d157fe5b8260028111156191dd57fe5b1415619282576000603760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061927c878260030154846194769092919063ffffffff16565b506192b5565b60028081111561928e57fe5b82600281111561929a57fe5b14156192b4576192b3868261963590919063ffffffff16565b5b5b60006192dc856192ce888a6173c290919063ffffffff16565b6173c290919063ffffffff16565b9050600160028111156192eb57fe5b8460028111156192f757fe5b141561931b57619316818360050154846193cb9092919063ffffffff16565b6193c0565b60028081111561932757fe5b84600281111561933357fe5b14156193515761934c818361961290919063ffffffff16565b6193bf565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496e76616c6964206e657720626f72726f772072617465206d6f64650000000081525060200191505060405180910390fd5b5b505050505050505050565b6000836002015490506193eb8385600201546173c290919063ffffffff16565b846002018190555060006194108361940286618e34565b618d6190919063ffffffff16565b90506000619433866006015461942585618e34565b618d6190919063ffffffff16565b90506194666194458760020154618e34565b61945883856173c290919063ffffffff16565b61854390919063ffffffff16565b8660060181905550505050505050565b81836002015410156194f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e76616c696420616d6f756e7420746f20646563726561736500000000000081525060200191505060405180910390fd5b60008360020154905061951083856002015461782190919063ffffffff16565b846002018190555060008460020154141561953557600084600601819055505061960d565b60006195528361954486618e34565b618d6190919063ffffffff16565b90506000619575866006015461956785618e34565b618d6190919063ffffffff16565b9050818110156195d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180619a056023913960400191505060405180910390fd5b6196016195e08760020154618e34565b6195f3848461782190919063ffffffff16565b61854390919063ffffffff16565b86600601819055505050505b505050565b6196298183600301546173c290919063ffffffff16565b82600301819055505050565b8082600301541015619692576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605081526020018061994a6050913960600191505060405180910390fd5b6196a981836003015461782190919063ffffffff16565b82600301819055505050565b6000806002633b9aca00816196c657fe5b0490506196f2633b9aca006196e485846173c290919063ffffffff16565b61978090919063ffffffff16565b915050919050565b60008083141561970d576000905061977a565b600082840290508284828161971e57fe5b0414619775576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180619b816021913960400191505060405180910390fd5b809150505b92915050565b60006197c283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061984d565b905092915050565b600080600283816197d757fe5b0614156197f0576b033b2e3c9fd0803ce80000006197f2565b825b9050600282816197fe57fe5b0491505b60008214619847576198148384618d61565b925060006002838161982257fe5b0614619835576198328184618d61565b90505b6002828161983f57fe5b049150619802565b92915050565b600080831182906198f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156198be5780820151818401526020810190506198a3565b50505050905090810190601f1680156198eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161990557fe5b04905080915050939250505056fe466565206c69717569646174696f6e20646f6573206e6f74207265717569726520616e79207472616e73666572206f662076616c756554686520616d6f756e742074686174206973206265696e6720737562747261637465642066726f6d20746865207661726961626c6520746f74616c20626f72726f777320697320696e636f727265637454686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d617463684f6e6c7920636f6e7472616374732063616e2073656e6420657468657220746f20746865204c656e64696e6720706f6f6c20636f726554686520616d6f756e747320746f20737562747261637420646f6e2774206d6174636852657365727665206265696e672072656d6f76656420697320646966666572656e74207468616e20746865207265736572766520726571756573746564557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e20436865636b207468652076616c756520617474726962757465206f6620746865207472616e73616374696f6e43616e6e6f742072656d6f7665206120726573657276652077697468206c6971756964697479206465706f73697465645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e666967757261746f7220636f6e74726163745265736572766520686173206e6f74206265656e20696e697469616c697a656420796574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657220746f20746f6b656e206469737472696275746f72206661696c6564436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e7472616374496e76616c696420696e7465726573742072617465206d6f64652072656365697665645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220ff0dadca6d038d83523527d8a626b197d658510f4b5b1f200d94d8f751b9404464736f6c63430006080033"; + +export interface LendingPoolCoreLibraryAddresses { + ["__$2ec35834968386f54fa313129cf94664e4$__"]: string; +} diff --git a/types/LendingPoolDataProvider.d.ts b/types/LendingPoolDataProvider.d.ts new file mode 100644 index 00000000..234e254b --- /dev/null +++ b/types/LendingPoolDataProvider.d.ts @@ -0,0 +1,448 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface LendingPoolDataProviderInterface extends Interface { + functions: { + DATA_PROVIDER_REVISION: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + HEALTH_FACTOR_LIQUIDATION_THRESHOLD: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + addressesProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + balanceDecreaseAllowed: TypedFunctionDescription<{ + encode([_reserve, _user, _amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + calculateCollateralNeededInETH: TypedFunctionDescription<{ + encode([ + _reserve, + _amount, + _fee, + _userCurrentBorrowBalanceTH, + _userCurrentFeesETH, + _userCurrentLtv + ]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + calculateUserGlobalData: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + core: TypedFunctionDescription<{ encode([]: []): string }>; + + getHealthFactorLiquidationThreshold: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getReserveConfigurationData: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveData: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getUserAccountData: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + getUserReserveData: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + initialize: TypedFunctionDescription<{ + encode([_addressesProvider]: [string]): string; + }>; + }; + + events: {}; +} + +export class LendingPoolDataProvider extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): LendingPoolDataProvider; + attach(addressOrName: string): LendingPoolDataProvider; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): LendingPoolDataProvider; + once( + event: EventFilter | string, + listener: Listener + ): LendingPoolDataProvider; + addListener( + eventName: EventFilter | string, + listener: Listener + ): LendingPoolDataProvider; + removeAllListeners(eventName: EventFilter | string): LendingPoolDataProvider; + removeListener(eventName: any, listener: Listener): LendingPoolDataProvider; + + interface: LendingPoolDataProviderInterface; + + functions: { + DATA_PROVIDER_REVISION(): Promise; + + HEALTH_FACTOR_LIQUIDATION_THRESHOLD(): Promise; + + addressesProvider(): Promise; + + balanceDecreaseAllowed( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + calculateCollateralNeededInETH( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _userCurrentBorrowBalanceTH: BigNumberish, + _userCurrentFeesETH: BigNumberish, + _userCurrentLtv: BigNumberish + ): Promise; + + calculateUserGlobalData( + _user: string + ): Promise<{ + totalLiquidityBalanceETH: BigNumber; + totalCollateralBalanceETH: BigNumber; + totalBorrowBalanceETH: BigNumber; + totalFeesETH: BigNumber; + currentLtv: BigNumber; + currentLiquidationThreshold: BigNumber; + healthFactor: BigNumber; + healthFactorBelowThreshold: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: boolean; + }>; + + core(): Promise; + + getHealthFactorLiquidationThreshold(): Promise; + + getReserveConfigurationData( + _reserve: string + ): Promise<{ + ltv: BigNumber; + liquidationThreshold: BigNumber; + liquidationBonus: BigNumber; + rateStrategyAddress: string; + usageAsCollateralEnabled: boolean; + borrowingEnabled: boolean; + stableBorrowRateEnabled: boolean; + isActive: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: string; + 4: boolean; + 5: boolean; + 6: boolean; + 7: boolean; + }>; + + getReserveData( + _reserve: string + ): Promise<{ + totalLiquidity: BigNumber; + availableLiquidity: BigNumber; + totalBorrowsStable: BigNumber; + totalBorrowsVariable: BigNumber; + liquidityRate: BigNumber; + variableBorrowRate: BigNumber; + stableBorrowRate: BigNumber; + averageStableBorrowRate: BigNumber; + utilizationRate: BigNumber; + liquidityIndex: BigNumber; + variableBorrowIndex: BigNumber; + aTokenAddress: string; + lastUpdateTimestamp: number; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + 8: BigNumber; + 9: BigNumber; + 10: BigNumber; + 11: string; + 12: number; + }>; + + getUserAccountData( + _user: string + ): Promise<{ + totalLiquidityETH: BigNumber; + totalCollateralETH: BigNumber; + totalBorrowsETH: BigNumber; + totalFeesETH: BigNumber; + availableBorrowsETH: BigNumber; + currentLiquidationThreshold: BigNumber; + ltv: BigNumber; + healthFactor: BigNumber; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + }>; + + getUserReserveData( + _reserve: string, + _user: string + ): Promise<{ + currentATokenBalance: BigNumber; + currentBorrowBalance: BigNumber; + principalBorrowBalance: BigNumber; + borrowRateMode: BigNumber; + borrowRate: BigNumber; + liquidityRate: BigNumber; + originationFee: BigNumber; + variableBorrowIndex: BigNumber; + lastUpdateTimestamp: BigNumber; + usageAsCollateralEnabled: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + 8: BigNumber; + 9: boolean; + }>; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + }; + + DATA_PROVIDER_REVISION(): Promise; + + HEALTH_FACTOR_LIQUIDATION_THRESHOLD(): Promise; + + addressesProvider(): Promise; + + balanceDecreaseAllowed( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + calculateCollateralNeededInETH( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _userCurrentBorrowBalanceTH: BigNumberish, + _userCurrentFeesETH: BigNumberish, + _userCurrentLtv: BigNumberish + ): Promise; + + calculateUserGlobalData( + _user: string + ): Promise<{ + totalLiquidityBalanceETH: BigNumber; + totalCollateralBalanceETH: BigNumber; + totalBorrowBalanceETH: BigNumber; + totalFeesETH: BigNumber; + currentLtv: BigNumber; + currentLiquidationThreshold: BigNumber; + healthFactor: BigNumber; + healthFactorBelowThreshold: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: boolean; + }>; + + core(): Promise; + + getHealthFactorLiquidationThreshold(): Promise; + + getReserveConfigurationData( + _reserve: string + ): Promise<{ + ltv: BigNumber; + liquidationThreshold: BigNumber; + liquidationBonus: BigNumber; + rateStrategyAddress: string; + usageAsCollateralEnabled: boolean; + borrowingEnabled: boolean; + stableBorrowRateEnabled: boolean; + isActive: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: string; + 4: boolean; + 5: boolean; + 6: boolean; + 7: boolean; + }>; + + getReserveData( + _reserve: string + ): Promise<{ + totalLiquidity: BigNumber; + availableLiquidity: BigNumber; + totalBorrowsStable: BigNumber; + totalBorrowsVariable: BigNumber; + liquidityRate: BigNumber; + variableBorrowRate: BigNumber; + stableBorrowRate: BigNumber; + averageStableBorrowRate: BigNumber; + utilizationRate: BigNumber; + liquidityIndex: BigNumber; + variableBorrowIndex: BigNumber; + aTokenAddress: string; + lastUpdateTimestamp: number; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + 8: BigNumber; + 9: BigNumber; + 10: BigNumber; + 11: string; + 12: number; + }>; + + getUserAccountData( + _user: string + ): Promise<{ + totalLiquidityETH: BigNumber; + totalCollateralETH: BigNumber; + totalBorrowsETH: BigNumber; + totalFeesETH: BigNumber; + availableBorrowsETH: BigNumber; + currentLiquidationThreshold: BigNumber; + ltv: BigNumber; + healthFactor: BigNumber; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + }>; + + getUserReserveData( + _reserve: string, + _user: string + ): Promise<{ + currentATokenBalance: BigNumber; + currentBorrowBalance: BigNumber; + principalBorrowBalance: BigNumber; + borrowRateMode: BigNumber; + borrowRate: BigNumber; + liquidityRate: BigNumber; + originationFee: BigNumber; + variableBorrowIndex: BigNumber; + lastUpdateTimestamp: BigNumber; + usageAsCollateralEnabled: boolean; + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: BigNumber; + 4: BigNumber; + 5: BigNumber; + 6: BigNumber; + 7: BigNumber; + 8: BigNumber; + 9: boolean; + }>; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + DATA_PROVIDER_REVISION(): Promise; + + HEALTH_FACTOR_LIQUIDATION_THRESHOLD(): Promise; + + addressesProvider(): Promise; + + balanceDecreaseAllowed( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + calculateCollateralNeededInETH( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _userCurrentBorrowBalanceTH: BigNumberish, + _userCurrentFeesETH: BigNumberish, + _userCurrentLtv: BigNumberish + ): Promise; + + calculateUserGlobalData(_user: string): Promise; + + core(): Promise; + + getHealthFactorLiquidationThreshold(): Promise; + + getReserveConfigurationData(_reserve: string): Promise; + + getReserveData(_reserve: string): Promise; + + getUserAccountData(_user: string): Promise; + + getUserReserveData(_reserve: string, _user: string): Promise; + + initialize(_addressesProvider: string): Promise; + }; +} diff --git a/types/LendingPoolDataProviderFactory.ts b/types/LendingPoolDataProviderFactory.ts new file mode 100644 index 00000000..a619a242 --- /dev/null +++ b/types/LendingPoolDataProviderFactory.ts @@ -0,0 +1,505 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { LendingPoolDataProvider } from "./LendingPoolDataProvider"; + +export class LendingPoolDataProviderFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): LendingPoolDataProvider { + return super.attach(address) as LendingPoolDataProvider; + } + connect(signer: Signer): LendingPoolDataProviderFactory { + return super.connect(signer) as LendingPoolDataProviderFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LendingPoolDataProvider { + return new Contract( + address, + _abi, + signerOrProvider + ) as LendingPoolDataProvider; + } +} + +const _abi = [ + { + inputs: [], + name: "DATA_PROVIDER_REVISION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "HEALTH_FACTOR_LIQUIDATION_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "addressesProvider", + outputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "balanceDecreaseAllowed", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_userCurrentBorrowBalanceTH", + type: "uint256" + }, + { + internalType: "uint256", + name: "_userCurrentFeesETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "_userCurrentLtv", + type: "uint256" + } + ], + name: "calculateCollateralNeededInETH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "calculateUserGlobalData", + outputs: [ + { + internalType: "uint256", + name: "totalLiquidityBalanceETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalCollateralBalanceETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalBorrowBalanceETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalFeesETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "currentLtv", + type: "uint256" + }, + { + internalType: "uint256", + name: "currentLiquidationThreshold", + type: "uint256" + }, + { + internalType: "uint256", + name: "healthFactor", + type: "uint256" + }, + { + internalType: "bool", + name: "healthFactorBelowThreshold", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "core", + outputs: [ + { + internalType: "contract LendingPoolCore", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getHealthFactorLiquidationThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveConfigurationData", + outputs: [ + { + internalType: "uint256", + name: "ltv", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidationThreshold", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidationBonus", + type: "uint256" + }, + { + internalType: "address", + name: "rateStrategyAddress", + type: "address" + }, + { + internalType: "bool", + name: "usageAsCollateralEnabled", + type: "bool" + }, + { + internalType: "bool", + name: "borrowingEnabled", + type: "bool" + }, + { + internalType: "bool", + name: "stableBorrowRateEnabled", + type: "bool" + }, + { + internalType: "bool", + name: "isActive", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveData", + outputs: [ + { + internalType: "uint256", + name: "totalLiquidity", + type: "uint256" + }, + { + internalType: "uint256", + name: "availableLiquidity", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalBorrowsStable", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalBorrowsVariable", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidityRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "variableBorrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "stableBorrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "averageStableBorrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "utilizationRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidityIndex", + type: "uint256" + }, + { + internalType: "uint256", + name: "variableBorrowIndex", + type: "uint256" + }, + { + internalType: "address", + name: "aTokenAddress", + type: "address" + }, + { + internalType: "uint40", + name: "lastUpdateTimestamp", + type: "uint40" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserAccountData", + outputs: [ + { + internalType: "uint256", + name: "totalLiquidityETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalCollateralETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalBorrowsETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalFeesETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "availableBorrowsETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "currentLiquidationThreshold", + type: "uint256" + }, + { + internalType: "uint256", + name: "ltv", + type: "uint256" + }, + { + internalType: "uint256", + name: "healthFactor", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserReserveData", + outputs: [ + { + internalType: "uint256", + name: "currentATokenBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "currentBorrowBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "principalBorrowBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "borrowRateMode", + type: "uint256" + }, + { + internalType: "uint256", + name: "borrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidityRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "originationFee", + type: "uint256" + }, + { + internalType: "uint256", + name: "variableBorrowIndex", + type: "uint256" + }, + { + internalType: "uint256", + name: "lastUpdateTimestamp", + type: "uint256" + }, + { + internalType: "bool", + name: "usageAsCollateralEnabled", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "_addressesProvider", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040526000805534801561001457600080fd5b50613c56806100246000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806376e9d6151161008c578063c3525c2811610066578063c3525c281461059c578063c4d66de8146105ba578063c72c4d10146105fe578063f2f4eb2614610648576100cf565b806376e9d6151461046f5780638daf609f146104f5578063bf92857c14610513576100cf565b806312737c33146100d457806328dd2d011461015e5780632c6d0e9b1461021957806335ea6a75146102a65780633e1501411461038c5780633e44bee814610451575b600080fd5b610148600480360360c08110156100ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610692565b6040518082815260200191505060405180910390f35b6101c06004803603604081101561017457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061096c565b604051808b81526020018a8152602001898152602001888152602001878152602001868152602001858152602001848152602001838152602001821515151581526020019a505050505050505050505060405180910390f35b61025b6004803603602081101561022f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114b5565b60405180898152602001888152602001878152602001868152602001858152602001848152602001838152602001821515151581526020019850505050505050505060405180910390f35b6102e8600480360360208110156102bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c7d565b604051808e81526020018d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff1664ffffffffff1681526020019d505050505050505050505050505060405180910390f35b6103ce600480360360208110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127ce565b604051808981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001851515151581526020018415151515815260200183151515158152602001821515151581526020019850505050505050505060405180910390f35b610459612d39565b6040518082815260200191505060405180910390f35b6104db6004803603606081101561048557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d49565b604051808215151515815260200191505060405180910390f35b6104fd61325c565b6040518082815260200191505060405180910390f35b6105556004803603602081101561052957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613261565b604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b6105a46132ac565b6040518082815260200191505060405180910390f35b6105fc600480360360208110156105d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132b8565b005b6106066134aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106506134d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a2353fdc896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561073457600080fd5b505afa158015610748573d6000803e3d6000fd5b505050506040513d602081101561075e57600080fd5b810190808051906020019092919050505090506000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107db57600080fd5b505afa1580156107ef573d6000803e3d6000fd5b505050506040513d602081101561080557600080fd5b81019080805190602001909291905050509050600061090b83600a0a6108fd6108378b8d6134f690919063ffffffff16565b8573ffffffffffffffffffffffffffffffffffffffff1663b3596f078f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108b457600080fd5b505afa1580156108c8573d6000803e3d6000fd5b505050506040513d60208110156108de57600080fd5b810190808051906020019092919050505061357e90919063ffffffff16565b61360490919063ffffffff16565b905060006109598661094b606461093d8661092f8d8f6134f690919063ffffffff16565b6134f690919063ffffffff16565b61357e90919063ffffffff16565b61360490919063ffffffff16565b9050809450505050509695505050505050565b600080600080600080600080600080603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334b3beee8d6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d6020811015610a4457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166370a082318c6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610ad157600080fd5b505afa158015610ae5573d6000803e3d6000fd5b505050506040513d6020811015610afb57600080fd5b810190808051906020019092919050505099506000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ca19f198e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d6020811015610c0d57600080fd5b81019080805190602001909291905050509050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fb8afcd8e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060606040518083038186803b158015610cf357600080fd5b505afa158015610d07573d6000803e3d6000fd5b505050506040513d6060811015610d1d57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050809b50819a50505060016002811115610d5857fe5b816002811115610d6457fe5b1415610e7f57603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fffab0c8e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610e3d57600080fd5b505afa158015610e51573d6000803e3d6000fd5b505050506040513d6020811015610e6757600080fd5b81019080805190602001909291905050509650610f7b565b600280811115610e8b57fe5b816002811115610e9757fe5b1415610f7a57603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663906c0a418e6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f3c57600080fd5b505afa158015610f50573d6000803e3d6000fd5b505050506040513d6020811015610f6657600080fd5b810190808051906020019092919050505096505b5b806002811115610f8757fe5b9750603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c540148e8e6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561102857600080fd5b505afa15801561103c573d6000803e3d6000fd5b505050506040513d602081101561105257600080fd5b81019080805190602001909291905050509550603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feab31ac8e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561113857600080fd5b505afa15801561114c573d6000803e3d6000fd5b505050506040513d602081101561116257600080fd5b81019080805190602001909291905050509450603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f6ea8d768e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561124857600080fd5b505afa15801561125c573d6000803e3d6000fd5b505050506040513d602081101561127257600080fd5b81019080805190602001909291905050509350603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166366d103f38e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561135857600080fd5b505afa15801561136c573d6000803e3d6000fd5b505050506040513d602081101561138257600080fd5b81019080805190602001909291905050509250603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e3c4f3b8e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561146857600080fd5b505afa15801561147c573d6000803e3d6000fd5b505050506040513d602081101561149257600080fd5b81019080805190602001909291905050509150509295989b9194979a5092959850565b6000806000806000806000806000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561152b57600080fd5b505afa15801561153f573d6000803e3d6000fd5b505050506040513d602081101561155557600080fd5b81019080805190602001909291905050509050611570613b01565b6060603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b1580156115da57600080fd5b505afa1580156115ee573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561161857600080fd5b810190808051604051939291908464010000000082111561163857600080fd5b8382019150602082018581111561164e57600080fd5b825186602082028301116401000000008211171561166b57600080fd5b8083526020830192505050908051906020019060200280838360005b838110156116a2578082015181840152602081019050611687565b50505050905001604052505050905060008090505b8151811015611c09578181815181106116cc57fe5b602002602001015183610140019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e10076ad8461014001518f6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060806040518083038186803b1580156117e457600080fd5b505afa1580156117f8573d6000803e3d6000fd5b505050506040513d608081101561180e57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505086604001876060018860e00189610120018415151515815250848152508481525084815250505050506000836040015114801561187e575060008360600151145b1561188857611bfc565b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fc526ff8461014001516040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060806040518083038186803b15801561192c57600080fd5b505afa158015611940573d6000803e3d6000fd5b505050506040513d608081101561195657600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050866080018760a0018860c00189610100018415151515815250848152508481525084815250505050508260800151600a0a8360200181815250508373ffffffffffffffffffffffffffffffffffffffff1663b3596f078461014001516040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611a4157600080fd5b505afa158015611a55573d6000803e3d6000fd5b505050506040513d6020811015611a6b57600080fd5b8101908080519060200190929190505050836000018181525050600083604001511115611b63576000611ac58460200151611ab78660400151876000015161357e90919063ffffffff16565b61360490919063ffffffff16565b9050611ada818e6134f690919063ffffffff16565b9c508361010001518015611af057508361012001515b15611b6157611b08818d6134f690919063ffffffff16565b9b50611b33611b248560a001518361357e90919063ffffffff16565b8a6134f690919063ffffffff16565b9850611b5e611b4f8560c001518361357e90919063ffffffff16565b896134f690919063ffffffff16565b97505b505b600083606001511115611bfb57611bb3611ba48460200151611b968660600151876000015161357e90919063ffffffff16565b61360490919063ffffffff16565b8b6134f690919063ffffffff16565b9950611bf8611be98460200151611bdb86600001518760e0015161357e90919063ffffffff16565b61360490919063ffffffff16565b8a6134f690919063ffffffff16565b98505b5b80806001019150506116b7565b5060008a11611c19576000611c2d565b611c2c8a8861360490919063ffffffff16565b5b965060008a11611c3e576000611c52565b611c518a8761360490919063ffffffff16565b5b9550611c608a8a8a8961364e565b9450670de0b6b3a764000085109350505050919395975091939597565b6000806000806000806000806000806000806000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c33cfd908f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611d3057600080fd5b505afa158015611d44573d6000803e3d6000fd5b505050506040513d6020811015611d5a57600080fd5b81019080805190602001909291905050509c50603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e24030198f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611e0c57600080fd5b505afa158015611e20573d6000803e3d6000fd5b505050506040513d6020811015611e3657600080fd5b81019080805190602001909291905050509b50603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637f90fec58f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ee857600080fd5b505afa158015611efc573d6000803e3d6000fd5b505050506040513d6020811015611f1257600080fd5b81019080805190602001909291905050509a50603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166398bd47378f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fc457600080fd5b505afa158015611fd8573d6000803e3d6000fd5b505050506040513d6020811015611fee57600080fd5b81019080805190602001909291905050509950603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c540148e8f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120a057600080fd5b505afa1580156120b4573d6000803e3d6000fd5b505050506040513d60208110156120ca57600080fd5b81019080805190602001909291905050509850603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663906c0a418f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561217c57600080fd5b505afa158015612190573d6000803e3d6000fd5b505050506040513d60208110156121a657600080fd5b81019080805190602001909291905050509750603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166388079d888f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561225857600080fd5b505afa15801561226c573d6000803e3d6000fd5b505050506040513d602081101561228257600080fd5b81019080805190602001909291905050509650603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166346bc0f288f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561233457600080fd5b505afa158015612348573d6000803e3d6000fd5b505050506040513d602081101561235e57600080fd5b81019080805190602001909291905050509550603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bfacad848f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561241057600080fd5b505afa158015612424573d6000803e3d6000fd5b505050506040513d602081101561243a57600080fd5b81019080805190602001909291905050509450603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bd7fd79a8f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156124ec57600080fd5b505afa158015612500573d6000803e3d6000fd5b505050506040513d602081101561251657600080fd5b81019080805190602001909291905050509350603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b701d0938f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156125c857600080fd5b505afa1580156125dc573d6000803e3d6000fd5b505050506040513d60208110156125f257600080fd5b81019080805190602001909291905050509250603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334b3beee8f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156126a457600080fd5b505afa1580156126b8573d6000803e3d6000fd5b505050506040513d60208110156126ce57600080fd5b81019080805190602001909291905050509150603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634f1446098f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561278057600080fd5b505afa158015612794573d6000803e3d6000fd5b505050506040513d60208110156127aa57600080fd5b8101908080519060200190929190505050905091939597999b9d90929496989a9c50565b600080600080600080600080603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fc526ff8a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060806040518083038186803b15801561287957600080fd5b505afa15801561288d573d6000803e3d6000fd5b505050506040513d60808110156128a357600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919250809650819950829a50505050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e6748488a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561298157600080fd5b505afa158015612995573d6000803e3d6000fd5b505050506040513d60208110156129ab57600080fd5b81019080805190602001909291905050509150603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cf2e6568a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612a5d57600080fd5b505afa158015612a71573d6000803e3d6000fd5b505050506040513d6020811015612a8757600080fd5b81019080805190602001909291905050509250603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305075d6e8a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612b3957600080fd5b505afa158015612b4d573d6000803e3d6000fd5b505050506040513d6020811015612b6357600080fd5b81019080805190602001909291905050509050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c76a6c9c8a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c1557600080fd5b505afa158015612c29573d6000803e3d6000fd5b505050506040513d6020811015612c3f57600080fd5b81019080805190602001909291905050509550603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ae144168a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612cf157600080fd5b505afa158015612d05573d6000803e3d6000fd5b505050506040513d6020811015612d1b57600080fd5b81019080805190602001909291905050509450919395975091939597565b6000670de0b6b3a7640000905090565b6000612d53613b75565b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fc526ff866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060806040518083038186803b158015612df257600080fd5b505afa158015612e06573d6000803e3d6000fd5b505050506040513d6080811015612e1c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909150836000018460a0018561014001831515151581525083815250838152505050508061014001511580612f8b5750603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e3c4f3b86866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612f4e57600080fd5b505afa158015612f62573d6000803e3d6000fd5b505050506040513d6020811015612f7857600080fd5b8101908080519060200190929190505050155b15612f9a576001915050613255565b612fa3846114b5565b909192939495965090919250905050846020018560400186606001876080018481525084815250848152508481525050505050600081604001511415612fed576001915050613255565b6000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561305757600080fd5b505afa15801561306b573d6000803e3d6000fd5b505050506040513d602081101561308157600080fd5b810190808051906020019092919050505090506131778260000151600a0a613169868473ffffffffffffffffffffffffffffffffffffffff1663b3596f078b6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561312057600080fd5b505afa158015613134573d6000803e3d6000fd5b505050506040513d602081101561314a57600080fd5b810190808051906020019092919050505061357e90919063ffffffff16565b61360490919063ffffffff16565b8260c001818152505061319b8260c0015183602001516136d590919063ffffffff16565b8260e001818152505060008260e0015114156131bc57600092505050613255565b6132198260e0015161320b6131e28560a001518660c0015161357e90919063ffffffff16565b6131fd8660800151876020015161357e90919063ffffffff16565b6136d590919063ffffffff16565b61360490919063ffffffff16565b8261010001818152505060006132428360e001518460400151856060015186610100015161364e565b9050670de0b6b3a7640000811193505050505b9392505050565b600181565b600080600080600080600080613276896114b5565b50809750819950829850839b50849c50859d50869e505050505050505061329f8787878561371f565b9350919395975091939597565b670de0b6b3a764000081565b60006132c2613909565b9050600160009054906101000a900460ff16806132e357506132e2613912565b5b806132ef575060005481115b613344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613bf3602e913960400191505060405180910390fd5b6000600160009054906101000a900460ff1615905080156133815760018060006101000a81548160ff021916908315150217905550816000819055505b82603560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801561340857600080fd5b505afa15801561341c573d6000803e3d6000fd5b505050506040513d602081101561343257600080fd5b8101908080519060200190929190505050603460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080156134a5576000600160006101000a81548160ff0219169083151502179055505b505050565b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015613574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008083141561359157600090506135fe565b60008284029050828482816135a257fe5b04146135f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613bd26021913960400191505060405180910390fd5b809150505b92915050565b600061364683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613923565b905092915050565b600080841415613680577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506136cd565b6136ca61369684866134f690919063ffffffff16565b6136bc60646136ae868a61357e90919063ffffffff16565b61360490919063ffffffff16565b6139e990919063ffffffff16565b90505b949350505050565b600061371783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613a41565b905092915050565b600080613748606461373a858961357e90919063ffffffff16565b61360490919063ffffffff16565b90508481101561375c576000915050613901565b61378161377285876134f690919063ffffffff16565b826136d590919063ffffffff16565b90506000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fbeefc3c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ed57600080fd5b505afa158015613801573d6000803e3d6000fd5b505050506040513d602081101561381757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663e563a7d033846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b1580156138ac57600080fd5b505afa1580156138c0573d6000803e3d6000fd5b505050506040513d60208110156138d657600080fd5b810190808051906020019092919050505090506138fc81836136d590919063ffffffff16565b925050505b949350505050565b60006001905090565b600080303b90506000811491505090565b600080831182906139cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613994578082015181840152602081019050613979565b50505050905090810190601f1680156139c15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816139db57fe5b049050809150509392505050565b600080600283816139f657fe5b049050613a3883613a2a613a1b670de0b6b3a76400008861357e90919063ffffffff16565b846134f690919063ffffffff16565b61360490919063ffffffff16565b91505092915050565b6000838311158290613aee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613ab3578082015181840152602081019050613a98565b50505050905090810190601f168015613ae05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6040518061016001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212207aca5b55cfd113abe4416a0e2aa8fa7a615a81c63fe2092f39cf00a81fe9ca2c64736f6c63430006080033"; diff --git a/types/LendingPoolFactory.ts b/types/LendingPoolFactory.ts new file mode 100644 index 00000000..c47f678e --- /dev/null +++ b/types/LendingPoolFactory.ts @@ -0,0 +1,1055 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { LendingPool } from "./LendingPool"; + +export class LendingPoolFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): LendingPool { + return super.attach(address) as LendingPool; + } + connect(signer: Signer): LendingPoolFactory { + return super.connect(signer) as LendingPoolFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LendingPool { + return new Contract(address, _abi, signerOrProvider) as LendingPool; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_borrowRateMode", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_borrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_originationFee", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_borrowBalanceIncrease", + type: "uint256" + }, + { + indexed: true, + internalType: "uint16", + name: "_referral", + type: "uint16" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "Borrow", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: true, + internalType: "uint16", + name: "_referral", + type: "uint16" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "Deposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_target", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_totalFee", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_protocolFee", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "FlashLoan", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_collateral", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_purchaseAmount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_liquidatedCollateralAmount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_accruedBorrowInterest", + type: "uint256" + }, + { + indexed: false, + internalType: "address", + name: "_liquidator", + type: "address" + }, + { + indexed: false, + internalType: "bool", + name: "_receiveAToken", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "LiquidationCall", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_collateral", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_feeLiquidated", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_liquidatedCollateralForFee", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "OriginationFeeLiquidated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_newStableRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_borrowBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "RebalanceStableBorrowRate", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "RedeemUnderlying", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_repayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amountMinusFees", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fees", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_borrowBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "Repay", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "ReserveUsedAsCollateralDisabled", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "ReserveUsedAsCollateralEnabled", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_newRateMode", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_newRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_borrowBalanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "Swap", + type: "event" + }, + { + inputs: [], + name: "LENDINGPOOL_REVISION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "UINT_MAX_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "addressesProvider", + outputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "_interestRateMode", + type: "uint256" + }, + { + internalType: "uint16", + name: "_referralCode", + type: "uint16" + } + ], + name: "borrow", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "core", + outputs: [ + { + internalType: "contract LendingPoolCore", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "dataProvider", + outputs: [ + { + internalType: "contract LendingPoolDataProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint16", + name: "_referralCode", + type: "uint16" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_receiver", + type: "address" + }, + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "bytes", + name: "_params", + type: "bytes" + } + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveConfigurationData", + outputs: [ + { + internalType: "uint256", + name: "ltv", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidationThreshold", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidationBonus", + type: "uint256" + }, + { + internalType: "address", + name: "interestRateStrategyAddress", + type: "address" + }, + { + internalType: "bool", + name: "usageAsCollateralEnabled", + type: "bool" + }, + { + internalType: "bool", + name: "borrowingEnabled", + type: "bool" + }, + { + internalType: "bool", + name: "stableBorrowRateEnabled", + type: "bool" + }, + { + internalType: "bool", + name: "isActive", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveData", + outputs: [ + { + internalType: "uint256", + name: "totalLiquidity", + type: "uint256" + }, + { + internalType: "uint256", + name: "availableLiquidity", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalBorrowsStable", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalBorrowsVariable", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidityRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "variableBorrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "stableBorrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "averageStableBorrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "utilizationRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidityIndex", + type: "uint256" + }, + { + internalType: "uint256", + name: "variableBorrowIndex", + type: "uint256" + }, + { + internalType: "address", + name: "aTokenAddress", + type: "address" + }, + { + internalType: "uint40", + name: "lastUpdateTimestamp", + type: "uint40" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getReserves", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserAccountData", + outputs: [ + { + internalType: "uint256", + name: "totalLiquidityETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalCollateralETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalBorrowsETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "totalFeesETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "availableBorrowsETH", + type: "uint256" + }, + { + internalType: "uint256", + name: "currentLiquidationThreshold", + type: "uint256" + }, + { + internalType: "uint256", + name: "ltv", + type: "uint256" + }, + { + internalType: "uint256", + name: "healthFactor", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserReserveData", + outputs: [ + { + internalType: "uint256", + name: "currentATokenBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "currentBorrowBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "principalBorrowBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "borrowRateMode", + type: "uint256" + }, + { + internalType: "uint256", + name: "borrowRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "liquidityRate", + type: "uint256" + }, + { + internalType: "uint256", + name: "originationFee", + type: "uint256" + }, + { + internalType: "uint256", + name: "variableBorrowIndex", + type: "uint256" + }, + { + internalType: "uint256", + name: "lastUpdateTimestamp", + type: "uint256" + }, + { + internalType: "bool", + name: "usageAsCollateralEnabled", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "_addressesProvider", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_collateral", + type: "address" + }, + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_purchaseAmount", + type: "uint256" + }, + { + internalType: "bool", + name: "_receiveAToken", + type: "bool" + } + ], + name: "liquidationCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "parametersProvider", + outputs: [ + { + internalType: "contract LendingPoolParametersProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "rebalanceStableBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address payable", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "_aTokenBalanceAfterRedeem", + type: "uint256" + } + ], + name: "redeemUnderlying", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "address payable", + name: "_onBehalfOf", + type: "address" + } + ], + name: "repay", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "bool", + name: "_useAsCollateral", + type: "bool" + } + ], + name: "setUserUseReserveAsCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "swapBorrowRateMode", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x6080604052600060015534801561001557600080fd5b5060016000806101000a81548160ff02191690831515021790555061715580620000406000396000f3fe6080604052600436106101295760003560e01c80638afaff02116100ab578063c72c4d101161006f578063c72c4d1014610934578063c858f5f91461098b578063cd112382146109fe578063d0fc81d214610a6f578063d2d0e06614610a9a578063f2f4eb2614610af657610129565b80638afaff02146107465780639895e3d814610771578063b334ed86146107f6578063bf92857c1461084d578063c4d66de8146108e357610129565b806348ca1300116100f257806348ca1300146104c157806358707e06146105125780635a3b74b9146105695780635ceae9c4146105c65780635cffe9de1461063457610129565b8062a718a91461012e5780630902f1ac146101c857806328dd2d011461023457806335ea6a75146102fc5780633e150141146103ef575b600080fd5b6101c6600480360360a081101561014457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050610b4d565b005b3480156101d457600080fd5b506101dd611149565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610220578082015181840152602081019050610205565b505050509050019250505060405180910390f35b34801561024057600080fd5b506102a36004803603604081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128d565b604051808b81526020018a8152602001898152602001888152602001878152602001868152602001858152602001848152602001838152602001821515151581526020019a505050505050505050505060405180910390f35b34801561030857600080fd5b5061034b6004803603602081101561031f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611429565b604051808e81526020018d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff1664ffffffffff1681526020019d505050505050505050505050505060405180910390f35b3480156103fb57600080fd5b5061043e6004803603602081101561041257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115bc565b604051808981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001851515151581526020018415151515815260200183151515158152602001821515151581526020019850505050505050505060405180910390f35b3480156104cd57600080fd5b50610510600480360360208110156104e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611705565b005b34801561051e57600080fd5b50610527611dd1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057557600080fd5b506105c46004803603604081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611df7565b005b610632600480360360608110156105dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612355565b005b34801561064057600080fd5b506107446004803603608081101561065757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106be57600080fd5b8201836020820111156106d057600080fd5b803590602001918460018302840111640100000000831117156106f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613156565b005b34801561075257600080fd5b5061075b613a83565b6040518082815260200191505060405180910390f35b34801561077d57600080fd5b506107f46004803603608081101561079457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050613a88565b005b34801561080257600080fd5b5061080b614056565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085957600080fd5b5061089c6004803603602081101561087057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061407c565b604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b3480156108ef57600080fd5b506109326004803603602081101561090657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506141c5565b005b34801561094057600080fd5b50610949614683565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561099757600080fd5b506109fc600480360360808110156109ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803561ffff1690602001909291905050506146a9565b005b348015610a0a57600080fd5b50610a6d60048036036040811015610a2157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061555b565b005b348015610a7b57600080fd5b50610a84615ebe565b6040518082815260200191505060405180910390f35b610af460048036036060811015610ab057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803561ffff169060200190929190505050615ee2565b005b348015610b0257600080fd5b50610b0b616463565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900460ff16610bce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff02191690831515021790555083610bf281616489565b85610bfc81616489565b6000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635834eb9a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6657600080fd5b505afa158015610c7a573d6000803e3d6000fd5b505050506040513d6020811015610c9057600080fd5b81019080805190602001909291905050509050600060608273ffffffffffffffffffffffffffffffffffffffff168a8a8a8a8a604051602401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001955050505050506040516020818303038152906040527ea718a9000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610e265780518252602082019150602081019050602083039250610e03565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610e86576040519150601f19603f3d011682016040523d82523d6000602084013e610e8b565b606091505b509150915081610f03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4c69717569646174696f6e2063616c6c206661696c656400000000000000000081525060200191505060405180910390fd5b60006060828060200190516040811015610f1c57600080fd5b810190808051906020019092919080516040519392919084640100000000821115610f4657600080fd5b83820191506020820185811115610f5c57600080fd5b8251866001820283011164010000000082111715610f7957600080fd5b8083526020830192505050908051906020019080838360005b83811015610fad578082015181840152602081019050610f92565b50505050905090810190601f168015610fda5780820380516001836020036101000a031916815260200191505b506040525050509150915060008214611121578060405160200180807f4c69717569646174696f6e206661696c65643a2000000000000000000000000081525060140182805190602001908083835b6020831061104c5780518252602082019150602081019050602083039250611029565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110e65780820151818401526020810190506110cb565b50505050905090810190601f1680156111135780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060016000806101000a81548160ff0219169083151502179055505050505050565b6060603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b1580156111b357600080fd5b505afa1580156111c7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156111f157600080fd5b810190808051604051939291908464010000000082111561121157600080fd5b8382019150602082018581111561122757600080fd5b825186602082028301116401000000008211171561124457600080fd5b8083526020830192505050908051906020019060200280838360005b8381101561127b578082015181840152602081019050611260565b50505050905001604052505050905090565b600080600080600080600080600080603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328dd2d018d8d6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506101406040518083038186803b15801561137057600080fd5b505afa158015611384573d6000803e3d6000fd5b505050506040513d61014081101561139b57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505099509950995099509950995099509950995099509295989b9194979a5092959850565b6000806000806000806000806000806000806000603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166335ea6a758f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101a06040518083038186803b1580156114dd57600080fd5b505afa1580156114f1573d6000803e3d6000fd5b505050506040513d6101a081101561150857600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509c509c509c509c509c509c509c509c509c509c509c509c509c5091939597999b9d90929496989a9c50565b600080600080600080600080603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e1501418a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b15801561166857600080fd5b505afa15801561167c573d6000803e3d6000fd5b505050506040513d61010081101561169357600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505097509750975097509750975097509750919395975091939597565b6000809054906101000a900460ff16611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff021916908315150217905550806117aa81616489565b816117b4816165bb565b6000806000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fb8afcd87336040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060606040518083038186803b15801561188c57600080fd5b505afa1580156118a0573d6000803e3d6000fd5b505050506040513d60608110156118b657600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050509250925092506000821161193a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180616e536037913960400191505060405180910390fd5b6000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ca19f1988336040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611a0f57600080fd5b505afa158015611a23573d6000803e3d6000fd5b505050506040513d6020811015611a3957600080fd5b81019080805190602001909291905050509050600280811115611a5857fe5b816002811115611a6457fe5b1415611bd657603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e2174d868833866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b158015611b4557600080fd5b505afa158015611b59573d6000803e3d6000fd5b505050506040513d6020811015611b6f57600080fd5b8101908080519060200190929190505050611bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806170886030913960400191505060405180910390fd5b5b600080603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f61483118a33898989896040518763ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001838152602001826002811115611cb257fe5b60ff16815260200196505050505050506040805180830381600087803b158015611cdb57600080fd5b505af1158015611cef573d6000803e3d6000fd5b505050506040513d6040811015611d0557600080fd5b810190808051906020019092919080519060200190929190505050915091503373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fb3e2773606abfd36b5bd91394b3a54d1398336c65005baf7bf7a05efeffaf75b846002811115611d7f57fe5b8488426040518085815260200184815260200183815260200182815260200194505050505060405180910390a3505050505050505060016000806101000a81548160ff02191690831515021790555050565b603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900460ff16611e78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff02191690831515021790555081611e9c81616489565b82611ea6816165bb565b6000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318a4dbca86336040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611f7b57600080fd5b505afa158015611f8f573d6000803e3d6000fd5b505050506040513d6020811015611fa557600080fd5b8101908080519060200190929190505050905060008111612011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180616ff9602a913960400191505060405180910390fd5b603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166376e9d6158633846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b1580156120ec57600080fd5b505afa158015612100573d6000803e3d6000fd5b505050506040513d602081101561211657600080fd5b810190808051906020019092919050505061217c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180616cf06030913960400191505060405180910390fd5b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fa51854c8633876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019350505050600060405180830381600087803b15801561225d57600080fd5b505af1158015612271573d6000803e3d6000fd5b5050505083156122d9573373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a3612334565b3373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b50505060016000806101000a81548160ff0219169083151502179055505050565b6000809054906101000a900460ff166123d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff021916908315150217905550826123fa81616489565b82612404816166ee565b61240c616b3c565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fb8afcd87866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060606040518083038186803b1580156124df57600080fd5b505afa1580156124f3573d6000803e3d6000fd5b505050506040513d606081101561250957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050836000018460200185604001838152508381525083815250505050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feab31ac87866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561261c57600080fd5b505afa158015612630573d6000803e3d6000fd5b505050506040513d602081101561264657600080fd5b81019080805190602001909291905050508160e00181815250508573ffffffffffffffffffffffffffffffffffffffff1661267f616767565b73ffffffffffffffffffffffffffffffffffffffff16148160600190151590811515815250506000816020015111612702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061705f6029913960400191505060405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8514158061275c57508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6127b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260448152602001806170b86044913960600191505060405180910390fd5b6127cc8160e00151826020015161678390919063ffffffff16565b8160800181815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85141580156128085750806080015185105b1561281857848160800181815250505b8060600151158061282d575080608001513410155b612882576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180616da96028913960400191505060405180910390fd5b8060e00151816080015111612c3457603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da12d96f878660008560800151866040015160006040518763ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001838152602001821515151581526020019650505050505050600060405180830381600087803b15801561299457600080fd5b505af11580156129a8573d6000803e3d6000fd5b50505050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7d1423782606001516129fa576000612a00565b82608001515b88878560800151603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee8912966040518163ffffffff1660e01b815260040160206040518083038186803b158015612a6f57600080fd5b505afa158015612a83573d6000803e3d6000fd5b505050506040513d6020811015612a9957600080fd5b81019080805190602001909291905050506040518663ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019450505050506000604051808303818588803b158015612b7857600080fd5b505af1158015612b8c573d6000803e3d6000fd5b50505050503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fb718f0b14f03d8c3adf35b15e3da52421b042ac879e5a689011a8b1e0036773d600085608001518660400151426040518085815260200184815260200183815260200182815260200194505050505060405180910390a450613135565b612c4f8160e00151826080015161680b90919063ffffffff16565b8160a0018181525050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da12d96f87868460a001518560e0015186604001518760a001518860200151146040518763ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001838152602001821515151581526020019650505050505050600060405180830381600087803b158015612d6757600080fd5b505af1158015612d7b573d6000803e3d6000fd5b5050505060008160e001511115612f7257603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7d142378260600151612dda576000612de0565b8260e001515b88878560e00151603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee8912966040518163ffffffff1660e01b815260040160206040518083038186803b158015612e4f57600080fd5b505afa158015612e63573d6000803e3d6000fd5b505050506040513d6020811015612e7957600080fd5b81019080805190602001909291905050506040518663ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019450505050506000604051808303818588803b158015612f5857600080fd5b505af1158015612f6c573d6000803e3d6000fd5b50505050505b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328fcf4d38260600151612fc0576000612fd8565b612fd78360e001513461680b90919063ffffffff16565b5b88338560a001516040518563ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506000604051808303818588803b15801561307a57600080fd5b505af115801561308e573d6000803e3d6000fd5b50505050503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fb718f0b14f03d8c3adf35b15e3da52421b042ac879e5a689011a8b1e0036773d8460a001518560e001518660400151426040518085815260200184815260200183815260200182815260200194505050505060405180910390a4505b505060016000806101000a81548160ff021916908315150217905550505050565b6000809054906101000a900460ff166131d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff021916908315150217905550826131fb81616489565b82613205816166ee565b600061320f616767565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614613320578573ffffffffffffffffffffffffffffffffffffffff166370a08231603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156132e057600080fd5b505afa1580156132f4573d6000803e3d6000fd5b505050506040513d602081101561330a57600080fd5b810190808051906020019092919050505061335b565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16315b9050848110156133b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180616c4d6031913960400191505060405180910390fd5b600080603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663586feb406040518163ffffffff1660e01b8152600401604080518083038186803b15801561342057600080fd5b505afa158015613434573d6000803e3d6000fd5b505050506040513d604081101561344a57600080fd5b810190808051906020019092919080519060200190929190505050915091506000613492612710613484858b61685590919063ffffffff16565b6168db90919063ffffffff16565b905060006134bd6127106134af858561685590919063ffffffff16565b6168db90919063ffffffff16565b90506000821180156134cf5750600081115b613524576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180616f606032913960400191505060405180910390fd5b60008b905060008c9050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fa93b2a58d838e6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561360b57600080fd5b505af115801561361f573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663ee8725588d8d878e6040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156136d05780820151818401526020810190506136b5565b50505050905090810190601f1680156136fd5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561371f57600080fd5b505af1158015613733573d6000803e3d6000fd5b505050506000613741616767565b73ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff1614613852578c73ffffffffffffffffffffffffffffffffffffffff166370a08231603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561381257600080fd5b505afa158015613826573d6000803e3d6000fd5b505050506040513d602081101561383c57600080fd5b810190808051906020019092919050505061388d565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16315b90506138a2858961678390919063ffffffff16565b81146138f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180616e216032913960400191505060405180910390fd5b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309ac29538e8a61394c888a61680b90919063ffffffff16565b886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156139c457600080fd5b505af11580156139d8573d6000803e3d6000fd5b505050508c73ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f5b8f46461c1dd69fb968f1a003acee221ea3e19540e350233b612ddb43433b558e8888426040518085815260200184815260200183815260200182815260200194505050505060405180910390a35050505050505050505060016000806101000a81548160ff02191690831515021790555050505050565b600281565b6000809054906101000a900460ff16613b09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff02191690831515021790555083603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334b3beee826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015613bc357600080fd5b505afa158015613bd7573d6000803e3d6000fd5b505050506040513d6020811015613bed57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613c81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604b815260200180616ebe604b913960600191505060405180910390fd5b84613c8b81616489565b83613c95816166ee565b6000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e2403019896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015613d3657600080fd5b505afa158015613d4a573d6000803e3d6000fd5b505050506040513d6020811015613d6057600080fd5b8101908080519060200190929190505050905085811015613dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180616d446031913960400191505060405180910390fd5b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afcdbea389898960008a146040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001945050505050600060405180830381600087803b158015613eb857600080fd5b505af1158015613ecc573d6000803e3d6000fd5b50505050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fa93b2a58989896040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015613fad57600080fd5b505af1158015613fc1573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f9c4ed599cd8555b9c1e8cd7643240d7d71eb76b792948c49fcb4d411f7b6b3c68842604051808381526020018281526020019250505060405180910390a35050505060016000806101000a81548160ff02191690831515021790555050505050565b603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600080600080603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf92857c8a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b15801561412857600080fd5b505afa15801561413c573d6000803e3d6000fd5b505050506040513d61010081101561415357600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505097509750975097509750975097509750919395975091939597565b60006141cf616925565b9050600260009054906101000a900460ff16806141f057506141ef61692e565b5b806141fc575060015481115b614251576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180616f92602e913960400191505060405180910390fd5b6000600260009054906101000a900460ff16159050801561428f576001600260006101000a81548160ff021916908315150217905550816001819055505b82603560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801561433857600080fd5b505afa15801561434c573d6000803e3d6000fd5b505050506040513d602081101561436257600080fd5b8101908080519060200190929190505050603660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f58b80d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561441b57600080fd5b505afa15801561442f573d6000803e3d6000fd5b505050506040513d602081101561444557600080fd5b8101908080519060200190929190505050603760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166304061d8e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156144fe57600080fd5b505afa158015614512573d6000803e3d6000fd5b505050506040513d602081101561452857600080fd5b8101908080519060200190929190505050603860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fbeefc3c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156145e157600080fd5b505afa1580156145f5573d6000803e3d6000fd5b505050506040513d602081101561460b57600080fd5b8101908080519060200190929190505050603960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561467e576000600260006101000a81548160ff0219169083151502179055505b505050565b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900460ff1661472a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff0219169083151502179055508361474e81616489565b84614758816165bb565b84614762816166ee565b61476a616b83565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cf2e656896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561480957600080fd5b505afa15801561481d573d6000803e3d6000fd5b505050506040513d602081101561483357600080fd5b8101908080519060200190929190505050614899576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180616d206024913960400191505060405180910390fd5b856002808111156148a657fe5b14806148bd575085600160028111156148bb57fe5b145b614912576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180616c7e6023913960400191505060405180910390fd5b85600281111561491e57fe5b816101c00190600281111561492f57fe5b9081600281111561493c57fe5b81525050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e2403019896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156149df57600080fd5b505afa1580156149f3573d6000803e3d6000fd5b505050506040513d6020811015614a0957600080fd5b810190808051906020019092919050505081610160018181525050868161016001511015614a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180616f2a6036913960400191505060405180910390fd5b603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c6d0e9b336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b158015614b2257600080fd5b505afa158015614b36573d6000803e3d6000fd5b505050506040513d610100811015614b4d57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495965090508660c0018760e0018861010001896020018a6040018b6101e0018615151515815250868152508681525086815250868152508681525050505050505060008160c0015111614c64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f54686520636f6c6c61746572616c2062616c616e63652069732030000000000081525060200191505060405180910390fd5b806101e0015115614cc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180616c0e603f913960400191505060405180910390fd5b603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e563a7d033896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b158015614d6757600080fd5b505afa158015614d7b573d6000803e3d6000fd5b505050506040513d6020811015614d9157600080fd5b81019080805190602001909291905050508160600181815250506000816060015111614e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180616ca16021913960400191505060405180910390fd5b603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312737c33898984606001518560e0015186610100015187602001516040518763ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060206040518083038186803b158015614ee057600080fd5b505afa158015614ef4573d6000803e3d6000fd5b505050506040513d6020811015614f0a57600080fd5b81019080805190602001909291905050508160a00181815250508060c001518160a001511115614f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180616e8a6034913960400191505060405180910390fd5b60016002811115614f9257fe5b816101c001516002811115614fa357fe5b141561524657603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e2174d8689338a6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060206040518083038186803b15801561508457600080fd5b505afa158015615098573d6000803e3d6000fd5b505050506040513d60208110156150ae57600080fd5b8101908080519060200190929190505050615114576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180616fc06039913960400191505060405180910390fd5b6000603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d6b725ac6040518163ffffffff1660e01b815260040160206040518083038186803b15801561517e57600080fd5b505afa158015615192573d6000803e3d6000fd5b505050506040513d60208110156151a857600080fd5b8101908080519060200190929190505050905060006151e860646151da8486610160015161685590919063ffffffff16565b6168db90919063ffffffff16565b905080891115615243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c815260200180617023603c913960400191505060405180910390fd5b50505b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166337ac6fe489338a8560600151866101c001516040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182600281111561532157fe5b60ff168152602001955050505050506040805180830381600087803b15801561534957600080fd5b505af115801561535d573d6000803e3d6000fd5b505050506040513d604081101561537357600080fd5b810190808051906020019092919080519060200190929190505050826101a001836101200182815250828152505050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fa93b2a589338a6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561547f57600080fd5b505af1158015615493573d6000803e3d6000fd5b505050508461ffff163373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f1e77446728e5558aa1b7e81e0cdab9cc1b075ba893b740600c76a315c2caa5538a8a866101a0015187606001518861012001514260405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a45050505060016000806101000a81548160ff02191690831515021790555050505050565b6000809054906101000a900460ff166155dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff0219169083151502179055508161560081616489565b600080603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fb8afcd86866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060606040518083038186803b1580156156d657600080fd5b505afa1580156156ea573d6000803e3d6000fd5b505050506040513d606081101561570057600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050925092505060008211615783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180616cc2602e913960400191505060405180910390fd5b6001600281111561579057fe5b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ca19f1987876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561586357600080fd5b505afa158015615877573d6000803e3d6000fd5b505050506040513d602081101561588d57600080fd5b810190808051906020019092919050505060028111156158a957fe5b146158ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180616d756034913960400191505060405180910390fd5b6000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fffab0c87876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156159d457600080fd5b505afa1580156159e8573d6000803e3d6000fd5b505050506040513d60208110156159fe57600080fd5b810190808051906020019092919050505090506000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c540148e886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015615ab257600080fd5b505afa158015615ac6573d6000803e3d6000fd5b505050506040513d6020811015615adc57600080fd5b810190808051906020019092919050505090506000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166388079d88896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015615b9057600080fd5b505afa158015615ba4573d6000803e3d6000fd5b505050506040513d6020811015615bba57600080fd5b810190808051906020019092919050505090506000615c9d615c8e603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166346f4f8d16040518163ffffffff1660e01b815260040160206040518083038186803b158015615c3d57600080fd5b505afa158015615c51573d6000803e3d6000fd5b505050506040513d6020811015615c6757600080fd5b8101908080519060200190929190505050615c8061693f565b61678390919063ffffffff16565b8361695390919063ffffffff16565b905082841080615cac57508084115b15615e4e576000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663af825b078b8b896040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015615d9057600080fd5b505af1158015615da4573d6000803e3d6000fd5b505050506040513d6020811015615dba57600080fd5b810190808051906020019092919050505090508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f5050ad184862424ee0852d1838d355ad65bed1e5e6da67ac9a2dac1922677f6083894260405180848152602001838152602001828152602001935050505060405180910390a350505050505050615e9f565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180616df2602f913960400191505060405180910390fd5b5060016000806101000a81548160ff0219169083151502179055505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6000809054906101000a900460ff16615f63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff02191690831515021790555082615f8781616489565b83615f91816165bb565b83615f9b816166ee565b6000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334b3beee886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561603c57600080fd5b505afa158015616050573d6000803e3d6000fd5b505050506040513d602081101561606657600080fd5b810190808051906020019092919050505090506000808273ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156160f957600080fd5b505afa15801561610d573d6000803e3d6000fd5b505050506040513d602081101561612357600080fd5b8101908080519060200190929190505050149050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bcd6ffa489338a856040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001945050505050600060405180830381600087803b15801561622057600080fd5b505af1158015616234573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff166394362e8b33896040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156162bf57600080fd5b505af11580156162d3573d6000803e3d6000fd5b50505050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328fcf4d3348a338b6040518563ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506000604051808303818588803b1580156163b457600080fd5b505af11580156163c8573d6000803e3d6000fd5b50505050508561ffff163373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fc12c57b1c73a2c3a2ea4613e9476abb3d8d146857aab7329e24243fb59710c828a42604051808381526020018281526020019250505060405180910390a4505050505060016000806101000a81548160ff021916908315150217905550505050565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305075d6e826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561652857600080fd5b505afa15801561653c573d6000803e3d6000fd5b505050506040513d602081101561655257600080fd5b81019080805190602001909291905050506165b8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180616dd16021913960400191505060405180910390fd5b50565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634a08accb826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561665a57600080fd5b505afa15801561666e573d6000803e3d6000fd5b505050506040513d602081101561668457600080fd5b8101908080519060200190929190505050156166eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806170fc6024913960400191505060405180910390fd5b50565b60008111616764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b50565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b600080828401905083811015616801576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061684d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506169b6565b905092915050565b60008083141561686857600090506168d5565b600082840290508284828161687957fe5b04146168d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180616f096021913960400191505060405180910390fd5b809150505b92915050565b600061691d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250616a76565b905092915050565b60006002905090565b600080303b90506000811491505090565b60006b033b2e3c9fd0803ce8000000905090565b60006169ae6b033b2e3c9fd0803ce80000006169a061697b858761685590919063ffffffff16565b60026b033b2e3c9fd0803ce80000008161699157fe5b0461678390919063ffffffff16565b6168db90919063ffffffff16565b905092915050565b6000838311158290616a63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015616a28578082015181840152602081019050616a0d565b50505050905090810190601f168015616a555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290616b22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015616ae7578082015181840152602081019050616acc565b50505050905090810190601f168015616b145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581616b2e57fe5b049050809150509392505050565b604051806101000160405280600081526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081525090565b604051806102000160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006002811115616bfe57fe5b8152602001600015158152509056fe54686520626f72726f7765722063616e20616c7265616479206265206c69717569646174656420736f2068652063616e6e6f7420626f72726f77206d6f72655468657265206973206e6f7420656e6f756768206c697175696469747920617661696c61626c6520746f20626f72726f77496e76616c696420696e7465726573742072617465206d6f64652073656c656374656454686520616d6f756e7420746f20626f72726f7720697320746f6f20736d616c6c5573657220646f6573206e6f74206861766520616e7920626f72726f7720666f722074686973207265736572766555736572206465706f73697420697320616c7265616479206265696e67207573656420617320636f6c6c61746572616c52657365727665206973206e6f7420656e61626c656420666f7220626f72726f77696e675468657265206973206e6f7420656e6f756768206c697175696469747920617661696c61626c6520746f2072656465656d546865207573657220626f72726f77206973207661726961626c6520616e642063616e6e6f7420626520726562616c616e636564496e76616c6964206d73672e76616c75652073656e7420666f72207468652072657061796d656e74416374696f6e20726571756972657320616e206163746976652072657365727665496e746572657374207261746520726562616c616e636520636f6e646974696f6e732077657265206e6f74206d65745468652061637475616c2062616c616e6365206f66207468652070726f746f636f6c20697320696e636f6e73697374656e745573657220646f6573206e6f742068617665206120626f72726f7720696e2070726f6772657373206f6e207468697320726573657276655468657265206973206e6f7420656e6f75676820636f6c6c61746572616c20746f20636f7665722061206e657720626f72726f775468652063616c6c6572206f6620746869732066756e6374696f6e2063616e206f6e6c79206265207468652061546f6b656e20636f6e7472616374206f6620746869732072657365727665536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468657265206973206e6f7420656e6f756768206c697175696469747920617661696c61626c6520696e2074686520726573657276655468652072657175657374656420616d6f756e7420697320746f6f20736d616c6c20666f72206120666c6173684c6f616e2e436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564557365722063616e6e6f7420626f72726f77207468652073656c656374656420616d6f756e742077697468206120737461626c6520726174655573657220646f6573206e6f74206861766520616e79206c6971756964697479206465706f73697465645573657220697320747279696e6720746f20626f72726f7720746f6f206d756368206c6971756964697479206174206120737461626c652072617465546865207573657220646f6573206e6f74206861766520616e7920626f72726f772070656e64696e67557365722063616e6e6f7420626f72726f77207468652073656c656374656420616d6f756e7420617420737461626c65546f207265706179206f6e20626568616c66206f6620616e207573657220616e206578706c6963697420616d6f756e7420746f207265706179206973206e65656465642e416374696f6e20726571756972657320616e20756e667265657a65642072657365727665a26469706673582212209fd961d9726ec23b368b87d654abc826d007d87dcdd6a7441a1440c8780804e664736f6c63430006080033"; diff --git a/types/LendingPoolLiquidationManager.d.ts b/types/LendingPoolLiquidationManager.d.ts new file mode 100644 index 00000000..2b5fccf4 --- /dev/null +++ b/types/LendingPoolLiquidationManager.d.ts @@ -0,0 +1,160 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface LendingPoolLiquidationManagerInterface extends Interface { + functions: { + addressesProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + liquidationCall: TypedFunctionDescription<{ + encode([_collateral, _reserve, _user, _purchaseAmount, _receiveAToken]: [ + string, + string, + string, + BigNumberish, + boolean + ]): string; + }>; + }; + + events: { + LiquidationCall: TypedEventDescription<{ + encodeTopics([ + _collateral, + _reserve, + _user, + _purchaseAmount, + _liquidatedCollateralAmount, + _accruedBorrowInterest, + _liquidator, + _receiveAToken, + _timestamp + ]: [ + string | null, + string | null, + string | null, + null, + null, + null, + null, + null, + null + ]): string[]; + }>; + + OriginationFeeLiquidated: TypedEventDescription<{ + encodeTopics([ + _collateral, + _reserve, + _user, + _feeLiquidated, + _liquidatedCollateralForFee, + _timestamp + ]: [ + string | null, + string | null, + string | null, + null, + null, + null + ]): string[]; + }>; + }; +} + +export class LendingPoolLiquidationManager extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): LendingPoolLiquidationManager; + attach(addressOrName: string): LendingPoolLiquidationManager; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): LendingPoolLiquidationManager; + once( + event: EventFilter | string, + listener: Listener + ): LendingPoolLiquidationManager; + addListener( + eventName: EventFilter | string, + listener: Listener + ): LendingPoolLiquidationManager; + removeAllListeners( + eventName: EventFilter | string + ): LendingPoolLiquidationManager; + removeListener( + eventName: any, + listener: Listener + ): LendingPoolLiquidationManager; + + interface: LendingPoolLiquidationManagerInterface; + + functions: { + addressesProvider(): Promise; + + liquidationCall( + _collateral: string, + _reserve: string, + _user: string, + _purchaseAmount: BigNumberish, + _receiveAToken: boolean, + overrides?: TransactionOverrides + ): Promise; + }; + + addressesProvider(): Promise; + + liquidationCall( + _collateral: string, + _reserve: string, + _user: string, + _purchaseAmount: BigNumberish, + _receiveAToken: boolean, + overrides?: TransactionOverrides + ): Promise; + + filters: { + LiquidationCall( + _collateral: string | null, + _reserve: string | null, + _user: string | null, + _purchaseAmount: null, + _liquidatedCollateralAmount: null, + _accruedBorrowInterest: null, + _liquidator: null, + _receiveAToken: null, + _timestamp: null + ): EventFilter; + + OriginationFeeLiquidated( + _collateral: string | null, + _reserve: string | null, + _user: string | null, + _feeLiquidated: null, + _liquidatedCollateralForFee: null, + _timestamp: null + ): EventFilter; + }; + + estimate: { + addressesProvider(): Promise; + + liquidationCall( + _collateral: string, + _reserve: string, + _user: string, + _purchaseAmount: BigNumberish, + _receiveAToken: boolean + ): Promise; + }; +} diff --git a/types/LendingPoolLiquidationManagerFactory.ts b/types/LendingPoolLiquidationManagerFactory.ts new file mode 100644 index 00000000..d3d38e81 --- /dev/null +++ b/types/LendingPoolLiquidationManagerFactory.ts @@ -0,0 +1,207 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { LendingPoolLiquidationManager } from "./LendingPoolLiquidationManager"; + +export class LendingPoolLiquidationManagerFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + overrides?: TransactionOverrides + ): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): LendingPoolLiquidationManager { + return super.attach(address) as LendingPoolLiquidationManager; + } + connect(signer: Signer): LendingPoolLiquidationManagerFactory { + return super.connect(signer) as LendingPoolLiquidationManagerFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LendingPoolLiquidationManager { + return new Contract( + address, + _abi, + signerOrProvider + ) as LendingPoolLiquidationManager; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_collateral", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_purchaseAmount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_liquidatedCollateralAmount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_accruedBorrowInterest", + type: "uint256" + }, + { + indexed: false, + internalType: "address", + name: "_liquidator", + type: "address" + }, + { + indexed: false, + internalType: "bool", + name: "_receiveAToken", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "LiquidationCall", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_collateral", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_feeLiquidated", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_liquidatedCollateralForFee", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_timestamp", + type: "uint256" + } + ], + name: "OriginationFeeLiquidated", + type: "event" + }, + { + inputs: [], + name: "addressesProvider", + outputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_collateral", + type: "address" + }, + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_purchaseAmount", + type: "uint256" + }, + { + internalType: "bool", + name: "_receiveAToken", + type: "bool" + } + ], + name: "liquidationCall", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "payable", + type: "function" + } +]; + +const _bytecode = + "0x6080604052600060015534801561001557600080fd5b5060016000806101000a81548160ff021916908315150217905550611fda8061003f6000396000f3fe6080604052600436106100285760003560e01c8062a718a91461002d578063c72c4d1014610147575b600080fd5b6100c5600480360360a081101561004357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080351515906020019092919050505061019e565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561010b5780820151818401526020810190506100f0565b50505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561015357600080fd5b5061015c611523565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060606101aa611e19565b603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632c6d0e9b876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b15801561024a57600080fd5b505afa15801561025e573d6000803e3d6000fd5b505050506040513d61010081101561027557600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959650909192939495509091929394509091929350909192509091509050816101a001811515151581525050806101a00151610337576004600581111561031457fe5b604051806060016040528060288152602001611f53602891399250925050611519565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318a4dbca89886040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561040a57600080fd5b505afa15801561041e573d6000803e3d6000fd5b505050506040513d602081101561043457600080fd5b81019080805190602001909291905050508160000181815250506000816000015114156104a8576001600581111561046857fe5b6040518060400160405280601f81526020017f496e76616c696420636f6c6c61746572616c20746f206c6971756964617465008152509250925050611519565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318f9bbae896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561054757600080fd5b505afa15801561055b573d6000803e3d6000fd5b505050506040513d602081101561057157600080fd5b810190808051906020019092919050505080156106985750603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e3c4f3b89886040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561065c57600080fd5b505afa158015610670573d6000803e3d6000fd5b505050506040513d602081101561068657600080fd5b81019080805190602001909291905050505b816101800190151590811515815250508061018001516106e257600260058111156106bf57fe5b6040518060600160405280602a8152602001611f29602a91399250925050611519565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fb8afcd88886040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060606040518083038186803b1580156107b557600080fd5b505afa1580156107c9573d6000803e3d6000fd5b505050506040513d60608110156107df57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050909150826020018360400182815250828152505050600081602001511415610856576003600581111561083357fe5b6040518060600160405280602a8152602001611f7b602a91399250925050611519565b61088160646108736032846020015161154990919063ffffffff16565b6115cf90919063ffffffff16565b8160600181815250508060600151851161089b57846108a1565b80606001515b8160800181815250506000806108c18a8a85608001518660000151611619565b91509150603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feab31ac8a8a6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561099857600080fd5b505afa1580156109ac573d6000803e3d6000fd5b505050506040513d60208110156109c257600080fd5b81019080805190602001909291905050508360e001818152505060008360e001511115610a2457610a0f8a8a8560e00151610a0a868860000151611c4990919063ffffffff16565b611619565b84610120018561010001828152508281525050505b8260800151811015610a3b57808360800181815250505b85610b5a576000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e24030198c6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610ae157600080fd5b505afa158015610af5573d6000803e3d6000fd5b505050506040513d6020811015610b0b57600080fd5b8101908080519060200190929190505050905082811015610b5857600580811115610b3257fe5b604051806060016040528060338152602001611ef6603391399550955050505050611519565b505b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166368beb4d68a8c8b8760800151878961010001518a61012001518b604001518f6040518a63ffffffff1660e01b8152600401808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001848152602001838152602001821515151581526020019950505050505050505050600060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050506000603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334b3beee8c6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d6257600080fd5b505afa158015610d76573d6000803e3d6000fd5b505050506040513d6020811015610d8c57600080fd5b810190808051906020019092919050505090508615610e7d578073ffffffffffffffffffffffffffffffffffffffff1663f866c3198a33866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e6057600080fd5b505af1158015610e74573d6000803e3d6000fd5b50505050611012565b8073ffffffffffffffffffffffffffffffffffffffff16633edb7cb88a856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610f0457600080fd5b505af1158015610f18573d6000803e3d6000fd5b50505050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fa93b2a58c33866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610ff957600080fd5b505af115801561100d573d6000803e3d6000fd5b505050505b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166328fcf4d3348c3388608001516040518563ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506000604051808303818588803b1580156110f357600080fd5b505af1158015611107573d6000803e3d6000fd5b5050505050600084610100015111156113f1578073ffffffffffffffffffffffffffffffffffffffff16633edb7cb88a8661012001516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156111a657600080fd5b505af11580156111ba573d6000803e3d6000fd5b50505050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638f385c228c866101200151603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee8912966040518163ffffffff1660e01b815260040160206040518083038186803b15801561126b57600080fd5b505afa15801561127f573d6000803e3d6000fd5b505050506040513d602081101561129557600080fd5b81019080805190602001909291905050506040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b15801561134257600080fd5b505af1158015611356573d6000803e3d6000fd5b505050508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f36ca8b16d61dc13b1062adff83e3778ab92d14f9e35bfe9fd1283e02b13fb0a18761010001518861012001514260405180848152602001838152602001828152602001935050505060405180910390a45b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f56864757fd5b1fc9f38f5f3a981cd8ae512ce41b902cf73fc506ee369c6bc2378760800151878960400151338e42604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828152602001965050505050505060405180910390a4600060058111156114da57fe5b6040518060400160405280600981526020017f4e6f206572726f7273000000000000000000000000000000000000000000000081525095509550505050505b9550959350505050565b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008083141561155c57600090506115c9565b600082840290508284828161156d57fe5b04146115c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611ed56021913960400191505060405180910390fd5b809150505b92915050565b600061161183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c93565b905092915050565b60008060009150600090506000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561168e57600080fd5b505afa1580156116a2573d6000803e3d6000fd5b505050506040513d60208110156116b857600080fd5b810190808051906020019092919050505090506116d3611e97565b8173ffffffffffffffffffffffffffffffffffffffff1663b3596f07896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561175057600080fd5b505afa158015611764573d6000803e3d6000fd5b505050506040513d602081101561177a57600080fd5b81019080805190602001909291905050508160400181815250508173ffffffffffffffffffffffffffffffffffffffff1663b3596f07886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561181157600080fd5b505afa158015611825573d6000803e3d6000fd5b505050506040513d602081101561183b57600080fd5b8101908080519060200190929190505050816060018181525050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c76a6c9c896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156118f457600080fd5b505afa158015611908573d6000803e3d6000fd5b505050506040513d602081101561191e57600080fd5b8101908080519060200190929190505050816020018181525050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a2353fdc886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156119d757600080fd5b505afa1580156119eb573d6000803e3d6000fd5b505050506040513d6020811015611a0157600080fd5b81019080805190602001909291905050508160a0018181525050603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a2353fdc896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611aba57600080fd5b505afa158015611ace573d6000803e3d6000fd5b505050506040513d6020811015611ae457600080fd5b81019080805190602001909291905050508160c0018181525050611b866064611b788360200151611b6a611b2c8660a00151600a0a876040015161154990919063ffffffff16565b611b5c8760c00151600a0a611b4e8e8a6060015161154990919063ffffffff16565b61154990919063ffffffff16565b6115cf90919063ffffffff16565b61154990919063ffffffff16565b6115cf90919063ffffffff16565b8160800181815250508481608001511115611c2d57849350611c268160200151611c186064611c0a611bcc8660c00151600a0a876060015161154990919063ffffffff16565b611bfc8760a00151600a0a611bee8c8a6040015161154990919063ffffffff16565b61154990919063ffffffff16565b6115cf90919063ffffffff16565b61154990919063ffffffff16565b6115cf90919063ffffffff16565b9250611c38565b806080015193508592505b838393509350505094509492505050565b6000611c8b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d59565b905092915050565b60008083118290611d3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d04578082015181840152602081019050611ce9565b50505050905090810190601f168015611d315780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611d4b57fe5b049050809150509392505050565b6000838311158290611e06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dcb578082015181840152602081019050611db0565b50505050905090810190601f168015611df85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b604051806101c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006002811115611e7857fe5b8152602001600081526020016000151581526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754686572652069736e277420656e6f756768206c697175696469747920617661696c61626c6520746f206c697175696461746554686520636f6c6c61746572616c2063686f73656e2063616e6e6f74206265206c6971756964617465644865616c746820666163746f72206973206e6f742062656c6f7720746865207468726573686f6c645573657220646964206e6f7420626f72726f7720746865207370656369666965642063757272656e6379a264697066735822122009fb8b6bd34094fb0bb5e47fb1a8e11abdf1e3f7f3461fcd7ddd1dad6b00b1f164736f6c63430006080033"; diff --git a/types/LendingPoolParametersProvider.d.ts b/types/LendingPoolParametersProvider.d.ts new file mode 100644 index 00000000..39f69167 --- /dev/null +++ b/types/LendingPoolParametersProvider.d.ts @@ -0,0 +1,105 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface LendingPoolParametersProviderInterface extends Interface { + functions: { + getFlashLoanFeesInBips: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getMaxStableRateBorrowSizePercent: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getRebalanceDownRateDelta: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + initialize: TypedFunctionDescription<{ + encode([_addressesProvider]: [string]): string; + }>; + }; + + events: {}; +} + +export class LendingPoolParametersProvider extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): LendingPoolParametersProvider; + attach(addressOrName: string): LendingPoolParametersProvider; + deployed(): Promise; + + on( + event: EventFilter | string, + listener: Listener + ): LendingPoolParametersProvider; + once( + event: EventFilter | string, + listener: Listener + ): LendingPoolParametersProvider; + addListener( + eventName: EventFilter | string, + listener: Listener + ): LendingPoolParametersProvider; + removeAllListeners( + eventName: EventFilter | string + ): LendingPoolParametersProvider; + removeListener( + eventName: any, + listener: Listener + ): LendingPoolParametersProvider; + + interface: LendingPoolParametersProviderInterface; + + functions: { + getFlashLoanFeesInBips(): Promise<{ + 0: BigNumber; + 1: BigNumber; + }>; + + getMaxStableRateBorrowSizePercent(): Promise; + + getRebalanceDownRateDelta(): Promise; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + }; + + getFlashLoanFeesInBips(): Promise<{ + 0: BigNumber; + 1: BigNumber; + }>; + + getMaxStableRateBorrowSizePercent(): Promise; + + getRebalanceDownRateDelta(): Promise; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + getFlashLoanFeesInBips(): Promise; + + getMaxStableRateBorrowSizePercent(): Promise; + + getRebalanceDownRateDelta(): Promise; + + initialize(_addressesProvider: string): Promise; + }; +} diff --git a/types/LendingPoolParametersProviderFactory.ts b/types/LendingPoolParametersProviderFactory.ts new file mode 100644 index 00000000..cbb4e9b4 --- /dev/null +++ b/types/LendingPoolParametersProviderFactory.ts @@ -0,0 +1,103 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { LendingPoolParametersProvider } from "./LendingPoolParametersProvider"; + +export class LendingPoolParametersProviderFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + overrides?: TransactionOverrides + ): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): LendingPoolParametersProvider { + return super.attach(address) as LendingPoolParametersProvider; + } + connect(signer: Signer): LendingPoolParametersProviderFactory { + return super.connect(signer) as LendingPoolParametersProviderFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LendingPoolParametersProvider { + return new Contract( + address, + _abi, + signerOrProvider + ) as LendingPoolParametersProvider; + } +} + +const _abi = [ + { + inputs: [], + name: "getFlashLoanFeesInBips", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "getMaxStableRateBorrowSizePercent", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "getRebalanceDownRateDelta", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_addressesProvider", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040526000805534801561001457600080fd5b50610290806100246000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806346f4f8d114610051578063586feb401461006f578063c4d66de814610094578063d6b725ac146100d8575b600080fd5b6100596100f6565b6040518082815260200191505060405180910390f35b610077610109565b604051808381526020018281526020019250505060405180910390f35b6100d6600480360360208110156100aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610119565b005b6100e0610209565b6040518082815260200191505060405180910390f35b60006aa56fa5b99019a5c8000000905090565b6000806009610bb8915091509091565b6000610123610212565b9050600160009054906101000a900460ff1680610144575061014361021b565b5b80610150575060005481115b6101a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061022d602e913960400191505060405180910390fd5b6000600160009054906101000a900460ff1615905080156101e25760018060006101000a81548160ff021916908315150217905550816000819055505b8015610204576000600160006101000a81548160ff0219169083151502179055505b505050565b60006019905090565b60006002905090565b600080303b9050600081149150509056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a264697066735822122050334318a13f1846df34a2f3f07056510a562429c75e298756c07808c9722f5264736f6c63430006080033"; diff --git a/types/LendingRateOracle.d.ts b/types/LendingRateOracle.d.ts new file mode 100644 index 00000000..1f21d74e --- /dev/null +++ b/types/LendingRateOracle.d.ts @@ -0,0 +1,150 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface LendingRateOracleInterface extends Interface { + functions: { + getMarketBorrowRate: TypedFunctionDescription<{ + encode([_asset]: [string]): string; + }>; + + getMarketLiquidityRate: TypedFunctionDescription<{ + encode([_asset]: [string]): string; + }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + renounceOwnership: TypedFunctionDescription<{ encode([]: []): string }>; + + setMarketBorrowRate: TypedFunctionDescription<{ + encode([_asset, _rate]: [string, BigNumberish]): string; + }>; + + setMarketLiquidityRate: TypedFunctionDescription<{ + encode([_asset, _rate]: [string, BigNumberish]): string; + }>; + + transferOwnership: TypedFunctionDescription<{ + encode([newOwner]: [string]): string; + }>; + }; + + events: { + OwnershipTransferred: TypedEventDescription<{ + encodeTopics([previousOwner, newOwner]: [ + string | null, + string | null + ]): string[]; + }>; + }; +} + +export class LendingRateOracle extends Contract { + connect(signerOrProvider: Signer | Provider | string): LendingRateOracle; + attach(addressOrName: string): LendingRateOracle; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): LendingRateOracle; + once(event: EventFilter | string, listener: Listener): LendingRateOracle; + addListener( + eventName: EventFilter | string, + listener: Listener + ): LendingRateOracle; + removeAllListeners(eventName: EventFilter | string): LendingRateOracle; + removeListener(eventName: any, listener: Listener): LendingRateOracle; + + interface: LendingRateOracleInterface; + + functions: { + getMarketBorrowRate(_asset: string): Promise; + + getMarketLiquidityRate(_asset: string): Promise; + + owner(): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + setMarketBorrowRate( + _asset: string, + _rate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setMarketLiquidityRate( + _asset: string, + _rate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + }; + + getMarketBorrowRate(_asset: string): Promise; + + getMarketLiquidityRate(_asset: string): Promise; + + owner(): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + setMarketBorrowRate( + _asset: string, + _rate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setMarketLiquidityRate( + _asset: string, + _rate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + OwnershipTransferred( + previousOwner: string | null, + newOwner: string | null + ): EventFilter; + }; + + estimate: { + getMarketBorrowRate(_asset: string): Promise; + + getMarketLiquidityRate(_asset: string): Promise; + + owner(): Promise; + + renounceOwnership(): Promise; + + setMarketBorrowRate( + _asset: string, + _rate: BigNumberish + ): Promise; + + setMarketLiquidityRate( + _asset: string, + _rate: BigNumberish + ): Promise; + + transferOwnership(newOwner: string): Promise; + }; +} diff --git a/types/LendingRateOracleFactory.ts b/types/LendingRateOracleFactory.ts new file mode 100644 index 00000000..c1f16dc8 --- /dev/null +++ b/types/LendingRateOracleFactory.ts @@ -0,0 +1,166 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { LendingRateOracle } from "./LendingRateOracle"; + +export class LendingRateOracleFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): LendingRateOracle { + return super.attach(address) as LendingRateOracle; + } + connect(signer: Signer): LendingRateOracleFactory { + return super.connect(signer) as LendingRateOracleFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LendingRateOracle { + return new Contract(address, _abi, signerOrProvider) as LendingRateOracle; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnershipTransferred", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + } + ], + name: "getMarketBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + } + ], + name: "getMarketLiquidityRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + }, + { + internalType: "uint256", + name: "_rate", + type: "uint256" + } + ], + name: "setMarketBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + }, + { + internalType: "uint256", + name: "_rate", + type: "uint256" + } + ], + name: "setMarketLiquidityRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b61093c806100db6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639f86a0ee1161005b5780639f86a0ee14610124578063bb85c0bb14610172578063f2fde38b146101ca578063fbe5ba1e1461020e5761007d565b8063715018a61461008257806372eb293d1461008c5780638da5cb5b146100da575b600080fd5b61008a610266565b005b6100d8600480360360408110156100a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103ee565b005b6100e26104ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101706004803603604081101561013a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610528565b005b6101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610639565b6040518082815260200191505060405180910390f35b61020c600480360360208110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610682565b005b6102506004803603602081101561022457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088f565b6040518082815260200191505060405180910390f35b61026e6108d8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461032f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6103f66108d8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6105306108d8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61068a6108d8565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461074b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806108e16026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60003390509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a264697066735822122091810586b443199599f0d8ea92cf080251db4c906b261d8ede25a7111ca682ff64736f6c63430006080033"; diff --git a/types/MintableErc20.d.ts b/types/MintableErc20.d.ts new file mode 100644 index 00000000..f5b72af5 --- /dev/null +++ b/types/MintableErc20.d.ts @@ -0,0 +1,236 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MintableErc20Interface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MintableErc20 extends Contract { + connect(signerOrProvider: Signer | Provider | string): MintableErc20; + attach(addressOrName: string): MintableErc20; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MintableErc20; + once(event: EventFilter | string, listener: Listener): MintableErc20; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MintableErc20; + removeAllListeners(eventName: EventFilter | string): MintableErc20; + removeListener(eventName: any, listener: Listener): MintableErc20; + + interface: MintableErc20Interface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MintableErc20Factory.ts b/types/MintableErc20Factory.ts new file mode 100644 index 00000000..cd70e5f1 --- /dev/null +++ b/types/MintableErc20Factory.ts @@ -0,0 +1,363 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MintableErc20 } from "./MintableErc20"; + +export class MintableErc20Factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + name: string, + symbol: string, + decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(name, symbol, decimals, overrides) as Promise< + MintableErc20 + >; + } + getDeployTransaction( + name: string, + symbol: string, + decimals: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(name, symbol, decimals, overrides); + } + attach(address: string): MintableErc20 { + return super.attach(address) as MintableErc20; + } + connect(signer: Signer): MintableErc20Factory { + return super.connect(signer) as MintableErc20Factory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MintableErc20 { + return new Contract(address, _abi, signerOrProvider) as MintableErc20; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "name", + type: "string" + }, + { + internalType: "string", + name: "symbol", + type: "string" + }, + { + internalType: "uint8", + name: "decimals", + type: "uint8" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040516200162938038062001629833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505082828160039080519060200190620001dc9291906200024c565b508060049080519060200190620001f59291906200024c565b506012600560006101000a81548160ff021916908360ff160217905550505062000225816200022e60201b60201c565b505050620002fb565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028f57805160ff1916838001178555620002c0565b82800160010185558215620002c0579182015b82811115620002bf578251825591602001919060010190620002a2565b5b509050620002cf9190620002d3565b5090565b620002f891905b80821115620002f4576000816000905550600101620002da565b5090565b90565b61131e806200030b6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c8e6746eaa2d2495d8c400b50944363bb2c277d2a6826b97149af1bab3c4602e64736f6c63430006080033"; diff --git a/types/MockAggregatorBase.d.ts b/types/MockAggregatorBase.d.ts new file mode 100644 index 00000000..0eccdd79 --- /dev/null +++ b/types/MockAggregatorBase.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorBaseInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorBase extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorBase; + attach(addressOrName: string): MockAggregatorBase; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorBase; + once(event: EventFilter | string, listener: Listener): MockAggregatorBase; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorBase; + removeAllListeners(eventName: EventFilter | string): MockAggregatorBase; + removeListener(eventName: any, listener: Listener): MockAggregatorBase; + + interface: MockAggregatorBaseInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorBaseFactory.ts b/types/MockAggregatorBaseFactory.ts new file mode 100644 index 00000000..4f28c385 --- /dev/null +++ b/types/MockAggregatorBaseFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorBase } from "./MockAggregatorBase"; + +export class MockAggregatorBaseFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorBase + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorBase { + return super.attach(address) as MockAggregatorBase; + } + connect(signer: Signer): MockAggregatorBaseFactory { + return super.connect(signer) as MockAggregatorBaseFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorBase { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorBase; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011c38038061011c8339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a3506088806100946000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea264697066735822122083cd3338e2c5f27a248c6cdcef44a00876f4c0a90224071a888dde6fe01f9b4964736f6c63430006080033"; diff --git a/types/MockAggregatorBat.d.ts b/types/MockAggregatorBat.d.ts new file mode 100644 index 00000000..1bd4b55f --- /dev/null +++ b/types/MockAggregatorBat.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorBatInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorBat extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorBat; + attach(addressOrName: string): MockAggregatorBat; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorBat; + once(event: EventFilter | string, listener: Listener): MockAggregatorBat; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorBat; + removeAllListeners(eventName: EventFilter | string): MockAggregatorBat; + removeListener(eventName: any, listener: Listener): MockAggregatorBat; + + interface: MockAggregatorBatInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorBatFactory.ts b/types/MockAggregatorBatFactory.ts new file mode 100644 index 00000000..b3042254 --- /dev/null +++ b/types/MockAggregatorBatFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorBat } from "./MockAggregatorBat"; + +export class MockAggregatorBatFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorBat + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorBat { + return super.attach(address) as MockAggregatorBat; + } + connect(signer: Signer): MockAggregatorBatFactory { + return super.connect(signer) as MockAggregatorBatFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorBat { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorBat; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220d02cf6d0c06b0214acfdf5e8b4a57a0c44208ace17e6c4480413bc174398d4e064736f6c63430006080033"; diff --git a/types/MockAggregatorBusd.d.ts b/types/MockAggregatorBusd.d.ts new file mode 100644 index 00000000..bb5ce792 --- /dev/null +++ b/types/MockAggregatorBusd.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorBusdInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorBusd extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorBusd; + attach(addressOrName: string): MockAggregatorBusd; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorBusd; + once(event: EventFilter | string, listener: Listener): MockAggregatorBusd; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorBusd; + removeAllListeners(eventName: EventFilter | string): MockAggregatorBusd; + removeListener(eventName: any, listener: Listener): MockAggregatorBusd; + + interface: MockAggregatorBusdInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorBusdFactory.ts b/types/MockAggregatorBusdFactory.ts new file mode 100644 index 00000000..4f56e5a5 --- /dev/null +++ b/types/MockAggregatorBusdFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorBusd } from "./MockAggregatorBusd"; + +export class MockAggregatorBusdFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorBusd + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorBusd { + return super.attach(address) as MockAggregatorBusd; + } + connect(signer: Signer): MockAggregatorBusdFactory { + return super.connect(signer) as MockAggregatorBusdFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorBusd { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorBusd; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220c29b105d310069f50df84f472945922156c9124f347756abceadb0750ad984ef64736f6c63430006080033"; diff --git a/types/MockAggregatorDai.d.ts b/types/MockAggregatorDai.d.ts new file mode 100644 index 00000000..7df0861e --- /dev/null +++ b/types/MockAggregatorDai.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorDaiInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorDai extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorDai; + attach(addressOrName: string): MockAggregatorDai; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorDai; + once(event: EventFilter | string, listener: Listener): MockAggregatorDai; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorDai; + removeAllListeners(eventName: EventFilter | string): MockAggregatorDai; + removeListener(eventName: any, listener: Listener): MockAggregatorDai; + + interface: MockAggregatorDaiInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorDaiFactory.ts b/types/MockAggregatorDaiFactory.ts new file mode 100644 index 00000000..901b0750 --- /dev/null +++ b/types/MockAggregatorDaiFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorDai } from "./MockAggregatorDai"; + +export class MockAggregatorDaiFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorDai + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorDai { + return super.attach(address) as MockAggregatorDai; + } + connect(signer: Signer): MockAggregatorDaiFactory { + return super.connect(signer) as MockAggregatorDaiFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorDai { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorDai; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea26469706673582212202f3e307b78e825c1b1c5a5fb19f7c382e9b3e0cc54843d37895492794bbd407264736f6c63430006080033"; diff --git a/types/MockAggregatorKnc.d.ts b/types/MockAggregatorKnc.d.ts new file mode 100644 index 00000000..ae1775cc --- /dev/null +++ b/types/MockAggregatorKnc.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorKncInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorKnc extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorKnc; + attach(addressOrName: string): MockAggregatorKnc; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorKnc; + once(event: EventFilter | string, listener: Listener): MockAggregatorKnc; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorKnc; + removeAllListeners(eventName: EventFilter | string): MockAggregatorKnc; + removeListener(eventName: any, listener: Listener): MockAggregatorKnc; + + interface: MockAggregatorKncInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorKncFactory.ts b/types/MockAggregatorKncFactory.ts new file mode 100644 index 00000000..fb6c67b9 --- /dev/null +++ b/types/MockAggregatorKncFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorKnc } from "./MockAggregatorKnc"; + +export class MockAggregatorKncFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorKnc + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorKnc { + return super.attach(address) as MockAggregatorKnc; + } + connect(signer: Signer): MockAggregatorKncFactory { + return super.connect(signer) as MockAggregatorKncFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorKnc { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorKnc; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220c1598fa744ebcea86458f984f431c22f1d863e1617c6375a4e0f76d26e49d68f64736f6c63430006080033"; diff --git a/types/MockAggregatorLend.d.ts b/types/MockAggregatorLend.d.ts new file mode 100644 index 00000000..afa361cc --- /dev/null +++ b/types/MockAggregatorLend.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorLendInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorLend extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorLend; + attach(addressOrName: string): MockAggregatorLend; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorLend; + once(event: EventFilter | string, listener: Listener): MockAggregatorLend; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorLend; + removeAllListeners(eventName: EventFilter | string): MockAggregatorLend; + removeListener(eventName: any, listener: Listener): MockAggregatorLend; + + interface: MockAggregatorLendInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorLendFactory.ts b/types/MockAggregatorLendFactory.ts new file mode 100644 index 00000000..365c2833 --- /dev/null +++ b/types/MockAggregatorLendFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorLend } from "./MockAggregatorLend"; + +export class MockAggregatorLendFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorLend + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorLend { + return super.attach(address) as MockAggregatorLend; + } + connect(signer: Signer): MockAggregatorLendFactory { + return super.connect(signer) as MockAggregatorLendFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorLend { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorLend; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea264697066735822122032a78581958ebf57e47858fd14727ea3c47822f615663616da8f69baf5da7a1964736f6c63430006080033"; diff --git a/types/MockAggregatorLink.d.ts b/types/MockAggregatorLink.d.ts new file mode 100644 index 00000000..eccc9349 --- /dev/null +++ b/types/MockAggregatorLink.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorLinkInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorLink extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorLink; + attach(addressOrName: string): MockAggregatorLink; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorLink; + once(event: EventFilter | string, listener: Listener): MockAggregatorLink; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorLink; + removeAllListeners(eventName: EventFilter | string): MockAggregatorLink; + removeListener(eventName: any, listener: Listener): MockAggregatorLink; + + interface: MockAggregatorLinkInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorLinkFactory.ts b/types/MockAggregatorLinkFactory.ts new file mode 100644 index 00000000..7942a3df --- /dev/null +++ b/types/MockAggregatorLinkFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorLink } from "./MockAggregatorLink"; + +export class MockAggregatorLinkFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorLink + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorLink { + return super.attach(address) as MockAggregatorLink; + } + connect(signer: Signer): MockAggregatorLinkFactory { + return super.connect(signer) as MockAggregatorLinkFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorLink { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorLink; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220d60c6adb05ffc74d674a463b81f5b9979bd3a212e71761917c690656712b11c664736f6c63430006080033"; diff --git a/types/MockAggregatorMana.d.ts b/types/MockAggregatorMana.d.ts new file mode 100644 index 00000000..af2844d5 --- /dev/null +++ b/types/MockAggregatorMana.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorManaInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorMana extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorMana; + attach(addressOrName: string): MockAggregatorMana; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorMana; + once(event: EventFilter | string, listener: Listener): MockAggregatorMana; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorMana; + removeAllListeners(eventName: EventFilter | string): MockAggregatorMana; + removeListener(eventName: any, listener: Listener): MockAggregatorMana; + + interface: MockAggregatorManaInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorManaFactory.ts b/types/MockAggregatorManaFactory.ts new file mode 100644 index 00000000..f67bc9d6 --- /dev/null +++ b/types/MockAggregatorManaFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorMana } from "./MockAggregatorMana"; + +export class MockAggregatorManaFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorMana + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorMana { + return super.attach(address) as MockAggregatorMana; + } + connect(signer: Signer): MockAggregatorManaFactory { + return super.connect(signer) as MockAggregatorManaFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorMana { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorMana; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220e0700283c2ad9c9bcaba29705e84da907804c3351faaac1d4a844e902dd98e9264736f6c63430006080033"; diff --git a/types/MockAggregatorMkr.d.ts b/types/MockAggregatorMkr.d.ts new file mode 100644 index 00000000..d21fad3f --- /dev/null +++ b/types/MockAggregatorMkr.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorMkrInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorMkr extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorMkr; + attach(addressOrName: string): MockAggregatorMkr; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorMkr; + once(event: EventFilter | string, listener: Listener): MockAggregatorMkr; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorMkr; + removeAllListeners(eventName: EventFilter | string): MockAggregatorMkr; + removeListener(eventName: any, listener: Listener): MockAggregatorMkr; + + interface: MockAggregatorMkrInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorMkrFactory.ts b/types/MockAggregatorMkrFactory.ts new file mode 100644 index 00000000..58a6da31 --- /dev/null +++ b/types/MockAggregatorMkrFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorMkr } from "./MockAggregatorMkr"; + +export class MockAggregatorMkrFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorMkr + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorMkr { + return super.attach(address) as MockAggregatorMkr; + } + connect(signer: Signer): MockAggregatorMkrFactory { + return super.connect(signer) as MockAggregatorMkrFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorMkr { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorMkr; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea26469706673582212209576800c958dbc26170623c44cb565d947f6ff35587a18bd3466e2bc765582f364736f6c63430006080033"; diff --git a/types/MockAggregatorRep.d.ts b/types/MockAggregatorRep.d.ts new file mode 100644 index 00000000..5c833414 --- /dev/null +++ b/types/MockAggregatorRep.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorRepInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorRep extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorRep; + attach(addressOrName: string): MockAggregatorRep; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorRep; + once(event: EventFilter | string, listener: Listener): MockAggregatorRep; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorRep; + removeAllListeners(eventName: EventFilter | string): MockAggregatorRep; + removeListener(eventName: any, listener: Listener): MockAggregatorRep; + + interface: MockAggregatorRepInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorRepFactory.ts b/types/MockAggregatorRepFactory.ts new file mode 100644 index 00000000..e8988ddd --- /dev/null +++ b/types/MockAggregatorRepFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorRep } from "./MockAggregatorRep"; + +export class MockAggregatorRepFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorRep + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorRep { + return super.attach(address) as MockAggregatorRep; + } + connect(signer: Signer): MockAggregatorRepFactory { + return super.connect(signer) as MockAggregatorRepFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorRep { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorRep; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220331570ec14621ec93ed849eb6ce3809e99cbf14c7cff76248b74aa32177a639664736f6c63430006080033"; diff --git a/types/MockAggregatorSnx.d.ts b/types/MockAggregatorSnx.d.ts new file mode 100644 index 00000000..11d14f3a --- /dev/null +++ b/types/MockAggregatorSnx.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorSnxInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorSnx extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorSnx; + attach(addressOrName: string): MockAggregatorSnx; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorSnx; + once(event: EventFilter | string, listener: Listener): MockAggregatorSnx; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorSnx; + removeAllListeners(eventName: EventFilter | string): MockAggregatorSnx; + removeListener(eventName: any, listener: Listener): MockAggregatorSnx; + + interface: MockAggregatorSnxInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorSnxFactory.ts b/types/MockAggregatorSnxFactory.ts new file mode 100644 index 00000000..95fd0b67 --- /dev/null +++ b/types/MockAggregatorSnxFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorSnx } from "./MockAggregatorSnx"; + +export class MockAggregatorSnxFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorSnx + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorSnx { + return super.attach(address) as MockAggregatorSnx; + } + connect(signer: Signer): MockAggregatorSnxFactory { + return super.connect(signer) as MockAggregatorSnxFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorSnx { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorSnx; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea26469706673582212200ade34d4595541978f0069ee3f84bcfa09ad941dcd8c0c31f836bd282b28c5e664736f6c63430006080033"; diff --git a/types/MockAggregatorSusd.d.ts b/types/MockAggregatorSusd.d.ts new file mode 100644 index 00000000..0ed4a814 --- /dev/null +++ b/types/MockAggregatorSusd.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorSusdInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorSusd extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorSusd; + attach(addressOrName: string): MockAggregatorSusd; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorSusd; + once(event: EventFilter | string, listener: Listener): MockAggregatorSusd; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorSusd; + removeAllListeners(eventName: EventFilter | string): MockAggregatorSusd; + removeListener(eventName: any, listener: Listener): MockAggregatorSusd; + + interface: MockAggregatorSusdInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorSusdFactory.ts b/types/MockAggregatorSusdFactory.ts new file mode 100644 index 00000000..fc27c600 --- /dev/null +++ b/types/MockAggregatorSusdFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorSusd } from "./MockAggregatorSusd"; + +export class MockAggregatorSusdFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorSusd + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorSusd { + return super.attach(address) as MockAggregatorSusd; + } + connect(signer: Signer): MockAggregatorSusdFactory { + return super.connect(signer) as MockAggregatorSusdFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorSusd { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorSusd; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220b46ebfecbec5d74b50767e663667dabbb10adee12ebabc889ae8d9b6b7fa053c64736f6c63430006080033"; diff --git a/types/MockAggregatorTusd.d.ts b/types/MockAggregatorTusd.d.ts new file mode 100644 index 00000000..688a0567 --- /dev/null +++ b/types/MockAggregatorTusd.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorTusdInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorTusd extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorTusd; + attach(addressOrName: string): MockAggregatorTusd; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorTusd; + once(event: EventFilter | string, listener: Listener): MockAggregatorTusd; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorTusd; + removeAllListeners(eventName: EventFilter | string): MockAggregatorTusd; + removeListener(eventName: any, listener: Listener): MockAggregatorTusd; + + interface: MockAggregatorTusdInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorTusdFactory.ts b/types/MockAggregatorTusdFactory.ts new file mode 100644 index 00000000..84c0b8fe --- /dev/null +++ b/types/MockAggregatorTusdFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorTusd } from "./MockAggregatorTusd"; + +export class MockAggregatorTusdFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorTusd + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorTusd { + return super.attach(address) as MockAggregatorTusd; + } + connect(signer: Signer): MockAggregatorTusdFactory { + return super.connect(signer) as MockAggregatorTusdFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorTusd { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorTusd; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220bebe635d15b696b848f88e1caf551ca82c2e0a1297a7fe6d90136d72de92938664736f6c63430006080033"; diff --git a/types/MockAggregatorUniDaiEth.d.ts b/types/MockAggregatorUniDaiEth.d.ts new file mode 100644 index 00000000..b4d2f34d --- /dev/null +++ b/types/MockAggregatorUniDaiEth.d.ts @@ -0,0 +1,67 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorUniDaiEthInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorUniDaiEth extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): MockAggregatorUniDaiEth; + attach(addressOrName: string): MockAggregatorUniDaiEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorUniDaiEth; + once( + event: EventFilter | string, + listener: Listener + ): MockAggregatorUniDaiEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorUniDaiEth; + removeAllListeners(eventName: EventFilter | string): MockAggregatorUniDaiEth; + removeListener(eventName: any, listener: Listener): MockAggregatorUniDaiEth; + + interface: MockAggregatorUniDaiEthInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorUniDaiEthFactory.ts b/types/MockAggregatorUniDaiEthFactory.ts new file mode 100644 index 00000000..a67fd43a --- /dev/null +++ b/types/MockAggregatorUniDaiEthFactory.ts @@ -0,0 +1,102 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorUniDaiEth } from "./MockAggregatorUniDaiEth"; + +export class MockAggregatorUniDaiEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorUniDaiEth + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorUniDaiEth { + return super.attach(address) as MockAggregatorUniDaiEth; + } + connect(signer: Signer): MockAggregatorUniDaiEthFactory { + return super.connect(signer) as MockAggregatorUniDaiEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorUniDaiEth { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockAggregatorUniDaiEth; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea26469706673582212204341bb4c01895983b3ca0479cca92832f0757a690d801c27f5b7b6b33dd9977664736f6c63430006080033"; diff --git a/types/MockAggregatorUniLendEth.d.ts b/types/MockAggregatorUniLendEth.d.ts new file mode 100644 index 00000000..2eaf62ab --- /dev/null +++ b/types/MockAggregatorUniLendEth.d.ts @@ -0,0 +1,67 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorUniLendEthInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorUniLendEth extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): MockAggregatorUniLendEth; + attach(addressOrName: string): MockAggregatorUniLendEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorUniLendEth; + once( + event: EventFilter | string, + listener: Listener + ): MockAggregatorUniLendEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorUniLendEth; + removeAllListeners(eventName: EventFilter | string): MockAggregatorUniLendEth; + removeListener(eventName: any, listener: Listener): MockAggregatorUniLendEth; + + interface: MockAggregatorUniLendEthInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorUniLendEthFactory.ts b/types/MockAggregatorUniLendEthFactory.ts new file mode 100644 index 00000000..f7818126 --- /dev/null +++ b/types/MockAggregatorUniLendEthFactory.ts @@ -0,0 +1,102 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorUniLendEth } from "./MockAggregatorUniLendEth"; + +export class MockAggregatorUniLendEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorUniLendEth + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorUniLendEth { + return super.attach(address) as MockAggregatorUniLendEth; + } + connect(signer: Signer): MockAggregatorUniLendEthFactory { + return super.connect(signer) as MockAggregatorUniLendEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorUniLendEth { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockAggregatorUniLendEth; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea26469706673582212209567b705725cb720d9f6843fb3872e7ae5e6b2e05cb8f50704bdf18bc6a7177164736f6c63430006080033"; diff --git a/types/MockAggregatorUniLinkEth.d.ts b/types/MockAggregatorUniLinkEth.d.ts new file mode 100644 index 00000000..337cca86 --- /dev/null +++ b/types/MockAggregatorUniLinkEth.d.ts @@ -0,0 +1,67 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorUniLinkEthInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorUniLinkEth extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): MockAggregatorUniLinkEth; + attach(addressOrName: string): MockAggregatorUniLinkEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorUniLinkEth; + once( + event: EventFilter | string, + listener: Listener + ): MockAggregatorUniLinkEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorUniLinkEth; + removeAllListeners(eventName: EventFilter | string): MockAggregatorUniLinkEth; + removeListener(eventName: any, listener: Listener): MockAggregatorUniLinkEth; + + interface: MockAggregatorUniLinkEthInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorUniLinkEthFactory.ts b/types/MockAggregatorUniLinkEthFactory.ts new file mode 100644 index 00000000..fd60770b --- /dev/null +++ b/types/MockAggregatorUniLinkEthFactory.ts @@ -0,0 +1,102 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorUniLinkEth } from "./MockAggregatorUniLinkEth"; + +export class MockAggregatorUniLinkEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorUniLinkEth + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorUniLinkEth { + return super.attach(address) as MockAggregatorUniLinkEth; + } + connect(signer: Signer): MockAggregatorUniLinkEthFactory { + return super.connect(signer) as MockAggregatorUniLinkEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorUniLinkEth { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockAggregatorUniLinkEth; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea264697066735822122039c8656a5c4707e3eead0f89d5f1f904cdb984bea0b3a851a1dccd2ae03e976264736f6c63430006080033"; diff --git a/types/MockAggregatorUniMkrEth.d.ts b/types/MockAggregatorUniMkrEth.d.ts new file mode 100644 index 00000000..7e6b13c2 --- /dev/null +++ b/types/MockAggregatorUniMkrEth.d.ts @@ -0,0 +1,67 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorUniMkrEthInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorUniMkrEth extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): MockAggregatorUniMkrEth; + attach(addressOrName: string): MockAggregatorUniMkrEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorUniMkrEth; + once( + event: EventFilter | string, + listener: Listener + ): MockAggregatorUniMkrEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorUniMkrEth; + removeAllListeners(eventName: EventFilter | string): MockAggregatorUniMkrEth; + removeListener(eventName: any, listener: Listener): MockAggregatorUniMkrEth; + + interface: MockAggregatorUniMkrEthInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorUniMkrEthFactory.ts b/types/MockAggregatorUniMkrEthFactory.ts new file mode 100644 index 00000000..525282dd --- /dev/null +++ b/types/MockAggregatorUniMkrEthFactory.ts @@ -0,0 +1,102 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorUniMkrEth } from "./MockAggregatorUniMkrEth"; + +export class MockAggregatorUniMkrEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorUniMkrEth + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorUniMkrEth { + return super.attach(address) as MockAggregatorUniMkrEth; + } + connect(signer: Signer): MockAggregatorUniMkrEthFactory { + return super.connect(signer) as MockAggregatorUniMkrEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorUniMkrEth { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockAggregatorUniMkrEth; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220ed4b87d7262d695100f7153ed281ae4ec9e604ba0888c89aaf7cbff346bdf48164736f6c63430006080033"; diff --git a/types/MockAggregatorUniSethEth.d.ts b/types/MockAggregatorUniSethEth.d.ts new file mode 100644 index 00000000..3e01499c --- /dev/null +++ b/types/MockAggregatorUniSethEth.d.ts @@ -0,0 +1,67 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorUniSethEthInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorUniSethEth extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): MockAggregatorUniSethEth; + attach(addressOrName: string): MockAggregatorUniSethEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorUniSethEth; + once( + event: EventFilter | string, + listener: Listener + ): MockAggregatorUniSethEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorUniSethEth; + removeAllListeners(eventName: EventFilter | string): MockAggregatorUniSethEth; + removeListener(eventName: any, listener: Listener): MockAggregatorUniSethEth; + + interface: MockAggregatorUniSethEthInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorUniSethEthFactory.ts b/types/MockAggregatorUniSethEthFactory.ts new file mode 100644 index 00000000..3cb006bc --- /dev/null +++ b/types/MockAggregatorUniSethEthFactory.ts @@ -0,0 +1,102 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorUniSethEth } from "./MockAggregatorUniSethEth"; + +export class MockAggregatorUniSethEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorUniSethEth + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorUniSethEth { + return super.attach(address) as MockAggregatorUniSethEth; + } + connect(signer: Signer): MockAggregatorUniSethEthFactory { + return super.connect(signer) as MockAggregatorUniSethEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorUniSethEth { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockAggregatorUniSethEth; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220c16aa8271366865432ec9445872473ce919c2efc6371d93459d7c491f0d0e7f164736f6c63430006080033"; diff --git a/types/MockAggregatorUniUsdcEth.d.ts b/types/MockAggregatorUniUsdcEth.d.ts new file mode 100644 index 00000000..b04b1e68 --- /dev/null +++ b/types/MockAggregatorUniUsdcEth.d.ts @@ -0,0 +1,67 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorUniUsdcEthInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorUniUsdcEth extends Contract { + connect( + signerOrProvider: Signer | Provider | string + ): MockAggregatorUniUsdcEth; + attach(addressOrName: string): MockAggregatorUniUsdcEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorUniUsdcEth; + once( + event: EventFilter | string, + listener: Listener + ): MockAggregatorUniUsdcEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorUniUsdcEth; + removeAllListeners(eventName: EventFilter | string): MockAggregatorUniUsdcEth; + removeListener(eventName: any, listener: Listener): MockAggregatorUniUsdcEth; + + interface: MockAggregatorUniUsdcEthInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorUniUsdcEthFactory.ts b/types/MockAggregatorUniUsdcEthFactory.ts new file mode 100644 index 00000000..5f0f5947 --- /dev/null +++ b/types/MockAggregatorUniUsdcEthFactory.ts @@ -0,0 +1,102 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorUniUsdcEth } from "./MockAggregatorUniUsdcEth"; + +export class MockAggregatorUniUsdcEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorUniUsdcEth + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorUniUsdcEth { + return super.attach(address) as MockAggregatorUniUsdcEth; + } + connect(signer: Signer): MockAggregatorUniUsdcEthFactory { + return super.connect(signer) as MockAggregatorUniUsdcEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorUniUsdcEth { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockAggregatorUniUsdcEth; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220c368ade4c20877ddb0302dffbaf15f0be531420a6307e8f382e17b65660efd4564736f6c63430006080033"; diff --git a/types/MockAggregatorUsd.d.ts b/types/MockAggregatorUsd.d.ts new file mode 100644 index 00000000..59fdc243 --- /dev/null +++ b/types/MockAggregatorUsd.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorUsdInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorUsd extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorUsd; + attach(addressOrName: string): MockAggregatorUsd; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorUsd; + once(event: EventFilter | string, listener: Listener): MockAggregatorUsd; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorUsd; + removeAllListeners(eventName: EventFilter | string): MockAggregatorUsd; + removeListener(eventName: any, listener: Listener): MockAggregatorUsd; + + interface: MockAggregatorUsdInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorUsdFactory.ts b/types/MockAggregatorUsdFactory.ts new file mode 100644 index 00000000..8c5e2af9 --- /dev/null +++ b/types/MockAggregatorUsdFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorUsd } from "./MockAggregatorUsd"; + +export class MockAggregatorUsdFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorUsd + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorUsd { + return super.attach(address) as MockAggregatorUsd; + } + connect(signer: Signer): MockAggregatorUsdFactory { + return super.connect(signer) as MockAggregatorUsdFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorUsd { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorUsd; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea26469706673582212204366c81037a4bd22a4dda381a8dcb57bba51ded018460de1712311df41f7f54d64736f6c63430006080033"; diff --git a/types/MockAggregatorUsdc.d.ts b/types/MockAggregatorUsdc.d.ts new file mode 100644 index 00000000..06e94b13 --- /dev/null +++ b/types/MockAggregatorUsdc.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorUsdcInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorUsdc extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorUsdc; + attach(addressOrName: string): MockAggregatorUsdc; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorUsdc; + once(event: EventFilter | string, listener: Listener): MockAggregatorUsdc; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorUsdc; + removeAllListeners(eventName: EventFilter | string): MockAggregatorUsdc; + removeListener(eventName: any, listener: Listener): MockAggregatorUsdc; + + interface: MockAggregatorUsdcInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorUsdcFactory.ts b/types/MockAggregatorUsdcFactory.ts new file mode 100644 index 00000000..e3de6db8 --- /dev/null +++ b/types/MockAggregatorUsdcFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorUsdc } from "./MockAggregatorUsdc"; + +export class MockAggregatorUsdcFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorUsdc + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorUsdc { + return super.attach(address) as MockAggregatorUsdc; + } + connect(signer: Signer): MockAggregatorUsdcFactory { + return super.connect(signer) as MockAggregatorUsdcFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorUsdc { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorUsdc; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220a36d5e330ae7f70e43dc9d7c352fb20b10a3a0ac3a877b9df0d748b9769eb2df64736f6c63430006080033"; diff --git a/types/MockAggregatorUsdt.d.ts b/types/MockAggregatorUsdt.d.ts new file mode 100644 index 00000000..6915a80b --- /dev/null +++ b/types/MockAggregatorUsdt.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorUsdtInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorUsdt extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorUsdt; + attach(addressOrName: string): MockAggregatorUsdt; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorUsdt; + once(event: EventFilter | string, listener: Listener): MockAggregatorUsdt; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorUsdt; + removeAllListeners(eventName: EventFilter | string): MockAggregatorUsdt; + removeListener(eventName: any, listener: Listener): MockAggregatorUsdt; + + interface: MockAggregatorUsdtInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorUsdtFactory.ts b/types/MockAggregatorUsdtFactory.ts new file mode 100644 index 00000000..bfae57da --- /dev/null +++ b/types/MockAggregatorUsdtFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorUsdt } from "./MockAggregatorUsdt"; + +export class MockAggregatorUsdtFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorUsdt + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorUsdt { + return super.attach(address) as MockAggregatorUsdt; + } + connect(signer: Signer): MockAggregatorUsdtFactory { + return super.connect(signer) as MockAggregatorUsdtFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorUsdt { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorUsdt; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea26469706673582212205eae2ea79916a25c9791526457bc25756ddb322fac4714808f61801549334d1064736f6c63430006080033"; diff --git a/types/MockAggregatorWbtc.d.ts b/types/MockAggregatorWbtc.d.ts new file mode 100644 index 00000000..45420b02 --- /dev/null +++ b/types/MockAggregatorWbtc.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorWbtcInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorWbtc extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorWbtc; + attach(addressOrName: string): MockAggregatorWbtc; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorWbtc; + once(event: EventFilter | string, listener: Listener): MockAggregatorWbtc; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorWbtc; + removeAllListeners(eventName: EventFilter | string): MockAggregatorWbtc; + removeListener(eventName: any, listener: Listener): MockAggregatorWbtc; + + interface: MockAggregatorWbtcInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorWbtcFactory.ts b/types/MockAggregatorWbtcFactory.ts new file mode 100644 index 00000000..a842cdc9 --- /dev/null +++ b/types/MockAggregatorWbtcFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorWbtc } from "./MockAggregatorWbtc"; + +export class MockAggregatorWbtcFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorWbtc + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorWbtc { + return super.attach(address) as MockAggregatorWbtc; + } + connect(signer: Signer): MockAggregatorWbtcFactory { + return super.connect(signer) as MockAggregatorWbtcFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorWbtc { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorWbtc; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea2646970667358221220c04f5341670ccd48c16c9751777b36f460e3770e6f651ee1c01a936681b09bb464736f6c63430006080033"; diff --git a/types/MockAggregatorZrx.d.ts b/types/MockAggregatorZrx.d.ts new file mode 100644 index 00000000..bf9bd50f --- /dev/null +++ b/types/MockAggregatorZrx.d.ts @@ -0,0 +1,62 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockAggregatorZrxInterface extends Interface { + functions: { + latestAnswer: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + AnswerUpdated: TypedEventDescription<{ + encodeTopics([current, roundId, timestamp]: [ + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + }; +} + +export class MockAggregatorZrx extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockAggregatorZrx; + attach(addressOrName: string): MockAggregatorZrx; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockAggregatorZrx; + once(event: EventFilter | string, listener: Listener): MockAggregatorZrx; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockAggregatorZrx; + removeAllListeners(eventName: EventFilter | string): MockAggregatorZrx; + removeListener(eventName: any, listener: Listener): MockAggregatorZrx; + + interface: MockAggregatorZrxInterface; + + functions: { + latestAnswer(): Promise; + }; + + latestAnswer(): Promise; + + filters: { + AnswerUpdated( + current: BigNumberish | null, + roundId: BigNumberish | null, + timestamp: null + ): EventFilter; + }; + + estimate: { + latestAnswer(): Promise; + }; +} diff --git a/types/MockAggregatorZrxFactory.ts b/types/MockAggregatorZrxFactory.ts new file mode 100644 index 00000000..293387a0 --- /dev/null +++ b/types/MockAggregatorZrxFactory.ts @@ -0,0 +1,98 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { MockAggregatorZrx } from "./MockAggregatorZrx"; + +export class MockAggregatorZrxFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_initialAnswer, overrides) as Promise< + MockAggregatorZrx + >; + } + getDeployTransaction( + _initialAnswer: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_initialAnswer, overrides); + } + attach(address: string): MockAggregatorZrx { + return super.attach(address) as MockAggregatorZrx; + } + connect(signer: Signer): MockAggregatorZrxFactory { + return super.connect(signer) as MockAggregatorZrxFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockAggregatorZrx { + return new Contract(address, _abi, signerOrProvider) as MockAggregatorZrx; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "_initialAnswer", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "int256", + name: "current", + type: "int256" + }, + { + indexed: true, + internalType: "uint256", + name: "roundId", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AnswerUpdated", + type: "event" + }, + { + inputs: [], + name: "latestAnswer", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161011e38038061011e8339818101604052602081101561003357600080fd5b810190808051906020019092919050505080806000819055506000817f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a350506088806100966000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806350d25bcd14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000805490509056fea26469706673582212209a80f49cf5ebb27678a40bb2c080f9e2e3f5c6b4220d47b754357fb856b985de64736f6c63430006080033"; diff --git a/types/MockBat.d.ts b/types/MockBat.d.ts new file mode 100644 index 00000000..e4a32da3 --- /dev/null +++ b/types/MockBat.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockBatInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockBat extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockBat; + attach(addressOrName: string): MockBat; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockBat; + once(event: EventFilter | string, listener: Listener): MockBat; + addListener(eventName: EventFilter | string, listener: Listener): MockBat; + removeAllListeners(eventName: EventFilter | string): MockBat; + removeListener(eventName: any, listener: Listener): MockBat; + + interface: MockBatInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockBatFactory.ts b/types/MockBatFactory.ts new file mode 100644 index 00000000..a103543c --- /dev/null +++ b/types/MockBatFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockBat } from "./MockBat"; + +export class MockBatFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockBat { + return super.attach(address) as MockBat; + } + connect(signer: Signer): MockBatFactory { + return super.connect(signer) as MockBatFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockBat { + return new Contract(address, _abi, signerOrProvider) as MockBat; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600381526020017f42415400000000000000000000000000000000000000000000000000000000008152506040518060400160405280601581526020017f426173696320417474656e74696f6e20546f6b656e00000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205b52a9cfb16c6c4efadcf71492f6fd5c78b1ebf94d0611a4e386b5b8604ab4b564736f6c63430006080033"; diff --git a/types/MockBusd.d.ts b/types/MockBusd.d.ts new file mode 100644 index 00000000..7fd0893d --- /dev/null +++ b/types/MockBusd.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockBusdInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockBusd extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockBusd; + attach(addressOrName: string): MockBusd; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockBusd; + once(event: EventFilter | string, listener: Listener): MockBusd; + addListener(eventName: EventFilter | string, listener: Listener): MockBusd; + removeAllListeners(eventName: EventFilter | string): MockBusd; + removeListener(eventName: any, listener: Listener): MockBusd; + + interface: MockBusdInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockBusdFactory.ts b/types/MockBusdFactory.ts new file mode 100644 index 00000000..946312ef --- /dev/null +++ b/types/MockBusdFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockBusd } from "./MockBusd"; + +export class MockBusdFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockBusd { + return super.attach(address) as MockBusd; + } + connect(signer: Signer): MockBusdFactory { + return super.connect(signer) as MockBusdFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockBusd { + return new Contract(address, _abi, signerOrProvider) as MockBusd; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020017f42555344000000000000000000000000000000000000000000000000000000008152506040518060400160405280600b81526020017f42696e616e6365205553440000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208e071c21c5897b64d7ab5ac419455a556a3d49f8df822736024af81d8e34c23864736f6c63430006080033"; diff --git a/types/MockDai.d.ts b/types/MockDai.d.ts new file mode 100644 index 00000000..859f5f3d --- /dev/null +++ b/types/MockDai.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockDaiInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockDai extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockDai; + attach(addressOrName: string): MockDai; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockDai; + once(event: EventFilter | string, listener: Listener): MockDai; + addListener(eventName: EventFilter | string, listener: Listener): MockDai; + removeAllListeners(eventName: EventFilter | string): MockDai; + removeListener(eventName: any, listener: Listener): MockDai; + + interface: MockDaiInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockDaiFactory.ts b/types/MockDaiFactory.ts new file mode 100644 index 00000000..8d2ac4d3 --- /dev/null +++ b/types/MockDaiFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockDai } from "./MockDai"; + +export class MockDaiFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockDai { + return super.attach(address) as MockDai; + } + connect(signer: Signer): MockDaiFactory { + return super.connect(signer) as MockDaiFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockDai { + return new Contract(address, _abi, signerOrProvider) as MockDai; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600381526020017f44414900000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f44414900000000000000000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ec756f92c4a50a84609591163ec498746ff138bd1eba93bb4b10f6abd161dbbb64736f6c63430006080033"; diff --git a/types/MockFlashLoanReceiver.d.ts b/types/MockFlashLoanReceiver.d.ts new file mode 100644 index 00000000..b9a3a155 --- /dev/null +++ b/types/MockFlashLoanReceiver.d.ts @@ -0,0 +1,108 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockFlashLoanReceiverInterface extends Interface { + functions: { + addressesProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + executeOperation: TypedFunctionDescription<{ + encode([_reserve, _amount, _fee, _params]: [ + string, + BigNumberish, + BigNumberish, + Arrayish + ]): string; + }>; + + setFailExecutionTransfer: TypedFunctionDescription<{ + encode([_fail]: [boolean]): string; + }>; + }; + + events: { + ExecutedWithFail: TypedEventDescription<{ + encodeTopics([_reserve, _amount, _fee]: [null, null, null]): string[]; + }>; + + ExecutedWithSuccess: TypedEventDescription<{ + encodeTopics([_reserve, _amount, _fee]: [null, null, null]): string[]; + }>; + }; +} + +export class MockFlashLoanReceiver extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockFlashLoanReceiver; + attach(addressOrName: string): MockFlashLoanReceiver; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockFlashLoanReceiver; + once(event: EventFilter | string, listener: Listener): MockFlashLoanReceiver; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockFlashLoanReceiver; + removeAllListeners(eventName: EventFilter | string): MockFlashLoanReceiver; + removeListener(eventName: any, listener: Listener): MockFlashLoanReceiver; + + interface: MockFlashLoanReceiverInterface; + + functions: { + addressesProvider(): Promise; + + executeOperation( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _params: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + setFailExecutionTransfer( + _fail: boolean, + overrides?: TransactionOverrides + ): Promise; + }; + + addressesProvider(): Promise; + + executeOperation( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _params: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + setFailExecutionTransfer( + _fail: boolean, + overrides?: TransactionOverrides + ): Promise; + + filters: { + ExecutedWithFail(_reserve: null, _amount: null, _fee: null): EventFilter; + + ExecutedWithSuccess(_reserve: null, _amount: null, _fee: null): EventFilter; + }; + + estimate: { + addressesProvider(): Promise; + + executeOperation( + _reserve: string, + _amount: BigNumberish, + _fee: BigNumberish, + _params: Arrayish + ): Promise; + + setFailExecutionTransfer(_fail: boolean): Promise; + }; +} diff --git a/types/MockFlashLoanReceiverFactory.ts b/types/MockFlashLoanReceiverFactory.ts new file mode 100644 index 00000000..f6606828 --- /dev/null +++ b/types/MockFlashLoanReceiverFactory.ts @@ -0,0 +1,169 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockFlashLoanReceiver } from "./MockFlashLoanReceiver"; + +export class MockFlashLoanReceiverFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _provider: string, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_provider, overrides) as Promise; + } + getDeployTransaction( + _provider: string, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_provider, overrides); + } + attach(address: string): MockFlashLoanReceiver { + return super.attach(address) as MockFlashLoanReceiver; + } + connect(signer: Signer): MockFlashLoanReceiverFactory { + return super.connect(signer) as MockFlashLoanReceiverFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockFlashLoanReceiver { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockFlashLoanReceiver; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "contract ILendingPoolAddressesProvider", + name: "_provider", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fee", + type: "uint256" + } + ], + name: "ExecutedWithFail", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_fee", + type: "uint256" + } + ], + name: "ExecutedWithSuccess", + type: "event" + }, + { + inputs: [], + name: "addressesProvider", + outputs: [ + { + internalType: "contract ILendingPoolAddressesProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "bytes", + name: "_params", + type: "bytes" + } + ], + name: "executeOperation", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bool", + name: "_fail", + type: "bool" + } + ], + name: "setFailExecutionTransfer", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x608060405260008060146101000a81548160ff02191690831515021790555034801561002a57600080fd5b50604051610c35380380610c358339818101604052602081101561004d57600080fd5b810190808051906020019092919050505080806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610b85806100b06000396000f3fe6080604052600436106100385760003560e01c8063388f70f114610044578063c72c4d1014610081578063ee872558146100d85761003f565b3661003f57005b600080fd5b34801561005057600080fd5b5061007f6004803603602081101561006757600080fd5b810190808035151590602001909291905050506101d4565b005b34801561008d57600080fd5b506100966101f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e457600080fd5b506101d2600480360360808110156100fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561014c57600080fd5b82018360208201111561015e57600080fd5b8035906020019184600183028401116401000000008311171561018057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610216565b005b80600060146101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008490506102253086610489565b84111561029a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496e76616c69642062616c616e636520666f722074686520636f6e747261637481525060200191505060405180910390fd5b600060149054906101000a900460ff1615610328577f816f6a6bc084e1996be1a831afa1af30763d0501b6b43b9e1922a11f347366d7858585604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a150610483565b6103306105a6565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146103f2578073ffffffffffffffffffffffffffffffffffffffff1663a0712d68846040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156103b557600080fd5b505af11580156103c9573d6000803e3d6000fd5b505050506040513d60208110156103df57600080fd5b8101908080519060200190929190505050505b61040e8561040985876105c290919063ffffffff16565b61064a565b7f7d94e9d0c906b8d7b2b52a581b9e9ba728aa6f8cd8532bd87243d193f47401be858585604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505b50505050565b60006104936105a6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156104e5578273ffffffffffffffffffffffffffffffffffffffff163190506105a0565b8173ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561056257600080fd5b505afa158015610576573d6000803e3d6000fd5b505050506040513d602081101561058c57600080fd5b810190808051906020019092919050505090505b92915050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b600080828401905083811015610640576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b357600080fd5b505afa1580156106c7573d6000803e3d6000fd5b505050506040513d60208110156106dd57600080fd5b810190808051906020019092919050505090506106fb818484610700565b505050565b6107086105a6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156107a6578273ffffffffffffffffffffffffffffffffffffffff168160405180600001905060006040518083038185875af1925050503d8060008114610799576040519150601f19603f3d011682016040523d82523d6000602084013e61079e565b606091505b5050506107d2565b6107d183828473ffffffffffffffffffffffffffffffffffffffff166107d79092919063ffffffff16565b5b505050565b61088a8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061088f565b505050565b6108ae8273ffffffffffffffffffffffffffffffffffffffff16610ada565b610920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061096f578051825260208201915060208101905060208303925061094c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109d1576040519150601f19603f3d011682016040523d82523d6000602084013e6109d6565b606091505b509150915081610a4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610ad457808060200190516020811015610a6d57600080fd5b8101908080519060200190929190505050610ad3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610b26602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015610b1c57506000801b8214155b9250505091905056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220786a7c21f296333f0744f23ae49949fccf13ab6f3e1019a45a379b0f9b4ed98264736f6c63430006080033"; diff --git a/types/MockKnc.d.ts b/types/MockKnc.d.ts new file mode 100644 index 00000000..0c9fd4da --- /dev/null +++ b/types/MockKnc.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockKncInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockKnc extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockKnc; + attach(addressOrName: string): MockKnc; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockKnc; + once(event: EventFilter | string, listener: Listener): MockKnc; + addListener(eventName: EventFilter | string, listener: Listener): MockKnc; + removeAllListeners(eventName: EventFilter | string): MockKnc; + removeListener(eventName: any, listener: Listener): MockKnc; + + interface: MockKncInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockKncFactory.ts b/types/MockKncFactory.ts new file mode 100644 index 00000000..bac8bae5 --- /dev/null +++ b/types/MockKncFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockKnc } from "./MockKnc"; + +export class MockKncFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockKnc { + return super.attach(address) as MockKnc; + } + connect(signer: Signer): MockKncFactory { + return super.connect(signer) as MockKncFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockKnc { + return new Contract(address, _abi, signerOrProvider) as MockKnc; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600381526020017f4b4e4300000000000000000000000000000000000000000000000000000000008152506040518060400160405280600d81526020017f4b79626572204e6574776f726b000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ce5cace56cc96f6635060c56808c3b778fef1e7dd3dd27107f785f5ee086538d64736f6c63430006080033"; diff --git a/types/MockKyberProxy.d.ts b/types/MockKyberProxy.d.ts new file mode 100644 index 00000000..2b8d762f --- /dev/null +++ b/types/MockKyberProxy.d.ts @@ -0,0 +1,105 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockKyberProxyInterface extends Interface { + functions: { + tokenToBurn: TypedFunctionDescription<{ encode([]: []): string }>; + + tradeWithHint: TypedFunctionDescription<{ + encode([ + _fromToken, + _amount, + _toToken, + _receiver, + _maxAmount, + minConversionRate, + _referral, + _filtering + ]: [ + string, + BigNumberish, + string, + string, + BigNumberish, + BigNumberish, + string, + Arrayish + ]): string; + }>; + }; + + events: {}; +} + +export class MockKyberProxy extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockKyberProxy; + attach(addressOrName: string): MockKyberProxy; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockKyberProxy; + once(event: EventFilter | string, listener: Listener): MockKyberProxy; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockKyberProxy; + removeAllListeners(eventName: EventFilter | string): MockKyberProxy; + removeListener(eventName: any, listener: Listener): MockKyberProxy; + + interface: MockKyberProxyInterface; + + functions: { + tokenToBurn(): Promise; + + tradeWithHint( + _fromToken: string, + _amount: BigNumberish, + _toToken: string, + _receiver: string, + _maxAmount: BigNumberish, + minConversionRate: BigNumberish, + _referral: string, + _filtering: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + tokenToBurn(): Promise; + + tradeWithHint( + _fromToken: string, + _amount: BigNumberish, + _toToken: string, + _receiver: string, + _maxAmount: BigNumberish, + minConversionRate: BigNumberish, + _referral: string, + _filtering: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: {}; + + estimate: { + tokenToBurn(): Promise; + + tradeWithHint( + _fromToken: string, + _amount: BigNumberish, + _toToken: string, + _receiver: string, + _maxAmount: BigNumberish, + minConversionRate: BigNumberish, + _referral: string, + _filtering: Arrayish + ): Promise; + }; +} diff --git a/types/MockKyberProxyFactory.ts b/types/MockKyberProxyFactory.ts new file mode 100644 index 00000000..daa7eec1 --- /dev/null +++ b/types/MockKyberProxyFactory.ts @@ -0,0 +1,124 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockKyberProxy } from "./MockKyberProxy"; + +export class MockKyberProxyFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _tokenToBurn: string, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_tokenToBurn, overrides) as Promise; + } + getDeployTransaction( + _tokenToBurn: string, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_tokenToBurn, overrides); + } + attach(address: string): MockKyberProxy { + return super.attach(address) as MockKyberProxy; + } + connect(signer: Signer): MockKyberProxyFactory { + return super.connect(signer) as MockKyberProxyFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockKyberProxy { + return new Contract(address, _abi, signerOrProvider) as MockKyberProxy; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "contract MintableERC20", + name: "_tokenToBurn", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "tokenToBurn", + outputs: [ + { + internalType: "contract MintableERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_fromToken", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "contract IERC20", + name: "_toToken", + type: "address" + }, + { + internalType: "address", + name: "_receiver", + type: "address" + }, + { + internalType: "uint256", + name: "_maxAmount", + type: "uint256" + }, + { + internalType: "uint256", + name: "minConversionRate", + type: "uint256" + }, + { + internalType: "address", + name: "_referral", + type: "address" + }, + { + internalType: "bytes", + name: "_filtering", + type: "bytes" + } + ], + name: "tradeWithHint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "payable", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b506040516109203803806109208339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061088c806100946000396000f3fe6080604052600436106100295760003560e01c806329589f611461002e5780634f1b86eb1461015a575b600080fd5b610144600480360361010081101561004557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561010057600080fd5b82018360208201111561011257600080fd5b8035906020019184600183028401116401000000008311171561013457600080fd5b90919293919293905050506101b1565b6040518082815260200191505060405180910390f35b34801561016657600080fd5b5061016f6103b0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a0712d68670de0b6b3a76400006040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561022f57600080fd5b505af1158015610243573d6000803e3d6000fd5b505050506040513d602081101561025957600080fd5b81019080805190602001909291905050506102dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f54524144455f574954485f48494e542e205265766572746564206d696e74282981525060200191505060405180910390fd5b6102e46103d5565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16146103445761034333308b8d73ffffffffffffffffffffffffffffffffffffffff166103f1909392919063ffffffff16565b5b61039833670de0b6b3a76400006000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104de9092919063ffffffff16565b670de0b6b3a764000090509998505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b6104d8846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610596565b50505050565b6105918363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610596565b505050565b6105b58273ffffffffffffffffffffffffffffffffffffffff166107e1565b610627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106106765780518252602082019150602081019050602083039250610653565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106d8576040519150601f19603f3d011682016040523d82523d6000602084013e6106dd565b606091505b509150915081610755576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b6000815111156107db5780806020019051602081101561077457600080fd5b81019080805190602001909291905050506107da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061082d602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561082357506000801b8214155b9250505091905056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220e4edc96bf0a1cf3ebc50d752e471c20c700219387601db4e22992b5dd725cdca64736f6c63430006080033"; diff --git a/types/MockLend.d.ts b/types/MockLend.d.ts new file mode 100644 index 00000000..1c0f6008 --- /dev/null +++ b/types/MockLend.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockLendInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockLend extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockLend; + attach(addressOrName: string): MockLend; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockLend; + once(event: EventFilter | string, listener: Listener): MockLend; + addListener(eventName: EventFilter | string, listener: Listener): MockLend; + removeAllListeners(eventName: EventFilter | string): MockLend; + removeListener(eventName: any, listener: Listener): MockLend; + + interface: MockLendInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockLendFactory.ts b/types/MockLendFactory.ts new file mode 100644 index 00000000..87b52110 --- /dev/null +++ b/types/MockLendFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockLend } from "./MockLend"; + +export class MockLendFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockLend { + return super.attach(address) as MockLend; + } + connect(signer: Signer): MockLendFactory { + return super.connect(signer) as MockLendFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockLend { + return new Contract(address, _abi, signerOrProvider) as MockLend; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020017f4c454e44000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4c454e44000000000000000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208e9845b9c73772123b417ee8006a533e37120c0d6a606d6aa329711c97f3947f64736f6c63430006080033"; diff --git a/types/MockLendingPoolCore.d.ts b/types/MockLendingPoolCore.d.ts new file mode 100644 index 00000000..5907f44a --- /dev/null +++ b/types/MockLendingPoolCore.d.ts @@ -0,0 +1,1414 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockLendingPoolCoreInterface extends Interface { + functions: { + activateReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + addressesProvider: TypedFunctionDescription<{ encode([]: []): string }>; + + deactivateReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + disableBorrowingOnReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + disableReserveAsCollateral: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + disableReserveStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + enableBorrowingOnReserve: TypedFunctionDescription<{ + encode([_reserve, _stableBorrowRateEnabled]: [string, boolean]): string; + }>; + + enableReserveAsCollateral: TypedFunctionDescription<{ + encode([ + _reserve, + _baseLTVasCollateral, + _liquidationThreshold, + _liquidationBonus + ]: [string, BigNumberish, BigNumberish, BigNumberish]): string; + }>; + + enableReserveStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + freezeReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveATokenAddress: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveAvailableLiquidity: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveConfiguration: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveCurrentAverageStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveCurrentLiquidityRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveCurrentStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveCurrentVariableBorrowRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveDecimals: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveInterestRateStrategyAddress: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveIsActive: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveIsFreezed: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveIsStableBorrowRateEnabled: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveLastUpdate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveLiquidationBonus: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveLiquidationThreshold: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveLiquidityCumulativeIndex: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveNormalizedIncome: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveTotalBorrows: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveTotalBorrowsStable: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveTotalBorrowsVariable: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveTotalLiquidity: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveUtilizationRate: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserveVariableBorrowsCumulativeIndex: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + getReserves: TypedFunctionDescription<{ encode([]: []): string }>; + + getUserBasicReserveData: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserBorrowBalances: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserCurrentBorrowRateMode: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserCurrentStableBorrowRate: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserLastUpdate: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserOriginationFee: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserUnderlyingAssetBalance: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + getUserVariableBorrowCumulativeIndex: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + initReserve: TypedFunctionDescription<{ + encode([ + _reserve, + _aTokenAddress, + _decimals, + _interestRateStrategyAddress + ]: [string, string, BigNumberish, string]): string; + }>; + + initialize: TypedFunctionDescription<{ + encode([_addressesProvider]: [string]): string; + }>; + + isReserveBorrowingEnabled: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + isReserveUsageAsCollateralEnabled: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + isUserAllowedToBorrowAtStable: TypedFunctionDescription<{ + encode([_reserve, _user, _amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + isUserUseReserveAsCollateralEnabled: TypedFunctionDescription<{ + encode([_reserve, _user]: [string, string]): string; + }>; + + lendingPoolAddress: TypedFunctionDescription<{ encode([]: []): string }>; + + liquidateFee: TypedFunctionDescription<{ + encode([_token, _amount, _destination]: [ + string, + BigNumberish, + string + ]): string; + }>; + + refreshConfiguration: TypedFunctionDescription<{ encode([]: []): string }>; + + removeLastAddedReserve: TypedFunctionDescription<{ + encode([_reserveToRemove]: [string]): string; + }>; + + reservesList: TypedFunctionDescription<{ + encode([]: [BigNumberish]): string; + }>; + + setReserveBaseLTVasCollateral: TypedFunctionDescription<{ + encode([_reserve, _ltv]: [string, BigNumberish]): string; + }>; + + setReserveDecimals: TypedFunctionDescription<{ + encode([_reserve, _decimals]: [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; + }>; + + setUserUseReserveAsCollateral: TypedFunctionDescription<{ + encode([_reserve, _user, _useAsCollateral]: [ + string, + string, + boolean + ]): string; + }>; + + transferToFeeCollectionAddress: TypedFunctionDescription<{ + encode([_token, _user, _amount, _destination]: [ + string, + string, + BigNumberish, + string + ]): string; + }>; + + transferToReserve: TypedFunctionDescription<{ + encode([_reserve, _user, _amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + transferToUser: TypedFunctionDescription<{ + encode([_reserve, _user, _amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + unfreezeReserve: TypedFunctionDescription<{ + encode([_reserve]: [string]): string; + }>; + + updateStateOnBorrow: TypedFunctionDescription<{ + encode([_reserve, _user, _amountBorrowed, _borrowFee, _rateMode]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + updateStateOnDeposit: TypedFunctionDescription<{ + encode([_reserve, _user, _amount, _isFirstDeposit]: [ + string, + string, + BigNumberish, + boolean + ]): string; + }>; + + updateStateOnFlashLoan: TypedFunctionDescription<{ + encode([_reserve, _availableLiquidityBefore, _income, _protocolFee]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + updateStateOnLiquidation: TypedFunctionDescription<{ + encode([ + _principalReserve, + _collateralReserve, + _user, + _amountToLiquidate, + _collateralToLiquidate, + _feeLiquidated, + _liquidatedCollateralForFee, + _balanceIncrease, + _liquidatorReceivesAToken + ]: [ + string, + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + boolean + ]): string; + }>; + + updateStateOnRebalance: TypedFunctionDescription<{ + encode([_reserve, _user, _balanceIncrease]: [ + string, + string, + BigNumberish + ]): string; + }>; + + updateStateOnRedeem: TypedFunctionDescription<{ + encode([_reserve, _user, _amountRedeemed, _userRedeemedEverything]: [ + string, + string, + BigNumberish, + boolean + ]): string; + }>; + + updateStateOnRepay: TypedFunctionDescription<{ + encode([ + _reserve, + _user, + _paybackAmountMinusFees, + _originationFeeRepaid, + _balanceIncrease, + _repaidWholeLoan + ]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + boolean + ]): string; + }>; + + updateStateOnSwapRate: TypedFunctionDescription<{ + encode([ + _reserve, + _user, + _principalBorrowBalance, + _compoundedBorrowBalance, + _balanceIncrease, + _currentRateMode + ]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + }; + + events: { + ReserveDataUpdated: TypedEventDescription<{ + encodeTopics([ + reserve, + liquidityRate, + stableBorrowRate, + averageStableBorrowRate, + variableBorrowRate, + liquidityIndex, + variableBorrowIndex + ]: [string | null, null, null, null, null, null, null]): string[]; + }>; + + ReserveUpdated: TypedEventDescription<{ + encodeTopics([ + reserve, + liquidityRate, + stableBorrowRate, + variableBorrowRate, + liquidityIndex, + variableBorrowIndex + ]: [string | null, null, null, null, null, null]): string[]; + }>; + + ReserveUpdatedFromMock: TypedEventDescription<{ + encodeTopics([revision]: [BigNumberish | null]): string[]; + }>; + }; +} + +export class MockLendingPoolCore extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockLendingPoolCore; + attach(addressOrName: string): MockLendingPoolCore; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockLendingPoolCore; + once(event: EventFilter | string, listener: Listener): MockLendingPoolCore; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockLendingPoolCore; + removeAllListeners(eventName: EventFilter | string): MockLendingPoolCore; + removeListener(eventName: any, listener: Listener): MockLendingPoolCore; + + interface: MockLendingPoolCoreInterface; + + functions: { + activateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + addressesProvider(): Promise; + + deactivateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableBorrowingOnReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveAsCollateral( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + enableBorrowingOnReserve( + _reserve: string, + _stableBorrowRateEnabled: boolean, + overrides?: TransactionOverrides + ): Promise; + + enableReserveAsCollateral( + _reserve: string, + _baseLTVasCollateral: BigNumberish, + _liquidationThreshold: BigNumberish, + _liquidationBonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + enableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + freezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + getReserveATokenAddress(_reserve: string): Promise; + + getReserveAvailableLiquidity(_reserve: string): Promise; + + getReserveConfiguration( + _reserve: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: boolean; + }>; + + getReserveCurrentAverageStableBorrowRate( + _reserve: string + ): Promise; + + getReserveCurrentLiquidityRate(_reserve: string): Promise; + + getReserveCurrentStableBorrowRate(_reserve: string): Promise; + + getReserveCurrentVariableBorrowRate(_reserve: string): Promise; + + getReserveDecimals(_reserve: string): Promise; + + getReserveInterestRateStrategyAddress(_reserve: string): Promise; + + getReserveIsActive(_reserve: string): Promise; + + getReserveIsFreezed(_reserve: string): Promise; + + getReserveIsStableBorrowRateEnabled(_reserve: string): Promise; + + getReserveLastUpdate(_reserve: string): Promise; + + getReserveLiquidationBonus(_reserve: string): Promise; + + getReserveLiquidationThreshold(_reserve: string): Promise; + + getReserveLiquidityCumulativeIndex(_reserve: string): Promise; + + getReserveNormalizedIncome(_reserve: string): Promise; + + getReserveTotalBorrows(_reserve: string): Promise; + + getReserveTotalBorrowsStable(_reserve: string): Promise; + + getReserveTotalBorrowsVariable(_reserve: string): Promise; + + getReserveTotalLiquidity(_reserve: string): Promise; + + getReserveUtilizationRate(_reserve: string): Promise; + + getReserveVariableBorrowsCumulativeIndex( + _reserve: string + ): Promise; + + getReserves(): Promise; + + getUserBasicReserveData( + _reserve: string, + _user: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: boolean; + }>; + + getUserBorrowBalances( + _reserve: string, + _user: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + }>; + + getUserCurrentBorrowRateMode( + _reserve: string, + _user: string + ): Promise; + + getUserCurrentStableBorrowRate( + _reserve: string, + _user: string + ): Promise; + + getUserLastUpdate(_reserve: string, _user: string): Promise; + + getUserOriginationFee(_reserve: string, _user: string): Promise; + + getUserUnderlyingAssetBalance( + _reserve: string, + _user: string + ): Promise; + + getUserVariableBorrowCumulativeIndex( + _reserve: string, + _user: string + ): Promise; + + initReserve( + _reserve: string, + _aTokenAddress: string, + _decimals: BigNumberish, + _interestRateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + isReserveBorrowingEnabled(_reserve: string): Promise; + + isReserveUsageAsCollateralEnabled(_reserve: string): Promise; + + isUserAllowedToBorrowAtStable( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + isUserUseReserveAsCollateralEnabled( + _reserve: string, + _user: string + ): Promise; + + lendingPoolAddress(): Promise; + + liquidateFee( + _token: string, + _amount: BigNumberish, + _destination: string, + overrides?: TransactionOverrides + ): Promise; + + refreshConfiguration( + overrides?: TransactionOverrides + ): Promise; + + removeLastAddedReserve( + _reserveToRemove: string, + overrides?: TransactionOverrides + ): Promise; + + reservesList(arg0: BigNumberish): Promise; + + setReserveBaseLTVasCollateral( + _reserve: string, + _ltv: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveDecimals( + _reserve: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveInterestRateStrategyAddress( + _reserve: string, + _rateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setReserveLiquidationBonus( + _reserve: string, + _bonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveLiquidationThreshold( + _reserve: string, + _threshold: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setUserUseReserveAsCollateral( + _reserve: string, + _user: string, + _useAsCollateral: boolean, + overrides?: TransactionOverrides + ): Promise; + + transferToFeeCollectionAddress( + _token: string, + _user: string, + _amount: BigNumberish, + _destination: string, + overrides?: TransactionOverrides + ): Promise; + + transferToReserve( + _reserve: string, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferToUser( + _reserve: string, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unfreezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnBorrow( + _reserve: string, + _user: string, + _amountBorrowed: BigNumberish, + _borrowFee: BigNumberish, + _rateMode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnDeposit( + _reserve: string, + _user: string, + _amount: BigNumberish, + _isFirstDeposit: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnFlashLoan( + _reserve: string, + _availableLiquidityBefore: BigNumberish, + _income: BigNumberish, + _protocolFee: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnLiquidation( + _principalReserve: string, + _collateralReserve: string, + _user: string, + _amountToLiquidate: BigNumberish, + _collateralToLiquidate: BigNumberish, + _feeLiquidated: BigNumberish, + _liquidatedCollateralForFee: BigNumberish, + _balanceIncrease: BigNumberish, + _liquidatorReceivesAToken: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRebalance( + _reserve: string, + _user: string, + _balanceIncrease: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRedeem( + _reserve: string, + _user: string, + _amountRedeemed: BigNumberish, + _userRedeemedEverything: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRepay( + _reserve: string, + _user: string, + _paybackAmountMinusFees: BigNumberish, + _originationFeeRepaid: BigNumberish, + _balanceIncrease: BigNumberish, + _repaidWholeLoan: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnSwapRate( + _reserve: string, + _user: string, + _principalBorrowBalance: BigNumberish, + _compoundedBorrowBalance: BigNumberish, + _balanceIncrease: BigNumberish, + _currentRateMode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + activateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + addressesProvider(): Promise; + + deactivateReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableBorrowingOnReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveAsCollateral( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + disableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + enableBorrowingOnReserve( + _reserve: string, + _stableBorrowRateEnabled: boolean, + overrides?: TransactionOverrides + ): Promise; + + enableReserveAsCollateral( + _reserve: string, + _baseLTVasCollateral: BigNumberish, + _liquidationThreshold: BigNumberish, + _liquidationBonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + enableReserveStableBorrowRate( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + freezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + getReserveATokenAddress(_reserve: string): Promise; + + getReserveAvailableLiquidity(_reserve: string): Promise; + + getReserveConfiguration( + _reserve: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: boolean; + }>; + + getReserveCurrentAverageStableBorrowRate( + _reserve: string + ): Promise; + + getReserveCurrentLiquidityRate(_reserve: string): Promise; + + getReserveCurrentStableBorrowRate(_reserve: string): Promise; + + getReserveCurrentVariableBorrowRate(_reserve: string): Promise; + + getReserveDecimals(_reserve: string): Promise; + + getReserveInterestRateStrategyAddress(_reserve: string): Promise; + + getReserveIsActive(_reserve: string): Promise; + + getReserveIsFreezed(_reserve: string): Promise; + + getReserveIsStableBorrowRateEnabled(_reserve: string): Promise; + + getReserveLastUpdate(_reserve: string): Promise; + + getReserveLiquidationBonus(_reserve: string): Promise; + + getReserveLiquidationThreshold(_reserve: string): Promise; + + getReserveLiquidityCumulativeIndex(_reserve: string): Promise; + + getReserveNormalizedIncome(_reserve: string): Promise; + + getReserveTotalBorrows(_reserve: string): Promise; + + getReserveTotalBorrowsStable(_reserve: string): Promise; + + getReserveTotalBorrowsVariable(_reserve: string): Promise; + + getReserveTotalLiquidity(_reserve: string): Promise; + + getReserveUtilizationRate(_reserve: string): Promise; + + getReserveVariableBorrowsCumulativeIndex( + _reserve: string + ): Promise; + + getReserves(): Promise; + + getUserBasicReserveData( + _reserve: string, + _user: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + 3: boolean; + }>; + + getUserBorrowBalances( + _reserve: string, + _user: string + ): Promise<{ + 0: BigNumber; + 1: BigNumber; + 2: BigNumber; + }>; + + getUserCurrentBorrowRateMode( + _reserve: string, + _user: string + ): Promise; + + getUserCurrentStableBorrowRate( + _reserve: string, + _user: string + ): Promise; + + getUserLastUpdate(_reserve: string, _user: string): Promise; + + getUserOriginationFee(_reserve: string, _user: string): Promise; + + getUserUnderlyingAssetBalance( + _reserve: string, + _user: string + ): Promise; + + getUserVariableBorrowCumulativeIndex( + _reserve: string, + _user: string + ): Promise; + + initReserve( + _reserve: string, + _aTokenAddress: string, + _decimals: BigNumberish, + _interestRateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _addressesProvider: string, + overrides?: TransactionOverrides + ): Promise; + + isReserveBorrowingEnabled(_reserve: string): Promise; + + isReserveUsageAsCollateralEnabled(_reserve: string): Promise; + + isUserAllowedToBorrowAtStable( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + isUserUseReserveAsCollateralEnabled( + _reserve: string, + _user: string + ): Promise; + + lendingPoolAddress(): Promise; + + liquidateFee( + _token: string, + _amount: BigNumberish, + _destination: string, + overrides?: TransactionOverrides + ): Promise; + + refreshConfiguration( + overrides?: TransactionOverrides + ): Promise; + + removeLastAddedReserve( + _reserveToRemove: string, + overrides?: TransactionOverrides + ): Promise; + + reservesList(arg0: BigNumberish): Promise; + + setReserveBaseLTVasCollateral( + _reserve: string, + _ltv: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveDecimals( + _reserve: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveInterestRateStrategyAddress( + _reserve: string, + _rateStrategyAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setReserveLiquidationBonus( + _reserve: string, + _bonus: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setReserveLiquidationThreshold( + _reserve: string, + _threshold: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setUserUseReserveAsCollateral( + _reserve: string, + _user: string, + _useAsCollateral: boolean, + overrides?: TransactionOverrides + ): Promise; + + transferToFeeCollectionAddress( + _token: string, + _user: string, + _amount: BigNumberish, + _destination: string, + overrides?: TransactionOverrides + ): Promise; + + transferToReserve( + _reserve: string, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferToUser( + _reserve: string, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unfreezeReserve( + _reserve: string, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnBorrow( + _reserve: string, + _user: string, + _amountBorrowed: BigNumberish, + _borrowFee: BigNumberish, + _rateMode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnDeposit( + _reserve: string, + _user: string, + _amount: BigNumberish, + _isFirstDeposit: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnFlashLoan( + _reserve: string, + _availableLiquidityBefore: BigNumberish, + _income: BigNumberish, + _protocolFee: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnLiquidation( + _principalReserve: string, + _collateralReserve: string, + _user: string, + _amountToLiquidate: BigNumberish, + _collateralToLiquidate: BigNumberish, + _feeLiquidated: BigNumberish, + _liquidatedCollateralForFee: BigNumberish, + _balanceIncrease: BigNumberish, + _liquidatorReceivesAToken: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRebalance( + _reserve: string, + _user: string, + _balanceIncrease: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRedeem( + _reserve: string, + _user: string, + _amountRedeemed: BigNumberish, + _userRedeemedEverything: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnRepay( + _reserve: string, + _user: string, + _paybackAmountMinusFees: BigNumberish, + _originationFeeRepaid: BigNumberish, + _balanceIncrease: BigNumberish, + _repaidWholeLoan: boolean, + overrides?: TransactionOverrides + ): Promise; + + updateStateOnSwapRate( + _reserve: string, + _user: string, + _principalBorrowBalance: BigNumberish, + _compoundedBorrowBalance: BigNumberish, + _balanceIncrease: BigNumberish, + _currentRateMode: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + ReserveDataUpdated( + reserve: string | null, + liquidityRate: null, + stableBorrowRate: null, + averageStableBorrowRate: null, + variableBorrowRate: null, + liquidityIndex: null, + variableBorrowIndex: null + ): EventFilter; + + ReserveUpdated( + reserve: string | null, + liquidityRate: null, + stableBorrowRate: null, + variableBorrowRate: null, + liquidityIndex: null, + variableBorrowIndex: null + ): EventFilter; + + ReserveUpdatedFromMock(revision: BigNumberish | null): EventFilter; + }; + + estimate: { + activateReserve(_reserve: string): Promise; + + addressesProvider(): Promise; + + deactivateReserve(_reserve: string): Promise; + + disableBorrowingOnReserve(_reserve: string): Promise; + + disableReserveAsCollateral(_reserve: string): Promise; + + disableReserveStableBorrowRate(_reserve: string): Promise; + + enableBorrowingOnReserve( + _reserve: string, + _stableBorrowRateEnabled: boolean + ): Promise; + + enableReserveAsCollateral( + _reserve: string, + _baseLTVasCollateral: BigNumberish, + _liquidationThreshold: BigNumberish, + _liquidationBonus: BigNumberish + ): Promise; + + enableReserveStableBorrowRate(_reserve: string): Promise; + + freezeReserve(_reserve: string): Promise; + + getReserveATokenAddress(_reserve: string): Promise; + + getReserveAvailableLiquidity(_reserve: string): Promise; + + getReserveConfiguration(_reserve: string): Promise; + + getReserveCurrentAverageStableBorrowRate( + _reserve: string + ): Promise; + + getReserveCurrentLiquidityRate(_reserve: string): Promise; + + getReserveCurrentStableBorrowRate(_reserve: string): Promise; + + getReserveCurrentVariableBorrowRate(_reserve: string): Promise; + + getReserveDecimals(_reserve: string): Promise; + + getReserveInterestRateStrategyAddress(_reserve: string): Promise; + + getReserveIsActive(_reserve: string): Promise; + + getReserveIsFreezed(_reserve: string): Promise; + + getReserveIsStableBorrowRateEnabled(_reserve: string): Promise; + + getReserveLastUpdate(_reserve: string): Promise; + + getReserveLiquidationBonus(_reserve: string): Promise; + + getReserveLiquidationThreshold(_reserve: string): Promise; + + getReserveLiquidityCumulativeIndex(_reserve: string): Promise; + + getReserveNormalizedIncome(_reserve: string): Promise; + + getReserveTotalBorrows(_reserve: string): Promise; + + getReserveTotalBorrowsStable(_reserve: string): Promise; + + getReserveTotalBorrowsVariable(_reserve: string): Promise; + + getReserveTotalLiquidity(_reserve: string): Promise; + + getReserveUtilizationRate(_reserve: string): Promise; + + getReserveVariableBorrowsCumulativeIndex( + _reserve: string + ): Promise; + + getReserves(): Promise; + + getUserBasicReserveData( + _reserve: string, + _user: string + ): Promise; + + getUserBorrowBalances(_reserve: string, _user: string): Promise; + + getUserCurrentBorrowRateMode( + _reserve: string, + _user: string + ): Promise; + + getUserCurrentStableBorrowRate( + _reserve: string, + _user: string + ): Promise; + + getUserLastUpdate(_reserve: string, _user: string): Promise; + + getUserOriginationFee(_reserve: string, _user: string): Promise; + + getUserUnderlyingAssetBalance( + _reserve: string, + _user: string + ): Promise; + + getUserVariableBorrowCumulativeIndex( + _reserve: string, + _user: string + ): Promise; + + initReserve( + _reserve: string, + _aTokenAddress: string, + _decimals: BigNumberish, + _interestRateStrategyAddress: string + ): Promise; + + initialize(_addressesProvider: string): Promise; + + isReserveBorrowingEnabled(_reserve: string): Promise; + + isReserveUsageAsCollateralEnabled(_reserve: string): Promise; + + isUserAllowedToBorrowAtStable( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + isUserUseReserveAsCollateralEnabled( + _reserve: string, + _user: string + ): Promise; + + lendingPoolAddress(): Promise; + + liquidateFee( + _token: string, + _amount: BigNumberish, + _destination: string + ): Promise; + + refreshConfiguration(): Promise; + + removeLastAddedReserve(_reserveToRemove: string): Promise; + + reservesList(arg0: BigNumberish): Promise; + + setReserveBaseLTVasCollateral( + _reserve: string, + _ltv: BigNumberish + ): Promise; + + setReserveDecimals( + _reserve: string, + _decimals: BigNumberish + ): Promise; + + setReserveInterestRateStrategyAddress( + _reserve: string, + _rateStrategyAddress: string + ): Promise; + + setReserveLiquidationBonus( + _reserve: string, + _bonus: BigNumberish + ): Promise; + + setReserveLiquidationThreshold( + _reserve: string, + _threshold: BigNumberish + ): Promise; + + setUserUseReserveAsCollateral( + _reserve: string, + _user: string, + _useAsCollateral: boolean + ): Promise; + + transferToFeeCollectionAddress( + _token: string, + _user: string, + _amount: BigNumberish, + _destination: string + ): Promise; + + transferToReserve( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + transferToUser( + _reserve: string, + _user: string, + _amount: BigNumberish + ): Promise; + + unfreezeReserve(_reserve: string): Promise; + + updateStateOnBorrow( + _reserve: string, + _user: string, + _amountBorrowed: BigNumberish, + _borrowFee: BigNumberish, + _rateMode: BigNumberish + ): Promise; + + updateStateOnDeposit( + _reserve: string, + _user: string, + _amount: BigNumberish, + _isFirstDeposit: boolean + ): Promise; + + updateStateOnFlashLoan( + _reserve: string, + _availableLiquidityBefore: BigNumberish, + _income: BigNumberish, + _protocolFee: BigNumberish + ): Promise; + + updateStateOnLiquidation( + _principalReserve: string, + _collateralReserve: string, + _user: string, + _amountToLiquidate: BigNumberish, + _collateralToLiquidate: BigNumberish, + _feeLiquidated: BigNumberish, + _liquidatedCollateralForFee: BigNumberish, + _balanceIncrease: BigNumberish, + _liquidatorReceivesAToken: boolean + ): Promise; + + updateStateOnRebalance( + _reserve: string, + _user: string, + _balanceIncrease: BigNumberish + ): Promise; + + updateStateOnRedeem( + _reserve: string, + _user: string, + _amountRedeemed: BigNumberish, + _userRedeemedEverything: boolean + ): Promise; + + updateStateOnRepay( + _reserve: string, + _user: string, + _paybackAmountMinusFees: BigNumberish, + _originationFeeRepaid: BigNumberish, + _balanceIncrease: BigNumberish, + _repaidWholeLoan: boolean + ): Promise; + + updateStateOnSwapRate( + _reserve: string, + _user: string, + _principalBorrowBalance: BigNumberish, + _compoundedBorrowBalance: BigNumberish, + _balanceIncrease: BigNumberish, + _currentRateMode: BigNumberish + ): Promise; + }; +} diff --git a/types/MockLendingPoolCoreFactory.ts b/types/MockLendingPoolCoreFactory.ts new file mode 100644 index 00000000..535a03ac --- /dev/null +++ b/types/MockLendingPoolCoreFactory.ts @@ -0,0 +1,1711 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockLendingPoolCore } from "./MockLendingPoolCore"; + +export class MockLendingPoolCoreFactory extends ContractFactory { + constructor( + linkLibraryAddresses: MockLendingPoolCoreLibraryAddresses, + signer?: Signer + ) { + super( + _abi, + MockLendingPoolCoreFactory.linkBytecode(linkLibraryAddresses), + signer + ); + } + + static linkBytecode( + linkLibraryAddresses: MockLendingPoolCoreLibraryAddresses + ): string { + let linkedBytecode = _bytecode; + + linkedBytecode = linkedBytecode.replace( + new RegExp("__\\$2ec35834968386f54fa313129cf94664e4\\$__", "g"), + linkLibraryAddresses["__$2ec35834968386f54fa313129cf94664e4$__"] + .replace(/^0x/, "") + .toLowerCase() + ); + + return linkedBytecode; + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockLendingPoolCore { + return super.attach(address) as MockLendingPoolCore; + } + connect(signer: Signer): MockLendingPoolCoreFactory { + return super.connect(signer) as MockLendingPoolCoreFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockLendingPoolCore { + return new Contract(address, _abi, signerOrProvider) as MockLendingPoolCore; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "liquidityRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "stableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "averageStableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "variableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "liquidityIndex", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "variableBorrowIndex", + type: "uint256" + } + ], + name: "ReserveDataUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "reserve", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "liquidityRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "stableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "variableBorrowRate", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "liquidityIndex", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "variableBorrowIndex", + type: "uint256" + } + ], + name: "ReserveUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "revision", + type: "uint256" + } + ], + name: "ReserveUpdatedFromMock", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "activateReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "addressesProvider", + outputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "deactivateReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "disableBorrowingOnReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "disableReserveAsCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "disableReserveStableBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "bool", + name: "_stableBorrowRateEnabled", + type: "bool" + } + ], + name: "enableBorrowingOnReserve", + 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: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "enableReserveStableBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "freezeReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveATokenAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveAvailableLiquidity", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveConfiguration", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveCurrentAverageStableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveCurrentLiquidityRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveCurrentStableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveCurrentVariableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveDecimals", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveInterestRateStrategyAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveIsActive", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveIsFreezed", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveIsStableBorrowRateEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveLastUpdate", + outputs: [ + { + internalType: "uint40", + name: "timestamp", + type: "uint40" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveLiquidationBonus", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveLiquidationThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveLiquidityCumulativeIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveNormalizedIncome", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveTotalBorrows", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveTotalBorrowsStable", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveTotalBorrowsVariable", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveTotalLiquidity", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveUtilizationRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "getReserveVariableBorrowsCumulativeIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getReserves", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserBasicReserveData", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserBorrowBalances", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserCurrentBorrowRateMode", + outputs: [ + { + internalType: "enum CoreLibrary.InterestRateMode", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserCurrentStableBorrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserLastUpdate", + outputs: [ + { + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserOriginationFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserUnderlyingAssetBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserVariableBorrowCumulativeIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_aTokenAddress", + type: "address" + }, + { + internalType: "uint256", + name: "_decimals", + type: "uint256" + }, + { + internalType: "address", + name: "_interestRateStrategyAddress", + type: "address" + } + ], + name: "initReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "_addressesProvider", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "isReserveBorrowingEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "isReserveUsageAsCollateralEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "isUserAllowedToBorrowAtStable", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "isUserUseReserveAsCollateralEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "lendingPoolAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "address", + name: "_destination", + type: "address" + } + ], + name: "liquidateFee", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "refreshConfiguration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserveToRemove", + type: "address" + } + ], + name: "removeLastAddedReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "reservesList", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_ltv", + type: "uint256" + } + ], + name: "setReserveBaseLTVasCollateral", + 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: "address", + name: "_rateStrategyAddress", + type: "address" + } + ], + name: "setReserveInterestRateStrategyAddress", + outputs: [], + 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: "address", + name: "_user", + type: "address" + }, + { + internalType: "bool", + name: "_useAsCollateral", + type: "bool" + } + ], + name: "setUserUseReserveAsCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "address", + name: "_destination", + type: "address" + } + ], + name: "transferToFeeCollectionAddress", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address payable", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "transferToReserve", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address payable", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "transferToUser", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + } + ], + name: "unfreezeReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amountBorrowed", + type: "uint256" + }, + { + internalType: "uint256", + name: "_borrowFee", + type: "uint256" + }, + { + internalType: "enum CoreLibrary.InterestRateMode", + name: "_rateMode", + type: "uint8" + } + ], + name: "updateStateOnBorrow", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "bool", + name: "_isFirstDeposit", + type: "bool" + } + ], + name: "updateStateOnDeposit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "uint256", + name: "_availableLiquidityBefore", + type: "uint256" + }, + { + internalType: "uint256", + name: "_income", + type: "uint256" + }, + { + internalType: "uint256", + name: "_protocolFee", + type: "uint256" + } + ], + name: "updateStateOnFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_principalReserve", + type: "address" + }, + { + internalType: "address", + name: "_collateralReserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amountToLiquidate", + type: "uint256" + }, + { + internalType: "uint256", + name: "_collateralToLiquidate", + type: "uint256" + }, + { + internalType: "uint256", + name: "_feeLiquidated", + type: "uint256" + }, + { + internalType: "uint256", + name: "_liquidatedCollateralForFee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + }, + { + internalType: "bool", + name: "_liquidatorReceivesAToken", + type: "bool" + } + ], + name: "updateStateOnLiquidation", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + } + ], + name: "updateStateOnRebalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amountRedeemed", + type: "uint256" + }, + { + internalType: "bool", + name: "_userRedeemedEverything", + type: "bool" + } + ], + name: "updateStateOnRedeem", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_paybackAmountMinusFees", + type: "uint256" + }, + { + internalType: "uint256", + name: "_originationFeeRepaid", + type: "uint256" + }, + { + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + }, + { + internalType: "bool", + name: "_repaidWholeLoan", + type: "bool" + } + ], + name: "updateStateOnRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_principalBorrowBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "_compoundedBorrowBalance", + type: "uint256" + }, + { + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + }, + { + internalType: "enum CoreLibrary.InterestRateMode", + name: "_currentRateMode", + type: "uint8" + } + ], + name: "updateStateOnSwapRate", + outputs: [ + { + internalType: "enum CoreLibrary.InterestRateMode", + name: "", + type: "uint8" + }, + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x6080604052600080553480156200001557600080fd5b50619ce480620000266000396000f3fe6080604052600436106104145760003560e01c8063a2353fdc1161021e578063d15e005311610123578063e8ae2f5b116100ab578063f61483111161007a578063f61483111461211b578063f6ea8d76146121e0578063fa51854c14612265578063fa93b2a5146122e2578063feab31ac1461235d5761048f565b8063e8ae2f5b14611fb7578063eede87c114612008578063ef1f937314612065578063f054ab46146120b65761048f565b8063dae4c4e7116100f2578063dae4c4e714611d6b578063e10076ad14611dbc578063e2174d8614611e5a578063e240301914611eed578063e6d1819014611f525761048f565b8063d15e005314611bb9578063d3ae26b314611c1e578063d466016f14611c75578063da12d96f14611cd05761048f565b8063bd7fd79a116101a6578063c540148e11610175578063c540148e146119b9578063c72c4d1014611a1e578063c76a6c9c14611a75578063c7d1423714611ada578063d06e2ec114611b685761048f565b8063bd7fd79a14611839578063bfacad841461189e578063c33cfd9014611903578063c4d66de8146119685761048f565b8063afcdbea3116101ed578063afcdbea314611624578063b701d093146116ab578063b75d6f3414611710578063b8c0f74514611761578063bcd6ffa4146117b25761048f565b8063a2353fdc14611470578063a5bc826c146114d5578063a8dc0f4514611544578063af825b07146115955761048f565b80635cf2e656116103245780637aca76eb116102ac578063906c0a411161027b578063906c0a411461122157806398bd4737146112865780639e3c4f3b146112eb5780639e674848146113745780639fb8afcd146113dd5761048f565b80637aca76eb146110985780637f90fec5146110e957806388079d881461114e5780638f385c22146111b35761048f565b806366d103f3116102f357806366d103f314610dd257806368beb4d614610e575780636ae1441614610f275780636fffab0c14610fb857806370fb84f41461103d5761048f565b80635cf2e65614610c795780635fc526ff14610ce25780636468108314610d6057806366bbd92814610d775761048f565b80633443a14b116103a757806345330a401161037657806345330a4014610a2257806346bc0f2814610abd5780634a08accb14610b225780634f14460914610b8b5780634fe7a6e514610bfe5761048f565b80633443a14b1461083857806334b3beee1461089357806337ac6fe4146109245780633e72a454146109d15761048f565b806318f9bbae116103e357806318f9bbae1461065d5780631ca19f19146106c65780631d2118f91461075957806328fcf4d3146107ca5761048f565b806305075d6e146104945780630902f1ac146104fd57806309ac29531461056957806318a4dbca146105d85761048f565b3661048f576104383373ffffffffffffffffffffffffffffffffffffffff166123e2565b61048d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180619a136036913960400191505060405180910390fd5b005b600080fd5b3480156104a057600080fd5b506104e3600480360360208110156104b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061242d565b604051808215151515815260200191505060405180910390f35b34801561050957600080fd5b5061051261248b565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561055557808201518184015260208101905061053a565b505050509050019250505060405180910390f35b34801561057557600080fd5b506105d66004803603608081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050612519565b005b3480156105e457600080fd5b50610647600480360360408110156105fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612695565b6040518082815260200191505060405180910390f35b34801561066957600080fd5b506106ac6004803603602081101561068057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127be565b604051808215151515815260200191505060405180910390f35b3480156106d257600080fd5b50610735600480360360408110156106e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061281c565b6040518082600281111561074557fe5b60ff16815260200191505060405180910390f35b34801561076557600080fd5b506107c86004803603604081101561077c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128d4565b005b610836600480360360608110156107e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612a7f565b005b34801561084457600080fd5b506108916004803603604081101561085b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d4c565b005b34801561089f57600080fd5b506108e2600480360360208110156108b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ec3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093057600080fd5b506109b4600480360360a081101561094757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190505050612f34565b604051808381526020018281526020019250505060405180910390f35b3480156109dd57600080fd5b50610a20600480360360208110156109f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613032565b005b348015610a2e57600080fd5b50610abb60048036036080811015610a4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506131bc565b005b348015610ac957600080fd5b50610b0c60048036036020811015610ae057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613408565b6040518082815260200191505060405180910390f35b348015610b2e57600080fd5b50610b7160048036036020811015610b4557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613459565b604051808215151515815260200191505060405180910390f35b348015610b9757600080fd5b50610bda60048036036020811015610bae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506134b7565b604051808264ffffffffff1664ffffffffff16815260200191505060405180910390f35b348015610c0a57600080fd5b50610c3760048036036020811015610c2157600080fd5b8101908080359060200190929190505050613519565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c8557600080fd5b50610cc860048036036020811015610c9c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613555565b604051808215151515815260200191505060405180910390f35b348015610cee57600080fd5b50610d3160048036036020811015610d0557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506135b3565b604051808581526020018481526020018381526020018215151515815260200194505050505060405180910390f35b348015610d6c57600080fd5b50610d75613643565b005b348015610d8357600080fd5b50610dd060048036036040811015610d9a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613773565b005b348015610dde57600080fd5b50610e4160048036036040811015610df557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506138ea565b6040518082815260200191505060405180910390f35b348015610e6357600080fd5b50610f256004803603610120811015610e7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190505050613991565b005b348015610f3357600080fd5b50610f7660048036036020811015610f4a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613a94565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610fc457600080fd5b5061102760048036036040811015610fdb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b05565b6040518082815260200191505060405180910390f35b34801561104957600080fd5b506110966004803603604081101561106057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613b94565b005b3480156110a457600080fd5b506110e7600480360360208110156110bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613d0b565b005b3480156110f557600080fd5b506111386004803603602081101561110c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e95565b6040518082815260200191505060405180910390f35b34801561115a57600080fd5b5061119d6004803603602081101561117157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ee6565b6040518082815260200191505060405180910390f35b61121f600480360360608110156111c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506140ae565b005b34801561122d57600080fd5b506112706004803603602081101561124457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614305565b6040518082815260200191505060405180910390f35b34801561129257600080fd5b506112d5600480360360208110156112a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614411565b6040518082815260200191505060405180910390f35b3480156112f757600080fd5b5061135a6004803603604081101561130e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614462565b604051808215151515815260200191505060405180910390f35b34801561138057600080fd5b506113c36004803603602081101561139757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506144fe565b604051808215151515815260200191505060405180910390f35b3480156113e957600080fd5b5061144c6004803603604081101561140057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061455c565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561147c57600080fd5b506114bf6004803603602081101561149357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614682565b6040518082815260200191505060405180910390f35b3480156114e157600080fd5b50611542600480360360808110156114f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291905050506146ce565b005b34801561155057600080fd5b506115936004803603602081101561156757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506148b9565b005b3480156115a157600080fd5b5061160e600480360360608110156115b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614a89565b6040518082815260200191505060405180910390f35b34801561163057600080fd5b506116a96004803603608081101561164757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050614bdc565b005b3480156116b757600080fd5b506116fa600480360360208110156116ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614cee565b6040518082815260200191505060405180910390f35b34801561171c57600080fd5b5061175f6004803603602081101561173357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614d3f565b005b34801561176d57600080fd5b506117b06004803603602081101561178457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614f36565b005b3480156117be57600080fd5b50611837600480360360808110156117d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035151590602001909291905050506150c0565b005b34801561184557600080fd5b506118886004803603602081101561185c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506151d2565b6040518082815260200191505060405180910390f35b3480156118aa57600080fd5b506118ed600480360360208110156118c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615223565b6040518082815260200191505060405180910390f35b34801561190f57600080fd5b506119526004803603602081101561192657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506152c5565b6040518082815260200191505060405180910390f35b34801561197457600080fd5b506119b76004803603602081101561198b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615334565b005b3480156119c557600080fd5b50611a08600480360360208110156119dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061546d565b6040518082815260200191505060405180910390f35b348015611a2a57600080fd5b50611a336154be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015611a8157600080fd5b50611ac460048036036020811015611a9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506154e4565b6040518082815260200191505060405180910390f35b611b6660048036036080811015611af057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615535565b005b348015611b7457600080fd5b50611bb760048036036020811015611b8b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506157e8565b005b348015611bc557600080fd5b50611c0860048036036020811015611bdc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615e40565b6040518082815260200191505060405180910390f35b348015611c2a57600080fd5b50611c33615e95565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015611c8157600080fd5b50611cce60048036036040811015611c9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050615ebb565b005b348015611cdc57600080fd5b50611d69600480360360c0811015611cf357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190505050616032565b005b348015611d7757600080fd5b50611dba60048036036020811015611d8e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616106565b005b348015611dc857600080fd5b50611e2b60048036036040811015611ddf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616290565b604051808581526020018481526020018381526020018215151515815260200194505050505060405180910390f35b348015611e6657600080fd5b50611ed360048036036060811015611e7d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506163e0565b604051808215151515815260200191505060405180910390f35b348015611ef957600080fd5b50611f3c60048036036020811015611f1057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616511565b6040518082815260200191505060405180910390f35b348015611f5e57600080fd5b50611fa160048036036020811015611f7557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061661f565b6040518082815260200191505060405180910390f35b348015611fc357600080fd5b5061200660048036036020811015611fda57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061666f565b005b34801561201457600080fd5b506120636004803603604081101561202b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061683f565b005b34801561207157600080fd5b506120b46004803603602081101561208857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616a1c565b005b3480156120c257600080fd5b50612105600480360360208110156120d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616ba6565b6040518082815260200191505060405180910390f35b34801561212757600080fd5b506121b5600480360360c081101561213e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803560ff169060200190929190505050616bf7565b604051808360028111156121c557fe5b60ff1681526020018281526020019250505060405180910390f35b3480156121ec57600080fd5b5061224f6004803603604081101561220357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616ce4565b6040518082815260200191505060405180910390f35b34801561227157600080fd5b506122e06004803603606081101561228857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050616d73565b005b3480156122ee57600080fd5b5061235b6004803603606081101561230557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050616ebb565b005b34801561236957600080fd5b506123cc6004803603604081101561238057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506170b3565b6040518082815260200191505060405180910390f35b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561242457506000801b8214155b92505050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d01601c9054906101000a900460ff16915050919050565b6060603880548060200260200160405190810160405280929190818152602001828054801561250f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116124c5575b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b6125c98482617142565b612610603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b600061262d61261e8661661f565b856173c290919063ffffffff16565b90506126828184603660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061744a9092919063ffffffff16565b61268e858460006174b5565b5050505050565b600080603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561277a57600080fd5b505afa15801561278e573d6000803e3d6000fd5b505050506040513d60208110156127a457600080fd5b810190808051906020019092919050505091505092915050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d01601a9054906101000a900460ff16915050919050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015414156128b45760009150506128ce565b60008160030154116128c75760026128ca565b60015b9150505b92915050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561295357600080fd5b505afa158015612967573d6000803e3d6000fd5b505050506040513d602081101561297d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146129fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b80603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b612b2d6174f9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612bea5760003414612bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180619aa96032913960400191505060405180910390fd5b612be58230838673ffffffffffffffffffffffffffffffffffffffff16617515909392919063ffffffff16565b612d47565b80341015612c43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806199de6035913960400191505060405180910390fd5b80341115612d46576000612c60823461760290919063ffffffff16565b905060008373ffffffffffffffffffffffffffffffffffffffff168361c35090604051806000019050600060405180830381858888f193505050503d8060008114612cc7576040519150601f19603f3d011682016040523d82523d6000602084013e612ccc565b606091505b5050905080612d43576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5472616e73666572206f6620455448206661696c65640000000000000000000081525060200191505060405180910390fd5b50505b5b505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcb57600080fd5b505afa158015612ddf573d6000803e3d6000fd5b505050506040513d6020811015612df557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614612e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160090181905550505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600c0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612fdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b600080612fea898961455c565b9250509150612ffd898984848b8a61764c565b61300b898989848a8a6176a9565b613017896000896174b5565b61302189896178cf565b819350935050509550959350505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156130b157600080fd5b505afa1580156130c5573d6000803e3d6000fd5b505050506040513d60208110156130db57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613158576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600d01601c6101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561323b57600080fd5b505afa15801561324f573d6000803e3d6000fd5b505050506040513d602081101561326557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146132e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__6313769cd490918585856040518563ffffffff1660e01b8152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060006040518083038186803b1580156133e157600080fd5b505af41580156133f5573d6000803e3d6000fd5b50505050613402846179f8565b50505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060060154915050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d01601d9054906101000a900460ff16915050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d0160149054906101000a900464ffffffffff16915050919050565b6038818154811061352657fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d0160199054906101000a900460ff16915050919050565b6000806000806000806000806000603660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600b01549450806008015493508060090154925080600d01601a9054906101000a900460ff16915084848484985098509850985050505050509193509193565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156136c257600080fd5b505afa1580156136d6573d6000803e3d6000fd5b505050506040513d60208110156136ec57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613769576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b613771617afb565b565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156137f257600080fd5b505afa158015613806573d6000803e3d6000fd5b505050506040513d602081101561381c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613899576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508181600b0181905550505050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060040160009054906101000a900464ffffffffff1664ffffffffff1691505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613a37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b613a4389888885617be0565b613a4c88617d40565b613a598988888786617d8a565b613a65898760006174b5565b80613a8957613a88886000613a8386896173c290919063ffffffff16565b6174b5565b5b505050505050505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806003015491505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015613c1357600080fd5b505afa158015613c27573d6000803e3d6000fd5b505050506040513d6020811015613c3d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508181600a0181905550505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015613d8a57600080fd5b505afa158015613d9e573d6000803e3d6000fd5b505050506040513d6020811015613db457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600181600d01601d6101000a81548160ff0219169083151502179055505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060020154915050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633618abba6040518163ffffffff1660e01b815260040160206040518083038186803b158015613f9457600080fd5b505afa158015613fa8573d6000803e3d6000fd5b505050506040513d6020811015613fbe57600080fd5b8101908080519060200190929190505050905060008260050154141561409f578073ffffffffffffffffffffffffffffffffffffffff1663bb85c0bb856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561405b57600080fd5b505afa15801561406f573d6000803e3d6000fd5b505050506040513d602081101561408557600080fd5b8101908080519060200190929190505050925050506140a9565b8160050154925050505b919050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b6000819050600034146141b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806199586036913960400191505060405180910390fd5b6141ba6174f9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461421c5761421781848673ffffffffffffffffffffffffffffffffffffffff16617f0a9092919063ffffffff16565b6142ff565b60008173ffffffffffffffffffffffffffffffffffffffff168461c35090604051806000019050600060405180830381858888f193505050503d8060008114614281576040519150601f19603f3d011682016040523d82523d6000602084013e614286565b606091505b50509050806142fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5472616e73666572206f6620455448206661696c65640000000000000000000081525060200191505060405180910390fd5b505b50505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816004015414156144035780600d0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b1580156143c057600080fd5b505afa1580156143d4573d6000803e3d6000fd5b505050506040513d60208110156143ea57600080fd5b810190808051906020019092919050505091505061440c565b80600401549150505b919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060030154915050919050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060040160059054906101000a900460ff1691505092915050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d01601b9054906101000a900460ff16915050919050565b600080600080603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015414156146075760008060008292508191508090509350935093505061467b565b600081600001549050600061465a83603660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617fc2565b90508181614671848461760290919063ffffffff16565b9550955095505050505b9250925092565b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600b01549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561474d57600080fd5b505afa158015614761573d6000803e3d6000fd5b505050506040513d602081101561477757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146147f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__6324ddc4e690918585856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b15801561489b57600080fd5b505af41580156148af573d6000803e3d6000fd5b5050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561493857600080fd5b505afa15801561494c573d6000803e3d6000fd5b505050506040513d602081101561496257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16146149df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b603660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__63e5df56a690916040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015614a6e57600080fd5b505af4158015614a82573d6000803e3d6000fd5b5050505050565b60003373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b614b3c8484846180f9565b614b478484846181e5565b614b53846000806174b5565b603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015490509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614c82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b614cc9603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b614cd5846000846174b5565b8015614ce857614ce784846000616d73565b5b50505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060070154915050919050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015614dbe57600080fd5b505afa158015614dd2573d6000803e3d6000fd5b505050506040513d6020811015614de857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614614e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154118015614ec0575060008160070154115b614f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180619ba16024913960400191505060405180910390fd5b600181600d01601c6101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015614fb557600080fd5b505afa158015614fc9573d6000803e3d6000fd5b505050506040513d6020811015614fdf57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461505c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600d01601b6101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b6151ad603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b6151b9848360006174b5565b80156151cc576151cb84846001616d73565b5b50505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000154915050919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061527282618300565b90506000811415615288576000925050506152c0565b600061529385616511565b90506152ba6152ab83836173c290919063ffffffff16565b8361832490919063ffffffff16565b93505050505b919050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061532c61531582618300565b61531e85616511565b6173c290919063ffffffff16565b915050919050565b600061533e618380565b9050600160009054906101000a900460ff168061535f575061535e618389565b5b8061536b575060005481115b6153c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180619c0a602e913960400191505060405180910390fd5b6000600160009054906101000a900460ff1615905080156153fd5760018060006101000a81548160ff021916908315150217905550816000819055505b82603560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615446617afb565b8015615468576000600160006101000a81548160ff0219169083151502179055505b505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010154915050919050565b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600a0154915050919050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146155db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b60008190506155e86174f9565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146156a55760003414615673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605f815260200180619adb605f913960600191505060405180910390fd5b6156a08482858873ffffffffffffffffffffffffffffffffffffffff16617515909392919063ffffffff16565b6157e1565b823410156156fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806199de6035913960400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff168461c35090604051806000019050600060405180830381858888f193505050503d8060008114615763576040519150601f19603f3d011682016040523d82523d6000602084013e615768565b606091505b50509050806157df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5472616e73666572206f6620455448206661696c65640000000000000000000081525060200191505060405180910390fd5b505b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561586757600080fd5b505afa15801561587b573d6000803e3d6000fd5b505050506040513d602081101561589157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461590e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b600060386001603880549050038154811061592557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146159d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d815260200180619a6c603d913960400191505060405180910390fd5b60006159e18261661f565b14615a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180619b3a6030913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d01601c6101000a81548160ff0219169083151502179055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600b01819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d0160196101000a81548160ff0219169083151502179055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d01601a6101000a81548160ff0219169083151502179055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600801819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01819055506000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600d0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506038805480615e0757fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050615e8d8161839a565b915050919050565b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015615f3a57600080fd5b505afa158015615f4e573d6000803e3d6000fd5b505050506040513d6020811015615f6457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614615fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160080181905550505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146160d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b6160e4868686856183e1565b6160f286868686868661857f565b6160fe868560006174b5565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b15801561618557600080fd5b505afa158015616199573d6000803e3d6000fd5b505050506040513d60208110156161af57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461622c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600181600d01601b6101000a81548160ff0219169083151502179055505050565b6000806000806000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006163658989612695565b90506000826000015414156163a057806000808460040160059054906101000a900460ff1682925081915096509650965096505050506163d7565b806163b48484617fc290919063ffffffff16565b83600201548460040160059054906101000a900460ff1696509650965096505050505b92959194509250565b600080603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905081600d01601b9054906101000a900460ff166164c55760009250505061650a565b8060040160059054906101000a900460ff1615806164f2575081600d01601a9054906101000a900460ff16155b8061650557506165028686612695565b84115b925050505b9392505050565b600080600090506165206174f9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561655b57479050616616565b8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156165d857600080fd5b505afa1580156165ec573d6000803e3d6000fd5b505050506040513d602081101561660257600080fd5b810190808051906020019092919050505090505b80915050919050565b6000616668603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020618300565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156166ee57600080fd5b505afa158015616702573d6000803e3d6000fd5b505050506040513d602081101561671857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614616795576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b603660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__6383c165a090916040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561682457600080fd5b505af4158015616838573d6000803e3d6000fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b1580156168be57600080fd5b505afa1580156168d2573d6000803e3d6000fd5b505050506040513d60208110156168e857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614616965576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__$2ec35834968386f54fa313129cf94664e4$__63f63babbe9091836040518363ffffffff1660e01b815260040180838152602001821515151581526020019250505060006040518083038186803b158015616a0057600080fd5b505af4158015616a14573d6000803e3d6000fd5b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385c858b16040518163ffffffff1660e01b815260040160206040518083038186803b158015616a9b57600080fd5b505afa158015616aaf573d6000803e3d6000fd5b505050506040513d6020811015616ac557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614616b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180619b6a6037913960400191505060405180910390fd5b6000603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600d01601d6101000a81548160ff0219169083151502179055505050565b600080603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060090154915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614616ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b616cad88888888876186e9565b6000616cbb898987876188d8565b9050616cc9896000806174b5565b80616cd48a8a6178cf565b9250925050965096945050505050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806001015491505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614616e19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b6000603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050818160040160056101000a81548160ff02191690831515021790555050505050565b3373ffffffffffffffffffffffffffffffffffffffff16603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614616f61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c38602a913960400191505060405180910390fd5b616f696174f9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614616fcb57616fc682828573ffffffffffffffffffffffffffffffffffffffff16617f0a9092919063ffffffff16565b6170ae565b60008273ffffffffffffffffffffffffffffffffffffffff168261c35090604051806000019050600060405180830381858888f193505050503d8060008114617030576040519150601f19603f3d011682016040523d82523d6000602084013e617035565b606091505b50509050806170ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5472616e73666572206f6620455448206661696c65640000000000000000000081525060200191505060405180910390fd5b505b505050565b600080603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806002015491505092915050565b6000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee8912966040518163ffffffff1660e01b815260040160206040518083038186803b1580156171ac57600080fd5b505afa1580156171c0573d6000803e3d6000fd5b505050506040513d60208110156171d657600080fd5b810190808051906020019092919050505090506171f16174f9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146172535761724e81838573ffffffffffffffffffffffffffffffffffffffff16617f0a9092919063ffffffff16565b617314565b60008173ffffffffffffffffffffffffffffffffffffffff168360405180600001905060006040518083038185875af1925050503d80600081146172b3576040519150601f19603f3d011682016040523d82523d6000602084013e6172b8565b606091505b5050905080617312576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180619be66024913960400191505060405180910390fd5b505b505050565b600061732482618300565b905060008111156173be576000617354836001015484600d0160149054906101000a900464ffffffffff16618ac2565b905061736d836000015482618b4290919063ffffffff16565b8360000181905550600061739a846004015485600d0160149054906101000a900464ffffffffff16618ba5565b90506173b3846007015482618b4290919063ffffffff16565b846007018190555050505b5050565b600080828401905083811015617440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061746f61745884618c15565b61746184618c15565b61832490919063ffffffff16565b9050600061748d61747e618c35565b836173c290919063ffffffff16565b90506174a6856000015482618b4290919063ffffffff16565b85600001819055505050505050565b6174c0838383618c49565b6174c8618380565b7fb362f715591e6551ba78917a287fa286eed1ded21d619b267911b67f595af1c960405160405180910390a2505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b6175fc846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050618eac565b50505050565b600061764483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506190f7565b905092915050565b617693603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b6176a18686868686866191b7565b505050505050565b6000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506001600281111561777957fe5b83600281111561778557fe5b14156177a7578160050154816003018190555060008160010181905550617850565b6002808111156177b357fe5b8360028111156177bf57fe5b14156177e157600081600301819055508160070154816001018190555061784f565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420626f72726f772072617465206d6f6465000000000000000081525060200191505060405180910390fd5b5b6178798561786b8884600001546173c290919063ffffffff16565b6173c290919063ffffffff16565b81600001819055506178988482600201546173c290919063ffffffff16565b8160020181905550428160040160006101000a81548164ffffffffff021916908364ffffffffff1602179055505050505050505050565b6000806178dc848461281c565b9050600060028111156178eb57fe5b8160028111156178f757fe5b14156179075760009150506179f2565b6001600281111561791457fe5b81600281111561792057fe5b1461796d57603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401546179ee565b603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301545b9150505b92915050565b600080905060008090505b603880549050811015617a8d578273ffffffffffffffffffffffffffffffffffffffff1660388281548110617a3457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415617a8057600191505b8080600101915050617a03565b5080617af7576038829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015617b6357600080fd5b505afa158015617b77573d6000803e3d6000fd5b505050506040513d6020811015617b8d57600080fd5b8101908080519060200190929190505050603460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050617cac82617319565b6000617cb8878761281c565b905060016002811115617cc757fe5b816002811115617cd357fe5b1415617d1057617cf28483600301548561940f9092919063ffffffff16565b617d0b858360030154856194ba9092919063ffffffff16565b617d37565b617d23848461965690919063ffffffff16565b617d36858461967990919063ffffffff16565b5b50505050505050565b617d87603660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b50565b6000603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050617e7685617e688585600001546173c290919063ffffffff16565b61760290919063ffffffff16565b8260000181905550600280811115617e8a57fe5b617e94888861281c565b6002811115617e9f57fe5b1415617eb357806007015482600101819055505b6000841115617edc57617ed384836002015461760290919063ffffffff16565b82600201819055505b428260040160006101000a81548164ffffffffff021916908364ffffffffff16021790555050505050505050565b617fbd8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050618eac565b505050565b60008083600001541415617fd957600090506180f3565b6000617fe88460000154618c15565b90506000809050600080905060008660030154111561802b5761802486600301548760040160009054906101000a900464ffffffffff16618ba5565b905061807d565b61807a866001015461806c876007015461805e89600401548a600d0160149054906101000a900464ffffffffff16618ba5565b618b4290919063ffffffff16565b61832490919063ffffffff16565b90505b6180986180938285618b4290919063ffffffff16565b6196f9565b915085600001548214156180ec57428660040160009054906101000a900464ffffffffff1664ffffffffff16146180eb576180e1600187600001546173c290919063ffffffff16565b93505050506180f3565b5b8193505050505b92915050565b6000603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506181c582617319565b6181de8382600301548461940f9092919063ffffffff16565b5050505050565b6000603760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506182bf8383600001546173c290919063ffffffff16565b826000018190555080600501548260030181905550428260040160006101000a81548164ffffffffff021916908364ffffffffff1602179055505050505050565b600061831d826003015483600201546173c290919063ffffffff16565b9050919050565b6000806002838161833157fe5b0490506183778361836961835a6b033b2e3c9fd0803ce80000008861973e90919063ffffffff16565b846173c290919063ffffffff16565b6197c490919063ffffffff16565b91505092915050565b60006008905090565b600080303b90506000811491505090565b6000806183d683600001546183c8856001015486600d0160149054906101000a900464ffffffffff16618ac2565b618b4290919063ffffffff16565b905080915050919050565b6000603660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006184b0878761281c565b90506184f9603660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020617319565b6001600281111561850657fe5b81600281111561851257fe5b141561854f576185318483600301548561940f9092919063ffffffff16565b61854a858360030154856194ba9092919063ffffffff16565b618576565b618562848461965690919063ffffffff16565b618575858461967990919063ffffffff16565b5b50505050505050565b6000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061866b8661865d8684600001546173c290919063ffffffff16565b61760290919063ffffffff16565b816000018190555081600701548160010181905550821561869b5760008160030181905550600081600101819055505b6186b285826002015461760290919063ffffffff16565b8160020181905550428160040160006101000a81548164ffffffffff021916908364ffffffffff1602179055505050505050505050565b6000603660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506187b582617319565b600160028111156187c257fe5b8360028111156187ce57fe5b141561880b576000816003015490506187f28682856194ba9092919063ffffffff16565b618805858461965690919063ffffffff16565b506188cf565b60028081111561881757fe5b83600281111561882357fe5b141561886057600082600501549050618845868461967990919063ffffffff16565b61885a85828561940f9092919063ffffffff16565b506188ce565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e76616c69642072617465206d6f646520726563656976656400000000000081525060200191505060405180910390fd5b5b50505050505050565b600080603760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000603660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008090506002808111156189ad57fe5b8560028111156189b957fe5b14156189df57600190508160050154836003018190555060008360010181905550618a70565b600160028111156189ec57fe5b8560028111156189f857fe5b1415618a1e57600290506000836003018190555081600701548360010181905550618a6f565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180619c626023913960400191505060405180910390fd5b5b618a878684600001546173c290919063ffffffff16565b8360000181905550428360040160006101000a81548164ffffffffff021916908364ffffffffff160217905550809350505050949350505050565b600080618adf8364ffffffffff164261760290919063ffffffff16565b90506000618b0a618af36301e13380618c15565b618afc84618c15565b61832490919063ffffffff16565b9050618b38618b17618c35565b618b2a8388618b4290919063ffffffff16565b6173c290919063ffffffff16565b9250505092915050565b6000618b9d6b033b2e3c9fd0803ce8000000618b8f618b6a858761973e90919063ffffffff16565b60026b033b2e3c9fd0803ce800000081618b8057fe5b046173c290919063ffffffff16565b6197c490919063ffffffff16565b905092915050565b600080618bc28364ffffffffff164261760290919063ffffffff16565b90506000618bdd6301e13380866197c490919063ffffffff16565b9050618c0b82618bfd618bee618c35565b846173c290919063ffffffff16565b61980e90919063ffffffff16565b9250505092915050565b6000618c2e633b9aca008361973e90919063ffffffff16565b9050919050565b60006b033b2e3c9fd0803ce8000000905090565b6000603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600601549050600080600084600d0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357e37af089618d0889618cfa8c618cec8f616511565b6173c290919063ffffffff16565b61760290919063ffffffff16565b88600201548960030154896040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b158015618d8f57600080fd5b505afa158015618da3573d6000803e3d6000fd5b505050506040513d6060811015618db957600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050509250925092508285600101819055508185600501819055508085600401819055504285600d0160146101000a81548164ffffffffff021916908364ffffffffff1602179055508773ffffffffffffffffffffffffffffffffffffffff167f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4848487858a600001548b6007015460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a25050505050505050565b618ecb8273ffffffffffffffffffffffffffffffffffffffff166123e2565b618f3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310618f8c5780518252602082019150602081019050602083039250618f69565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114618fee576040519150601f19603f3d011682016040523d82523d6000602084013e618ff3565b606091505b50915091508161906b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b6000815111156190f15780806020019051602081101561908a57600080fd5b81019080805190602001909291905050506190f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180619c85602a913960400191505060405180910390fd5b5b50505050565b60008383111582906191a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561916957808201518184015260208101905061914e565b50505050905090810190601f1680156191965780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60006191c3878761281c565b90506000603660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506001600281111561921557fe5b82600281111561922157fe5b14156192c6576000603760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506192c0878260030154846194ba9092919063ffffffff16565b506192f9565b6002808111156192d257fe5b8260028111156192de57fe5b14156192f8576192f7868261967990919063ffffffff16565b5b5b600061932085619312888a6173c290919063ffffffff16565b6173c290919063ffffffff16565b90506001600281111561932f57fe5b84600281111561933b57fe5b141561935f5761935a8183600501548461940f9092919063ffffffff16565b619404565b60028081111561936b57fe5b84600281111561937757fe5b141561939557619390818361965690919063ffffffff16565b619403565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496e76616c6964206e657720626f72726f772072617465206d6f64650000000081525060200191505060405180910390fd5b5b505050505050505050565b60008360020154905061942f8385600201546173c290919063ffffffff16565b846002018190555060006194548361944686618c15565b618b4290919063ffffffff16565b90506000619477866006015461946985618c15565b618b4290919063ffffffff16565b90506194aa6194898760020154618c15565b61949c83856173c290919063ffffffff16565b61832490919063ffffffff16565b8660060181905550505050505050565b8183600201541015619534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496e76616c696420616d6f756e7420746f20646563726561736500000000000081525060200191505060405180910390fd5b60008360020154905061955483856002015461760290919063ffffffff16565b8460020181905550600084600201541415619579576000846006018190555050619651565b60006195968361958886618c15565b618b4290919063ffffffff16565b905060006195b986600601546195ab85618c15565b618b4290919063ffffffff16565b905081811015619614576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180619a496023913960400191505060405180910390fd5b6196456196248760020154618c15565b619637848461760290919063ffffffff16565b61832490919063ffffffff16565b86600601819055505050505b505050565b61966d8183600301546173c290919063ffffffff16565b82600301819055505050565b80826003015410156196d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605081526020018061998e6050913960600191505060405180910390fd5b6196ed81836003015461760290919063ffffffff16565b82600301819055505050565b6000806002633b9aca008161970a57fe5b049050619736633b9aca0061972885846173c290919063ffffffff16565b6197c490919063ffffffff16565b915050919050565b60008083141561975157600090506197be565b600082840290508284828161976257fe5b04146197b9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180619bc56021913960400191505060405180910390fd5b809150505b92915050565b600061980683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250619891565b905092915050565b6000806002838161981b57fe5b061415619834576b033b2e3c9fd0803ce8000000619836565b825b90506002828161984257fe5b0491505b6000821461988b576198588384618b42565b925060006002838161986657fe5b0614619879576198768184618b42565b90505b6002828161988357fe5b049150619846565b92915050565b6000808311829061993d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156199025780820151818401526020810190506198e7565b50505050905090810190601f16801561992f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161994957fe5b04905080915050939250505056fe466565206c69717569646174696f6e20646f6573206e6f74207265717569726520616e79207472616e73666572206f662076616c756554686520616d6f756e742074686174206973206265696e6720737562747261637465642066726f6d20746865207661726961626c6520746f74616c20626f72726f777320697320696e636f727265637454686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d617463684f6e6c7920636f6e7472616374732063616e2073656e6420657468657220746f20746865204c656e64696e6720706f6f6c20636f726554686520616d6f756e747320746f20737562747261637420646f6e2774206d6174636852657365727665206265696e672072656d6f76656420697320646966666572656e74207468616e20746865207265736572766520726571756573746564557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e20436865636b207468652076616c756520617474726962757465206f6620746865207472616e73616374696f6e43616e6e6f742072656d6f7665206120726573657276652077697468206c6971756964697479206465706f73697465645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e666967757261746f7220636f6e74726163745265736572766520686173206e6f74206265656e20696e697469616c697a656420796574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657220746f20746f6b656e206469737472696275746f72206661696c6564436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e7472616374496e76616c696420696e7465726573742072617465206d6f64652072656365697665645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220c2d83483c080e8188b7dbc6f0b657f4dd3c556303e864173d6b7f463cdd82b9564736f6c63430006080033"; + +export interface MockLendingPoolCoreLibraryAddresses { + ["__$2ec35834968386f54fa313129cf94664e4$__"]: string; +} diff --git a/types/MockLink.d.ts b/types/MockLink.d.ts new file mode 100644 index 00000000..0319fc42 --- /dev/null +++ b/types/MockLink.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockLinkInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockLink extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockLink; + attach(addressOrName: string): MockLink; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockLink; + once(event: EventFilter | string, listener: Listener): MockLink; + addListener(eventName: EventFilter | string, listener: Listener): MockLink; + removeAllListeners(eventName: EventFilter | string): MockLink; + removeListener(eventName: any, listener: Listener): MockLink; + + interface: MockLinkInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockLinkFactory.ts b/types/MockLinkFactory.ts new file mode 100644 index 00000000..73a49831 --- /dev/null +++ b/types/MockLinkFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockLink } from "./MockLink"; + +export class MockLinkFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockLink { + return super.attach(address) as MockLink; + } + connect(signer: Signer): MockLinkFactory { + return super.connect(signer) as MockLinkFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockLink { + return new Contract(address, _abi, signerOrProvider) as MockLink; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020017f4c494e4b000000000000000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f436861696e4c696e6b00000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206671463bbda8804712fb6993259710f09730fa5173d49bf1d5d3ba552fd2e27364736f6c63430006080033"; diff --git a/types/MockMana.d.ts b/types/MockMana.d.ts new file mode 100644 index 00000000..7d35d9fc --- /dev/null +++ b/types/MockMana.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockManaInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockMana extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockMana; + attach(addressOrName: string): MockMana; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockMana; + once(event: EventFilter | string, listener: Listener): MockMana; + addListener(eventName: EventFilter | string, listener: Listener): MockMana; + removeAllListeners(eventName: EventFilter | string): MockMana; + removeListener(eventName: any, listener: Listener): MockMana; + + interface: MockManaInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockManaFactory.ts b/types/MockManaFactory.ts new file mode 100644 index 00000000..24a78cfa --- /dev/null +++ b/types/MockManaFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockMana } from "./MockMana"; + +export class MockManaFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockMana { + return super.attach(address) as MockMana; + } + connect(signer: Signer): MockManaFactory { + return super.connect(signer) as MockManaFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockMana { + return new Contract(address, _abi, signerOrProvider) as MockMana; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020017f4d414e41000000000000000000000000000000000000000000000000000000008152506040518060400160405280600c81526020017f446563656e7472616c616e6400000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d90b8559404343a8af344e7f7a0c7a38e2251ffaf689cf4ccf511ce39779ace764736f6c63430006080033"; diff --git a/types/MockMkr.d.ts b/types/MockMkr.d.ts new file mode 100644 index 00000000..af0af084 --- /dev/null +++ b/types/MockMkr.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockMkrInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockMkr extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockMkr; + attach(addressOrName: string): MockMkr; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockMkr; + once(event: EventFilter | string, listener: Listener): MockMkr; + addListener(eventName: EventFilter | string, listener: Listener): MockMkr; + removeAllListeners(eventName: EventFilter | string): MockMkr; + removeListener(eventName: any, listener: Listener): MockMkr; + + interface: MockMkrInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockMkrFactory.ts b/types/MockMkrFactory.ts new file mode 100644 index 00000000..927dd729 --- /dev/null +++ b/types/MockMkrFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockMkr } from "./MockMkr"; + +export class MockMkrFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockMkr { + return super.attach(address) as MockMkr; + } + connect(signer: Signer): MockMkrFactory { + return super.connect(signer) as MockMkrFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockMkr { + return new Contract(address, _abi, signerOrProvider) as MockMkr; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600381526020017f4d4b5200000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4d616b65720000000000000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203eecffd06c757ac84289255a42d33b669c62e2eadeadcd8c74bdb2fd106d6a7564736f6c63430006080033"; diff --git a/types/MockOneSplit.d.ts b/types/MockOneSplit.d.ts new file mode 100644 index 00000000..bc77a2bd --- /dev/null +++ b/types/MockOneSplit.d.ts @@ -0,0 +1,305 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockOneSplitInterface extends Interface { + functions: { + FLAG_AAVE: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_BANCOR: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_BDAI: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_CHAI: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_COMPOUND: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_FULCRUM: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_IEARN: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_KYBER: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_KYBER_BANCOR_RESERVE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + FLAG_KYBER_OASIS_RESERVE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + FLAG_KYBER_UNISWAP_RESERVE: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + FLAG_MULTI_PATH_ETH: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_OASIS: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_SMART_TOKEN: TypedFunctionDescription<{ encode([]: []): string }>; + + FLAG_UNISWAP: TypedFunctionDescription<{ encode([]: []): string }>; + + getExpectedReturn: TypedFunctionDescription<{ + encode([fromToken, toToken, amount, parts, disableFlags]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + goodSwap: TypedFunctionDescription<{ + encode([fromToken, toToken, amount, minReturn, parts, disableFlags]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + swap: TypedFunctionDescription<{ + encode([ + fromToken, + toToken, + amount, + minReturn, + distribution, + disableFlags + ]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish[], + BigNumberish + ]): string; + }>; + + tokenToBurn: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: {}; +} + +export class MockOneSplit extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockOneSplit; + attach(addressOrName: string): MockOneSplit; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockOneSplit; + once(event: EventFilter | string, listener: Listener): MockOneSplit; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockOneSplit; + removeAllListeners(eventName: EventFilter | string): MockOneSplit; + removeListener(eventName: any, listener: Listener): MockOneSplit; + + interface: MockOneSplitInterface; + + functions: { + FLAG_AAVE(): Promise; + + FLAG_BANCOR(): Promise; + + FLAG_BDAI(): Promise; + + FLAG_CHAI(): Promise; + + FLAG_COMPOUND(): Promise; + + FLAG_FULCRUM(): Promise; + + FLAG_IEARN(): Promise; + + FLAG_KYBER(): Promise; + + FLAG_KYBER_BANCOR_RESERVE(): Promise; + + FLAG_KYBER_OASIS_RESERVE(): Promise; + + FLAG_KYBER_UNISWAP_RESERVE(): Promise; + + FLAG_MULTI_PATH_ETH(): Promise; + + FLAG_OASIS(): Promise; + + FLAG_SMART_TOKEN(): Promise; + + FLAG_UNISWAP(): Promise; + + getExpectedReturn( + fromToken: string, + toToken: string, + amount: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise<{ + returnAmount: BigNumber; + distribution: BigNumber[]; + 0: BigNumber; + 1: BigNumber[]; + }>; + + goodSwap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + swap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + distribution: BigNumberish[], + disableFlags: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + tokenToBurn(): Promise; + }; + + FLAG_AAVE(): Promise; + + FLAG_BANCOR(): Promise; + + FLAG_BDAI(): Promise; + + FLAG_CHAI(): Promise; + + FLAG_COMPOUND(): Promise; + + FLAG_FULCRUM(): Promise; + + FLAG_IEARN(): Promise; + + FLAG_KYBER(): Promise; + + FLAG_KYBER_BANCOR_RESERVE(): Promise; + + FLAG_KYBER_OASIS_RESERVE(): Promise; + + FLAG_KYBER_UNISWAP_RESERVE(): Promise; + + FLAG_MULTI_PATH_ETH(): Promise; + + FLAG_OASIS(): Promise; + + FLAG_SMART_TOKEN(): Promise; + + FLAG_UNISWAP(): Promise; + + getExpectedReturn( + fromToken: string, + toToken: string, + amount: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise<{ + returnAmount: BigNumber; + distribution: BigNumber[]; + 0: BigNumber; + 1: BigNumber[]; + }>; + + goodSwap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + swap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + distribution: BigNumberish[], + disableFlags: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + tokenToBurn(): Promise; + + filters: {}; + + estimate: { + FLAG_AAVE(): Promise; + + FLAG_BANCOR(): Promise; + + FLAG_BDAI(): Promise; + + FLAG_CHAI(): Promise; + + FLAG_COMPOUND(): Promise; + + FLAG_FULCRUM(): Promise; + + FLAG_IEARN(): Promise; + + FLAG_KYBER(): Promise; + + FLAG_KYBER_BANCOR_RESERVE(): Promise; + + FLAG_KYBER_OASIS_RESERVE(): Promise; + + FLAG_KYBER_UNISWAP_RESERVE(): Promise; + + FLAG_MULTI_PATH_ETH(): Promise; + + FLAG_OASIS(): Promise; + + FLAG_SMART_TOKEN(): Promise; + + FLAG_UNISWAP(): Promise; + + getExpectedReturn( + fromToken: string, + toToken: string, + amount: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise; + + goodSwap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + parts: BigNumberish, + disableFlags: BigNumberish + ): Promise; + + swap( + fromToken: string, + toToken: string, + amount: BigNumberish, + minReturn: BigNumberish, + distribution: BigNumberish[], + disableFlags: BigNumberish + ): Promise; + + tokenToBurn(): Promise; + }; +} diff --git a/types/MockOneSplitFactory.ts b/types/MockOneSplitFactory.ts new file mode 100644 index 00000000..b4dd2185 --- /dev/null +++ b/types/MockOneSplitFactory.ts @@ -0,0 +1,385 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockOneSplit } from "./MockOneSplit"; + +export class MockOneSplitFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _tokenToBurn: string, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_tokenToBurn, overrides) as Promise; + } + getDeployTransaction( + _tokenToBurn: string, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_tokenToBurn, overrides); + } + attach(address: string): MockOneSplit { + return super.attach(address) as MockOneSplit; + } + connect(signer: Signer): MockOneSplitFactory { + return super.connect(signer) as MockOneSplitFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockOneSplit { + return new Contract(address, _abi, signerOrProvider) as MockOneSplit; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "contract MintableERC20", + name: "_tokenToBurn", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "FLAG_AAVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_BANCOR", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_BDAI", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_CHAI", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_COMPOUND", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_FULCRUM", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_IEARN", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER_BANCOR_RESERVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER_OASIS_RESERVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_KYBER_UNISWAP_RESERVE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_MULTI_PATH_ETH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_OASIS", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_SMART_TOKEN", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "FLAG_UNISWAP", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "fromToken", + type: "address" + }, + { + internalType: "contract IERC20", + name: "toToken", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "parts", + type: "uint256" + }, + { + internalType: "uint256", + name: "disableFlags", + type: "uint256" + } + ], + name: "getExpectedReturn", + outputs: [ + { + internalType: "uint256", + name: "returnAmount", + type: "uint256" + }, + { + internalType: "uint256[]", + name: "distribution", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "fromToken", + type: "address" + }, + { + internalType: "contract IERC20", + name: "toToken", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "minReturn", + type: "uint256" + }, + { + internalType: "uint256", + name: "parts", + type: "uint256" + }, + { + internalType: "uint256", + name: "disableFlags", + type: "uint256" + } + ], + name: "goodSwap", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "fromToken", + type: "address" + }, + { + internalType: "contract IERC20", + name: "toToken", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "minReturn", + type: "uint256" + }, + { + internalType: "uint256[]", + name: "distribution", + type: "uint256[]" + }, + { + internalType: "uint256", + name: "disableFlags", + type: "uint256" + } + ], + name: "swap", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "tokenToBurn", + outputs: [ + { + internalType: "contract MintableERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50604051610ea4380380610ea48339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610e10806100946000396000f3fe6080604052600436106101145760003560e01c806373eb69d4116100a0578063ceb5411511610064578063ceb54115146104c0578063df911663146104eb578063e2a7515e14610516578063eb16df2a1461062c578063f64a9a491461065757610114565b806373eb69d4146103e9578063833665771461041457806383a0118f1461043f5780638c6c11f21461046a578063a9d3589f1461049557610114565b80634f1b86eb116100e75780634f1b86eb1461028557806358886253146102dc5780635cfcee28146103075780636b9589aa14610332578063702bf8fa146103be57610114565b8063085e2c5b1461011957806311c0c0f7146102045780633c1a62dc1461022f5780634c914a4e1461025a575b600080fd5b34801561012557600080fd5b506101a6600480360360a081101561013c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050610682565b6040518083815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156101ef5780820151818401526020810190506101d4565b50505050905001935050505060405180910390f35b34801561021057600080fd5b506102196106e0565b6040518082815260200191505060405180910390f35b34801561023b57600080fd5b506102446106e6565b6040518082815260200191505060405180910390f35b34801561026657600080fd5b5061026f6106eb565b6040518082815260200191505060405180910390f35b34801561029157600080fd5b5061029a6106f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e857600080fd5b506102f1610715565b6040518082815260200191505060405180910390f35b34801561031357600080fd5b5061031c61071b565b6040518082815260200191505060405180910390f35b6103bc600480360360c081101561034857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610720565b005b3480156103ca57600080fd5b506103d3610911565b6040518082815260200191505060405180910390f35b3480156103f557600080fd5b506103fe61091a565b6040518082815260200191505060405180910390f35b34801561042057600080fd5b50610429610920565b6040518082815260200191505060405180910390f35b34801561044b57600080fd5b50610454610925565b6040518082815260200191505060405180910390f35b34801561047657600080fd5b5061047f61092b565b6040518082815260200191505060405180910390f35b3480156104a157600080fd5b506104aa610930565b6040518082815260200191505060405180910390f35b3480156104cc57600080fd5b506104d5610939565b6040518082815260200191505060405180910390f35b3480156104f757600080fd5b5061050061093e565b6040518082815260200191505060405180910390f35b61062a600480360360c081101561052c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561059d57600080fd5b8201836020820111156105af57600080fd5b803590602001918460208302840111640100000000831117156105d157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610947565b005b34801561063857600080fd5b5061064161094f565b6040518082815260200191505060405180910390f35b34801561066357600080fd5b5061066c610954565b6040518082815260200191505060405180910390f35b6000606060008067ffffffffffffffff8111801561069f57600080fd5b506040519080825280602002602001820160405280156106ce5781602001602082028036833780820191505090505b50819150915091509550959350505050565b61010081565b602081565b604081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61020081565b601081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a0712d6869021e19e0c9bab24000006040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561079e57600080fd5b505af11580156107b2573d6000803e3d6000fd5b505050506040513d60208110156107c857600080fd5b810190808051906020019092919050505061084b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f54524144455f574954485f48494e542e205265766572746564206d696e74282981525060200191505060405180910390fd5b610853610959565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146108b3576108b23330868973ffffffffffffffffffffffffffffffffffffffff16610975909392919063ffffffff16565b5b6109093369021e19e0c9bab24000006000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a629092919063ffffffff16565b505050505050565b64010000000081565b61080081565b608081565b61040081565b600881565b64040000000081565b600281565b64020000000081565b505050505050565b600181565b600481565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b610a5c846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610b1a565b50505050565b610b158363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610b1a565b505050565b610b398273ffffffffffffffffffffffffffffffffffffffff16610d65565b610bab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610bfa5780518252602082019150602081019050602083039250610bd7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610c5c576040519150601f19603f3d011682016040523d82523d6000602084013e610c61565b606091505b509150915081610cd9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610d5f57808060200190516020811015610cf857600080fd5b8101908080519060200190929190505050610d5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610db1602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015610da757506000801b8214155b9250505091905056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122071e3b3c26cfa34623b3eb8d3120f9e0c1c97b03c3342a9c8d4e08df39e28532b64736f6c63430006080033"; diff --git a/types/MockRep.d.ts b/types/MockRep.d.ts new file mode 100644 index 00000000..09e5beba --- /dev/null +++ b/types/MockRep.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockRepInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockRep extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockRep; + attach(addressOrName: string): MockRep; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockRep; + once(event: EventFilter | string, listener: Listener): MockRep; + addListener(eventName: EventFilter | string, listener: Listener): MockRep; + removeAllListeners(eventName: EventFilter | string): MockRep; + removeListener(eventName: any, listener: Listener): MockRep; + + interface: MockRepInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockRepFactory.ts b/types/MockRepFactory.ts new file mode 100644 index 00000000..9b8413a3 --- /dev/null +++ b/types/MockRepFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockRep } from "./MockRep"; + +export class MockRepFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockRep { + return super.attach(address) as MockRep; + } + connect(signer: Signer): MockRepFactory { + return super.connect(signer) as MockRepFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockRep { + return new Contract(address, _abi, signerOrProvider) as MockRep; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600381526020017f52455000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f41756775720000000000000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cf93ca588f3a3eee8e095664f2e354fab2319a302c4596f719a09e6592e385cd64736f6c63430006080033"; diff --git a/types/MockSnx.d.ts b/types/MockSnx.d.ts new file mode 100644 index 00000000..4aaedacf --- /dev/null +++ b/types/MockSnx.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockSnxInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockSnx extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockSnx; + attach(addressOrName: string): MockSnx; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockSnx; + once(event: EventFilter | string, listener: Listener): MockSnx; + addListener(eventName: EventFilter | string, listener: Listener): MockSnx; + removeAllListeners(eventName: EventFilter | string): MockSnx; + removeListener(eventName: any, listener: Listener): MockSnx; + + interface: MockSnxInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockSnxFactory.ts b/types/MockSnxFactory.ts new file mode 100644 index 00000000..bd4c230d --- /dev/null +++ b/types/MockSnxFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockSnx } from "./MockSnx"; + +export class MockSnxFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockSnx { + return super.attach(address) as MockSnx; + } + connect(signer: Signer): MockSnxFactory { + return super.connect(signer) as MockSnxFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockSnx { + return new Contract(address, _abi, signerOrProvider) as MockSnx; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600381526020017f534e5800000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f534e5800000000000000000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ac444f1042bfdc208a6de58007759d8dd8046b50634a68108fed0ad2c99efd7264736f6c63430006080033"; diff --git a/types/MockSusd.d.ts b/types/MockSusd.d.ts new file mode 100644 index 00000000..59bcc42e --- /dev/null +++ b/types/MockSusd.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockSusdInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockSusd extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockSusd; + attach(addressOrName: string): MockSusd; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockSusd; + once(event: EventFilter | string, listener: Listener): MockSusd; + addListener(eventName: EventFilter | string, listener: Listener): MockSusd; + removeAllListeners(eventName: EventFilter | string): MockSusd; + removeListener(eventName: any, listener: Listener): MockSusd; + + interface: MockSusdInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockSusdFactory.ts b/types/MockSusdFactory.ts new file mode 100644 index 00000000..1aa6dc46 --- /dev/null +++ b/types/MockSusdFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockSusd } from "./MockSusd"; + +export class MockSusdFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockSusd { + return super.attach(address) as MockSusd; + } + connect(signer: Signer): MockSusdFactory { + return super.connect(signer) as MockSusdFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockSusd { + return new Contract(address, _abi, signerOrProvider) as MockSusd; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020017f53555344000000000000000000000000000000000000000000000000000000008152506040518060400160405280600d81526020017f53796e74686574697820555344000000000000000000000000000000000000008152506006828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203e052de43eb861b6ff39a51bfb06764a307f147b45cc091eab393caac348623964736f6c63430006080033"; diff --git a/types/MockTusd.d.ts b/types/MockTusd.d.ts new file mode 100644 index 00000000..1fd3c8ba --- /dev/null +++ b/types/MockTusd.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockTusdInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockTusd extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockTusd; + attach(addressOrName: string): MockTusd; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockTusd; + once(event: EventFilter | string, listener: Listener): MockTusd; + addListener(eventName: EventFilter | string, listener: Listener): MockTusd; + removeAllListeners(eventName: EventFilter | string): MockTusd; + removeListener(eventName: any, listener: Listener): MockTusd; + + interface: MockTusdInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockTusdFactory.ts b/types/MockTusdFactory.ts new file mode 100644 index 00000000..2d7aac4f --- /dev/null +++ b/types/MockTusdFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockTusd } from "./MockTusd"; + +export class MockTusdFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockTusd { + return super.attach(address) as MockTusd; + } + connect(signer: Signer): MockTusdFactory { + return super.connect(signer) as MockTusdFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockTusd { + return new Contract(address, _abi, signerOrProvider) as MockTusd; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020017f54555344000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f54727565555344000000000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e814ddef6100db9886137a4904969a9e798a0fd18f5adad714ed5f87d078234f64736f6c63430006080033"; diff --git a/types/MockUniDaiEth.d.ts b/types/MockUniDaiEth.d.ts new file mode 100644 index 00000000..3a4afcac --- /dev/null +++ b/types/MockUniDaiEth.d.ts @@ -0,0 +1,236 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockUniDaiEthInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockUniDaiEth extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockUniDaiEth; + attach(addressOrName: string): MockUniDaiEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockUniDaiEth; + once(event: EventFilter | string, listener: Listener): MockUniDaiEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockUniDaiEth; + removeAllListeners(eventName: EventFilter | string): MockUniDaiEth; + removeListener(eventName: any, listener: Listener): MockUniDaiEth; + + interface: MockUniDaiEthInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockUniDaiEthFactory.ts b/types/MockUniDaiEthFactory.ts new file mode 100644 index 00000000..37600834 --- /dev/null +++ b/types/MockUniDaiEthFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockUniDaiEth } from "./MockUniDaiEth"; + +export class MockUniDaiEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockUniDaiEth { + return super.attach(address) as MockUniDaiEth; + } + connect(signer: Signer): MockUniDaiEthFactory { + return super.connect(signer) as MockUniDaiEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockUniDaiEth { + return new Contract(address, _abi, signerOrProvider) as MockUniDaiEth; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f554e495f4441495f4554480000000000000000000000000000000000000000008152506040518060400160405280600b81526020017f554e495f4441495f4554480000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203f98c5648140c85161cea932b5f924971227dd36727608f2433cc62d89a661f464736f6c63430006080033"; diff --git a/types/MockUniLendEth.d.ts b/types/MockUniLendEth.d.ts new file mode 100644 index 00000000..6a534425 --- /dev/null +++ b/types/MockUniLendEth.d.ts @@ -0,0 +1,236 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockUniLendEthInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockUniLendEth extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockUniLendEth; + attach(addressOrName: string): MockUniLendEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockUniLendEth; + once(event: EventFilter | string, listener: Listener): MockUniLendEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockUniLendEth; + removeAllListeners(eventName: EventFilter | string): MockUniLendEth; + removeListener(eventName: any, listener: Listener): MockUniLendEth; + + interface: MockUniLendEthInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockUniLendEthFactory.ts b/types/MockUniLendEthFactory.ts new file mode 100644 index 00000000..8e2b9b4e --- /dev/null +++ b/types/MockUniLendEthFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockUniLendEth } from "./MockUniLendEth"; + +export class MockUniLendEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockUniLendEth { + return super.attach(address) as MockUniLendEth; + } + connect(signer: Signer): MockUniLendEthFactory { + return super.connect(signer) as MockUniLendEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockUniLendEth { + return new Contract(address, _abi, signerOrProvider) as MockUniLendEth; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600c81526020017f554e495f4c454e445f45544800000000000000000000000000000000000000008152506040518060400160405280600c81526020017f554e495f4c454e445f45544800000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b05f977f23ffb6e75fd1b733c010c098fd9ff6e1635d852e63c2daf89f9c214764736f6c63430006080033"; diff --git a/types/MockUniLinkEth.d.ts b/types/MockUniLinkEth.d.ts new file mode 100644 index 00000000..db40fc24 --- /dev/null +++ b/types/MockUniLinkEth.d.ts @@ -0,0 +1,236 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockUniLinkEthInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockUniLinkEth extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockUniLinkEth; + attach(addressOrName: string): MockUniLinkEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockUniLinkEth; + once(event: EventFilter | string, listener: Listener): MockUniLinkEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockUniLinkEth; + removeAllListeners(eventName: EventFilter | string): MockUniLinkEth; + removeListener(eventName: any, listener: Listener): MockUniLinkEth; + + interface: MockUniLinkEthInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockUniLinkEthFactory.ts b/types/MockUniLinkEthFactory.ts new file mode 100644 index 00000000..47811897 --- /dev/null +++ b/types/MockUniLinkEthFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockUniLinkEth } from "./MockUniLinkEth"; + +export class MockUniLinkEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockUniLinkEth { + return super.attach(address) as MockUniLinkEth; + } + connect(signer: Signer): MockUniLinkEthFactory { + return super.connect(signer) as MockUniLinkEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockUniLinkEth { + return new Contract(address, _abi, signerOrProvider) as MockUniLinkEth; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600c81526020017f554e495f4c494e4b5f45544800000000000000000000000000000000000000008152506040518060400160405280600c81526020017f554e495f4c494e4b5f45544800000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c5ecb1aad5f2eea8ce1e54063b2bbd2a375a411f1554202b57ecc028bd6238a464736f6c63430006080033"; diff --git a/types/MockUniMkrEth.d.ts b/types/MockUniMkrEth.d.ts new file mode 100644 index 00000000..e2ed440e --- /dev/null +++ b/types/MockUniMkrEth.d.ts @@ -0,0 +1,236 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockUniMkrEthInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockUniMkrEth extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockUniMkrEth; + attach(addressOrName: string): MockUniMkrEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockUniMkrEth; + once(event: EventFilter | string, listener: Listener): MockUniMkrEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockUniMkrEth; + removeAllListeners(eventName: EventFilter | string): MockUniMkrEth; + removeListener(eventName: any, listener: Listener): MockUniMkrEth; + + interface: MockUniMkrEthInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockUniMkrEthFactory.ts b/types/MockUniMkrEthFactory.ts new file mode 100644 index 00000000..80cb2075 --- /dev/null +++ b/types/MockUniMkrEthFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockUniMkrEth } from "./MockUniMkrEth"; + +export class MockUniMkrEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockUniMkrEth { + return super.attach(address) as MockUniMkrEth; + } + connect(signer: Signer): MockUniMkrEthFactory { + return super.connect(signer) as MockUniMkrEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockUniMkrEth { + return new Contract(address, _abi, signerOrProvider) as MockUniMkrEth; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f554e495f4d4b525f4554480000000000000000000000000000000000000000008152506040518060400160405280600b81526020017f554e495f4d4b525f4554480000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122058b28b01881e4aa7b81053e70293ea08ba3bb183f41c021715303d4baae2756f64736f6c63430006080033"; diff --git a/types/MockUniSethEth.d.ts b/types/MockUniSethEth.d.ts new file mode 100644 index 00000000..11004e1c --- /dev/null +++ b/types/MockUniSethEth.d.ts @@ -0,0 +1,236 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockUniSethEthInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockUniSethEth extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockUniSethEth; + attach(addressOrName: string): MockUniSethEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockUniSethEth; + once(event: EventFilter | string, listener: Listener): MockUniSethEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockUniSethEth; + removeAllListeners(eventName: EventFilter | string): MockUniSethEth; + removeListener(eventName: any, listener: Listener): MockUniSethEth; + + interface: MockUniSethEthInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockUniSethEthFactory.ts b/types/MockUniSethEthFactory.ts new file mode 100644 index 00000000..49626835 --- /dev/null +++ b/types/MockUniSethEthFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockUniSethEth } from "./MockUniSethEth"; + +export class MockUniSethEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockUniSethEth { + return super.attach(address) as MockUniSethEth; + } + connect(signer: Signer): MockUniSethEthFactory { + return super.connect(signer) as MockUniSethEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockUniSethEth { + return new Contract(address, _abi, signerOrProvider) as MockUniSethEth; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600c81526020017f554e495f534554485f45544800000000000000000000000000000000000000008152506040518060400160405280600c81526020017f554e495f534554485f45544800000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220da5ec663e826d0cfb5ad3f32501e0b51aa7ec2aecc670a2f960bbde1167d620264736f6c63430006080033"; diff --git a/types/MockUniUsdcEth.d.ts b/types/MockUniUsdcEth.d.ts new file mode 100644 index 00000000..a1e57914 --- /dev/null +++ b/types/MockUniUsdcEth.d.ts @@ -0,0 +1,236 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockUniUsdcEthInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockUniUsdcEth extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockUniUsdcEth; + attach(addressOrName: string): MockUniUsdcEth; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockUniUsdcEth; + once(event: EventFilter | string, listener: Listener): MockUniUsdcEth; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockUniUsdcEth; + removeAllListeners(eventName: EventFilter | string): MockUniUsdcEth; + removeListener(eventName: any, listener: Listener): MockUniUsdcEth; + + interface: MockUniUsdcEthInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockUniUsdcEthFactory.ts b/types/MockUniUsdcEthFactory.ts new file mode 100644 index 00000000..5a534d67 --- /dev/null +++ b/types/MockUniUsdcEthFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockUniUsdcEth } from "./MockUniUsdcEth"; + +export class MockUniUsdcEthFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockUniUsdcEth { + return super.attach(address) as MockUniUsdcEth; + } + connect(signer: Signer): MockUniUsdcEthFactory { + return super.connect(signer) as MockUniUsdcEthFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockUniUsdcEth { + return new Contract(address, _abi, signerOrProvider) as MockUniUsdcEth; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600c81526020017f554e495f555344435f45544800000000000000000000000000000000000000008152506040518060400160405280600c81526020017f554e495f555344435f45544800000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122029b3f4f48de17a72fdfc0229486ad1c0af51190db27b4346bb41e3ee2a6c0a6564736f6c63430006080033"; diff --git a/types/MockUsd.d.ts b/types/MockUsd.d.ts new file mode 100644 index 00000000..e5852074 --- /dev/null +++ b/types/MockUsd.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockUsdInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockUsd extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockUsd; + attach(addressOrName: string): MockUsd; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockUsd; + once(event: EventFilter | string, listener: Listener): MockUsd; + addListener(eventName: EventFilter | string, listener: Listener): MockUsd; + removeAllListeners(eventName: EventFilter | string): MockUsd; + removeListener(eventName: any, listener: Listener): MockUsd; + + interface: MockUsdInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockUsdFactory.ts b/types/MockUsdFactory.ts new file mode 100644 index 00000000..7c5be4b7 --- /dev/null +++ b/types/MockUsdFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockUsd } from "./MockUsd"; + +export class MockUsdFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockUsd { + return super.attach(address) as MockUsd; + } + connect(signer: Signer): MockUsdFactory { + return super.connect(signer) as MockUsdFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockUsd { + return new Contract(address, _abi, signerOrProvider) as MockUsd; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600381526020017f55534400000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f55534400000000000000000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209694e36bc0bd24e7cf3c476e70558d4c80eb2d2c712b53838edb32cf43b58baa64736f6c63430006080033"; diff --git a/types/MockUsdc.d.ts b/types/MockUsdc.d.ts new file mode 100644 index 00000000..d3696d8e --- /dev/null +++ b/types/MockUsdc.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockUsdcInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockUsdc extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockUsdc; + attach(addressOrName: string): MockUsdc; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockUsdc; + once(event: EventFilter | string, listener: Listener): MockUsdc; + addListener(eventName: EventFilter | string, listener: Listener): MockUsdc; + removeAllListeners(eventName: EventFilter | string): MockUsdc; + removeListener(eventName: any, listener: Listener): MockUsdc; + + interface: MockUsdcInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockUsdcFactory.ts b/types/MockUsdcFactory.ts new file mode 100644 index 00000000..336c328a --- /dev/null +++ b/types/MockUsdcFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockUsdc } from "./MockUsdc"; + +export class MockUsdcFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockUsdc { + return super.attach(address) as MockUsdc; + } + connect(signer: Signer): MockUsdcFactory { + return super.connect(signer) as MockUsdcFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockUsdc { + return new Contract(address, _abi, signerOrProvider) as MockUsdc; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020017f55534443000000000000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f55534420436f696e0000000000000000000000000000000000000000000000008152506006828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220277337b738e8dcc922068c2566021fe80b3d744fd991a33e66d3c73c10689b0664736f6c63430006080033"; diff --git a/types/MockUsdt.d.ts b/types/MockUsdt.d.ts new file mode 100644 index 00000000..48620e86 --- /dev/null +++ b/types/MockUsdt.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockUsdtInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockUsdt extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockUsdt; + attach(addressOrName: string): MockUsdt; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockUsdt; + once(event: EventFilter | string, listener: Listener): MockUsdt; + addListener(eventName: EventFilter | string, listener: Listener): MockUsdt; + removeAllListeners(eventName: EventFilter | string): MockUsdt; + removeListener(eventName: any, listener: Listener): MockUsdt; + + interface: MockUsdtInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockUsdtFactory.ts b/types/MockUsdtFactory.ts new file mode 100644 index 00000000..e739e393 --- /dev/null +++ b/types/MockUsdtFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockUsdt } from "./MockUsdt"; + +export class MockUsdtFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockUsdt { + return super.attach(address) as MockUsdt; + } + connect(signer: Signer): MockUsdtFactory { + return super.connect(signer) as MockUsdtFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockUsdt { + return new Contract(address, _abi, signerOrProvider) as MockUsdt; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020017f55534454000000000000000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f5553445420436f696e00000000000000000000000000000000000000000000008152506006828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e6433badbecc03a3fe9669665f66e240f065cce5fe99079938ee29b44ff5ffda64736f6c63430006080033"; diff --git a/types/MockWbtc.d.ts b/types/MockWbtc.d.ts new file mode 100644 index 00000000..d755bdf0 --- /dev/null +++ b/types/MockWbtc.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockWbtcInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockWbtc extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockWbtc; + attach(addressOrName: string): MockWbtc; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockWbtc; + once(event: EventFilter | string, listener: Listener): MockWbtc; + addListener(eventName: EventFilter | string, listener: Listener): MockWbtc; + removeAllListeners(eventName: EventFilter | string): MockWbtc; + removeListener(eventName: any, listener: Listener): MockWbtc; + + interface: MockWbtcInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockWbtcFactory.ts b/types/MockWbtcFactory.ts new file mode 100644 index 00000000..13a80a18 --- /dev/null +++ b/types/MockWbtcFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockWbtc } from "./MockWbtc"; + +export class MockWbtcFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockWbtc { + return super.attach(address) as MockWbtc; + } + connect(signer: Signer): MockWbtcFactory { + return super.connect(signer) as MockWbtcFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockWbtc { + return new Contract(address, _abi, signerOrProvider) as MockWbtc; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020017f57425443000000000000000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f5742544320436f696e00000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122036540f9f76b0e60926c84addd12fc0def4d488e8e5d63928bd7a5ed6b4b4a16064736f6c63430006080033"; diff --git a/types/MockZrx.d.ts b/types/MockZrx.d.ts new file mode 100644 index 00000000..2d82a687 --- /dev/null +++ b/types/MockZrx.d.ts @@ -0,0 +1,233 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockZrxInterface extends Interface { + functions: { + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ encode([value]: [BigNumberish]): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MockZrx extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockZrx; + attach(addressOrName: string): MockZrx; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockZrx; + once(event: EventFilter | string, listener: Listener): MockZrx; + addListener(eventName: EventFilter | string, listener: Listener): MockZrx; + removeAllListeners(eventName: EventFilter | string): MockZrx; + removeListener(eventName: any, listener: Listener): MockZrx; + + interface: MockZrxInterface; + + functions: { + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + allowance(owner: string, spender: string): Promise; + + approve(spender: string, amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + mint(value: BigNumberish): Promise; + + name(): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish + ): Promise; + }; +} diff --git a/types/MockZrxFactory.ts b/types/MockZrxFactory.ts new file mode 100644 index 00000000..cf9aa498 --- /dev/null +++ b/types/MockZrxFactory.ts @@ -0,0 +1,329 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockZrx } from "./MockZrx"; + +export class MockZrxFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): MockZrx { + return super.attach(address) as MockZrx; + } + connect(signer: Signer): MockZrxFactory { + return super.connect(signer) as MockZrxFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockZrx { + return new Contract(address, _abi, signerOrProvider) as MockZrx; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "mint", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600381526020017f5a525800000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f307820436f696e000000000000000000000000000000000000000000000000008152506012828281600390805190602001906200009a9291906200010a565b508060049080519060200190620000b39291906200010a565b506012600560006101000a81548160ff021916908360ff1602179055505050620000e381620000ec60201b60201c565b505050620001b9565b80600560006101000a81548160ff021916908360ff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017e565b828001600101855582156200017e579182015b828111156200017d57825182559160200191906001019062000160565b5b5090506200018d919062000191565b5090565b620001b691905b80821115620001b257600081600090555060010162000198565b5090565b90565b61131e80620001c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146102d057806395d89b4114610328578063a0712d68146103ab578063a457c2d7146103f1578063a9059cbb14610457578063dd62ed3e146104bd576100b4565b806306fdde03146100b9578063095ea7b31461013c57806318160ddd146101a257806323b872dd146101c0578063313ce56714610246578063395093511461026a575b600080fd5b6100c1610535565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101015780820151818401526020810190506100e6565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101886004803603604081101561015257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d7565b604051808215151515815260200191505060405180910390f35b6101aa6105f5565b6040518082815260200191505060405180910390f35b61022c600480360360608110156101d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ff565b604051808215151515815260200191505060405180910390f35b61024e6106d8565b604051808260ff1660ff16815260200191505060405180910390f35b6102b66004803603604081101561028057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ef565b604051808215151515815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107a2565b6040518082815260200191505060405180910390f35b6103306107ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610370578082015181840152602081019050610355565b50505050905090810190601f16801561039d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d7600480360360208110156103c157600080fd5b810190808035906020019092919050505061088c565b604051808215151515815260200191505060405180910390f35b61043d6004803603604081101561040757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a1565b604051808215151515815260200191505060405180910390f35b6104a36004803603604081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061096e565b604051808215151515815260200191505060405180910390f35b61051f600480360360408110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098c565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e4610a13565b8484610a1b565b6001905092915050565b6000600254905090565b600061060c848484610c12565b6106cd84610618610a13565b6106c88560405180606001604052806028815260200161125360289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067e610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107986106fc610a13565b84610793856001600061070d610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b610a1b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905090565b6000610898338361101b565b60019050919050565b60006109646108ae610a13565b8461095f856040518060600160405280602581526020016112c460259139600160006108d8610a13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b610a1b565b6001905092915050565b600061098261097b610a13565b8484610c12565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610aa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112a06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061127b6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d298383836111e2565b610d948160405180606001604052806026815260200161122d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed39092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e27816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f45578082015181840152602081019050610f2a565b50505050905090810190601f168015610f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6110ca600083836111e2565b6110df81600254610f9390919063ffffffff16565b600281905550611136816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f9390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122017282d069e83e6feb72c50373c1df4c9a7602000e421bdd68728e9e9f5647f4464736f6c63430006080033"; diff --git a/types/OneSplitAdapter.d.ts b/types/OneSplitAdapter.d.ts new file mode 100644 index 00000000..444d6e0f --- /dev/null +++ b/types/OneSplitAdapter.d.ts @@ -0,0 +1,120 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface OneSplitAdapterInterface extends Interface { + functions: { + approveExchange: TypedFunctionDescription<{ + encode([_tokens]: [string[]]): string; + }>; + + exchange: TypedFunctionDescription<{ + encode([_from, _to, _amount, _maxSlippage]: [ + string, + string, + BigNumberish, + BigNumberish + ]): string; + }>; + }; + + events: { + Exchange: TypedEventDescription<{ + encodeTopics([from, to, platform, fromAmount, toAmount]: [ + string | null, + string | null, + string | null, + null, + null + ]): string[]; + }>; + + OneSplitAdapterSetup: TypedEventDescription<{ + encodeTopics([oneSplit, priceOracle, splitParts]: [ + null, + null, + null + ]): string[]; + }>; + }; +} + +export class OneSplitAdapter extends Contract { + connect(signerOrProvider: Signer | Provider | string): OneSplitAdapter; + attach(addressOrName: string): OneSplitAdapter; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): OneSplitAdapter; + once(event: EventFilter | string, listener: Listener): OneSplitAdapter; + addListener( + eventName: EventFilter | string, + listener: Listener + ): OneSplitAdapter; + removeAllListeners(eventName: EventFilter | string): OneSplitAdapter; + removeListener(eventName: any, listener: Listener): OneSplitAdapter; + + interface: OneSplitAdapterInterface; + + functions: { + approveExchange( + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + exchange( + _from: string, + _to: string, + _amount: BigNumberish, + _maxSlippage: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + approveExchange( + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + exchange( + _from: string, + _to: string, + _amount: BigNumberish, + _maxSlippage: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Exchange( + from: string | null, + to: string | null, + platform: string | null, + fromAmount: null, + toAmount: null + ): EventFilter; + + OneSplitAdapterSetup( + oneSplit: null, + priceOracle: null, + splitParts: null + ): EventFilter; + }; + + estimate: { + approveExchange(_tokens: string[]): Promise; + + exchange( + _from: string, + _to: string, + _amount: BigNumberish, + _maxSlippage: BigNumberish + ): Promise; + }; +} diff --git a/types/OneSplitAdapterFactory.ts b/types/OneSplitAdapterFactory.ts new file mode 100644 index 00000000..13b0d77a --- /dev/null +++ b/types/OneSplitAdapterFactory.ts @@ -0,0 +1,154 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { OneSplitAdapter } from "./OneSplitAdapter"; + +export class OneSplitAdapterFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): OneSplitAdapter { + return super.attach(address) as OneSplitAdapter; + } + connect(signer: Signer): OneSplitAdapterFactory { + return super.connect(signer) as OneSplitAdapterFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): OneSplitAdapter { + return new Contract(address, _abi, signerOrProvider) as OneSplitAdapter; + } +} + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "platform", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fromAmount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "toAmount", + type: "uint256" + } + ], + name: "Exchange", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "oneSplit", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "priceOracle", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "splitParts", + type: "uint256" + } + ], + name: "OneSplitAdapterSetup", + type: "event" + }, + { + inputs: [ + { + internalType: "contract IERC20[]", + name: "_tokens", + type: "address[]" + } + ], + name: "approveExchange", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_from", + type: "address" + }, + { + internalType: "address", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "_maxSlippage", + type: "uint256" + } + ], + name: "exchange", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b507f8d2e03fe8af77d72ac9d334b8bc58153f47fc0c0ec0c926c1686754201cfdc5d731814222fa8c8c1c1bf380e3bbfbd9de8657da4767376b47460d7f7c5222cfb6b6a75615ab10895dde4600a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a161104f806100e86000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630ed2fc951461003b57806393ed4309146100c7575b600080fd5b6100b16004803603608081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610140565b6040518082815260200191505060405180910390f35b61013e600480360360208110156100dd57600080fd5b81019080803590602001906401000000008111156100fa57600080fd5b82018360208201111561010c57600080fd5b8035906020019184602083028401116401000000008311171561012e57600080fd5b9091929391929390505050610720565b005b60008061014b610814565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614610184576000610186565b835b905060007376b47460d7f7c5222cfb6b6a75615ab10895dde473ffffffffffffffffffffffffffffffffffffffff1663b3596f07886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561021b57600080fd5b505afa15801561022f573d6000803e3d6000fd5b505050506040513d602081101561024557600080fd5b8101908080519060200190929190505050905060007376b47460d7f7c5222cfb6b6a75615ab10895dde473ffffffffffffffffffffffffffffffffffffffff1663b3596f07886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156102eb57600080fd5b505afa1580156102ff573d6000803e3d6000fd5b505050506040513d602081101561031557600080fd5b8101908080519060200190929190505050905060008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d60208110156103d157600080fd5b81019080805190602001909291905050509050731814222fa8c8c1c1bf380e3bbfbd9de8657da47673ffffffffffffffffffffffffffffffffffffffff16636b9589aa858b8b8b6000600a6102006040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200182815260200196505050505050506000604051808303818588803b1580156104cf57600080fd5b505af11580156104e3573d6000803e3d6000fd5b505050505060006105b4828a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561056b57600080fd5b505afa15801561057f573d6000803e3d6000fd5b505050506040513d602081101561059557600080fd5b810190808051906020019092919050505061083090919063ffffffff16565b9050866064036106046105d08a8761087a90919063ffffffff16565b6105f660646105e8868961087a90919063ffffffff16565b61087a90919063ffffffff16565b61090090919063ffffffff16565b1015610678576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f494e56414c49445f534c4950504147450000000000000000000000000000000081525060200191505060405180910390fd5b731814222fa8c8c1c1bf380e3bbfbd9de8657da47673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fa6fee24309b1d83d9ec7b9e4dbb73c6f882746efbfb26db7b7d9e9f2fb6dc95a8b85604051808381526020018281526020019250505060405180910390a48095505050505050949350505050565b60008090505b8282905081101561080f57610739610814565b73ffffffffffffffffffffffffffffffffffffffff1683838381811061075b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080257610801731814222fa8c8c1c1bf380e3bbfbd9de8657da4766107b361094a565b8585858181106107bf57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109759092919063ffffffff16565b5b8080600101915050610726565b505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b600061087283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b7c565b905092915050565b60008083141561088d57600090506108fa565b600082840290508284828161089e57fe5b04146108f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610f996021913960400191505060405180910390fd5b809150505b92915050565b600061094283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c3c565b905092915050565b600060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03905090565b6000811480610a6f575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610a3257600080fd5b505afa158015610a46573d6000803e3d6000fd5b505050506040513d6020811015610a5c57600080fd5b8101908080519060200190929190505050145b610ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610fe46036913960400191505060405180910390fd5b610b778363095ea7b360e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d02565b505050565b6000838311158290610c29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bee578082015181840152602081019050610bd3565b50505050905090810190601f168015610c1b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290610ce8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cad578082015181840152602081019050610c92565b50505050905090810190601f168015610cda5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610cf457fe5b049050809150509392505050565b610d218273ffffffffffffffffffffffffffffffffffffffff16610f4d565b610d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310610de25780518252602082019150602081019050602083039250610dbf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610e44576040519150601f19603f3d011682016040523d82523d6000602084013e610e49565b606091505b509150915081610ec1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115610f4757808060200190516020811015610ee057600080fd5b8101908080519060200190929190505050610f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610fba602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015610f8f57506000801b8214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a26469706673582212202249357dbf5fc499ce775565891a139afd1afebcd9c3e4956222dfa0cb66609b64736f6c63430006080033"; diff --git a/types/Ownable.d.ts b/types/Ownable.d.ts new file mode 100644 index 00000000..4837b487 --- /dev/null +++ b/types/Ownable.d.ts @@ -0,0 +1,85 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface OwnableInterface extends Interface { + functions: { + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + renounceOwnership: TypedFunctionDescription<{ encode([]: []): string }>; + + transferOwnership: TypedFunctionDescription<{ + encode([newOwner]: [string]): string; + }>; + }; + + events: { + OwnershipTransferred: TypedEventDescription<{ + encodeTopics([previousOwner, newOwner]: [ + string | null, + string | null + ]): string[]; + }>; + }; +} + +export class Ownable extends Contract { + connect(signerOrProvider: Signer | Provider | string): Ownable; + attach(addressOrName: string): Ownable; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): Ownable; + once(event: EventFilter | string, listener: Listener): Ownable; + addListener(eventName: EventFilter | string, listener: Listener): Ownable; + removeAllListeners(eventName: EventFilter | string): Ownable; + removeListener(eventName: any, listener: Listener): Ownable; + + interface: OwnableInterface; + + functions: { + owner(): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + }; + + owner(): Promise; + + renounceOwnership( + overrides?: TransactionOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + OwnershipTransferred( + previousOwner: string | null, + newOwner: string | null + ): EventFilter; + }; + + estimate: { + owner(): Promise; + + renounceOwnership(): Promise; + + transferOwnership(newOwner: string): Promise; + }; +} diff --git a/types/OwnableFactory.ts b/types/OwnableFactory.ts new file mode 100644 index 00000000..678614f5 --- /dev/null +++ b/types/OwnableFactory.ts @@ -0,0 +1,71 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { Ownable } from "./Ownable"; + +export class OwnableFactory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Ownable { + return new Contract(address, _abi, signerOrProvider) as Ownable; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnershipTransferred", + type: "event" + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; diff --git a/types/PriceOracle.d.ts b/types/PriceOracle.d.ts new file mode 100644 index 00000000..ecc547e1 --- /dev/null +++ b/types/PriceOracle.d.ts @@ -0,0 +1,101 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface PriceOracleInterface extends Interface { + functions: { + getAssetPrice: TypedFunctionDescription<{ + encode([_asset]: [string]): string; + }>; + + getEthUsdPrice: TypedFunctionDescription<{ encode([]: []): string }>; + + setAssetPrice: TypedFunctionDescription<{ + encode([_asset, _price]: [string, BigNumberish]): string; + }>; + + setEthUsdPrice: TypedFunctionDescription<{ + encode([_price]: [BigNumberish]): string; + }>; + }; + + events: { + AssetPriceUpdated: TypedEventDescription<{ + encodeTopics([_asset, _price, timestamp]: [null, null, null]): string[]; + }>; + + EthPriceUpdated: TypedEventDescription<{ + encodeTopics([_price, timestamp]: [null, null]): string[]; + }>; + }; +} + +export class PriceOracle extends Contract { + connect(signerOrProvider: Signer | Provider | string): PriceOracle; + attach(addressOrName: string): PriceOracle; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): PriceOracle; + once(event: EventFilter | string, listener: Listener): PriceOracle; + addListener(eventName: EventFilter | string, listener: Listener): PriceOracle; + removeAllListeners(eventName: EventFilter | string): PriceOracle; + removeListener(eventName: any, listener: Listener): PriceOracle; + + interface: PriceOracleInterface; + + functions: { + getAssetPrice(_asset: string): Promise; + + getEthUsdPrice(): Promise; + + setAssetPrice( + _asset: string, + _price: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setEthUsdPrice( + _price: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + getAssetPrice(_asset: string): Promise; + + getEthUsdPrice(): Promise; + + setAssetPrice( + _asset: string, + _price: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + setEthUsdPrice( + _price: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + AssetPriceUpdated(_asset: null, _price: null, timestamp: null): EventFilter; + + EthPriceUpdated(_price: null, timestamp: null): EventFilter; + }; + + estimate: { + getAssetPrice(_asset: string): Promise; + + getEthUsdPrice(): Promise; + + setAssetPrice(_asset: string, _price: BigNumberish): Promise; + + setEthUsdPrice(_price: BigNumberish): Promise; + }; +} diff --git a/types/PriceOracleFactory.ts b/types/PriceOracleFactory.ts new file mode 100644 index 00000000..ce5b0b97 --- /dev/null +++ b/types/PriceOracleFactory.ts @@ -0,0 +1,147 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { PriceOracle } from "./PriceOracle"; + +export class PriceOracleFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): PriceOracle { + return super.attach(address) as PriceOracle; + } + connect(signer: Signer): PriceOracleFactory { + return super.connect(signer) as PriceOracleFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): PriceOracle { + return new Contract(address, _abi, signerOrProvider) as PriceOracle; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_asset", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_price", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "AssetPriceUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "_price", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "EthPriceUpdated", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + } + ], + name: "getAssetPrice", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getEthUsdPrice", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_asset", + type: "address" + }, + { + internalType: "uint256", + name: "_price", + type: "uint256" + } + ], + name: "setAssetPrice", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_price", + type: "uint256" + } + ], + name: "setEthUsdPrice", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b506102ce806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806351323f7214610051578063a0a8045e1461009f578063b3596f07146100bd578063b951883a14610115575b600080fd5b61009d6004803603604081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610143565b005b6100a76101fd565b6040518082815260200191505060405180910390f35b6100ff600480360360208110156100d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610207565b6040518082815260200191505060405180910390f35b6101416004803603602081101561012b57600080fd5b810190808035906020019092919050505061024f565b005b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fce6e0b57367bae95ca7198e1172f653ea64a645c16ab586b4cefa9237bfc2d92828242604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050565b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b806001819055507fb4f35977939fa8b5ffe552d517a8ff5223046b1fdd3ee0068ae38d1e2b8d00168142604051808381526020018281526020019250505060405180910390a15056fea2646970667358221220cc210b3d4049c8fb5303e4219241d39724b55f017315ffe61dbc7ce71ca95b7464736f6c63430006080033"; diff --git a/types/Proxy.d.ts b/types/Proxy.d.ts new file mode 100644 index 00000000..83461276 --- /dev/null +++ b/types/Proxy.d.ts @@ -0,0 +1,37 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface ProxyInterface extends Interface { + functions: {}; + + events: {}; +} + +export class Proxy extends Contract { + connect(signerOrProvider: Signer | Provider | string): Proxy; + attach(addressOrName: string): Proxy; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): Proxy; + once(event: EventFilter | string, listener: Listener): Proxy; + addListener(eventName: EventFilter | string, listener: Listener): Proxy; + removeAllListeners(eventName: EventFilter | string): Proxy; + removeListener(eventName: any, listener: Listener): Proxy; + + interface: ProxyInterface; + + functions: {}; + + filters: {}; + + estimate: {}; +} diff --git a/types/ProxyFactory.ts b/types/ProxyFactory.ts new file mode 100644 index 00000000..c01b8a8b --- /dev/null +++ b/types/ProxyFactory.ts @@ -0,0 +1,20 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { Proxy } from "./Proxy"; + +export class ProxyFactory { + static connect(address: string, signerOrProvider: Signer | Provider): Proxy { + return new Contract(address, _abi, signerOrProvider) as Proxy; + } +} + +const _abi = [ + { + stateMutability: "payable", + type: "receive" + } +]; diff --git a/types/TokenDistributor.d.ts b/types/TokenDistributor.d.ts new file mode 100644 index 00000000..c77d9eaf --- /dev/null +++ b/types/TokenDistributor.d.ts @@ -0,0 +1,290 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface TokenDistributorInterface extends Interface { + functions: { + DISTRIBUTION_BASE: TypedFunctionDescription<{ encode([]: []): string }>; + + IMPLEMENTATION_REVISION: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + KYBER_ETH_MOCK_ADDRESS: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + MAX_UINT: TypedFunctionDescription<{ encode([]: []): string }>; + + MAX_UINT_MINUS_ONE: TypedFunctionDescription<{ encode([]: []): string }>; + + MIN_CONVERSION_RATE: TypedFunctionDescription<{ encode([]: []): string }>; + + approveExchange: TypedFunctionDescription<{ + encode([_tokens]: [string[]]): string; + }>; + + distribute: TypedFunctionDescription<{ + encode([_tokens]: [string[]]): string; + }>; + + distributeWithAmounts: TypedFunctionDescription<{ + encode([_tokens, _amounts]: [string[], BigNumberish[]]): string; + }>; + + distributeWithPercentages: TypedFunctionDescription<{ + encode([_tokens, _percentages]: [string[], BigNumberish[]]): string; + }>; + + exchangeAdapter: TypedFunctionDescription<{ encode([]: []): string }>; + + getDistribution: TypedFunctionDescription<{ encode([]: []): string }>; + + initialize: TypedFunctionDescription<{ + encode([ + _recipientBurn, + _tokenToBurn, + _exchangeAdapter, + _receivers, + _percentages, + _tokens + ]: [string, string, string, string[], BigNumberish[], string[]]): string; + }>; + + kyberProxy: TypedFunctionDescription<{ encode([]: []): string }>; + + recipientBurn: TypedFunctionDescription<{ encode([]: []): string }>; + + tokenToBurn: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + Burn: TypedEventDescription<{ encodeTopics([amount]: [null]): string[] }>; + + Distributed: TypedEventDescription<{ + encodeTopics([receiver, percentage, amount]: [ + null, + null, + null + ]): string[]; + }>; + + DistributionUpdated: TypedEventDescription<{ + encodeTopics([receivers, percentages]: [null, null]): string[]; + }>; + + Setup: TypedEventDescription<{ + encodeTopics([tokenToBurn, exchangeAdapter, _recipientBurn]: [ + null, + null, + null + ]): string[]; + }>; + }; +} + +export class TokenDistributor extends Contract { + connect(signerOrProvider: Signer | Provider | string): TokenDistributor; + attach(addressOrName: string): TokenDistributor; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): TokenDistributor; + once(event: EventFilter | string, listener: Listener): TokenDistributor; + addListener( + eventName: EventFilter | string, + listener: Listener + ): TokenDistributor; + removeAllListeners(eventName: EventFilter | string): TokenDistributor; + removeListener(eventName: any, listener: Listener): TokenDistributor; + + interface: TokenDistributorInterface; + + functions: { + DISTRIBUTION_BASE(): Promise; + + IMPLEMENTATION_REVISION(): Promise; + + KYBER_ETH_MOCK_ADDRESS(): Promise; + + MAX_UINT(): Promise; + + MAX_UINT_MINUS_ONE(): Promise; + + MIN_CONVERSION_RATE(): Promise; + + approveExchange( + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + distribute( + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + distributeWithAmounts( + _tokens: string[], + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + distributeWithPercentages( + _tokens: string[], + _percentages: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + exchangeAdapter(): Promise; + + getDistribution(): Promise<{ + receivers: string[]; + percentages: BigNumber[]; + 0: string[]; + 1: BigNumber[]; + }>; + + initialize( + _recipientBurn: string, + _tokenToBurn: string, + _exchangeAdapter: string, + _receivers: string[], + _percentages: BigNumberish[], + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + kyberProxy(): Promise; + + recipientBurn(): Promise; + + tokenToBurn(): Promise; + }; + + DISTRIBUTION_BASE(): Promise; + + IMPLEMENTATION_REVISION(): Promise; + + KYBER_ETH_MOCK_ADDRESS(): Promise; + + MAX_UINT(): Promise; + + MAX_UINT_MINUS_ONE(): Promise; + + MIN_CONVERSION_RATE(): Promise; + + approveExchange( + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + distribute( + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + distributeWithAmounts( + _tokens: string[], + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + distributeWithPercentages( + _tokens: string[], + _percentages: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + exchangeAdapter(): Promise; + + getDistribution(): Promise<{ + receivers: string[]; + percentages: BigNumber[]; + 0: string[]; + 1: BigNumber[]; + }>; + + initialize( + _recipientBurn: string, + _tokenToBurn: string, + _exchangeAdapter: string, + _receivers: string[], + _percentages: BigNumberish[], + _tokens: string[], + overrides?: TransactionOverrides + ): Promise; + + kyberProxy(): Promise; + + recipientBurn(): Promise; + + tokenToBurn(): Promise; + + filters: { + Burn(amount: null): EventFilter; + + Distributed(receiver: null, percentage: null, amount: null): EventFilter; + + DistributionUpdated(receivers: null, percentages: null): EventFilter; + + Setup( + tokenToBurn: null, + exchangeAdapter: null, + _recipientBurn: null + ): EventFilter; + }; + + estimate: { + DISTRIBUTION_BASE(): Promise; + + IMPLEMENTATION_REVISION(): Promise; + + KYBER_ETH_MOCK_ADDRESS(): Promise; + + MAX_UINT(): Promise; + + MAX_UINT_MINUS_ONE(): Promise; + + MIN_CONVERSION_RATE(): Promise; + + approveExchange(_tokens: string[]): Promise; + + distribute(_tokens: string[]): Promise; + + distributeWithAmounts( + _tokens: string[], + _amounts: BigNumberish[] + ): Promise; + + distributeWithPercentages( + _tokens: string[], + _percentages: BigNumberish[] + ): Promise; + + exchangeAdapter(): Promise; + + getDistribution(): Promise; + + initialize( + _recipientBurn: string, + _tokenToBurn: string, + _exchangeAdapter: string, + _receivers: string[], + _percentages: BigNumberish[], + _tokens: string[] + ): Promise; + + kyberProxy(): Promise; + + recipientBurn(): Promise; + + tokenToBurn(): Promise; + }; +} diff --git a/types/TokenDistributorFactory.ts b/types/TokenDistributorFactory.ts new file mode 100644 index 00000000..1c104c5e --- /dev/null +++ b/types/TokenDistributorFactory.ts @@ -0,0 +1,374 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { TokenDistributor } from "./TokenDistributor"; + +export class TokenDistributorFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): TokenDistributor { + return super.attach(address) as TokenDistributor; + } + connect(signer: Signer): TokenDistributorFactory { + return super.connect(signer) as TokenDistributorFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TokenDistributor { + return new Contract(address, _abi, signerOrProvider) as TokenDistributor; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "Burn", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "receiver", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "percentage", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "Distributed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address[]", + name: "receivers", + type: "address[]" + }, + { + indexed: false, + internalType: "uint256[]", + name: "percentages", + type: "uint256[]" + } + ], + name: "DistributionUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tokenToBurn", + type: "address" + }, + { + indexed: false, + internalType: "contract IExchangeAdapter", + name: "exchangeAdapter", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "_recipientBurn", + type: "address" + } + ], + name: "Setup", + type: "event" + }, + { + inputs: [], + name: "DISTRIBUTION_BASE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "IMPLEMENTATION_REVISION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "KYBER_ETH_MOCK_ADDRESS", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "MAX_UINT", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "MAX_UINT_MINUS_ONE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "MIN_CONVERSION_RATE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20[]", + name: "_tokens", + type: "address[]" + } + ], + name: "approveExchange", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20[]", + name: "_tokens", + type: "address[]" + } + ], + name: "distribute", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20[]", + name: "_tokens", + type: "address[]" + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]" + } + ], + name: "distributeWithAmounts", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20[]", + name: "_tokens", + type: "address[]" + }, + { + internalType: "uint256[]", + name: "_percentages", + type: "uint256[]" + } + ], + name: "distributeWithPercentages", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "exchangeAdapter", + outputs: [ + { + internalType: "contract IExchangeAdapter", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getDistribution", + outputs: [ + { + internalType: "address[]", + name: "receivers", + type: "address[]" + }, + { + internalType: "uint256[]", + name: "percentages", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_recipientBurn", + type: "address" + }, + { + internalType: "address", + name: "_tokenToBurn", + type: "address" + }, + { + internalType: "contract IExchangeAdapter", + name: "_exchangeAdapter", + type: "address" + }, + { + internalType: "address[]", + name: "_receivers", + type: "address[]" + }, + { + internalType: "uint256[]", + name: "_percentages", + type: "uint256[]" + }, + { + internalType: "contract IERC20[]", + name: "_tokens", + type: "address[]" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "kyberProxy", + outputs: [ + { + internalType: "contract IKyberNetworkProxyInterface", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "recipientBurn", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "tokenToBurn", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x6080604052600060015534801561001557600080fd5b5060016000806101000a81548160ff0219169083151502179055506125d48061003f6000396000f3fe6080604052600436106100f75760003560e01c80636138889b1161008a578063cc8cc9d811610059578063cc8cc9d814610796578063e5b5019a146108ef578063eed64c301461091a578063f0eeed8114610a73576100fe565b80636138889b146103685780637623bac51461042d5780638c0c9a251461067a57806393ed4309146106d1576100fe565b806323879bb1116100c657806323879bb1146102645780632cbcda251461028f57806340d58a4a146102e65780634f1b86eb14610311576100fe565b8063043c41d414610103578063135206581461012e5780631cced51b14610159578063217ab8061461020d576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b50610118610aca565b6040518082815260200191505060405180910390f35b34801561013a57600080fd5b50610143610aee565b6040518082815260200191505060405180910390f35b34801561016557600080fd5b5061016e610af4565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101b557808201518184015260208101905061019a565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101f75780820151818401526020810190506101dc565b5050505090500194505050505060405180910390f35b34801561021957600080fd5b50610222610bdd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027057600080fd5b50610279610c03565b6040518082815260200191505060405180910390f35b34801561029b57600080fd5b506102a4610c08565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102f257600080fd5b506102fb610c2e565b6040518082815260200191505060405180910390f35b34801561031d57600080fd5b50610326610c33565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561037457600080fd5b5061042b6004803603602081101561038b57600080fd5b81019080803590602001906401000000008111156103a857600080fd5b8201836020820111156103ba57600080fd5b803590602001918460208302840111640100000000831117156103dc57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610c59565b005b34801561043957600080fd5b50610678600480360360c081101561045057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104cd57600080fd5b8201836020820111156104df57600080fd5b8035906020019184602083028401116401000000008311171561050157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561056157600080fd5b82018360208201111561057357600080fd5b8035906020019184602083028401116401000000008311171561059557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105f557600080fd5b82018360208201111561060757600080fd5b8035906020019184602083028401116401000000008311171561062957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610dca565b005b34801561068657600080fd5b5061068f611061565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106dd57600080fd5b50610794600480360360208110156106f457600080fd5b810190808035906020019064010000000081111561071157600080fd5b82018360208201111561072357600080fd5b8035906020019184602083028401116401000000008311171561074557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611079565b005b3480156107a257600080fd5b506108ed600480360360408110156107b957600080fd5b81019080803590602001906401000000008111156107d657600080fd5b8201836020820111156107e857600080fd5b8035906020019184602083028401116401000000008311171561080a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561086a57600080fd5b82018360208201111561087c57600080fd5b8035906020019184602083028401116401000000008311171561089e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061120b565b005b3480156108fb57600080fd5b5061090461125c565b6040518082815260200191505060405180910390f35b34801561092657600080fd5b50610a716004803603604081101561093d57600080fd5b810190808035906020019064010000000081111561095a57600080fd5b82018360208201111561096c57600080fd5b8035906020019184602083028401116401000000008311171561098e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156109ee57600080fd5b820183602082011115610a0057600080fd5b80359060200191846020830284011164010000000083111715610a2257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611280565b005b348015610a7f57600080fd5b50610a88611462565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81565b61271081565b6060806035600001805480602002602001604051908101604052809291908181526020018280548015610b7c57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610b32575b505050505091506035600101805480602002602001604051908101604052809291908181526020018280548015610bd257602002820191906000526020600020905b815481526020019060010190808311610bbe575b505050505090509091565b603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600381565b603a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600181565b603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008090505b8151811015610dc6576000610c72611488565b73ffffffffffffffffffffffffffffffffffffffff16838381518110610c9457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415610cbe5747610d8a565b828281518110610cca57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d4e57600080fd5b505afa158015610d62573d6000803e3d6000fd5b505050506040513d6020811015610d7857600080fd5b81019080805190602001909291905050505b905060008111610d9a5750610db9565b610db7838381518110610da957fe5b6020026020010151826114a4565b505b8080600101915050610c5f565b5050565b6000610dd4611b70565b9050600260009054906101000a900460ff1680610df55750610df4611b79565b5b80610e01575060015481115b610e56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061250e602e913960400191505060405180910390fd5b6000600260009054906101000a900460ff161590508015610e94576001600260006101000a81548160ff021916908315150217905550816001819055505b87603960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086603860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085603a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f618585611b8a565b610f6a83611079565b7f99566d155bc7902033d8db6b0f091f12209d9651abdae3aad004632bd3e657b587878a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a18015611057576000600260006101000a81548160ff0219169083151502179055505b5050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6000603a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166393ed430960e01b836040516024018080602001828103825283818151815260200191508051906020019060200280838360005b838110156111035780820151818401526020810190506110e8565b5050505090500192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061119e578051825260208201915060208101905060208303925061117b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146111fe576040519150601f19603f3d011682016040523d82523d6000602084013e611203565b606091505b505090505050565b60008090505b82518110156112575761124a83828151811061122957fe5b602002602001015183838151811061123d57fe5b60200260200101516114a4565b8080600101915050611211565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b60008090505b825181101561145d576000611299611488565b73ffffffffffffffffffffffffffffffffffffffff168483815181106112bb57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561131d57611318606461130a8585815181106112f357fe5b602002602001015147611d1a90919063ffffffff16565b611da090919063ffffffff16565b611421565b611420606461141285858151811061133157fe5b602002602001015187868151811061134557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113c957600080fd5b505afa1580156113dd573d6000803e3d6000fd5b505050506040513d60208110156113f357600080fd5b8101908080519060200190929190505050611d1a90919063ffffffff16565b611da090919063ffffffff16565b5b9050600081116114315750611450565b61144e84838151811061144057fe5b6020026020010151826114a4565b505b8080600101915050611286565b505050565b603760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b60008290506114b1612393565b60356040518060400160405290816000820180548060200260200160405190810160405280929190818152602001828054801561154357602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116114f9575b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561159b57602002820191906000526020600020905b815481526020019060010190808311611587575b505050505081525050905060008090505b816000015151811015611b695760006115f96127106115eb856020015185815181106115d457fe5b602002602001015188611d1a90919063ffffffff16565b611da090919063ffffffff16565b9050600081141561160a5750611b5c565b600073ffffffffffffffffffffffffffffffffffffffff168360000151838151811061163257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16146118715761165d611488565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146116d6576116d1836000015183815181106116a257fe5b6020026020010151828873ffffffffffffffffffffffffffffffffffffffff16611dea9092919063ffffffff16565b6117cb565b6000836000015183815181106116e857fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d806000811461174d576040519150601f19603f3d011682016040523d82523d6000602084013e611752565b606091505b50509050806117c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f526576657274656420455448207472616e73666572000000000000000000000081525060200191505060405180910390fd5b505b7f60ce3cc2d133631eac66a476f14997a9fa682bd05a60dd993cf02285822d78d8836000015183815181106117fc57fe5b60200260200101518460200151848151811061181457fe5b602002602001015183604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1611b5a565b6000819050603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b4f5760006060603a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ed2fc9560e01b88603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687600a604051602401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018260ff168152602001945050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310611a475780518252602082019150602081019050602083039250611a24565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611aa7576040519150601f19603f3d011682016040523d82523d6000602084013e611aac565b606091505b509150915081611b24576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4552524f525f4f4e5f45584348414e474500000000000000000000000000000081525060200191505060405180910390fd5b808060200190516020811015611b3957600080fd5b8101908080519060200190929190505050925050505b611b5881611ea2565b505b505b80806001019150506115ac565b5050505050565b60006003905090565b600080303b90506000811491505090565b8051825114611c01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4172726179206c656e677468732073686f756c6420626520657175616c00000081525060200191505060405180910390fd5b60405180604001604052808381526020018281525060356000820151816000019080519060200190611c349291906123ad565b506020820151816001019080519060200190611c51929190612437565b509050507fdc9f439f707945ade720b0154668dd64af0689fb88b40abdb0f0289156d23e9d8282604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cbf578082015181840152602081019050611ca4565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611d01578082015181840152602081019050611ce6565b5050505090500194505050505060405180910390a15050565b600080831415611d2d5760009050611d9a565b6000828402905082848281611d3e57fe5b0414611d95576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806124ed6021913960400191505060405180910390fd5b809150505b92915050565b6000611de283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612037565b905092915050565b611e9d8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506120fd565b505050565b603860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb603960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f6d57600080fd5b505af1158015611f81573d6000803e3d6000fd5b505050506040513d6020811015611f9757600080fd5b8101908080519060200190929190505050611ffd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603981526020018061253c6039913960400191505060405180910390fd5b7fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a150565b600080831182906120e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120a857808201518184015260208101905061208d565b50505050905090810190601f1680156120d55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816120ef57fe5b049050809150509392505050565b61211c8273ffffffffffffffffffffffffffffffffffffffff16612348565b61218e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106121dd57805182526020820191506020810190506020830392506121ba565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461223f576040519150601f19603f3d011682016040523d82523d6000602084013e612244565b606091505b5091509150816122bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115612342578080602001905160208110156122db57600080fd5b8101908080519060200190929190505050612341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612575602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561238a57506000801b8214155b92505050919050565b604051806040016040528060608152602001606081525090565b828054828255906000526020600020908101928215612426579160200282015b828111156124255782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906123cd565b5b5090506124339190612484565b5090565b828054828255906000526020600020908101928215612473579160200282015b82811115612472578251825591602001919060010190612457565b5b50905061248091906124c7565b5090565b6124c491905b808211156124c057600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161248a565b5090565b90565b6124e991905b808211156124e55760008160009055506001016124cd565b5090565b9056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564494e5445524e414c5f4255524e2e205265766572746564207472616e7366657220746f20726563697069656e744275726e20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220fffa31166a7de443ed49370ff4a0f9f02d4b5014831bcb6c46ce1c023cb3d3ba64736f6c63430006080033"; diff --git a/types/UintStorage.d.ts b/types/UintStorage.d.ts new file mode 100644 index 00000000..093fde9a --- /dev/null +++ b/types/UintStorage.d.ts @@ -0,0 +1,45 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface UintStorageInterface extends Interface { + functions: { + getUint: TypedFunctionDescription<{ encode([_key]: [Arrayish]): string }>; + }; + + events: {}; +} + +export class UintStorage extends Contract { + connect(signerOrProvider: Signer | Provider | string): UintStorage; + attach(addressOrName: string): UintStorage; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): UintStorage; + once(event: EventFilter | string, listener: Listener): UintStorage; + addListener(eventName: EventFilter | string, listener: Listener): UintStorage; + removeAllListeners(eventName: EventFilter | string): UintStorage; + removeListener(eventName: any, listener: Listener): UintStorage; + + interface: UintStorageInterface; + + functions: { + getUint(_key: Arrayish): Promise; + }; + + getUint(_key: Arrayish): Promise; + + filters: {}; + + estimate: { + getUint(_key: Arrayish): Promise; + }; +} diff --git a/types/UintStorageFactory.ts b/types/UintStorageFactory.ts new file mode 100644 index 00000000..962ff180 --- /dev/null +++ b/types/UintStorageFactory.ts @@ -0,0 +1,59 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { UintStorage } from "./UintStorage"; + +export class UintStorageFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): UintStorage { + return super.attach(address) as UintStorage; + } + connect(signer: Signer): UintStorageFactory { + return super.connect(signer) as UintStorageFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UintStorage { + return new Contract(address, _abi, signerOrProvider) as UintStorage; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_key", + type: "bytes32" + } + ], + name: "getUint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x6080604052348015600f57600080fd5b5060be8061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063bd02d0f514602d575b600080fd5b605660048036036020811015604157600080fd5b8101908080359060200190929190505050606c565b6040518082815260200191505060405180910390f35b600080600083815260200190815260200160002054905091905056fea2646970667358221220cb9d0b9d81b71521dc4f90374ac7a512ee578c957a497c709f6d137daaf4e73164736f6c63430006080033"; diff --git a/types/UpgradeabilityProxy.d.ts b/types/UpgradeabilityProxy.d.ts new file mode 100644 index 00000000..8fe382fa --- /dev/null +++ b/types/UpgradeabilityProxy.d.ts @@ -0,0 +1,46 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface UpgradeabilityProxyInterface extends Interface { + functions: {}; + + events: { + Upgraded: TypedEventDescription<{ + encodeTopics([implementation]: [string | null]): string[]; + }>; + }; +} + +export class UpgradeabilityProxy extends Contract { + connect(signerOrProvider: Signer | Provider | string): UpgradeabilityProxy; + attach(addressOrName: string): UpgradeabilityProxy; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): UpgradeabilityProxy; + once(event: EventFilter | string, listener: Listener): UpgradeabilityProxy; + addListener( + eventName: EventFilter | string, + listener: Listener + ): UpgradeabilityProxy; + removeAllListeners(eventName: EventFilter | string): UpgradeabilityProxy; + removeListener(eventName: any, listener: Listener): UpgradeabilityProxy; + + interface: UpgradeabilityProxyInterface; + + functions: {}; + + filters: { + Upgraded(implementation: string | null): EventFilter; + }; + + estimate: {}; +} diff --git a/types/UpgradeabilityProxyFactory.ts b/types/UpgradeabilityProxyFactory.ts new file mode 100644 index 00000000..f55eba06 --- /dev/null +++ b/types/UpgradeabilityProxyFactory.ts @@ -0,0 +1,84 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { Arrayish } from "ethers/utils"; + +import { TransactionOverrides } from "."; +import { UpgradeabilityProxy } from "./UpgradeabilityProxy"; + +export class UpgradeabilityProxyFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _logic: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_logic, _data, overrides) as Promise< + UpgradeabilityProxy + >; + } + getDeployTransaction( + _logic: string, + _data: Arrayish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_logic, _data, overrides); + } + attach(address: string): UpgradeabilityProxy { + return super.attach(address) as UpgradeabilityProxy; + } + connect(signer: Signer): UpgradeabilityProxyFactory { + return super.connect(signer) as UpgradeabilityProxyFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UpgradeabilityProxy { + return new Contract(address, _abi, signerOrProvider) as UpgradeabilityProxy; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x60806040526040516104643803806104648339818101604052604081101561002657600080fd5b81019080805190602001909291908051604051939291908464010000000082111561005057600080fd5b8382019150602082018581111561006657600080fd5b825186600182028301116401000000008211171561008357600080fd5b8083526020830192505050908051906020019080838360005b838110156100b757808201518184015260208101905061009c565b50505050905090810190601f1680156100e45780820380516001836020036101000a031916815260200191505b50604052505050600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b1461015557fe5b6101648261023760201b60201c565b6000815111156102305760008273ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b602083106101bb5780518252602082019150602081019050602083039250610198565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461021b576040519150601f19603f3d011682016040523d82523d6000602084013e610220565b606091505b505090508061022e57600080fd5b505b5050610319565b61024a816102ce60201b6100291760201c565b61029f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610429603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561031057506000801b8214155b92505050919050565b610101806103286000396000f3fe608060405236601057600e6015565b005b600080fd5b601b6073565b602760236075565b60a6565b565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015606a57506000801b8214155b92505050919050565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e806000811460c6573d6000f35b3d6000fdfea2646970667358221220bd3110bfb604b29e020b1dd8d013a7114a8c46739fb59f2e5fcb1084feec472d64736f6c6343000608003343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373"; diff --git a/types/WalletBalanceProvider.d.ts b/types/WalletBalanceProvider.d.ts new file mode 100644 index 00000000..b6aae5bd --- /dev/null +++ b/types/WalletBalanceProvider.d.ts @@ -0,0 +1,80 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface WalletBalanceProviderInterface extends Interface { + functions: { + balanceOf: TypedFunctionDescription<{ + encode([_user, _token]: [string, string]): string; + }>; + + batchBalanceOf: TypedFunctionDescription<{ + encode([_users, _tokens]: [string[], string[]]): string; + }>; + + getUserWalletBalances: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + }; + + events: {}; +} + +export class WalletBalanceProvider extends Contract { + connect(signerOrProvider: Signer | Provider | string): WalletBalanceProvider; + attach(addressOrName: string): WalletBalanceProvider; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): WalletBalanceProvider; + once(event: EventFilter | string, listener: Listener): WalletBalanceProvider; + addListener( + eventName: EventFilter | string, + listener: Listener + ): WalletBalanceProvider; + removeAllListeners(eventName: EventFilter | string): WalletBalanceProvider; + removeListener(eventName: any, listener: Listener): WalletBalanceProvider; + + interface: WalletBalanceProviderInterface; + + functions: { + balanceOf(_user: string, _token: string): Promise; + + batchBalanceOf(_users: string[], _tokens: string[]): Promise; + + getUserWalletBalances( + _user: string + ): Promise<{ + 0: string[]; + 1: BigNumber[]; + }>; + }; + + balanceOf(_user: string, _token: string): Promise; + + batchBalanceOf(_users: string[], _tokens: string[]): Promise; + + getUserWalletBalances( + _user: string + ): Promise<{ + 0: string[]; + 1: BigNumber[]; + }>; + + filters: {}; + + estimate: { + balanceOf(_user: string, _token: string): Promise; + + batchBalanceOf(_users: string[], _tokens: string[]): Promise; + + getUserWalletBalances(_user: string): Promise; + }; +} diff --git a/types/WalletBalanceProviderFactory.ts b/types/WalletBalanceProviderFactory.ts new file mode 100644 index 00000000..2f8de31b --- /dev/null +++ b/types/WalletBalanceProviderFactory.ts @@ -0,0 +1,137 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { WalletBalanceProvider } from "./WalletBalanceProvider"; + +export class WalletBalanceProviderFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _provider: string, + overrides?: TransactionOverrides + ): Promise { + return super.deploy(_provider, overrides) as Promise; + } + getDeployTransaction( + _provider: string, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_provider, overrides); + } + attach(address: string): WalletBalanceProvider { + return super.attach(address) as WalletBalanceProvider; + } + connect(signer: Signer): WalletBalanceProviderFactory { + return super.connect(signer) as WalletBalanceProviderFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): WalletBalanceProvider { + return new Contract( + address, + _abi, + signerOrProvider + ) as WalletBalanceProvider; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "contract LendingPoolAddressesProvider", + name: "_provider", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "address", + name: "_token", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "_users", + type: "address[]" + }, + { + internalType: "address[]", + name: "_tokens", + type: "address[]" + } + ], + name: "batchBalanceOf", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserWalletBalances", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]" + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50604051610c0d380380610c0d8339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610b79806100946000396000f3fe6080604052600436106100385760003560e01c80639e3c930914610093578063b59b28ef14610181578063f7888aec1461032f5761008e565b3661008e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610b16602e913960400191505060405180910390fd5b600080fd5b34801561009f57600080fd5b506100e2600480360360208110156100b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103b4565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561012957808201518184015260208101905061010e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561016b578082015181840152602081019050610150565b5050505090500194505050505060405180910390f35b34801561018d57600080fd5b506102d8600480360360408110156101a457600080fd5b81019080803590602001906401000000008111156101c157600080fd5b8201836020820111156101d357600080fd5b803590602001918460208302840111640100000000831117156101f557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561025557600080fd5b82018360208201111561026757600080fd5b8035906020019184602083028401116401000000008311171561028957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061079a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561031b578082015181840152602081019050610300565b505050509050019250505060405180910390f35b34801561033b57600080fd5b5061039e6004803603604081101561035257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109be565b6040518082815260200191505060405180910390f35b60608060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d602081101561044a57600080fd5b8101908080519060200190929190505050905060608173ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b1580156104a557600080fd5b505afa1580156104b9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156104e357600080fd5b810190808051604051939291908464010000000082111561050357600080fd5b8382019150602082018581111561051957600080fd5b825186602082028301116401000000008211171561053657600080fd5b8083526020830192505050908051906020019060200280838360005b8381101561056d578082015181840152602081019050610552565b5050505090500160405250505090506060815167ffffffffffffffff8111801561059657600080fd5b506040519080825280602002602001820160405280156105c55781602001602082028036833780820191505090505b50905060008090505b825181101561078b578373ffffffffffffffffffffffffffffffffffffffff166305075d6e8483815181106105ff57fe5b60200260200101516040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561066757600080fd5b505afa15801561067b573d6000803e3d6000fd5b505050506040513d602081101561069157600080fd5b81019080805190602001909291905050506106c55760008282815181106106b457fe5b60200260200101818152505061077e565b6106cd610aae565b73ffffffffffffffffffffffffffffffffffffffff168382815181106106ef57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161461074c5761072f8784838151811061072257fe5b60200260200101516109be565b82828151811061073b57fe5b60200260200101818152505061077d565b8673ffffffffffffffffffffffffffffffffffffffff163182828151811061077057fe5b6020026020010181815250505b5b80806001019150506105ce565b50818194509450505050915091565b606080825184510267ffffffffffffffff811180156107b857600080fd5b506040519080825280602002602001820160405280156107e75781602001602082028036833780820191505090505b50905060008090505b84518110156109b35760008090505b84518110156109a5576000855183029050610818610aae565b73ffffffffffffffffffffffffffffffffffffffff1686838151811061083a57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156108a85786838151811061086a57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1631848383018151811061089757fe5b602002602001018181525050610997565b6108da8683815181106108b757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16610aca565b61094c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f494e56414c49445f544f4b454e0000000000000000000000000000000000000081525060200191505060405180910390fd5b61097c87848151811061095b57fe5b602002602001015187848151811061096f57fe5b60200260200101516109be565b848383018151811061098a57fe5b6020026020010181815250505b5080806001019150506107ff565b5080806001019150506107f0565b508091505092915050565b60006109df8273ffffffffffffffffffffffffffffffffffffffff16610aca565b15610aa3578173ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a6157600080fd5b505afa158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b81019080805190602001909291905050509050610aa8565b600090505b92915050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee905090565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015610b0c57506000801b8214155b9250505091905056fe57616c6c657442616c616e636550726f766964657220646f6573206e6f7420616363657074207061796d656e7473a26469706673582212200e4e04845aa833e41a66942d59968d638e07e12e8ede44593337d9b5fa8ee41f64736f6c63430006080033";