@venusprotocol/isolated-pools 1.0.0-dev.1 → 1.0.0-dev.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -11
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +215 -0
- package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +183 -0
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
- package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.json +56 -0
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.json +24 -0
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +56 -0
- package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +19 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +80 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json +24 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +113 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
- package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +30 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +30 -0
- package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +10 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.json +115 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +76 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +24 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +24 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +194 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +86 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.json +10 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +24 -0
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +4 -0
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.json +369 -0
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +4 -0
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.json +181 -0
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +4 -0
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.json +282 -0
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +4 -0
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.json +40 -0
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +4 -0
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.json +30 -0
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +4 -0
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.json +43 -0
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +4 -0
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.json +49 -0
- package/artifacts/build-info/5d0b3e7c7d317c28bfc8eca20c31f64e.json +1 -0
- package/artifacts/build-info/f19d689bc99e63a20dd2a17a14e2b84a.json +1 -0
- package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.dbg.json +4 -0
- package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.json +276 -0
- package/artifacts/contracts/Comptroller.sol/Comptroller.dbg.json +4 -0
- package/artifacts/contracts/Comptroller.sol/Comptroller.json +1667 -0
- package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.dbg.json +4 -0
- package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.json +285 -0
- package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.dbg.json +4 -0
- package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.json +170 -0
- package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.dbg.json +4 -0
- package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.json +173 -0
- package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.dbg.json +4 -0
- package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.json +156 -0
- package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.dbg.json +4 -0
- package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.json +10 -0
- package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.dbg.json +4 -0
- package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.json +50 -0
- package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.dbg.json +4 -0
- package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.json +97 -0
- package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.dbg.json +4 -0
- package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.json +307 -0
- package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.dbg.json +4 -0
- package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.json +1087 -0
- package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +4 -0
- package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.json +59 -0
- package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.dbg.json +4 -0
- package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.json +689 -0
- package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.dbg.json +4 -0
- package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.json +176 -0
- package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.dbg.json +4 -0
- package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.json +928 -0
- package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +4 -0
- package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.json +29 -0
- package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.dbg.json +4 -0
- package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.json +101 -0
- package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +4 -0
- package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.json +296 -0
- package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.dbg.json +4 -0
- package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.json +83 -0
- package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.dbg.json +4 -0
- package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.json +596 -0
- package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.dbg.json +4 -0
- package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.json +24 -0
- package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.dbg.json +4 -0
- package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.json +761 -0
- package/artifacts/contracts/VToken.sol/VToken.dbg.json +4 -0
- package/artifacts/contracts/VToken.sol/VToken.json +1850 -0
- package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.dbg.json +4 -0
- package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.json +1398 -0
- package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.dbg.json +4 -0
- package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.json +219 -0
- package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.dbg.json +4 -0
- package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.json +192 -0
- package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.dbg.json +4 -0
- package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.json +1712 -0
- package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.dbg.json +4 -0
- package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.json +94 -0
- package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.dbg.json +4 -0
- package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.json +1744 -0
- package/artifacts/contracts/test/ERC20.sol/ERC20.dbg.json +4 -0
- package/artifacts/contracts/test/ERC20.sol/ERC20.json +194 -0
- package/artifacts/contracts/test/ERC20.sol/ERC20Base.dbg.json +4 -0
- package/artifacts/contracts/test/ERC20.sol/ERC20Base.json +141 -0
- package/artifacts/contracts/test/ERC20.sol/ERC20Harness.dbg.json +4 -0
- package/artifacts/contracts/test/ERC20.sol/ERC20Harness.json +351 -0
- package/artifacts/contracts/test/ERC20.sol/ERC20NS.dbg.json +4 -0
- package/artifacts/contracts/test/ERC20.sol/ERC20NS.json +182 -0
- package/artifacts/contracts/test/ERC20.sol/NonStandardToken.dbg.json +4 -0
- package/artifacts/contracts/test/ERC20.sol/NonStandardToken.json +247 -0
- package/artifacts/contracts/test/ERC20.sol/StandardToken.dbg.json +4 -0
- package/artifacts/contracts/test/ERC20.sol/StandardToken.json +259 -0
- package/artifacts/contracts/test/EvilToken.sol/EvilToken.dbg.json +4 -0
- package/artifacts/contracts/test/EvilToken.sol/EvilToken.json +303 -0
- package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.dbg.json +4 -0
- package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.json +265 -0
- package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.dbg.json +4 -0
- package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.json +277 -0
- package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.dbg.json +4 -0
- package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.json +313 -0
- package/artifacts/contracts/test/FeeToken.sol/FeeToken.dbg.json +4 -0
- package/artifacts/contracts/test/FeeToken.sol/FeeToken.json +313 -0
- package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.dbg.json +4 -0
- package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.json +85 -0
- package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.dbg.json +4 -0
- package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.json +332 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.json +233 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.json +187 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.json +668 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.json +760 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.json +962 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.json +55 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.json +10 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.json +982 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.json +10 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.json +10 -0
- package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.json +85 -0
- package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.dbg.json +4 -0
- package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.json +315 -0
- package/artifacts/contracts/test/SafeMath.sol/SafeMath.dbg.json +4 -0
- package/artifacts/contracts/test/SafeMath.sol/SafeMath.json +10 -0
- package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.dbg.json +4 -0
- package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.json +1946 -0
- package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.dbg.json +4 -0
- package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.json +2306 -0
- package/contracts/BaseJumpRateModelV2.sol +4 -3
- package/contracts/Comptroller.sol +40 -15
- package/contracts/ComptrollerInterface.sol +10 -0
- package/contracts/ComptrollerStorage.sol +5 -0
- package/contracts/ErrorReporter.sol +5 -0
- package/contracts/ExponentialNoError.sol +0 -7
- package/contracts/Lens/PoolLens.sol +13 -0
- package/contracts/MaxLoopsLimitHelper.sol +5 -0
- package/contracts/Pool/PoolRegistry.sol +58 -206
- package/contracts/Pool/PoolRegistryInterface.sol +12 -7
- package/contracts/Rewards/RewardsDistributor.sol +15 -0
- package/contracts/RiskFund/IProtocolShareReserve.sol +5 -0
- package/contracts/RiskFund/IRiskFund.sol +5 -0
- package/contracts/RiskFund/ProtocolShareReserve.sol +5 -0
- package/contracts/RiskFund/ReserveHelpers.sol +5 -0
- package/contracts/RiskFund/RiskFund.sol +5 -5
- package/contracts/Shortfall/IShortfall.sol +5 -0
- package/contracts/Shortfall/Shortfall.sol +33 -22
- package/contracts/VToken.sol +31 -9
- package/contracts/VTokenInterfaces.sol +10 -0
- package/contracts/WhitePaperInterestRateModel.sol +1 -1
- package/contracts/lib/imports.sol +11 -0
- package/contracts/test/MockDeflationaryToken.sol +113 -0
- package/dist/deploy/001-deploy-mock-tokens.d.ts +3 -0
- package/dist/deploy/001-deploy-mock-tokens.js +23 -0
- package/dist/deploy/002-price-oracle.d.ts +2 -0
- package/dist/deploy/002-price-oracle.js +9 -0
- package/dist/deploy/003-price-oracle-configure-feeds.d.ts +2 -0
- package/dist/deploy/003-price-oracle-configure-feeds.js +9 -0
- package/{deploy/004-swap-router.ts → dist/deploy/004-swap-router.d.ts} +0 -3
- package/dist/deploy/004-swap-router.js +8 -0
- package/dist/deploy/005-access-control.d.ts +3 -0
- package/dist/deploy/005-access-control.js +16 -0
- package/dist/deploy/006-deploy-factories.d.ts +3 -0
- package/dist/deploy/006-deploy-factories.js +37 -0
- package/dist/deploy/007-access-control-configure.d.ts +3 -0
- package/dist/deploy/007-access-control-configure.js +69 -0
- package/dist/deploy/008-deploy-pool-lens.d.ts +3 -0
- package/dist/deploy/008-deploy-pool-lens.js +15 -0
- package/dist/deploy/009-deploy-pools.d.ts +3 -0
- package/dist/deploy/009-deploy-pools.js +186 -0
- package/dist/deploy/010-rewards.d.ts +3 -0
- package/dist/deploy/010-rewards.js +76 -0
- package/dist/deploy/011-transfer-pools-ownership.d.ts +3 -0
- package/dist/deploy/011-transfer-pools-ownership.js +75 -0
- package/dist/deploy/012-riskfund-protocolshare.d.ts +3 -0
- package/dist/deploy/012-riskfund-protocolshare.js +139 -0
- package/dist/deploy/013-transfer-funds-ownership.d.ts +3 -0
- package/dist/deploy/013-transfer-funds-ownership.js +46 -0
- package/dist/hardhat.config.d.ts +14 -0
- package/dist/hardhat.config.js +237 -0
- package/dist/helpers/deploymentConfig.d.ts +59 -0
- package/dist/helpers/deploymentConfig.js +836 -0
- package/dist/helpers/utils.d.ts +3 -0
- package/dist/helpers/utils.js +28 -0
- package/package.json +3 -11
- package/contracts/Factories/JumpRateModelFactory.sol +0 -26
- package/contracts/Factories/VTokenProxyFactory.sol +0 -53
- package/contracts/Factories/WhitePaperInterestRateModelFactory.sol +0 -12
- package/contracts/Proxy/UpgradeableBeacon.sol +0 -10
- package/deploy/001-deploy-mock-tokens.ts +0 -29
- package/deploy/002-price-oracle.ts +0 -7
- package/deploy/003-price-oracle-configure-feeds.ts +0 -7
- package/deploy/005-access-control.ts +0 -20
- package/deploy/006-deploy-factories.ts +0 -82
- package/deploy/007-access-control-configure.ts +0 -142
- package/deploy/008-deploy-pool-lens.ts +0 -19
- package/deploy/009-deploy-pools.ts +0 -171
- package/deploy/010-rewards.ts +0 -84
- package/deploy/011-transfer-pools-ownership.ts +0 -93
- package/deploy/012-riskfund-protocolshare.ts +0 -140
- package/deploy/013-transfer-funds-ownership.ts +0 -63
- package/helpers/deploymentConfig.ts +0 -897
- package/helpers/utils.ts +0 -24
|
@@ -0,0 +1,928 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "RewardsDistributor",
|
|
4
|
+
"sourceName": "contracts/Rewards/RewardsDistributor.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"stateMutability": "nonpayable",
|
|
9
|
+
"type": "constructor"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [
|
|
13
|
+
{
|
|
14
|
+
"internalType": "uint256",
|
|
15
|
+
"name": "loopsLimit",
|
|
16
|
+
"type": "uint256"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "uint256",
|
|
20
|
+
"name": "requiredLoops",
|
|
21
|
+
"type": "uint256"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"name": "MaxLoopsLimitExceeded",
|
|
25
|
+
"type": "error"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"inputs": [
|
|
29
|
+
{
|
|
30
|
+
"internalType": "address",
|
|
31
|
+
"name": "sender",
|
|
32
|
+
"type": "address"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"internalType": "address",
|
|
36
|
+
"name": "calledContract",
|
|
37
|
+
"type": "address"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"internalType": "string",
|
|
41
|
+
"name": "methodSignature",
|
|
42
|
+
"type": "string"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"name": "Unauthorized",
|
|
46
|
+
"type": "error"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"anonymous": false,
|
|
50
|
+
"inputs": [
|
|
51
|
+
{
|
|
52
|
+
"indexed": true,
|
|
53
|
+
"internalType": "address",
|
|
54
|
+
"name": "contributor",
|
|
55
|
+
"type": "address"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"indexed": false,
|
|
59
|
+
"internalType": "uint256",
|
|
60
|
+
"name": "newSpeed",
|
|
61
|
+
"type": "uint256"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"name": "ContributorRewardTokenSpeedUpdated",
|
|
65
|
+
"type": "event"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"anonymous": false,
|
|
69
|
+
"inputs": [
|
|
70
|
+
{
|
|
71
|
+
"indexed": true,
|
|
72
|
+
"internalType": "address",
|
|
73
|
+
"name": "contributor",
|
|
74
|
+
"type": "address"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"indexed": false,
|
|
78
|
+
"internalType": "uint256",
|
|
79
|
+
"name": "rewardAccrued",
|
|
80
|
+
"type": "uint256"
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"name": "ContributorRewardsUpdated",
|
|
84
|
+
"type": "event"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"anonymous": false,
|
|
88
|
+
"inputs": [
|
|
89
|
+
{
|
|
90
|
+
"indexed": true,
|
|
91
|
+
"internalType": "contract VToken",
|
|
92
|
+
"name": "vToken",
|
|
93
|
+
"type": "address"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"indexed": true,
|
|
97
|
+
"internalType": "address",
|
|
98
|
+
"name": "borrower",
|
|
99
|
+
"type": "address"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"indexed": false,
|
|
103
|
+
"internalType": "uint256",
|
|
104
|
+
"name": "rewardTokenDelta",
|
|
105
|
+
"type": "uint256"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"indexed": false,
|
|
109
|
+
"internalType": "uint256",
|
|
110
|
+
"name": "rewardTokenTotal",
|
|
111
|
+
"type": "uint256"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"indexed": false,
|
|
115
|
+
"internalType": "uint256",
|
|
116
|
+
"name": "rewardTokenBorrowIndex",
|
|
117
|
+
"type": "uint256"
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"name": "DistributedBorrowerRewardToken",
|
|
121
|
+
"type": "event"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"anonymous": false,
|
|
125
|
+
"inputs": [
|
|
126
|
+
{
|
|
127
|
+
"indexed": true,
|
|
128
|
+
"internalType": "contract VToken",
|
|
129
|
+
"name": "vToken",
|
|
130
|
+
"type": "address"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"indexed": true,
|
|
134
|
+
"internalType": "address",
|
|
135
|
+
"name": "supplier",
|
|
136
|
+
"type": "address"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"indexed": false,
|
|
140
|
+
"internalType": "uint256",
|
|
141
|
+
"name": "rewardTokenDelta",
|
|
142
|
+
"type": "uint256"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"indexed": false,
|
|
146
|
+
"internalType": "uint256",
|
|
147
|
+
"name": "rewardTokenTotal",
|
|
148
|
+
"type": "uint256"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"indexed": false,
|
|
152
|
+
"internalType": "uint256",
|
|
153
|
+
"name": "rewardTokenSupplyIndex",
|
|
154
|
+
"type": "uint256"
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"name": "DistributedSupplierRewardToken",
|
|
158
|
+
"type": "event"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"anonymous": false,
|
|
162
|
+
"inputs": [
|
|
163
|
+
{
|
|
164
|
+
"indexed": false,
|
|
165
|
+
"internalType": "uint8",
|
|
166
|
+
"name": "version",
|
|
167
|
+
"type": "uint8"
|
|
168
|
+
}
|
|
169
|
+
],
|
|
170
|
+
"name": "Initialized",
|
|
171
|
+
"type": "event"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"anonymous": false,
|
|
175
|
+
"inputs": [
|
|
176
|
+
{
|
|
177
|
+
"indexed": true,
|
|
178
|
+
"internalType": "address",
|
|
179
|
+
"name": "vToken",
|
|
180
|
+
"type": "address"
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
"name": "MarketInitialized",
|
|
184
|
+
"type": "event"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"anonymous": false,
|
|
188
|
+
"inputs": [
|
|
189
|
+
{
|
|
190
|
+
"indexed": false,
|
|
191
|
+
"internalType": "uint256",
|
|
192
|
+
"name": "oldMaxLoopsLimit",
|
|
193
|
+
"type": "uint256"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"indexed": false,
|
|
197
|
+
"internalType": "uint256",
|
|
198
|
+
"name": "newmaxLoopsLimit",
|
|
199
|
+
"type": "uint256"
|
|
200
|
+
}
|
|
201
|
+
],
|
|
202
|
+
"name": "MaxLoopsLimitUpdated",
|
|
203
|
+
"type": "event"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"anonymous": false,
|
|
207
|
+
"inputs": [
|
|
208
|
+
{
|
|
209
|
+
"indexed": false,
|
|
210
|
+
"internalType": "address",
|
|
211
|
+
"name": "oldAccessControlManager",
|
|
212
|
+
"type": "address"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"indexed": false,
|
|
216
|
+
"internalType": "address",
|
|
217
|
+
"name": "newAccessControlManager",
|
|
218
|
+
"type": "address"
|
|
219
|
+
}
|
|
220
|
+
],
|
|
221
|
+
"name": "NewAccessControlManager",
|
|
222
|
+
"type": "event"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"anonymous": false,
|
|
226
|
+
"inputs": [
|
|
227
|
+
{
|
|
228
|
+
"indexed": true,
|
|
229
|
+
"internalType": "address",
|
|
230
|
+
"name": "previousOwner",
|
|
231
|
+
"type": "address"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"indexed": true,
|
|
235
|
+
"internalType": "address",
|
|
236
|
+
"name": "newOwner",
|
|
237
|
+
"type": "address"
|
|
238
|
+
}
|
|
239
|
+
],
|
|
240
|
+
"name": "OwnershipTransferStarted",
|
|
241
|
+
"type": "event"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"anonymous": false,
|
|
245
|
+
"inputs": [
|
|
246
|
+
{
|
|
247
|
+
"indexed": true,
|
|
248
|
+
"internalType": "address",
|
|
249
|
+
"name": "previousOwner",
|
|
250
|
+
"type": "address"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"indexed": true,
|
|
254
|
+
"internalType": "address",
|
|
255
|
+
"name": "newOwner",
|
|
256
|
+
"type": "address"
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
"name": "OwnershipTransferred",
|
|
260
|
+
"type": "event"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"anonymous": false,
|
|
264
|
+
"inputs": [
|
|
265
|
+
{
|
|
266
|
+
"indexed": true,
|
|
267
|
+
"internalType": "address",
|
|
268
|
+
"name": "vToken",
|
|
269
|
+
"type": "address"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"components": [
|
|
273
|
+
{
|
|
274
|
+
"internalType": "uint256",
|
|
275
|
+
"name": "mantissa",
|
|
276
|
+
"type": "uint256"
|
|
277
|
+
}
|
|
278
|
+
],
|
|
279
|
+
"indexed": false,
|
|
280
|
+
"internalType": "struct ExponentialNoError.Exp",
|
|
281
|
+
"name": "marketBorrowIndex",
|
|
282
|
+
"type": "tuple"
|
|
283
|
+
}
|
|
284
|
+
],
|
|
285
|
+
"name": "RewardTokenBorrowIndexUpdated",
|
|
286
|
+
"type": "event"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"anonymous": false,
|
|
290
|
+
"inputs": [
|
|
291
|
+
{
|
|
292
|
+
"indexed": true,
|
|
293
|
+
"internalType": "contract VToken",
|
|
294
|
+
"name": "vToken",
|
|
295
|
+
"type": "address"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"indexed": false,
|
|
299
|
+
"internalType": "uint256",
|
|
300
|
+
"name": "newSpeed",
|
|
301
|
+
"type": "uint256"
|
|
302
|
+
}
|
|
303
|
+
],
|
|
304
|
+
"name": "RewardTokenBorrowSpeedUpdated",
|
|
305
|
+
"type": "event"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"anonymous": false,
|
|
309
|
+
"inputs": [
|
|
310
|
+
{
|
|
311
|
+
"indexed": true,
|
|
312
|
+
"internalType": "address",
|
|
313
|
+
"name": "recipient",
|
|
314
|
+
"type": "address"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"indexed": false,
|
|
318
|
+
"internalType": "uint256",
|
|
319
|
+
"name": "amount",
|
|
320
|
+
"type": "uint256"
|
|
321
|
+
}
|
|
322
|
+
],
|
|
323
|
+
"name": "RewardTokenGranted",
|
|
324
|
+
"type": "event"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"anonymous": false,
|
|
328
|
+
"inputs": [
|
|
329
|
+
{
|
|
330
|
+
"indexed": true,
|
|
331
|
+
"internalType": "address",
|
|
332
|
+
"name": "vToken",
|
|
333
|
+
"type": "address"
|
|
334
|
+
}
|
|
335
|
+
],
|
|
336
|
+
"name": "RewardTokenSupplyIndexUpdated",
|
|
337
|
+
"type": "event"
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"anonymous": false,
|
|
341
|
+
"inputs": [
|
|
342
|
+
{
|
|
343
|
+
"indexed": true,
|
|
344
|
+
"internalType": "contract VToken",
|
|
345
|
+
"name": "vToken",
|
|
346
|
+
"type": "address"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"indexed": false,
|
|
350
|
+
"internalType": "uint256",
|
|
351
|
+
"name": "newSpeed",
|
|
352
|
+
"type": "uint256"
|
|
353
|
+
}
|
|
354
|
+
],
|
|
355
|
+
"name": "RewardTokenSupplySpeedUpdated",
|
|
356
|
+
"type": "event"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"inputs": [],
|
|
360
|
+
"name": "INITIAL_INDEX",
|
|
361
|
+
"outputs": [
|
|
362
|
+
{
|
|
363
|
+
"internalType": "uint224",
|
|
364
|
+
"name": "",
|
|
365
|
+
"type": "uint224"
|
|
366
|
+
}
|
|
367
|
+
],
|
|
368
|
+
"stateMutability": "view",
|
|
369
|
+
"type": "function"
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"inputs": [],
|
|
373
|
+
"name": "acceptOwnership",
|
|
374
|
+
"outputs": [],
|
|
375
|
+
"stateMutability": "nonpayable",
|
|
376
|
+
"type": "function"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"inputs": [],
|
|
380
|
+
"name": "accessControlManager",
|
|
381
|
+
"outputs": [
|
|
382
|
+
{
|
|
383
|
+
"internalType": "contract IAccessControlManagerV8",
|
|
384
|
+
"name": "",
|
|
385
|
+
"type": "address"
|
|
386
|
+
}
|
|
387
|
+
],
|
|
388
|
+
"stateMutability": "view",
|
|
389
|
+
"type": "function"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"inputs": [
|
|
393
|
+
{
|
|
394
|
+
"internalType": "address",
|
|
395
|
+
"name": "holder",
|
|
396
|
+
"type": "address"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"internalType": "contract VToken[]",
|
|
400
|
+
"name": "vTokens",
|
|
401
|
+
"type": "address[]"
|
|
402
|
+
}
|
|
403
|
+
],
|
|
404
|
+
"name": "claimRewardToken",
|
|
405
|
+
"outputs": [],
|
|
406
|
+
"stateMutability": "nonpayable",
|
|
407
|
+
"type": "function"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"inputs": [
|
|
411
|
+
{
|
|
412
|
+
"internalType": "address",
|
|
413
|
+
"name": "holder",
|
|
414
|
+
"type": "address"
|
|
415
|
+
}
|
|
416
|
+
],
|
|
417
|
+
"name": "claimRewardToken",
|
|
418
|
+
"outputs": [],
|
|
419
|
+
"stateMutability": "nonpayable",
|
|
420
|
+
"type": "function"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"inputs": [
|
|
424
|
+
{
|
|
425
|
+
"internalType": "address",
|
|
426
|
+
"name": "vToken",
|
|
427
|
+
"type": "address"
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"internalType": "address",
|
|
431
|
+
"name": "borrower",
|
|
432
|
+
"type": "address"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"components": [
|
|
436
|
+
{
|
|
437
|
+
"internalType": "uint256",
|
|
438
|
+
"name": "mantissa",
|
|
439
|
+
"type": "uint256"
|
|
440
|
+
}
|
|
441
|
+
],
|
|
442
|
+
"internalType": "struct ExponentialNoError.Exp",
|
|
443
|
+
"name": "marketBorrowIndex",
|
|
444
|
+
"type": "tuple"
|
|
445
|
+
}
|
|
446
|
+
],
|
|
447
|
+
"name": "distributeBorrowerRewardToken",
|
|
448
|
+
"outputs": [],
|
|
449
|
+
"stateMutability": "nonpayable",
|
|
450
|
+
"type": "function"
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"inputs": [
|
|
454
|
+
{
|
|
455
|
+
"internalType": "address",
|
|
456
|
+
"name": "vToken",
|
|
457
|
+
"type": "address"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"internalType": "address",
|
|
461
|
+
"name": "supplier",
|
|
462
|
+
"type": "address"
|
|
463
|
+
}
|
|
464
|
+
],
|
|
465
|
+
"name": "distributeSupplierRewardToken",
|
|
466
|
+
"outputs": [],
|
|
467
|
+
"stateMutability": "nonpayable",
|
|
468
|
+
"type": "function"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"inputs": [],
|
|
472
|
+
"name": "getBlockNumber",
|
|
473
|
+
"outputs": [
|
|
474
|
+
{
|
|
475
|
+
"internalType": "uint256",
|
|
476
|
+
"name": "",
|
|
477
|
+
"type": "uint256"
|
|
478
|
+
}
|
|
479
|
+
],
|
|
480
|
+
"stateMutability": "view",
|
|
481
|
+
"type": "function"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"inputs": [
|
|
485
|
+
{
|
|
486
|
+
"internalType": "address",
|
|
487
|
+
"name": "recipient",
|
|
488
|
+
"type": "address"
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"internalType": "uint256",
|
|
492
|
+
"name": "amount",
|
|
493
|
+
"type": "uint256"
|
|
494
|
+
}
|
|
495
|
+
],
|
|
496
|
+
"name": "grantRewardToken",
|
|
497
|
+
"outputs": [],
|
|
498
|
+
"stateMutability": "nonpayable",
|
|
499
|
+
"type": "function"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"inputs": [
|
|
503
|
+
{
|
|
504
|
+
"internalType": "contract Comptroller",
|
|
505
|
+
"name": "comptroller_",
|
|
506
|
+
"type": "address"
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"internalType": "contract IERC20Upgradeable",
|
|
510
|
+
"name": "rewardToken_",
|
|
511
|
+
"type": "address"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"internalType": "uint256",
|
|
515
|
+
"name": "loopsLimit_",
|
|
516
|
+
"type": "uint256"
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"internalType": "address",
|
|
520
|
+
"name": "accessControlManager_",
|
|
521
|
+
"type": "address"
|
|
522
|
+
}
|
|
523
|
+
],
|
|
524
|
+
"name": "initialize",
|
|
525
|
+
"outputs": [],
|
|
526
|
+
"stateMutability": "nonpayable",
|
|
527
|
+
"type": "function"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"inputs": [
|
|
531
|
+
{
|
|
532
|
+
"internalType": "address",
|
|
533
|
+
"name": "vToken",
|
|
534
|
+
"type": "address"
|
|
535
|
+
}
|
|
536
|
+
],
|
|
537
|
+
"name": "initializeMarket",
|
|
538
|
+
"outputs": [],
|
|
539
|
+
"stateMutability": "nonpayable",
|
|
540
|
+
"type": "function"
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"inputs": [
|
|
544
|
+
{
|
|
545
|
+
"internalType": "address",
|
|
546
|
+
"name": "",
|
|
547
|
+
"type": "address"
|
|
548
|
+
}
|
|
549
|
+
],
|
|
550
|
+
"name": "lastContributorBlock",
|
|
551
|
+
"outputs": [
|
|
552
|
+
{
|
|
553
|
+
"internalType": "uint256",
|
|
554
|
+
"name": "",
|
|
555
|
+
"type": "uint256"
|
|
556
|
+
}
|
|
557
|
+
],
|
|
558
|
+
"stateMutability": "view",
|
|
559
|
+
"type": "function"
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"inputs": [],
|
|
563
|
+
"name": "maxLoopsLimit",
|
|
564
|
+
"outputs": [
|
|
565
|
+
{
|
|
566
|
+
"internalType": "uint256",
|
|
567
|
+
"name": "",
|
|
568
|
+
"type": "uint256"
|
|
569
|
+
}
|
|
570
|
+
],
|
|
571
|
+
"stateMutability": "view",
|
|
572
|
+
"type": "function"
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"inputs": [],
|
|
576
|
+
"name": "owner",
|
|
577
|
+
"outputs": [
|
|
578
|
+
{
|
|
579
|
+
"internalType": "address",
|
|
580
|
+
"name": "",
|
|
581
|
+
"type": "address"
|
|
582
|
+
}
|
|
583
|
+
],
|
|
584
|
+
"stateMutability": "view",
|
|
585
|
+
"type": "function"
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"inputs": [],
|
|
589
|
+
"name": "pendingOwner",
|
|
590
|
+
"outputs": [
|
|
591
|
+
{
|
|
592
|
+
"internalType": "address",
|
|
593
|
+
"name": "",
|
|
594
|
+
"type": "address"
|
|
595
|
+
}
|
|
596
|
+
],
|
|
597
|
+
"stateMutability": "view",
|
|
598
|
+
"type": "function"
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"inputs": [],
|
|
602
|
+
"name": "renounceOwnership",
|
|
603
|
+
"outputs": [],
|
|
604
|
+
"stateMutability": "nonpayable",
|
|
605
|
+
"type": "function"
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"inputs": [],
|
|
609
|
+
"name": "rewardToken",
|
|
610
|
+
"outputs": [
|
|
611
|
+
{
|
|
612
|
+
"internalType": "contract IERC20Upgradeable",
|
|
613
|
+
"name": "",
|
|
614
|
+
"type": "address"
|
|
615
|
+
}
|
|
616
|
+
],
|
|
617
|
+
"stateMutability": "view",
|
|
618
|
+
"type": "function"
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
"inputs": [
|
|
622
|
+
{
|
|
623
|
+
"internalType": "address",
|
|
624
|
+
"name": "",
|
|
625
|
+
"type": "address"
|
|
626
|
+
}
|
|
627
|
+
],
|
|
628
|
+
"name": "rewardTokenAccrued",
|
|
629
|
+
"outputs": [
|
|
630
|
+
{
|
|
631
|
+
"internalType": "uint256",
|
|
632
|
+
"name": "",
|
|
633
|
+
"type": "uint256"
|
|
634
|
+
}
|
|
635
|
+
],
|
|
636
|
+
"stateMutability": "view",
|
|
637
|
+
"type": "function"
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"inputs": [
|
|
641
|
+
{
|
|
642
|
+
"internalType": "address",
|
|
643
|
+
"name": "",
|
|
644
|
+
"type": "address"
|
|
645
|
+
}
|
|
646
|
+
],
|
|
647
|
+
"name": "rewardTokenBorrowSpeeds",
|
|
648
|
+
"outputs": [
|
|
649
|
+
{
|
|
650
|
+
"internalType": "uint256",
|
|
651
|
+
"name": "",
|
|
652
|
+
"type": "uint256"
|
|
653
|
+
}
|
|
654
|
+
],
|
|
655
|
+
"stateMutability": "view",
|
|
656
|
+
"type": "function"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"inputs": [
|
|
660
|
+
{
|
|
661
|
+
"internalType": "address",
|
|
662
|
+
"name": "",
|
|
663
|
+
"type": "address"
|
|
664
|
+
}
|
|
665
|
+
],
|
|
666
|
+
"name": "rewardTokenBorrowState",
|
|
667
|
+
"outputs": [
|
|
668
|
+
{
|
|
669
|
+
"internalType": "uint224",
|
|
670
|
+
"name": "index",
|
|
671
|
+
"type": "uint224"
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"internalType": "uint32",
|
|
675
|
+
"name": "block",
|
|
676
|
+
"type": "uint32"
|
|
677
|
+
}
|
|
678
|
+
],
|
|
679
|
+
"stateMutability": "view",
|
|
680
|
+
"type": "function"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"inputs": [
|
|
684
|
+
{
|
|
685
|
+
"internalType": "address",
|
|
686
|
+
"name": "",
|
|
687
|
+
"type": "address"
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"internalType": "address",
|
|
691
|
+
"name": "",
|
|
692
|
+
"type": "address"
|
|
693
|
+
}
|
|
694
|
+
],
|
|
695
|
+
"name": "rewardTokenBorrowerIndex",
|
|
696
|
+
"outputs": [
|
|
697
|
+
{
|
|
698
|
+
"internalType": "uint256",
|
|
699
|
+
"name": "",
|
|
700
|
+
"type": "uint256"
|
|
701
|
+
}
|
|
702
|
+
],
|
|
703
|
+
"stateMutability": "view",
|
|
704
|
+
"type": "function"
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"inputs": [
|
|
708
|
+
{
|
|
709
|
+
"internalType": "address",
|
|
710
|
+
"name": "",
|
|
711
|
+
"type": "address"
|
|
712
|
+
}
|
|
713
|
+
],
|
|
714
|
+
"name": "rewardTokenContributorSpeeds",
|
|
715
|
+
"outputs": [
|
|
716
|
+
{
|
|
717
|
+
"internalType": "uint256",
|
|
718
|
+
"name": "",
|
|
719
|
+
"type": "uint256"
|
|
720
|
+
}
|
|
721
|
+
],
|
|
722
|
+
"stateMutability": "view",
|
|
723
|
+
"type": "function"
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
"inputs": [
|
|
727
|
+
{
|
|
728
|
+
"internalType": "address",
|
|
729
|
+
"name": "",
|
|
730
|
+
"type": "address"
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"internalType": "address",
|
|
734
|
+
"name": "",
|
|
735
|
+
"type": "address"
|
|
736
|
+
}
|
|
737
|
+
],
|
|
738
|
+
"name": "rewardTokenSupplierIndex",
|
|
739
|
+
"outputs": [
|
|
740
|
+
{
|
|
741
|
+
"internalType": "uint256",
|
|
742
|
+
"name": "",
|
|
743
|
+
"type": "uint256"
|
|
744
|
+
}
|
|
745
|
+
],
|
|
746
|
+
"stateMutability": "view",
|
|
747
|
+
"type": "function"
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
"inputs": [
|
|
751
|
+
{
|
|
752
|
+
"internalType": "address",
|
|
753
|
+
"name": "",
|
|
754
|
+
"type": "address"
|
|
755
|
+
}
|
|
756
|
+
],
|
|
757
|
+
"name": "rewardTokenSupplySpeeds",
|
|
758
|
+
"outputs": [
|
|
759
|
+
{
|
|
760
|
+
"internalType": "uint256",
|
|
761
|
+
"name": "",
|
|
762
|
+
"type": "uint256"
|
|
763
|
+
}
|
|
764
|
+
],
|
|
765
|
+
"stateMutability": "view",
|
|
766
|
+
"type": "function"
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"inputs": [
|
|
770
|
+
{
|
|
771
|
+
"internalType": "address",
|
|
772
|
+
"name": "",
|
|
773
|
+
"type": "address"
|
|
774
|
+
}
|
|
775
|
+
],
|
|
776
|
+
"name": "rewardTokenSupplyState",
|
|
777
|
+
"outputs": [
|
|
778
|
+
{
|
|
779
|
+
"internalType": "uint224",
|
|
780
|
+
"name": "index",
|
|
781
|
+
"type": "uint224"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"internalType": "uint32",
|
|
785
|
+
"name": "block",
|
|
786
|
+
"type": "uint32"
|
|
787
|
+
}
|
|
788
|
+
],
|
|
789
|
+
"stateMutability": "view",
|
|
790
|
+
"type": "function"
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"inputs": [
|
|
794
|
+
{
|
|
795
|
+
"internalType": "address",
|
|
796
|
+
"name": "accessControlManager_",
|
|
797
|
+
"type": "address"
|
|
798
|
+
}
|
|
799
|
+
],
|
|
800
|
+
"name": "setAccessControlManager",
|
|
801
|
+
"outputs": [],
|
|
802
|
+
"stateMutability": "nonpayable",
|
|
803
|
+
"type": "function"
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
"inputs": [
|
|
807
|
+
{
|
|
808
|
+
"internalType": "address",
|
|
809
|
+
"name": "contributor",
|
|
810
|
+
"type": "address"
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
"internalType": "uint256",
|
|
814
|
+
"name": "rewardTokenSpeed",
|
|
815
|
+
"type": "uint256"
|
|
816
|
+
}
|
|
817
|
+
],
|
|
818
|
+
"name": "setContributorRewardTokenSpeed",
|
|
819
|
+
"outputs": [],
|
|
820
|
+
"stateMutability": "nonpayable",
|
|
821
|
+
"type": "function"
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"inputs": [
|
|
825
|
+
{
|
|
826
|
+
"internalType": "uint256",
|
|
827
|
+
"name": "limit",
|
|
828
|
+
"type": "uint256"
|
|
829
|
+
}
|
|
830
|
+
],
|
|
831
|
+
"name": "setMaxLoopsLimit",
|
|
832
|
+
"outputs": [],
|
|
833
|
+
"stateMutability": "nonpayable",
|
|
834
|
+
"type": "function"
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"inputs": [
|
|
838
|
+
{
|
|
839
|
+
"internalType": "contract VToken[]",
|
|
840
|
+
"name": "vTokens",
|
|
841
|
+
"type": "address[]"
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"internalType": "uint256[]",
|
|
845
|
+
"name": "supplySpeeds",
|
|
846
|
+
"type": "uint256[]"
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
"internalType": "uint256[]",
|
|
850
|
+
"name": "borrowSpeeds",
|
|
851
|
+
"type": "uint256[]"
|
|
852
|
+
}
|
|
853
|
+
],
|
|
854
|
+
"name": "setRewardTokenSpeeds",
|
|
855
|
+
"outputs": [],
|
|
856
|
+
"stateMutability": "nonpayable",
|
|
857
|
+
"type": "function"
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
"inputs": [
|
|
861
|
+
{
|
|
862
|
+
"internalType": "address",
|
|
863
|
+
"name": "newOwner",
|
|
864
|
+
"type": "address"
|
|
865
|
+
}
|
|
866
|
+
],
|
|
867
|
+
"name": "transferOwnership",
|
|
868
|
+
"outputs": [],
|
|
869
|
+
"stateMutability": "nonpayable",
|
|
870
|
+
"type": "function"
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"inputs": [
|
|
874
|
+
{
|
|
875
|
+
"internalType": "address",
|
|
876
|
+
"name": "contributor",
|
|
877
|
+
"type": "address"
|
|
878
|
+
}
|
|
879
|
+
],
|
|
880
|
+
"name": "updateContributorRewards",
|
|
881
|
+
"outputs": [],
|
|
882
|
+
"stateMutability": "nonpayable",
|
|
883
|
+
"type": "function"
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"inputs": [
|
|
887
|
+
{
|
|
888
|
+
"internalType": "address",
|
|
889
|
+
"name": "vToken",
|
|
890
|
+
"type": "address"
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
"components": [
|
|
894
|
+
{
|
|
895
|
+
"internalType": "uint256",
|
|
896
|
+
"name": "mantissa",
|
|
897
|
+
"type": "uint256"
|
|
898
|
+
}
|
|
899
|
+
],
|
|
900
|
+
"internalType": "struct ExponentialNoError.Exp",
|
|
901
|
+
"name": "marketBorrowIndex",
|
|
902
|
+
"type": "tuple"
|
|
903
|
+
}
|
|
904
|
+
],
|
|
905
|
+
"name": "updateRewardTokenBorrowIndex",
|
|
906
|
+
"outputs": [],
|
|
907
|
+
"stateMutability": "nonpayable",
|
|
908
|
+
"type": "function"
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"inputs": [
|
|
912
|
+
{
|
|
913
|
+
"internalType": "address",
|
|
914
|
+
"name": "vToken",
|
|
915
|
+
"type": "address"
|
|
916
|
+
}
|
|
917
|
+
],
|
|
918
|
+
"name": "updateRewardTokenSupplyIndex",
|
|
919
|
+
"outputs": [],
|
|
920
|
+
"stateMutability": "nonpayable",
|
|
921
|
+
"type": "function"
|
|
922
|
+
}
|
|
923
|
+
],
|
|
924
|
+
"bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b62000111565b600054610100900460ff1615620000565760405162461bcd60e51b81526004016200004d90620000af565b60405180910390fd5b60005460ff90811614620000ad576000805460ff191660ff9081179091556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891620000a49162000101565b60405180910390a15b565b60208082528101620000fb81602781527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469602082015266616c697a696e6760c81b604082015260600190565b92915050565b60ff8216815260208101620000fb565b612b8880620001216000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806374c4c1cc1161011a578063be203094116100ad578063db7954fd1161007c578063db7954fd146104db578063e30c3978146104ee578063efc75f24146104ff578063f2fde38b14610520578063f7c618c11461053357600080fd5b8063be2030941461048b578063be26317e1461049e578063bea6b8b8146104a7578063ca37271b146104c857600080fd5b80638c37dfa3116100e95780638c37dfa31461040c5780638da5cb5b1461041f57806392a1823514610439578063b4a0bdf31461047157600080fd5b806374c4c1cc146103b157806379ba5097146103d15780637c05a7c5146103d957806380d45a2d146103f957600080fd5b80632eed6906116101925780636d049329116101615780636d049329146103575780636dfd08ca1461036a578063715018a614610396578063741b25251461039e57600080fd5b80632eed69061461030057806342cbb15c14610313578063552c0971146103195780636a95ddef1461034457600080fd5b80631627ee89116101ce5780631627ee891461026657806323526079146102935780632a869a4d146102a65780632c427b57146102b957600080fd5b806304caeb10146102005780630a3a3a9e146102155780630e32cb8614610228578063160c3a031461023b575b600080fd5b61021361020e366004611f76565b610547565b005b610213610223366004611fce565b610708565b610213610236366004611fce565b61073f565b6102506a0c097ce7bc90715b34b9f160241b81565b60405161025d9190612000565b60405180910390f35b610286610274366004611fce565b60fd6020526000908152604090205481565b60405161025d9190612014565b6102136102a1366004612069565b610750565b6102136102b4366004611fce565b610789565b6102f26102c7366004611fce565b610100602052600090815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b60405161025d9291906120a8565b61021361030e3660046120c3565b6108e3565b43610286565b6102866103273660046120f6565b60fc60209081526000928352604080842090915290825290205481565b610213610352366004612129565b61098f565b6102136103653660046120c3565b6109ca565b6102866103783660046120f6565b61010360209081526000928352604080842090915290825290205481565b610213610a44565b6102136103ac366004611fce565b610a58565b6102866103bf366004611fce565b60ff6020526000908152604090205481565b610213610b49565b6102866103e7366004611fce565b60fe6020526000908152604090205481565b610213610407366004612179565b610b7e565b61021361041a36600461220f565b610b8f565b6033546001600160a01b03165b60405161025d91906122ae565b6102f2610447366004611fce565b60fb602052600090815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b6097546001600160a01b03165b60405161025d91906122d0565b6102136104993660046122de565b610c56565b61028660c95481565b6102866104b5366004611fce565b6101026020526000908152604090205481565b6102136104d6366004611fce565b610d6c565b6102136104e93660046120f6565b610dec565b6065546001600160a01b031661042c565b61028661050d366004611fce565b6101016020526000908152604090205481565b61021361052e366004611fce565b610e21565b6101055461047e906001600160a01b031681565b805161055281610e92565b60005b818110156106c257600083828151811061057157610571612342565b602090810291909101015161010454604051633d98a1e560e01b81529192506001600160a01b031690633d98a1e5906105ae9084906004016122d0565b602060405180830381865afa1580156105cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ef919061236b565b6106145760405162461bcd60e51b815260040161060b906123bb565b60405180910390fd5b60006040518060200160405280836001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068391906123d6565b905290506106918282610ebb565b61069c8287836110a8565b6106a582611232565b6106af82876113dd565b5050806106bb9061240d565b9050610555565b506001600160a01b038316600090815260fd60205260409020546106e790849061157f565b6001600160a01b03909316600090815260fd60205260409020929092555050565b610104546001600160a01b031633146107335760405162461bcd60e51b815260040161060b9061246e565b61073c81611232565b50565b61074761163a565b61073c81611664565b610104546001600160a01b0316331461077b5760405162461bcd60e51b815260040161060b9061246e565b6107858282610ebb565b5050565b610104546001600160a01b031633146107b45760405162461bcd60e51b815260040161060b9061246e565b60006107f6435b6040518060400160405280601c81526020017f626c6f636b206e756d62657220657863656564732033322062697473000000008152506116e9565b6001600160a01b038316600090815260fb6020908152604080832061010090925282208154939450909290916001600160e01b0390911690036108525781546001600160e01b0319166a0c097ce7bc90715b34b9f160241b1782555b80546001600160e01b03166000036108835780546001600160e01b0319166a0c097ce7bc90715b34b9f160241b1781555b805463ffffffff8416600160e01b026001600160e01b039182168117835583549091161782556040516001600160a01b038516907ffe6944646a362be70b0925ea999b3d9f755589a63ffcd89e4fb2b0affd252c7190600090a250505050565b6108eb61163a565b6108f482610a58565b8060000361091b576001600160a01b03821660009081526101026020526040812055610937565b436001600160a01b038316600090815261010260205260409020555b6001600160a01b0382166000818152610101602052604090819020839055517f4882c0217331870166b5d239c9f7be7801bab4be26560cd2f8789145d0fd3af490610983908490612014565b60405180910390a25050565b610104546001600160a01b031633146109ba5760405162461bcd60e51b815260040161060b9061246e565b6109c58383836110a8565b505050565b6109d261163a565b60006109de838361157f565b905080156109fe5760405162461bcd60e51b815260040161060b906124bd565b826001600160a01b03167f251909abf904fc80eac3f0d4c25e5c800441ea19fda63c6f0df08e4f24f926f983604051610a379190612014565b60405180910390a2505050565b610a4c61163a565b610a566000611719565b565b6001600160a01b0381166000908152610101602090815260408083205461010290925282205490914391610a8d908390611732565b9050600081118015610a9f5750600083115b15610b43576000610ab08285611745565b6001600160a01b038616600090815260fd602052604081205491925090610ad79083611751565b6001600160a01b038716600081815260fd602081815260408084208681556101028352938190208a90559190529054905192935090917f38fe05baf9dc12e4e3bfda3daba26419e9930bf26ee6227f407ca46f8c9c29bc91610b3891612014565b60405180910390a250505b50505050565b60655433906001600160a01b03168114610b755760405162461bcd60e51b815260040161060b90612513565b61073c81611719565b610b8661163a565b61073c8161175d565b610bb0604051806060016040528060338152602001612b20603391396117b8565b8251825181148015610bc25750815181145b610bde5760405162461bcd60e51b815260040161060b90612576565b60005b81811015610c4f57610c3f858281518110610bfe57610bfe612342565b6020026020010151858381518110610c1857610c18612342565b6020026020010151858481518110610c3257610c32612342565b6020026020010151611852565b610c488161240d565b9050610be1565b5050505050565b600054610100900460ff1615808015610c765750600054600160ff909116105b80610c905750303b158015610c90575060005460ff166001145b610cac5760405162461bcd60e51b815260040161060b906125d1565b6000805460ff191660011790558015610ccf576000805461ff0019166101001790555b61010480546001600160a01b038088166001600160a01b031992831617909255610105805492871692909116919091179055610d09611a51565b610d1282611a80565b610d1b8361175d565b8015610c4f576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610d5d906001906125f5565b60405180910390a15050505050565b61073c8161010460009054906101000a90046001600160a01b03166001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610dc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261020e9190810190612683565b610104546001600160a01b03163314610e175760405162461bcd60e51b815260040161060b9061246e565b61078582826113dd565b610e2961163a565b606580546001600160a01b0383166001600160a01b03199091168117909155610e5a6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60c95481111561073c5760c9548160405163792bfb1b60e11b815260040161060b9291906126be565b6001600160a01b03821660009081526101006020908152604080832060fe9092528220549091610eea436107bb565b8354909150600090610f0c9063ffffffff80851691600160e01b900416611732565b9050600081118015610f1e5750600083115b1561104d576000610f90876001600160a01b03166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8a91906123d6565b87611aa7565b90506000610f9e8386611745565b90506000808311610fbe5760405180602001604052806000815250610fc8565b610fc88284611ac5565b604080516020810190915288546001600160e01b0316815290915061102b90610ff19083611b09565b5160408051808201909152601a81527f6e657720696e64657820657863656564732032323420626974730000000000006020820152611b35565b6001600160e01b0316600160e01b63ffffffff8716021787555061106f915050565b801561106f5783546001600160e01b0316600160e01b63ffffffff8416021784555b856001600160a01b03167fbfeed4eb85c013b0e466fdfdbaa785159ff7986078247dc95f1c717a5bd6bca286604051610b3891906126ea565b6001600160a01b038381166000908152610100602090815260408083208054610103845282852095881685529490925290912080546001600160e01b039093169081905590918015801561110a57506a0c097ce7bc90715b34b9f160241b8210155b1561112057506a0c097ce7bc90715b34b9f160241b5b600060405180602001604052806111378585611732565b8152509050600061118a886001600160a01b03166395dd9193896040518263ffffffff1660e01b815260040161116d91906122ae565b602060405180830381865afa158015610f66573d6000803e3d6000fd5b9050801561122857600061119e8284611b60565b6001600160a01b038916600090815260fd6020526040812054919250906111c59083611751565b6001600160a01b03808b16600081815260fd6020526040908190208490555192935091908c16907f510d7612da9ca257889eabdfbe0366aaea10020be46f7810f4afb2111d80aa939061121d90869086908c906126f8565b60405180910390a350505b5050505050505050565b6001600160a01b038116600090815260fb6020908152604080832060ff9092528220549091611260436107bb565b83549091506000906112829063ffffffff80851691600160e01b900416611732565b90506000811180156112945750600083115b15611380576000856001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fd91906123d6565b9050600061130b8386611745565b9050600080831161132b5760405180602001604052806000815250611335565b6113358284611ac5565b604080516020810190915288546001600160e01b0316815290915061135e90610ff19083611b09565b6001600160e01b0316600160e01b63ffffffff871602178755506113a2915050565b80156113a25783546001600160e01b0316600160e01b63ffffffff8416021784555b6040516001600160a01b038616907f6a7b996800070d8bc0f9a3ddcb0a4b09bc1653f76381d745444956366afd423a90600090a25050505050565b6001600160a01b03828116600090815260fb60209081526040808320805460fc845282852095871685529490925290912080546001600160e01b039093169081905590918015801561143d57506a0c097ce7bc90715b34b9f160241b8210155b1561145357506a0c097ce7bc90715b34b9f160241b5b6000604051806020016040528061146a8585611732565b90526040516370a0823160e01b81529091506000906001600160a01b038816906370a082319061149e9089906004016122ae565b602060405180830381865afa1580156114bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114df91906123d6565b905060006114ed8284611b60565b6001600160a01b038816600090815260fd6020526040812054919250906115149083611751565b6001600160a01b03808a16600081815260fd6020526040908190208490555192935091908b16907f9563ff6035b973f2e4514ad9315010c220eb74b0c33a782a18118a199a97e4429061156c90869086908c906126f8565b60405180910390a3505050505050505050565b610105546040516370a0823160e01b815260009182916001600160a01b03909116906370a08231906115b59030906004016122ae565b602060405180830381865afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906123d6565b90506000831180156116085750808311155b1561162f5761010554611625906001600160a01b03168585611b89565b6000915050611634565b829150505b92915050565b6033546001600160a01b03163314610a565760405162461bcd60e51b815260040161060b90612752565b6001600160a01b03811661168a5760405162461bcd60e51b815260040161060b906127a4565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0906116dd90839085906127b4565b60405180910390a15050565b60008163ffffffff8411156117115760405162461bcd60e51b815260040161060b919061282d565b509192915050565b606580546001600160a01b031916905561073c81611bdf565b600061173e828461283e565b9392505050565b600061173e8284612855565b600061173e8284612874565b60c954811161177e5760405162461bcd60e51b815260040161060b906128cb565b60c98054908290556040517fc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa906116dd90839085906126be565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab906117eb90339086906004016128db565b602060405180830381865afa158015611808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182c919061236b565b90508061078557333083604051634a3fa29360e01b815260040161060b939291906128fb565b61010454604051633d98a1e560e01b81526001600160a01b0390911690633d98a1e5906118839086906004016122d0565b602060405180830381865afa1580156118a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c4919061236b565b6118e05760405162461bcd60e51b815260040161060b90612963565b6001600160a01b038316600090815260ff6020526040902054821461195c5761190883611232565b6001600160a01b038316600081815260ff602052604090819020849055517f24741480445e83baea9eb28086e16a4377ebb4f003c773e386496fd90b3ed04e90611953908590612014565b60405180910390a25b6001600160a01b038316600090815260fe602052604090205481146109c55760006040518060200160405280856001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ea91906123d6565b905290506119f88482610ebb565b6001600160a01b038416600081815260fe602052604090819020849055517f2091432bbf4aa40f4785b469e931d32c5f5c6ba66dcf702a99cbe776df729c3c90611a43908590612014565b60405180910390a250505050565b600054610100900460ff16611a785760405162461bcd60e51b815260040161060b906129bb565b610a56611c31565b600054610100900460ff166107475760405162461bcd60e51b815260040161060b906129bb565b600061173e611abe84670de0b6b3a7640000611745565b8351611c61565b6040805160208101909152600081526040518060200160405280611b00611afa866a0c097ce7bc90715b34b9f160241b611745565b85611c61565b90529392505050565b6040805160208101909152600081526040518060200160405280611b0085600001518560000151611751565b6000816001600160e01b038411156117115760405162461bcd60e51b815260040161060b919061282d565b60006a0c097ce7bc90715b34b9f160241b611b7f848460000151611745565b61173e91906129e1565b6109c58363a9059cbb60e01b8484604051602401611ba89291906129f5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c6d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16611c585760405162461bcd60e51b815260040161060b906129bb565b610a5633611719565b600061173e82846129e1565b6000611cc2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611cff9092919063ffffffff16565b9050805160001480611ce3575080806020019051810190611ce3919061236b565b6109c55760405162461bcd60e51b815260040161060b90612a4a565b6060611d0e8484600085611d16565b949350505050565b606082471015611d385760405162461bcd60e51b815260040161060b90612a9d565b600080866001600160a01b03168587604051611d549190612acf565b60006040518083038185875af1925050503d8060008114611d91576040519150601f19603f3d011682016040523d82523d6000602084013e611d96565b606091505b5091509150611da787838387611db2565b979650505050505050565b60608315611df1578251600003611dea576001600160a01b0385163b611dea5760405162461bcd60e51b815260040161060b90612b0f565b5081611d0e565b611d0e8383815115611e065781518083602001fd5b8060405162461bcd60e51b815260040161060b919061282d565b60006001600160a01b038216611634565b611e3a81611e20565b811461073c57600080fd5b803561163481611e31565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff82111715611e8c57611e8c611e50565b6040525050565b6000611e9e60405190565b9050611eaa8282611e66565b919050565b600067ffffffffffffffff821115611ec957611ec9611e50565b5060209081020190565b600061163482611e20565b611e3a81611ed3565b803561163481611ede565b6000611f05611f0084611eaf565b611e93565b83815290506020808201908402830185811115611f2457611f24600080fd5b835b81811015611f485780611f398882611ee7565b84525060209283019201611f26565b5050509392505050565b600082601f830112611f6657611f66600080fd5b8135611d0e848260208601611ef2565b60008060408385031215611f8c57611f8c600080fd5b6000611f988585611e45565b925050602083013567ffffffffffffffff811115611fb857611fb8600080fd5b611fc485828601611f52565b9150509250929050565b600060208284031215611fe357611fe3600080fd5b6000611d0e8484611e45565b6001600160e01b0381165b82525050565b602081016116348284611fef565b80611ffa565b60208101611634828461200e565b80611e3a565b803561163481612022565b60006020828403121561204857612048600080fd5b6120526020611e93565b905060006120608484612028565b82525092915050565b6000806040838503121561207f5761207f600080fd5b600061208b8585611e45565b9250506020611fc485828601612033565b63ffffffff8116611ffa565b604081016120b68285611fef565b61173e602083018461209c565b600080604083850312156120d9576120d9600080fd5b60006120e58585611e45565b9250506020611fc485828601612028565b6000806040838503121561210c5761210c600080fd5b60006121188585611e45565b9250506020611fc485828601611e45565b60008060006060848603121561214157612141600080fd5b600061214d8686611e45565b935050602061215e86828701611e45565b925050604061216f86828701612033565b9150509250925092565b60006020828403121561218e5761218e600080fd5b6000611d0e8484612028565b60006121a8611f0084611eaf565b838152905060208082019084028301858111156121c7576121c7600080fd5b835b81811015611f4857806121dc8882612028565b845250602092830192016121c9565b600082601f8301126121ff576121ff600080fd5b8135611d0e84826020860161219a565b60008060006060848603121561222757612227600080fd5b833567ffffffffffffffff81111561224157612241600080fd5b61224d86828701611f52565b935050602084013567ffffffffffffffff81111561226d5761226d600080fd5b612279868287016121eb565b925050604084013567ffffffffffffffff81111561229957612299600080fd5b61216f868287016121eb565b611ffa81611e20565b6020810161163482846122a5565b600061163482611ed3565b611ffa816122bc565b6020810161163482846122c7565b600080600080608085870312156122f7576122f7600080fd5b60006123038787611ee7565b945050602061231487828801611ee7565b935050604061232587828801612028565b925050606061233687828801611e45565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b801515611e3a565b805161163481612358565b60006020828403121561238057612380600080fd5b6000611d0e8484612360565b60158152600060208201741b585c9ad95d081b5d5cdd081899481b1a5cdd1959605a1b815291505b5060200190565b602080825281016116348161238c565b805161163481612022565b6000602082840312156123eb576123eb600080fd5b6000611d0e84846123cb565b634e487b7160e01b600052601160045260246000fd5b60006000198203612420576124206123f7565b5060010190565b602781526000602082017f4f6e6c7920636f6d7074726f6c6c65722063616e2063616c6c207468697320668152663ab731ba34b7b760c91b602082015291505b5060400190565b6020808252810161163481612427565b602281526000602082017f696e73756666696369656e7420726577617264546f6b656e20666f72206772618152611b9d60f21b60208201529150612467565b602080825281016116348161247e565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150612467565b60208082528101611634816124cd565b603681526000602082017f526577617264734469737472696275746f723a3a736574526577617264546f6b815275195b94dc1959591cc81a5b9d985b1a59081a5b9c1d5d60521b60208201529150612467565b6020808252810161163481612523565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150612467565b6020808252810161163481612586565b600060ff8216611634565b611ffa816125e1565b6020810161163482846125ec565b805161163481611ede565b600061261c611f0084611eaf565b8381529050602080820190840283018581111561263b5761263b600080fd5b835b81811015611f4857806126508882612603565b8452506020928301920161263d565b600082601f83011261267357612673600080fd5b8151611d0e84826020860161260e565b60006020828403121561269857612698600080fd5b815167ffffffffffffffff8111156126b2576126b2600080fd5b611d0e8482850161265f565b604081016126cc828561200e565b61173e602083018461200e565b80516020830190610b43848261200e565b6020810161163482846126d9565b60608101612706828661200e565b612713602083018561200e565b611d0e604083018461200e565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260006123b4565b6020808252810161163481612720565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150612467565b6020808252810161163481612762565b604081016127c282856122a5565b61173e60208301846122a5565b60005b838110156127ea5781810151838201526020016127d2565b83811115610b435750506000910152565b6000612805825190565b80845260208401935061281c8185602086016127cf565b601f01601f19169290920192915050565b6020808252810161173e81846127fb565b600082821015612850576128506123f7565b500390565b600081600019048311821515161561286f5761286f6123f7565b500290565b60008219821115612887576128876123f7565b500190565b602281526000602082017f436f6d7074726f6c6c65723a20496e76616c6964206d61784c6f6f70734c696d8152611a5d60f21b60208201529150612467565b602080825281016116348161288c565b604081016128e982856122a5565b8181036020830152611d0e81846127fb565b6060810161290982866122a5565b61291660208301856122a5565b818103604083015261292881846127fb565b95945050505050565b60208082527f726577617264546f6b656e206d61726b6574206973206e6f74206c6973746564910190815260006123b4565b6020808252810161163481612931565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150612467565b6020808252810161163481612973565b634e487b7160e01b600052601260045260246000fd5b6000826129f0576129f06129cb565b500490565b604081016126cc82856122a5565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150612467565b6020808252810161163481612a03565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150612467565b6020808252810161163481612a5a565b6000612ab7825190565b612ac58185602086016127cf565b9290920192915050565b600061173e8284612aad565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506123b4565b6020808252810161163481612adb56fe736574526577617264546f6b656e53706565647328616464726573735b5d2c75696e743235365b5d2c75696e743235365b5d29a26469706673582212207065f6ead0dfcff8d82faf9a4cd70aa3d45291a055a9ff8ab72eacc7f23a0d8264736f6c634300080d0033",
|
|
925
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c806374c4c1cc1161011a578063be203094116100ad578063db7954fd1161007c578063db7954fd146104db578063e30c3978146104ee578063efc75f24146104ff578063f2fde38b14610520578063f7c618c11461053357600080fd5b8063be2030941461048b578063be26317e1461049e578063bea6b8b8146104a7578063ca37271b146104c857600080fd5b80638c37dfa3116100e95780638c37dfa31461040c5780638da5cb5b1461041f57806392a1823514610439578063b4a0bdf31461047157600080fd5b806374c4c1cc146103b157806379ba5097146103d15780637c05a7c5146103d957806380d45a2d146103f957600080fd5b80632eed6906116101925780636d049329116101615780636d049329146103575780636dfd08ca1461036a578063715018a614610396578063741b25251461039e57600080fd5b80632eed69061461030057806342cbb15c14610313578063552c0971146103195780636a95ddef1461034457600080fd5b80631627ee89116101ce5780631627ee891461026657806323526079146102935780632a869a4d146102a65780632c427b57146102b957600080fd5b806304caeb10146102005780630a3a3a9e146102155780630e32cb8614610228578063160c3a031461023b575b600080fd5b61021361020e366004611f76565b610547565b005b610213610223366004611fce565b610708565b610213610236366004611fce565b61073f565b6102506a0c097ce7bc90715b34b9f160241b81565b60405161025d9190612000565b60405180910390f35b610286610274366004611fce565b60fd6020526000908152604090205481565b60405161025d9190612014565b6102136102a1366004612069565b610750565b6102136102b4366004611fce565b610789565b6102f26102c7366004611fce565b610100602052600090815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b60405161025d9291906120a8565b61021361030e3660046120c3565b6108e3565b43610286565b6102866103273660046120f6565b60fc60209081526000928352604080842090915290825290205481565b610213610352366004612129565b61098f565b6102136103653660046120c3565b6109ca565b6102866103783660046120f6565b61010360209081526000928352604080842090915290825290205481565b610213610a44565b6102136103ac366004611fce565b610a58565b6102866103bf366004611fce565b60ff6020526000908152604090205481565b610213610b49565b6102866103e7366004611fce565b60fe6020526000908152604090205481565b610213610407366004612179565b610b7e565b61021361041a36600461220f565b610b8f565b6033546001600160a01b03165b60405161025d91906122ae565b6102f2610447366004611fce565b60fb602052600090815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b6097546001600160a01b03165b60405161025d91906122d0565b6102136104993660046122de565b610c56565b61028660c95481565b6102866104b5366004611fce565b6101026020526000908152604090205481565b6102136104d6366004611fce565b610d6c565b6102136104e93660046120f6565b610dec565b6065546001600160a01b031661042c565b61028661050d366004611fce565b6101016020526000908152604090205481565b61021361052e366004611fce565b610e21565b6101055461047e906001600160a01b031681565b805161055281610e92565b60005b818110156106c257600083828151811061057157610571612342565b602090810291909101015161010454604051633d98a1e560e01b81529192506001600160a01b031690633d98a1e5906105ae9084906004016122d0565b602060405180830381865afa1580156105cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ef919061236b565b6106145760405162461bcd60e51b815260040161060b906123bb565b60405180910390fd5b60006040518060200160405280836001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068391906123d6565b905290506106918282610ebb565b61069c8287836110a8565b6106a582611232565b6106af82876113dd565b5050806106bb9061240d565b9050610555565b506001600160a01b038316600090815260fd60205260409020546106e790849061157f565b6001600160a01b03909316600090815260fd60205260409020929092555050565b610104546001600160a01b031633146107335760405162461bcd60e51b815260040161060b9061246e565b61073c81611232565b50565b61074761163a565b61073c81611664565b610104546001600160a01b0316331461077b5760405162461bcd60e51b815260040161060b9061246e565b6107858282610ebb565b5050565b610104546001600160a01b031633146107b45760405162461bcd60e51b815260040161060b9061246e565b60006107f6435b6040518060400160405280601c81526020017f626c6f636b206e756d62657220657863656564732033322062697473000000008152506116e9565b6001600160a01b038316600090815260fb6020908152604080832061010090925282208154939450909290916001600160e01b0390911690036108525781546001600160e01b0319166a0c097ce7bc90715b34b9f160241b1782555b80546001600160e01b03166000036108835780546001600160e01b0319166a0c097ce7bc90715b34b9f160241b1781555b805463ffffffff8416600160e01b026001600160e01b039182168117835583549091161782556040516001600160a01b038516907ffe6944646a362be70b0925ea999b3d9f755589a63ffcd89e4fb2b0affd252c7190600090a250505050565b6108eb61163a565b6108f482610a58565b8060000361091b576001600160a01b03821660009081526101026020526040812055610937565b436001600160a01b038316600090815261010260205260409020555b6001600160a01b0382166000818152610101602052604090819020839055517f4882c0217331870166b5d239c9f7be7801bab4be26560cd2f8789145d0fd3af490610983908490612014565b60405180910390a25050565b610104546001600160a01b031633146109ba5760405162461bcd60e51b815260040161060b9061246e565b6109c58383836110a8565b505050565b6109d261163a565b60006109de838361157f565b905080156109fe5760405162461bcd60e51b815260040161060b906124bd565b826001600160a01b03167f251909abf904fc80eac3f0d4c25e5c800441ea19fda63c6f0df08e4f24f926f983604051610a379190612014565b60405180910390a2505050565b610a4c61163a565b610a566000611719565b565b6001600160a01b0381166000908152610101602090815260408083205461010290925282205490914391610a8d908390611732565b9050600081118015610a9f5750600083115b15610b43576000610ab08285611745565b6001600160a01b038616600090815260fd602052604081205491925090610ad79083611751565b6001600160a01b038716600081815260fd602081815260408084208681556101028352938190208a90559190529054905192935090917f38fe05baf9dc12e4e3bfda3daba26419e9930bf26ee6227f407ca46f8c9c29bc91610b3891612014565b60405180910390a250505b50505050565b60655433906001600160a01b03168114610b755760405162461bcd60e51b815260040161060b90612513565b61073c81611719565b610b8661163a565b61073c8161175d565b610bb0604051806060016040528060338152602001612b20603391396117b8565b8251825181148015610bc25750815181145b610bde5760405162461bcd60e51b815260040161060b90612576565b60005b81811015610c4f57610c3f858281518110610bfe57610bfe612342565b6020026020010151858381518110610c1857610c18612342565b6020026020010151858481518110610c3257610c32612342565b6020026020010151611852565b610c488161240d565b9050610be1565b5050505050565b600054610100900460ff1615808015610c765750600054600160ff909116105b80610c905750303b158015610c90575060005460ff166001145b610cac5760405162461bcd60e51b815260040161060b906125d1565b6000805460ff191660011790558015610ccf576000805461ff0019166101001790555b61010480546001600160a01b038088166001600160a01b031992831617909255610105805492871692909116919091179055610d09611a51565b610d1282611a80565b610d1b8361175d565b8015610c4f576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610d5d906001906125f5565b60405180910390a15050505050565b61073c8161010460009054906101000a90046001600160a01b03166001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610dc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261020e9190810190612683565b610104546001600160a01b03163314610e175760405162461bcd60e51b815260040161060b9061246e565b61078582826113dd565b610e2961163a565b606580546001600160a01b0383166001600160a01b03199091168117909155610e5a6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60c95481111561073c5760c9548160405163792bfb1b60e11b815260040161060b9291906126be565b6001600160a01b03821660009081526101006020908152604080832060fe9092528220549091610eea436107bb565b8354909150600090610f0c9063ffffffff80851691600160e01b900416611732565b9050600081118015610f1e5750600083115b1561104d576000610f90876001600160a01b03166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8a91906123d6565b87611aa7565b90506000610f9e8386611745565b90506000808311610fbe5760405180602001604052806000815250610fc8565b610fc88284611ac5565b604080516020810190915288546001600160e01b0316815290915061102b90610ff19083611b09565b5160408051808201909152601a81527f6e657720696e64657820657863656564732032323420626974730000000000006020820152611b35565b6001600160e01b0316600160e01b63ffffffff8716021787555061106f915050565b801561106f5783546001600160e01b0316600160e01b63ffffffff8416021784555b856001600160a01b03167fbfeed4eb85c013b0e466fdfdbaa785159ff7986078247dc95f1c717a5bd6bca286604051610b3891906126ea565b6001600160a01b038381166000908152610100602090815260408083208054610103845282852095881685529490925290912080546001600160e01b039093169081905590918015801561110a57506a0c097ce7bc90715b34b9f160241b8210155b1561112057506a0c097ce7bc90715b34b9f160241b5b600060405180602001604052806111378585611732565b8152509050600061118a886001600160a01b03166395dd9193896040518263ffffffff1660e01b815260040161116d91906122ae565b602060405180830381865afa158015610f66573d6000803e3d6000fd5b9050801561122857600061119e8284611b60565b6001600160a01b038916600090815260fd6020526040812054919250906111c59083611751565b6001600160a01b03808b16600081815260fd6020526040908190208490555192935091908c16907f510d7612da9ca257889eabdfbe0366aaea10020be46f7810f4afb2111d80aa939061121d90869086908c906126f8565b60405180910390a350505b5050505050505050565b6001600160a01b038116600090815260fb6020908152604080832060ff9092528220549091611260436107bb565b83549091506000906112829063ffffffff80851691600160e01b900416611732565b90506000811180156112945750600083115b15611380576000856001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fd91906123d6565b9050600061130b8386611745565b9050600080831161132b5760405180602001604052806000815250611335565b6113358284611ac5565b604080516020810190915288546001600160e01b0316815290915061135e90610ff19083611b09565b6001600160e01b0316600160e01b63ffffffff871602178755506113a2915050565b80156113a25783546001600160e01b0316600160e01b63ffffffff8416021784555b6040516001600160a01b038616907f6a7b996800070d8bc0f9a3ddcb0a4b09bc1653f76381d745444956366afd423a90600090a25050505050565b6001600160a01b03828116600090815260fb60209081526040808320805460fc845282852095871685529490925290912080546001600160e01b039093169081905590918015801561143d57506a0c097ce7bc90715b34b9f160241b8210155b1561145357506a0c097ce7bc90715b34b9f160241b5b6000604051806020016040528061146a8585611732565b90526040516370a0823160e01b81529091506000906001600160a01b038816906370a082319061149e9089906004016122ae565b602060405180830381865afa1580156114bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114df91906123d6565b905060006114ed8284611b60565b6001600160a01b038816600090815260fd6020526040812054919250906115149083611751565b6001600160a01b03808a16600081815260fd6020526040908190208490555192935091908b16907f9563ff6035b973f2e4514ad9315010c220eb74b0c33a782a18118a199a97e4429061156c90869086908c906126f8565b60405180910390a3505050505050505050565b610105546040516370a0823160e01b815260009182916001600160a01b03909116906370a08231906115b59030906004016122ae565b602060405180830381865afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906123d6565b90506000831180156116085750808311155b1561162f5761010554611625906001600160a01b03168585611b89565b6000915050611634565b829150505b92915050565b6033546001600160a01b03163314610a565760405162461bcd60e51b815260040161060b90612752565b6001600160a01b03811661168a5760405162461bcd60e51b815260040161060b906127a4565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0906116dd90839085906127b4565b60405180910390a15050565b60008163ffffffff8411156117115760405162461bcd60e51b815260040161060b919061282d565b509192915050565b606580546001600160a01b031916905561073c81611bdf565b600061173e828461283e565b9392505050565b600061173e8284612855565b600061173e8284612874565b60c954811161177e5760405162461bcd60e51b815260040161060b906128cb565b60c98054908290556040517fc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa906116dd90839085906126be565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab906117eb90339086906004016128db565b602060405180830381865afa158015611808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182c919061236b565b90508061078557333083604051634a3fa29360e01b815260040161060b939291906128fb565b61010454604051633d98a1e560e01b81526001600160a01b0390911690633d98a1e5906118839086906004016122d0565b602060405180830381865afa1580156118a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c4919061236b565b6118e05760405162461bcd60e51b815260040161060b90612963565b6001600160a01b038316600090815260ff6020526040902054821461195c5761190883611232565b6001600160a01b038316600081815260ff602052604090819020849055517f24741480445e83baea9eb28086e16a4377ebb4f003c773e386496fd90b3ed04e90611953908590612014565b60405180910390a25b6001600160a01b038316600090815260fe602052604090205481146109c55760006040518060200160405280856001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ea91906123d6565b905290506119f88482610ebb565b6001600160a01b038416600081815260fe602052604090819020849055517f2091432bbf4aa40f4785b469e931d32c5f5c6ba66dcf702a99cbe776df729c3c90611a43908590612014565b60405180910390a250505050565b600054610100900460ff16611a785760405162461bcd60e51b815260040161060b906129bb565b610a56611c31565b600054610100900460ff166107475760405162461bcd60e51b815260040161060b906129bb565b600061173e611abe84670de0b6b3a7640000611745565b8351611c61565b6040805160208101909152600081526040518060200160405280611b00611afa866a0c097ce7bc90715b34b9f160241b611745565b85611c61565b90529392505050565b6040805160208101909152600081526040518060200160405280611b0085600001518560000151611751565b6000816001600160e01b038411156117115760405162461bcd60e51b815260040161060b919061282d565b60006a0c097ce7bc90715b34b9f160241b611b7f848460000151611745565b61173e91906129e1565b6109c58363a9059cbb60e01b8484604051602401611ba89291906129f5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c6d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16611c585760405162461bcd60e51b815260040161060b906129bb565b610a5633611719565b600061173e82846129e1565b6000611cc2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611cff9092919063ffffffff16565b9050805160001480611ce3575080806020019051810190611ce3919061236b565b6109c55760405162461bcd60e51b815260040161060b90612a4a565b6060611d0e8484600085611d16565b949350505050565b606082471015611d385760405162461bcd60e51b815260040161060b90612a9d565b600080866001600160a01b03168587604051611d549190612acf565b60006040518083038185875af1925050503d8060008114611d91576040519150601f19603f3d011682016040523d82523d6000602084013e611d96565b606091505b5091509150611da787838387611db2565b979650505050505050565b60608315611df1578251600003611dea576001600160a01b0385163b611dea5760405162461bcd60e51b815260040161060b90612b0f565b5081611d0e565b611d0e8383815115611e065781518083602001fd5b8060405162461bcd60e51b815260040161060b919061282d565b60006001600160a01b038216611634565b611e3a81611e20565b811461073c57600080fd5b803561163481611e31565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff82111715611e8c57611e8c611e50565b6040525050565b6000611e9e60405190565b9050611eaa8282611e66565b919050565b600067ffffffffffffffff821115611ec957611ec9611e50565b5060209081020190565b600061163482611e20565b611e3a81611ed3565b803561163481611ede565b6000611f05611f0084611eaf565b611e93565b83815290506020808201908402830185811115611f2457611f24600080fd5b835b81811015611f485780611f398882611ee7565b84525060209283019201611f26565b5050509392505050565b600082601f830112611f6657611f66600080fd5b8135611d0e848260208601611ef2565b60008060408385031215611f8c57611f8c600080fd5b6000611f988585611e45565b925050602083013567ffffffffffffffff811115611fb857611fb8600080fd5b611fc485828601611f52565b9150509250929050565b600060208284031215611fe357611fe3600080fd5b6000611d0e8484611e45565b6001600160e01b0381165b82525050565b602081016116348284611fef565b80611ffa565b60208101611634828461200e565b80611e3a565b803561163481612022565b60006020828403121561204857612048600080fd5b6120526020611e93565b905060006120608484612028565b82525092915050565b6000806040838503121561207f5761207f600080fd5b600061208b8585611e45565b9250506020611fc485828601612033565b63ffffffff8116611ffa565b604081016120b68285611fef565b61173e602083018461209c565b600080604083850312156120d9576120d9600080fd5b60006120e58585611e45565b9250506020611fc485828601612028565b6000806040838503121561210c5761210c600080fd5b60006121188585611e45565b9250506020611fc485828601611e45565b60008060006060848603121561214157612141600080fd5b600061214d8686611e45565b935050602061215e86828701611e45565b925050604061216f86828701612033565b9150509250925092565b60006020828403121561218e5761218e600080fd5b6000611d0e8484612028565b60006121a8611f0084611eaf565b838152905060208082019084028301858111156121c7576121c7600080fd5b835b81811015611f4857806121dc8882612028565b845250602092830192016121c9565b600082601f8301126121ff576121ff600080fd5b8135611d0e84826020860161219a565b60008060006060848603121561222757612227600080fd5b833567ffffffffffffffff81111561224157612241600080fd5b61224d86828701611f52565b935050602084013567ffffffffffffffff81111561226d5761226d600080fd5b612279868287016121eb565b925050604084013567ffffffffffffffff81111561229957612299600080fd5b61216f868287016121eb565b611ffa81611e20565b6020810161163482846122a5565b600061163482611ed3565b611ffa816122bc565b6020810161163482846122c7565b600080600080608085870312156122f7576122f7600080fd5b60006123038787611ee7565b945050602061231487828801611ee7565b935050604061232587828801612028565b925050606061233687828801611e45565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b801515611e3a565b805161163481612358565b60006020828403121561238057612380600080fd5b6000611d0e8484612360565b60158152600060208201741b585c9ad95d081b5d5cdd081899481b1a5cdd1959605a1b815291505b5060200190565b602080825281016116348161238c565b805161163481612022565b6000602082840312156123eb576123eb600080fd5b6000611d0e84846123cb565b634e487b7160e01b600052601160045260246000fd5b60006000198203612420576124206123f7565b5060010190565b602781526000602082017f4f6e6c7920636f6d7074726f6c6c65722063616e2063616c6c207468697320668152663ab731ba34b7b760c91b602082015291505b5060400190565b6020808252810161163481612427565b602281526000602082017f696e73756666696369656e7420726577617264546f6b656e20666f72206772618152611b9d60f21b60208201529150612467565b602080825281016116348161247e565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150612467565b60208082528101611634816124cd565b603681526000602082017f526577617264734469737472696275746f723a3a736574526577617264546f6b815275195b94dc1959591cc81a5b9d985b1a59081a5b9c1d5d60521b60208201529150612467565b6020808252810161163481612523565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150612467565b6020808252810161163481612586565b600060ff8216611634565b611ffa816125e1565b6020810161163482846125ec565b805161163481611ede565b600061261c611f0084611eaf565b8381529050602080820190840283018581111561263b5761263b600080fd5b835b81811015611f4857806126508882612603565b8452506020928301920161263d565b600082601f83011261267357612673600080fd5b8151611d0e84826020860161260e565b60006020828403121561269857612698600080fd5b815167ffffffffffffffff8111156126b2576126b2600080fd5b611d0e8482850161265f565b604081016126cc828561200e565b61173e602083018461200e565b80516020830190610b43848261200e565b6020810161163482846126d9565b60608101612706828661200e565b612713602083018561200e565b611d0e604083018461200e565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260006123b4565b6020808252810161163481612720565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150612467565b6020808252810161163481612762565b604081016127c282856122a5565b61173e60208301846122a5565b60005b838110156127ea5781810151838201526020016127d2565b83811115610b435750506000910152565b6000612805825190565b80845260208401935061281c8185602086016127cf565b601f01601f19169290920192915050565b6020808252810161173e81846127fb565b600082821015612850576128506123f7565b500390565b600081600019048311821515161561286f5761286f6123f7565b500290565b60008219821115612887576128876123f7565b500190565b602281526000602082017f436f6d7074726f6c6c65723a20496e76616c6964206d61784c6f6f70734c696d8152611a5d60f21b60208201529150612467565b602080825281016116348161288c565b604081016128e982856122a5565b8181036020830152611d0e81846127fb565b6060810161290982866122a5565b61291660208301856122a5565b818103604083015261292881846127fb565b95945050505050565b60208082527f726577617264546f6b656e206d61726b6574206973206e6f74206c6973746564910190815260006123b4565b6020808252810161163481612931565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150612467565b6020808252810161163481612973565b634e487b7160e01b600052601260045260246000fd5b6000826129f0576129f06129cb565b500490565b604081016126cc82856122a5565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150612467565b6020808252810161163481612a03565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150612467565b6020808252810161163481612a5a565b6000612ab7825190565b612ac58185602086016127cf565b9290920192915050565b600061173e8284612aad565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506123b4565b6020808252810161163481612adb56fe736574526577617264546f6b656e53706565647328616464726573735b5d2c75696e743235365b5d2c75696e743235365b5d29a26469706673582212207065f6ead0dfcff8d82faf9a4cd70aa3d45291a055a9ff8ab72eacc7f23a0d8264736f6c634300080d0033",
|
|
926
|
+
"linkReferences": {},
|
|
927
|
+
"deployedLinkReferences": {}
|
|
928
|
+
}
|