@venusprotocol/isolated-pools 1.0.0-dev.1 → 1.0.0-dev.3
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/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/16ab40c4151bb2c077b92cd42e217558.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/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.dbg.json +4 -0
- package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.json +50 -0
- package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.dbg.json +4 -0
- package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.json +191 -0
- package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.dbg.json +4 -0
- package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.json +35 -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 +923 -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/Proxy/UpgradeableBeacon.sol/Beacon.dbg.json +4 -0
- package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.json +113 -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 +615 -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 +756 -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/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/Comptroller.sol +10 -1
- package/contracts/Pool/PoolRegistry.sol +2 -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 +68 -0
- package/dist/deploy/007-access-control-configure.d.ts +3 -0
- package/dist/deploy/007-access-control-configure.js +73 -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 +125 -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 +2 -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,1087 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "PoolLens",
|
|
4
|
+
"sourceName": "contracts/Lens/PoolLens.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "poolRegistryAddress",
|
|
11
|
+
"type": "address"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"name": "getAllPools",
|
|
15
|
+
"outputs": [
|
|
16
|
+
{
|
|
17
|
+
"components": [
|
|
18
|
+
{
|
|
19
|
+
"internalType": "string",
|
|
20
|
+
"name": "name",
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"internalType": "address",
|
|
25
|
+
"name": "creator",
|
|
26
|
+
"type": "address"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"internalType": "address",
|
|
30
|
+
"name": "comptroller",
|
|
31
|
+
"type": "address"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"internalType": "uint256",
|
|
35
|
+
"name": "blockPosted",
|
|
36
|
+
"type": "uint256"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"internalType": "uint256",
|
|
40
|
+
"name": "timestampPosted",
|
|
41
|
+
"type": "uint256"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"internalType": "string",
|
|
45
|
+
"name": "category",
|
|
46
|
+
"type": "string"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"internalType": "string",
|
|
50
|
+
"name": "logoURL",
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"internalType": "string",
|
|
55
|
+
"name": "description",
|
|
56
|
+
"type": "string"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"internalType": "address",
|
|
60
|
+
"name": "priceOracle",
|
|
61
|
+
"type": "address"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"internalType": "uint256",
|
|
65
|
+
"name": "closeFactor",
|
|
66
|
+
"type": "uint256"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"internalType": "uint256",
|
|
70
|
+
"name": "liquidationIncentive",
|
|
71
|
+
"type": "uint256"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"internalType": "uint256",
|
|
75
|
+
"name": "minLiquidatableCollateral",
|
|
76
|
+
"type": "uint256"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"components": [
|
|
80
|
+
{
|
|
81
|
+
"internalType": "address",
|
|
82
|
+
"name": "vToken",
|
|
83
|
+
"type": "address"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"internalType": "uint256",
|
|
87
|
+
"name": "exchangeRateCurrent",
|
|
88
|
+
"type": "uint256"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"internalType": "uint256",
|
|
92
|
+
"name": "supplyRatePerBlock",
|
|
93
|
+
"type": "uint256"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"internalType": "uint256",
|
|
97
|
+
"name": "borrowRatePerBlock",
|
|
98
|
+
"type": "uint256"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"internalType": "uint256",
|
|
102
|
+
"name": "reserveFactorMantissa",
|
|
103
|
+
"type": "uint256"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"internalType": "uint256",
|
|
107
|
+
"name": "supplyCaps",
|
|
108
|
+
"type": "uint256"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"internalType": "uint256",
|
|
112
|
+
"name": "borrowCaps",
|
|
113
|
+
"type": "uint256"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"internalType": "uint256",
|
|
117
|
+
"name": "totalBorrows",
|
|
118
|
+
"type": "uint256"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"internalType": "uint256",
|
|
122
|
+
"name": "totalReserves",
|
|
123
|
+
"type": "uint256"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"internalType": "uint256",
|
|
127
|
+
"name": "totalSupply",
|
|
128
|
+
"type": "uint256"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"internalType": "uint256",
|
|
132
|
+
"name": "totalCash",
|
|
133
|
+
"type": "uint256"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"internalType": "bool",
|
|
137
|
+
"name": "isListed",
|
|
138
|
+
"type": "bool"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"internalType": "uint256",
|
|
142
|
+
"name": "collateralFactorMantissa",
|
|
143
|
+
"type": "uint256"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"internalType": "address",
|
|
147
|
+
"name": "underlyingAssetAddress",
|
|
148
|
+
"type": "address"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"internalType": "uint256",
|
|
152
|
+
"name": "vTokenDecimals",
|
|
153
|
+
"type": "uint256"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"internalType": "uint256",
|
|
157
|
+
"name": "underlyingDecimals",
|
|
158
|
+
"type": "uint256"
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
"internalType": "struct PoolLens.VTokenMetadata[]",
|
|
162
|
+
"name": "vTokens",
|
|
163
|
+
"type": "tuple[]"
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
"internalType": "struct PoolLens.PoolData[]",
|
|
167
|
+
"name": "",
|
|
168
|
+
"type": "tuple[]"
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"stateMutability": "view",
|
|
172
|
+
"type": "function"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"inputs": [
|
|
176
|
+
{
|
|
177
|
+
"internalType": "address",
|
|
178
|
+
"name": "account",
|
|
179
|
+
"type": "address"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"internalType": "address",
|
|
183
|
+
"name": "comptrollerAddress",
|
|
184
|
+
"type": "address"
|
|
185
|
+
}
|
|
186
|
+
],
|
|
187
|
+
"name": "getPendingRewards",
|
|
188
|
+
"outputs": [
|
|
189
|
+
{
|
|
190
|
+
"components": [
|
|
191
|
+
{
|
|
192
|
+
"internalType": "address",
|
|
193
|
+
"name": "distributorAddress",
|
|
194
|
+
"type": "address"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"internalType": "address",
|
|
198
|
+
"name": "rewardTokenAddress",
|
|
199
|
+
"type": "address"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"internalType": "uint256",
|
|
203
|
+
"name": "totalRewards",
|
|
204
|
+
"type": "uint256"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"components": [
|
|
208
|
+
{
|
|
209
|
+
"internalType": "address",
|
|
210
|
+
"name": "vTokenAddress",
|
|
211
|
+
"type": "address"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"internalType": "uint256",
|
|
215
|
+
"name": "amount",
|
|
216
|
+
"type": "uint256"
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"internalType": "struct PoolLens.PendingReward[]",
|
|
220
|
+
"name": "pendingRewards",
|
|
221
|
+
"type": "tuple[]"
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"internalType": "struct PoolLens.RewardSummary[]",
|
|
225
|
+
"name": "",
|
|
226
|
+
"type": "tuple[]"
|
|
227
|
+
}
|
|
228
|
+
],
|
|
229
|
+
"stateMutability": "view",
|
|
230
|
+
"type": "function"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"inputs": [
|
|
234
|
+
{
|
|
235
|
+
"internalType": "address",
|
|
236
|
+
"name": "comptrollerAddress",
|
|
237
|
+
"type": "address"
|
|
238
|
+
}
|
|
239
|
+
],
|
|
240
|
+
"name": "getPoolBadDebt",
|
|
241
|
+
"outputs": [
|
|
242
|
+
{
|
|
243
|
+
"components": [
|
|
244
|
+
{
|
|
245
|
+
"internalType": "address",
|
|
246
|
+
"name": "comptroller",
|
|
247
|
+
"type": "address"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"internalType": "uint256",
|
|
251
|
+
"name": "totalBadDebtUsd",
|
|
252
|
+
"type": "uint256"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"components": [
|
|
256
|
+
{
|
|
257
|
+
"internalType": "address",
|
|
258
|
+
"name": "vTokenAddress",
|
|
259
|
+
"type": "address"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"internalType": "uint256",
|
|
263
|
+
"name": "badDebtUsd",
|
|
264
|
+
"type": "uint256"
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"internalType": "struct PoolLens.BadDebt[]",
|
|
268
|
+
"name": "badDebts",
|
|
269
|
+
"type": "tuple[]"
|
|
270
|
+
}
|
|
271
|
+
],
|
|
272
|
+
"internalType": "struct PoolLens.BadDebtSummary",
|
|
273
|
+
"name": "",
|
|
274
|
+
"type": "tuple"
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"stateMutability": "view",
|
|
278
|
+
"type": "function"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"inputs": [
|
|
282
|
+
{
|
|
283
|
+
"internalType": "address",
|
|
284
|
+
"name": "poolRegistryAddress",
|
|
285
|
+
"type": "address"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"internalType": "address",
|
|
289
|
+
"name": "comptroller",
|
|
290
|
+
"type": "address"
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"name": "getPoolByComptroller",
|
|
294
|
+
"outputs": [
|
|
295
|
+
{
|
|
296
|
+
"components": [
|
|
297
|
+
{
|
|
298
|
+
"internalType": "string",
|
|
299
|
+
"name": "name",
|
|
300
|
+
"type": "string"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"internalType": "address",
|
|
304
|
+
"name": "creator",
|
|
305
|
+
"type": "address"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"internalType": "address",
|
|
309
|
+
"name": "comptroller",
|
|
310
|
+
"type": "address"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"internalType": "uint256",
|
|
314
|
+
"name": "blockPosted",
|
|
315
|
+
"type": "uint256"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"internalType": "uint256",
|
|
319
|
+
"name": "timestampPosted",
|
|
320
|
+
"type": "uint256"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"internalType": "string",
|
|
324
|
+
"name": "category",
|
|
325
|
+
"type": "string"
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"internalType": "string",
|
|
329
|
+
"name": "logoURL",
|
|
330
|
+
"type": "string"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"internalType": "string",
|
|
334
|
+
"name": "description",
|
|
335
|
+
"type": "string"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"internalType": "address",
|
|
339
|
+
"name": "priceOracle",
|
|
340
|
+
"type": "address"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"internalType": "uint256",
|
|
344
|
+
"name": "closeFactor",
|
|
345
|
+
"type": "uint256"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"internalType": "uint256",
|
|
349
|
+
"name": "liquidationIncentive",
|
|
350
|
+
"type": "uint256"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"internalType": "uint256",
|
|
354
|
+
"name": "minLiquidatableCollateral",
|
|
355
|
+
"type": "uint256"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"components": [
|
|
359
|
+
{
|
|
360
|
+
"internalType": "address",
|
|
361
|
+
"name": "vToken",
|
|
362
|
+
"type": "address"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"internalType": "uint256",
|
|
366
|
+
"name": "exchangeRateCurrent",
|
|
367
|
+
"type": "uint256"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"internalType": "uint256",
|
|
371
|
+
"name": "supplyRatePerBlock",
|
|
372
|
+
"type": "uint256"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"internalType": "uint256",
|
|
376
|
+
"name": "borrowRatePerBlock",
|
|
377
|
+
"type": "uint256"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"internalType": "uint256",
|
|
381
|
+
"name": "reserveFactorMantissa",
|
|
382
|
+
"type": "uint256"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"internalType": "uint256",
|
|
386
|
+
"name": "supplyCaps",
|
|
387
|
+
"type": "uint256"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"internalType": "uint256",
|
|
391
|
+
"name": "borrowCaps",
|
|
392
|
+
"type": "uint256"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"internalType": "uint256",
|
|
396
|
+
"name": "totalBorrows",
|
|
397
|
+
"type": "uint256"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"internalType": "uint256",
|
|
401
|
+
"name": "totalReserves",
|
|
402
|
+
"type": "uint256"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"internalType": "uint256",
|
|
406
|
+
"name": "totalSupply",
|
|
407
|
+
"type": "uint256"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"internalType": "uint256",
|
|
411
|
+
"name": "totalCash",
|
|
412
|
+
"type": "uint256"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"internalType": "bool",
|
|
416
|
+
"name": "isListed",
|
|
417
|
+
"type": "bool"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"internalType": "uint256",
|
|
421
|
+
"name": "collateralFactorMantissa",
|
|
422
|
+
"type": "uint256"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"internalType": "address",
|
|
426
|
+
"name": "underlyingAssetAddress",
|
|
427
|
+
"type": "address"
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"internalType": "uint256",
|
|
431
|
+
"name": "vTokenDecimals",
|
|
432
|
+
"type": "uint256"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"internalType": "uint256",
|
|
436
|
+
"name": "underlyingDecimals",
|
|
437
|
+
"type": "uint256"
|
|
438
|
+
}
|
|
439
|
+
],
|
|
440
|
+
"internalType": "struct PoolLens.VTokenMetadata[]",
|
|
441
|
+
"name": "vTokens",
|
|
442
|
+
"type": "tuple[]"
|
|
443
|
+
}
|
|
444
|
+
],
|
|
445
|
+
"internalType": "struct PoolLens.PoolData",
|
|
446
|
+
"name": "",
|
|
447
|
+
"type": "tuple"
|
|
448
|
+
}
|
|
449
|
+
],
|
|
450
|
+
"stateMutability": "view",
|
|
451
|
+
"type": "function"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"inputs": [
|
|
455
|
+
{
|
|
456
|
+
"internalType": "address",
|
|
457
|
+
"name": "poolRegistryAddress",
|
|
458
|
+
"type": "address"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"components": [
|
|
462
|
+
{
|
|
463
|
+
"internalType": "string",
|
|
464
|
+
"name": "name",
|
|
465
|
+
"type": "string"
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"internalType": "address",
|
|
469
|
+
"name": "creator",
|
|
470
|
+
"type": "address"
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"internalType": "address",
|
|
474
|
+
"name": "comptroller",
|
|
475
|
+
"type": "address"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"internalType": "uint256",
|
|
479
|
+
"name": "blockPosted",
|
|
480
|
+
"type": "uint256"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"internalType": "uint256",
|
|
484
|
+
"name": "timestampPosted",
|
|
485
|
+
"type": "uint256"
|
|
486
|
+
}
|
|
487
|
+
],
|
|
488
|
+
"internalType": "struct PoolRegistryInterface.VenusPool",
|
|
489
|
+
"name": "venusPool",
|
|
490
|
+
"type": "tuple"
|
|
491
|
+
}
|
|
492
|
+
],
|
|
493
|
+
"name": "getPoolDataFromVenusPool",
|
|
494
|
+
"outputs": [
|
|
495
|
+
{
|
|
496
|
+
"components": [
|
|
497
|
+
{
|
|
498
|
+
"internalType": "string",
|
|
499
|
+
"name": "name",
|
|
500
|
+
"type": "string"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"internalType": "address",
|
|
504
|
+
"name": "creator",
|
|
505
|
+
"type": "address"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"internalType": "address",
|
|
509
|
+
"name": "comptroller",
|
|
510
|
+
"type": "address"
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
"internalType": "uint256",
|
|
514
|
+
"name": "blockPosted",
|
|
515
|
+
"type": "uint256"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"internalType": "uint256",
|
|
519
|
+
"name": "timestampPosted",
|
|
520
|
+
"type": "uint256"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"internalType": "string",
|
|
524
|
+
"name": "category",
|
|
525
|
+
"type": "string"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"internalType": "string",
|
|
529
|
+
"name": "logoURL",
|
|
530
|
+
"type": "string"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"internalType": "string",
|
|
534
|
+
"name": "description",
|
|
535
|
+
"type": "string"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"internalType": "address",
|
|
539
|
+
"name": "priceOracle",
|
|
540
|
+
"type": "address"
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"internalType": "uint256",
|
|
544
|
+
"name": "closeFactor",
|
|
545
|
+
"type": "uint256"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"internalType": "uint256",
|
|
549
|
+
"name": "liquidationIncentive",
|
|
550
|
+
"type": "uint256"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"internalType": "uint256",
|
|
554
|
+
"name": "minLiquidatableCollateral",
|
|
555
|
+
"type": "uint256"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"components": [
|
|
559
|
+
{
|
|
560
|
+
"internalType": "address",
|
|
561
|
+
"name": "vToken",
|
|
562
|
+
"type": "address"
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
"internalType": "uint256",
|
|
566
|
+
"name": "exchangeRateCurrent",
|
|
567
|
+
"type": "uint256"
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"internalType": "uint256",
|
|
571
|
+
"name": "supplyRatePerBlock",
|
|
572
|
+
"type": "uint256"
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"internalType": "uint256",
|
|
576
|
+
"name": "borrowRatePerBlock",
|
|
577
|
+
"type": "uint256"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"internalType": "uint256",
|
|
581
|
+
"name": "reserveFactorMantissa",
|
|
582
|
+
"type": "uint256"
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
"internalType": "uint256",
|
|
586
|
+
"name": "supplyCaps",
|
|
587
|
+
"type": "uint256"
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"internalType": "uint256",
|
|
591
|
+
"name": "borrowCaps",
|
|
592
|
+
"type": "uint256"
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"internalType": "uint256",
|
|
596
|
+
"name": "totalBorrows",
|
|
597
|
+
"type": "uint256"
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"internalType": "uint256",
|
|
601
|
+
"name": "totalReserves",
|
|
602
|
+
"type": "uint256"
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"internalType": "uint256",
|
|
606
|
+
"name": "totalSupply",
|
|
607
|
+
"type": "uint256"
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"internalType": "uint256",
|
|
611
|
+
"name": "totalCash",
|
|
612
|
+
"type": "uint256"
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"internalType": "bool",
|
|
616
|
+
"name": "isListed",
|
|
617
|
+
"type": "bool"
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"internalType": "uint256",
|
|
621
|
+
"name": "collateralFactorMantissa",
|
|
622
|
+
"type": "uint256"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"internalType": "address",
|
|
626
|
+
"name": "underlyingAssetAddress",
|
|
627
|
+
"type": "address"
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"internalType": "uint256",
|
|
631
|
+
"name": "vTokenDecimals",
|
|
632
|
+
"type": "uint256"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"internalType": "uint256",
|
|
636
|
+
"name": "underlyingDecimals",
|
|
637
|
+
"type": "uint256"
|
|
638
|
+
}
|
|
639
|
+
],
|
|
640
|
+
"internalType": "struct PoolLens.VTokenMetadata[]",
|
|
641
|
+
"name": "vTokens",
|
|
642
|
+
"type": "tuple[]"
|
|
643
|
+
}
|
|
644
|
+
],
|
|
645
|
+
"internalType": "struct PoolLens.PoolData",
|
|
646
|
+
"name": "",
|
|
647
|
+
"type": "tuple"
|
|
648
|
+
}
|
|
649
|
+
],
|
|
650
|
+
"stateMutability": "view",
|
|
651
|
+
"type": "function"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"inputs": [
|
|
655
|
+
{
|
|
656
|
+
"internalType": "address",
|
|
657
|
+
"name": "poolRegistryAddress",
|
|
658
|
+
"type": "address"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"internalType": "address",
|
|
662
|
+
"name": "asset",
|
|
663
|
+
"type": "address"
|
|
664
|
+
}
|
|
665
|
+
],
|
|
666
|
+
"name": "getPoolsSupportedByAsset",
|
|
667
|
+
"outputs": [
|
|
668
|
+
{
|
|
669
|
+
"internalType": "address[]",
|
|
670
|
+
"name": "",
|
|
671
|
+
"type": "address[]"
|
|
672
|
+
}
|
|
673
|
+
],
|
|
674
|
+
"stateMutability": "view",
|
|
675
|
+
"type": "function"
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"inputs": [
|
|
679
|
+
{
|
|
680
|
+
"internalType": "address",
|
|
681
|
+
"name": "poolRegistryAddress",
|
|
682
|
+
"type": "address"
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"internalType": "address",
|
|
686
|
+
"name": "comptroller",
|
|
687
|
+
"type": "address"
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"internalType": "address",
|
|
691
|
+
"name": "asset",
|
|
692
|
+
"type": "address"
|
|
693
|
+
}
|
|
694
|
+
],
|
|
695
|
+
"name": "getVTokenForAsset",
|
|
696
|
+
"outputs": [
|
|
697
|
+
{
|
|
698
|
+
"internalType": "address",
|
|
699
|
+
"name": "",
|
|
700
|
+
"type": "address"
|
|
701
|
+
}
|
|
702
|
+
],
|
|
703
|
+
"stateMutability": "view",
|
|
704
|
+
"type": "function"
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"inputs": [
|
|
708
|
+
{
|
|
709
|
+
"internalType": "contract VToken",
|
|
710
|
+
"name": "vToken",
|
|
711
|
+
"type": "address"
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
"internalType": "address",
|
|
715
|
+
"name": "account",
|
|
716
|
+
"type": "address"
|
|
717
|
+
}
|
|
718
|
+
],
|
|
719
|
+
"name": "vTokenBalances",
|
|
720
|
+
"outputs": [
|
|
721
|
+
{
|
|
722
|
+
"components": [
|
|
723
|
+
{
|
|
724
|
+
"internalType": "address",
|
|
725
|
+
"name": "vToken",
|
|
726
|
+
"type": "address"
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
"internalType": "uint256",
|
|
730
|
+
"name": "balanceOf",
|
|
731
|
+
"type": "uint256"
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"internalType": "uint256",
|
|
735
|
+
"name": "borrowBalanceCurrent",
|
|
736
|
+
"type": "uint256"
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
"internalType": "uint256",
|
|
740
|
+
"name": "balanceOfUnderlying",
|
|
741
|
+
"type": "uint256"
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"internalType": "uint256",
|
|
745
|
+
"name": "tokenBalance",
|
|
746
|
+
"type": "uint256"
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
"internalType": "uint256",
|
|
750
|
+
"name": "tokenAllowance",
|
|
751
|
+
"type": "uint256"
|
|
752
|
+
}
|
|
753
|
+
],
|
|
754
|
+
"internalType": "struct PoolLens.VTokenBalances",
|
|
755
|
+
"name": "",
|
|
756
|
+
"type": "tuple"
|
|
757
|
+
}
|
|
758
|
+
],
|
|
759
|
+
"stateMutability": "nonpayable",
|
|
760
|
+
"type": "function"
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"inputs": [
|
|
764
|
+
{
|
|
765
|
+
"internalType": "contract VToken[]",
|
|
766
|
+
"name": "vTokens",
|
|
767
|
+
"type": "address[]"
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
"internalType": "address",
|
|
771
|
+
"name": "account",
|
|
772
|
+
"type": "address"
|
|
773
|
+
}
|
|
774
|
+
],
|
|
775
|
+
"name": "vTokenBalancesAll",
|
|
776
|
+
"outputs": [
|
|
777
|
+
{
|
|
778
|
+
"components": [
|
|
779
|
+
{
|
|
780
|
+
"internalType": "address",
|
|
781
|
+
"name": "vToken",
|
|
782
|
+
"type": "address"
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
"internalType": "uint256",
|
|
786
|
+
"name": "balanceOf",
|
|
787
|
+
"type": "uint256"
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"internalType": "uint256",
|
|
791
|
+
"name": "borrowBalanceCurrent",
|
|
792
|
+
"type": "uint256"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"internalType": "uint256",
|
|
796
|
+
"name": "balanceOfUnderlying",
|
|
797
|
+
"type": "uint256"
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"internalType": "uint256",
|
|
801
|
+
"name": "tokenBalance",
|
|
802
|
+
"type": "uint256"
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"internalType": "uint256",
|
|
806
|
+
"name": "tokenAllowance",
|
|
807
|
+
"type": "uint256"
|
|
808
|
+
}
|
|
809
|
+
],
|
|
810
|
+
"internalType": "struct PoolLens.VTokenBalances[]",
|
|
811
|
+
"name": "",
|
|
812
|
+
"type": "tuple[]"
|
|
813
|
+
}
|
|
814
|
+
],
|
|
815
|
+
"stateMutability": "nonpayable",
|
|
816
|
+
"type": "function"
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"inputs": [
|
|
820
|
+
{
|
|
821
|
+
"internalType": "contract VToken",
|
|
822
|
+
"name": "vToken",
|
|
823
|
+
"type": "address"
|
|
824
|
+
}
|
|
825
|
+
],
|
|
826
|
+
"name": "vTokenMetadata",
|
|
827
|
+
"outputs": [
|
|
828
|
+
{
|
|
829
|
+
"components": [
|
|
830
|
+
{
|
|
831
|
+
"internalType": "address",
|
|
832
|
+
"name": "vToken",
|
|
833
|
+
"type": "address"
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"internalType": "uint256",
|
|
837
|
+
"name": "exchangeRateCurrent",
|
|
838
|
+
"type": "uint256"
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"internalType": "uint256",
|
|
842
|
+
"name": "supplyRatePerBlock",
|
|
843
|
+
"type": "uint256"
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
"internalType": "uint256",
|
|
847
|
+
"name": "borrowRatePerBlock",
|
|
848
|
+
"type": "uint256"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"internalType": "uint256",
|
|
852
|
+
"name": "reserveFactorMantissa",
|
|
853
|
+
"type": "uint256"
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"internalType": "uint256",
|
|
857
|
+
"name": "supplyCaps",
|
|
858
|
+
"type": "uint256"
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
"internalType": "uint256",
|
|
862
|
+
"name": "borrowCaps",
|
|
863
|
+
"type": "uint256"
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
"internalType": "uint256",
|
|
867
|
+
"name": "totalBorrows",
|
|
868
|
+
"type": "uint256"
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
"internalType": "uint256",
|
|
872
|
+
"name": "totalReserves",
|
|
873
|
+
"type": "uint256"
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"internalType": "uint256",
|
|
877
|
+
"name": "totalSupply",
|
|
878
|
+
"type": "uint256"
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"internalType": "uint256",
|
|
882
|
+
"name": "totalCash",
|
|
883
|
+
"type": "uint256"
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"internalType": "bool",
|
|
887
|
+
"name": "isListed",
|
|
888
|
+
"type": "bool"
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
"internalType": "uint256",
|
|
892
|
+
"name": "collateralFactorMantissa",
|
|
893
|
+
"type": "uint256"
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"internalType": "address",
|
|
897
|
+
"name": "underlyingAssetAddress",
|
|
898
|
+
"type": "address"
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"internalType": "uint256",
|
|
902
|
+
"name": "vTokenDecimals",
|
|
903
|
+
"type": "uint256"
|
|
904
|
+
},
|
|
905
|
+
{
|
|
906
|
+
"internalType": "uint256",
|
|
907
|
+
"name": "underlyingDecimals",
|
|
908
|
+
"type": "uint256"
|
|
909
|
+
}
|
|
910
|
+
],
|
|
911
|
+
"internalType": "struct PoolLens.VTokenMetadata",
|
|
912
|
+
"name": "",
|
|
913
|
+
"type": "tuple"
|
|
914
|
+
}
|
|
915
|
+
],
|
|
916
|
+
"stateMutability": "view",
|
|
917
|
+
"type": "function"
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
"inputs": [
|
|
921
|
+
{
|
|
922
|
+
"internalType": "contract VToken[]",
|
|
923
|
+
"name": "vTokens",
|
|
924
|
+
"type": "address[]"
|
|
925
|
+
}
|
|
926
|
+
],
|
|
927
|
+
"name": "vTokenMetadataAll",
|
|
928
|
+
"outputs": [
|
|
929
|
+
{
|
|
930
|
+
"components": [
|
|
931
|
+
{
|
|
932
|
+
"internalType": "address",
|
|
933
|
+
"name": "vToken",
|
|
934
|
+
"type": "address"
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
"internalType": "uint256",
|
|
938
|
+
"name": "exchangeRateCurrent",
|
|
939
|
+
"type": "uint256"
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"internalType": "uint256",
|
|
943
|
+
"name": "supplyRatePerBlock",
|
|
944
|
+
"type": "uint256"
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
"internalType": "uint256",
|
|
948
|
+
"name": "borrowRatePerBlock",
|
|
949
|
+
"type": "uint256"
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"internalType": "uint256",
|
|
953
|
+
"name": "reserveFactorMantissa",
|
|
954
|
+
"type": "uint256"
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
"internalType": "uint256",
|
|
958
|
+
"name": "supplyCaps",
|
|
959
|
+
"type": "uint256"
|
|
960
|
+
},
|
|
961
|
+
{
|
|
962
|
+
"internalType": "uint256",
|
|
963
|
+
"name": "borrowCaps",
|
|
964
|
+
"type": "uint256"
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"internalType": "uint256",
|
|
968
|
+
"name": "totalBorrows",
|
|
969
|
+
"type": "uint256"
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"internalType": "uint256",
|
|
973
|
+
"name": "totalReserves",
|
|
974
|
+
"type": "uint256"
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"internalType": "uint256",
|
|
978
|
+
"name": "totalSupply",
|
|
979
|
+
"type": "uint256"
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
"internalType": "uint256",
|
|
983
|
+
"name": "totalCash",
|
|
984
|
+
"type": "uint256"
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"internalType": "bool",
|
|
988
|
+
"name": "isListed",
|
|
989
|
+
"type": "bool"
|
|
990
|
+
},
|
|
991
|
+
{
|
|
992
|
+
"internalType": "uint256",
|
|
993
|
+
"name": "collateralFactorMantissa",
|
|
994
|
+
"type": "uint256"
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
"internalType": "address",
|
|
998
|
+
"name": "underlyingAssetAddress",
|
|
999
|
+
"type": "address"
|
|
1000
|
+
},
|
|
1001
|
+
{
|
|
1002
|
+
"internalType": "uint256",
|
|
1003
|
+
"name": "vTokenDecimals",
|
|
1004
|
+
"type": "uint256"
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
"internalType": "uint256",
|
|
1008
|
+
"name": "underlyingDecimals",
|
|
1009
|
+
"type": "uint256"
|
|
1010
|
+
}
|
|
1011
|
+
],
|
|
1012
|
+
"internalType": "struct PoolLens.VTokenMetadata[]",
|
|
1013
|
+
"name": "",
|
|
1014
|
+
"type": "tuple[]"
|
|
1015
|
+
}
|
|
1016
|
+
],
|
|
1017
|
+
"stateMutability": "view",
|
|
1018
|
+
"type": "function"
|
|
1019
|
+
},
|
|
1020
|
+
{
|
|
1021
|
+
"inputs": [
|
|
1022
|
+
{
|
|
1023
|
+
"internalType": "contract VToken",
|
|
1024
|
+
"name": "vToken",
|
|
1025
|
+
"type": "address"
|
|
1026
|
+
}
|
|
1027
|
+
],
|
|
1028
|
+
"name": "vTokenUnderlyingPrice",
|
|
1029
|
+
"outputs": [
|
|
1030
|
+
{
|
|
1031
|
+
"components": [
|
|
1032
|
+
{
|
|
1033
|
+
"internalType": "address",
|
|
1034
|
+
"name": "vToken",
|
|
1035
|
+
"type": "address"
|
|
1036
|
+
},
|
|
1037
|
+
{
|
|
1038
|
+
"internalType": "uint256",
|
|
1039
|
+
"name": "underlyingPrice",
|
|
1040
|
+
"type": "uint256"
|
|
1041
|
+
}
|
|
1042
|
+
],
|
|
1043
|
+
"internalType": "struct PoolLens.VTokenUnderlyingPrice",
|
|
1044
|
+
"name": "",
|
|
1045
|
+
"type": "tuple"
|
|
1046
|
+
}
|
|
1047
|
+
],
|
|
1048
|
+
"stateMutability": "view",
|
|
1049
|
+
"type": "function"
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"inputs": [
|
|
1053
|
+
{
|
|
1054
|
+
"internalType": "contract VToken[]",
|
|
1055
|
+
"name": "vTokens",
|
|
1056
|
+
"type": "address[]"
|
|
1057
|
+
}
|
|
1058
|
+
],
|
|
1059
|
+
"name": "vTokenUnderlyingPriceAll",
|
|
1060
|
+
"outputs": [
|
|
1061
|
+
{
|
|
1062
|
+
"components": [
|
|
1063
|
+
{
|
|
1064
|
+
"internalType": "address",
|
|
1065
|
+
"name": "vToken",
|
|
1066
|
+
"type": "address"
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"internalType": "uint256",
|
|
1070
|
+
"name": "underlyingPrice",
|
|
1071
|
+
"type": "uint256"
|
|
1072
|
+
}
|
|
1073
|
+
],
|
|
1074
|
+
"internalType": "struct PoolLens.VTokenUnderlyingPrice[]",
|
|
1075
|
+
"name": "",
|
|
1076
|
+
"type": "tuple[]"
|
|
1077
|
+
}
|
|
1078
|
+
],
|
|
1079
|
+
"stateMutability": "view",
|
|
1080
|
+
"type": "function"
|
|
1081
|
+
}
|
|
1082
|
+
],
|
|
1083
|
+
"bytecode": "0x608060405234801561001057600080fd5b50613f8b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637a27db571161008c578063aa5dbd2311610066578063aa5dbd23146101f0578063b312423914610210578063d77ebf9614610230578063e0a67f111461025057600080fd5b80637a27db57146101905780637c51b642146101b05780637c84e3b3146101d057600080fd5b80630d3ae318146100d45780631f884fdf146100fd578063345954dc1461011d5780633e3e399c1461013d57806347d86a811461015d57806355dd951514610170575b600080fd5b6100e76100e2366004612d2d565b610270565b6040516100f491906130cc565b60405180910390f35b61011061010b36600461312e565b6105a6565b6040516100f491906131eb565b61013061012b3660046131fc565b610677565b6040516100f4919061328f565b61015061014b3660046131fc565b6107b3565b6040516100f4919061331d565b6100e761016b36600461332e565b610b1f565b61018361017e366004613361565b610ba8565b6040516100f491906133b1565b6101a361019e36600461332e565b610c27565b6040516100f491906134b4565b6101c36101be3660046134c5565b610f3b565b6040516100f491906135d7565b6101e36101de366004613607565b610ffd565b6040516100f49190613628565b6102036101fe366004613607565b61116e565b6040516100f49190613636565b61022361021e366004613645565b6117f6565b6040516100f49190613667565b61024361023e36600461332e565b611adf565b6040516100f491906136c7565b61026361025e36600461377a565b611b55565b6040516100f491906137f2565b610278612a06565b6000826040015190506000816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102e99190810190613883565b905060006102f682611b55565b60408087015190516328ebbe8b60e21b815291925087916000916001600160a01b0384169163a3aefa2c9161032d916004016133b1565b600060405180830381865afa15801561034a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261037291908101906139c1565b90506000876040015190506000604051806101a001604052808a6000015181526020018a602001516001600160a01b031681526020018a604001516001600160a01b031681526020018a6060015181526020018a608001518152602001846000015181526020018460200151815260200184604001518152602001836001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561042b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044f91906139fb565b6001600160a01b03168152602001836001600160a01b031663e87554466040518163ffffffff1660e01b8152600401602060405180830381865afa15801561049b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bf9190613a27565b8152602001836001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610502573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105269190613a27565b8152602001836001600160a01b031663db5c65de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058d9190613a27565b8152602001959095525092955050505050505b92915050565b6060816000816001600160401b038111156105c3576105c3612b8c565b60405190808252806020026020018201604052801561060857816020015b60408051808201909152600080825260208201528152602001906001900390816105e15790505b50905060005b8281101561066e5761064086868381811061062b5761062b613a48565b90506020020160208101906101de9190613607565b82828151811061065257610652613a48565b60200260200101819052508061066790613a74565b905061060e565b50949350505050565b606060008290506000816001600160a01b031663d88ff1f46040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106e69190810190613bbe565b80519091506000816001600160401b0381111561070557610705612b8c565b60405190808252806020026020018201604052801561073e57816020015b61072b612a06565b8152602001906001900390816107235790505b50905060005b828110156107a957600084828151811061076057610760613a48565b6020026020010151905060006107768983610270565b90508084848151811061078b5761078b613a48565b60200260200101819052505050806107a290613a74565b9050610744565b5095945050505050565b604080516060808201835260008083526020830152918101919091526000808390506000816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610815573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261083d9190810190613883565b90506000826001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a391906139fb565b9050600082516001600160401b038111156108c0576108c0612b8c565b60405190808252806020026020018201604052801561090557816020015b60408051808201909152600080825260208201528152602001906001900390816108de5790505b509050610935604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b6001600160a01b03881681526040810182905260005b8451811015610b0b57604080518082019091526000808252602082015285828151811061097a5761097a613a48565b602002602001015181600001906001600160a01b031690816001600160a01b031681525050670de0b6b3a7640000856001600160a01b031663fc57d4df8885815181106109c9576109c9613a48565b60200260200101516040518263ffffffff1660e01b81526004016109ed91906133b1565b602060405180830381865afa158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2e9190613a27565b878481518110610a4057610a40613a48565b60200260200101516001600160a01b031663bbcac5576040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa99190613a27565b610ab39190613bf8565b610abd9190613c2d565b60208201526040830151805182919084908110610adc57610adc613a48565b6020026020010181905250806020015188610af79190613c41565b97505080610b0490613a74565b905061094b565b506020810195909552509295945050505050565b610b27612a06565b604051637aee632d60e01b81528390610ba09082906001600160a01b03821690637aee632d90610b5b9088906004016133b1565b600060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526100e29190810190613c59565b949350505050565b60405163266e0a7f60e01b815260009084906001600160a01b0382169063266e0a7f90610bdb9087908790600401613c93565b602060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1c9190613cae565b9150505b9392505050565b60606000826001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c919190810190613883565b90506000836001600160a01b03166361252fd16040518163ffffffff1660e01b8152600401600060405180830381865afa158015610cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cfb9190810190613d44565b9050600081516001600160401b03811115610d1857610d18612b8c565b604051908082528060200260200182016040528015610d6957816020015b6040805160808101825260008082526020808301829052928201526060808201528252600019909201910181610d365790505b50905060005b82518110156107a9576040805160808101825260008082526020820181905291810191909152606080820152838281518110610dad57610dad613a48565b60209081029190910101516001600160a01b031681528351849083908110610dd757610dd7613a48565b60200260200101516001600160a01b031663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4091906139fb565b6001600160a01b031660208201528351849083908110610e6257610e62613a48565b60200260200101516001600160a01b0316631627ee89896040518263ffffffff1660e01b8152600401610e9591906133b1565b602060405180830381865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed69190613a27565b816040018181525050610f038886868581518110610ef657610ef6613a48565b6020026020010151611c13565b816060018190525080838381518110610f1e57610f1e613a48565b60200260200101819052505080610f3490613a74565b9050610d6f565b6060826000816001600160401b03811115610f5857610f58612b8c565b604051908082528060200260200182016040528015610f9157816020015b610f7e612a89565b815260200190600190039081610f765790505b50905060005b828110156107a957610fcf878783818110610fb457610fb4613a48565b9050602002016020810190610fc99190613607565b866117f6565b828281518110610fe157610fe1613a48565b602002602001018190525080610ff690613a74565b9050610f97565b60408051808201909152600080825260208201526000826001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611051573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107591906139fb565b90506000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db91906139fb565b90506040518060400160405280856001600160a01b03168152602001826001600160a01b031663fc57d4df876040518263ffffffff1660e01b815260040161112391906133b1565b602060405180830381865afa158015611140573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111649190613a27565b9052949350505050565b611176612ac8565b6000826001600160a01b031663182df0f56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111da9190613a27565b90506000836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561121c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124091906139fb565b604051638e8f294b60e01b8152909150819060009081906001600160a01b03841690638e8f294b90611276908a906004016133b1565b6040805180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190613d91565b915091506000876001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131e9190613cae565b90506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113849190613dd8565b60ff1690506040518061020001604052808a6001600160a01b031681526020018881526020018a6001600160a01b031663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140c9190613a27565b81526020018a6001600160a01b031663f8f9da286040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114739190613a27565b81526020018a6001600160a01b031663173b99046040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114da9190613a27565b8152602001866001600160a01b03166302c3bcbb8c6040518263ffffffff1660e01b815260040161150b91906133b1565b602060405180830381865afa158015611528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154c9190613a27565b8152602001866001600160a01b0316634a5844328c6040518263ffffffff1660e01b815260040161157d91906133b1565b602060405180830381865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190613a27565b81526020018a6001600160a01b03166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa158015611601573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116259190613a27565b81526020018a6001600160a01b0316638f840ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168c9190613a27565b81526020018a6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f39190613a27565b81526020018a6001600160a01b0316633b1d21a26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175a9190613a27565b81526020018515158152602001848152602001836001600160a01b031681526020018a6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de9190613dd8565b60ff1681526020019190915298975050505050505050565b6117fe612a89565b6040516370a0823160e01b81526000906001600160a01b038516906370a082319061182d9086906004016133b1565b602060405180830381865afa15801561184a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186e9190613a27565b90506000846001600160a01b03166317bfdfbc856040518263ffffffff1660e01b815260040161189e91906133b1565b6020604051808303816000875af11580156118bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e19190613a27565b90506000856001600160a01b0316633af9e669866040518263ffffffff1660e01b815260040161191191906133b1565b6020604051808303816000875af1158015611930573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119549190613a27565b90506000806000886001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bd9190613cae565b6040516370a0823160e01b81529091506001600160a01b038216906370a08231906119ec908b906004016133b1565b602060405180830381865afa158015611a09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2d9190613a27565b604051636eb1769f60e11b81529093506001600160a01b0382169063dd62ed3e90611a5e908b908d90600401613c93565b602060405180830381865afa158015611a7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9f9190613a27565b6040805160c0810182526001600160a01b038c168152602081019890985287019590955250506060840191909152608083015260a0820152905092915050565b604051631e6db74760e31b815260609083906001600160a01b0382169063f36dba3890611b109086906004016133b1565b600060405180830381865afa158015611b2d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ba09190810190613e6e565b80516060906000816001600160401b03811115611b7457611b74612b8c565b604051908082528060200260200182016040528015611bad57816020015b611b9a612ac8565b815260200190600190039081611b925790505b50905060005b82811015611c0b57611bdd858281518110611bd057611bd0613a48565b602002602001015161116e565b828281518110611bef57611bef613a48565b602002602001018190525080611c0490613a74565b9050611bb3565b509392505050565b6060600083516001600160401b03811115611c3057611c30612b8c565b604051908082528060200260200182016040528015611c7557816020015b6040805180820190915260008082526020820152815260200190600190039081611c4e5790505b50905060005b845181101561066e576040805180820190915260008082526020820152846001600160a01b0316632c427b57878481518110611cb957611cb9613a48565b60200260200101516040518263ffffffff1660e01b8152600401611cdd91906133b1565b6040805180830381865afa158015611cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1d9190613ed9565b63ffffffff166020808401919091526001600160e01b03909116825260408051808201909152600080825291810191909152856001600160a01b03166392a18235888581518110611d7057611d70613a48565b60200260200101516040518263ffffffff1660e01b8152600401611d9491906133b1565b6040805180830381865afa158015611db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd49190613ed9565b63ffffffff166020808401919091526001600160e01b03909116825260408051918201905287516000919081908a9087908110611e1357611e13613a48565b60200260200101516001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7c9190613a27565b8152509050611ea6888581518110611e9657611e96613a48565b6020026020010151888584611fa1565b611eca888581518110611ebb57611ebb613a48565b602002602001015188846121f9565b6000611ef2898681518110611ee157611ee1613a48565b6020026020010151898c8786612447565b90506000611f1b8a8781518110611f0b57611f0b613a48565b60200260200101518a8d8761266f565b60408051808201909152600080825260208201529091508a8781518110611f4457611f44613a48565b60209081029190910101516001600160a01b03168152611f648284613c41565b602082015287518190899089908110611f7f57611f7f613a48565b602002602001018190525050505050505080611f9a90613a74565b9050611c7b565b604051637c05a7c560e01b81526000906001600160a01b03851690637c05a7c590611fd09088906004016133b1565b602060405180830381865afa158015611fed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120119190613a27565b90506000439050600061202e82866020015163ffffffff1661288d565b90506000811180156120405750600083115b156121a65760006120b2886001600160a01b03166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa158015612088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ac9190613a27565b86612899565b905060006120c083866128b7565b905060008083116120e057604051806020016040528060008152506120ea565b6120ea82846128c3565b9050600061211360405180602001604052808b600001516001600160e01b031681525083612908565b905061214e8160000151604051806040016040528060138152602001726e657720696e646578206f766572666c6f777360681b815250612934565b6001600160e01b03168952604080518082019091526016815275626c6f636b206e756d626572206f766572666c6f777360501b6020820152612191908790612970565b63ffffffff1660208a0152506121f092505050565b80156121f0576121e48260405180604001604052806016815260200175626c6f636b206e756d626572206f766572666c6f777360501b815250612970565b63ffffffff1660208601525b50505050505050565b604051631d31307360e21b81526000906001600160a01b038416906374c4c1cc906122289087906004016133b1565b602060405180830381865afa158015612245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122699190613a27565b90506000439050600061228682856020015163ffffffff1661288d565b90506000811180156122985750600083115b156123f5576000866001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123019190613a27565b9050600061230f83866128b7565b9050600080831161232f5760405180602001604052806000815250612339565b61233982846128c3565b9050600061236260405180602001604052808a600001516001600160e01b031681525083612908565b905061239d8160000151604051806040016040528060138152602001726e657720696e646578206f766572666c6f777360681b815250612934565b6001600160e01b03168852604080518082019091526016815275626c6f636b206e756d626572206f766572666c6f777360501b60208201526123e0908790612970565b63ffffffff1660208901525061243f92505050565b801561243f576124338260405180604001604052806016815260200175626c6f636b206e756d626572206f766572666c6f777360501b815250612970565b63ffffffff1660208501525b505050505050565b604080516020808201835284516001600160e01b031682528251908101928390526336fe846560e11b9092526000918290806001600160a01b038916636dfd08ca6124968c8b60248601613c93565b602060405180830381865afa1580156124b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124d79190613a27565b905280519091501580156125595750866001600160a01b031663160c3a036040518163ffffffff1660e01b8152600401602060405180830381865afa158015612524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125489190613f0c565b6001600160e01b0316826000015110155b156125cc57866001600160a01b031663160c3a036040518163ffffffff1660e01b8152600401602060405180830381865afa15801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c09190613f0c565b6001600160e01b031681525b60006125d88383612998565b905060006126528a6001600160a01b03166395dd91938a6040518263ffffffff1660e01b815260040161260b91906133b1565b602060405180830381865afa158015612628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264c9190613a27565b87612899565b9050600061266082846129c4565b9b9a5050505050505050505050565b604080516020808201835283516001600160e01b0316825282519081019283905263552c097160e01b9092526000918290806001600160a01b03881663552c09716126be8b8a60248601613c93565b602060405180830381865afa1580156126db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ff9190613a27565b905280519091501580156127815750856001600160a01b031663160c3a036040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127709190613f0c565b6001600160e01b0316826000015110155b156127f457856001600160a01b031663160c3a036040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e89190613f0c565b6001600160e01b031681525b60006128008383612998565b90506000886001600160a01b03166370a08231886040518263ffffffff1660e01b815260040161283091906133b1565b602060405180830381865afa15801561284d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128719190613a27565b9050600061287f82846129c4565b9a9950505050505050505050565b6000610c208284613f2d565b6000610c206128b084670de0b6b3a76400006128b7565b83516129ee565b6000610c208284613bf8565b60408051602081019091526000815260405180602001604052806128ff6128f9866ec097ce7bc90715b34b9f10000000006128b7565b856129ee565b90529392505050565b60408051602081019091526000815260405180602001604052806128ff856000015185600001516129fa565b6000816001600160e01b038411156129685760405162461bcd60e51b815260040161295f9190613f44565b60405180910390fd5b509192915050565b60008163ffffffff8411156129685760405162461bcd60e51b815260040161295f9190613f44565b60408051602081019091526000815260405180602001604052806128ff8560000151856000015161288d565b60006ec097ce7bc90715b34b9f10000000006129e48484600001516128b7565b610c209190613c2d565b6000610c208284613c2d565b6000610c208284613c41565b604051806101a001604052806060815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001606081525090565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180610200016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b60006001600160a01b0382166105a0565b612b7381612b59565b8114612b7e57600080fd5b50565b80356105a081612b6a565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b0382111715612bc757612bc7612b8c565b6040525050565b6000612bd960405190565b9050612be58282612ba2565b919050565b60006001600160401b03821115612c0357612c03612b8c565b601f19601f83011660200192915050565b82818337506000910152565b6000612c33612c2e84612bea565b612bce565b905082815260208101848484011115612c4e57612c4e600080fd5b611c0b848285612c14565b600082601f830112612c6d57612c6d600080fd5b8135610ba0848260208601612c20565b80612b73565b80356105a081612c7d565b600060a08284031215612ca357612ca3600080fd5b612cad60a0612bce565b905081356001600160401b03811115612cc857612cc8600080fd5b612cd484828501612c59565b8252506020612ce584848301612b81565b6020830152506040612cf984828501612b81565b6040830152506060612d0d84828501612c83565b6060830152506080612d2184828501612c83565b60808301525092915050565b60008060408385031215612d4357612d43600080fd5b6000612d4f8585612b81565b92505060208301356001600160401b03811115612d6e57612d6e600080fd5b612d7a85828601612c8e565b9150509250929050565b60005b83811015612d9f578181015183820152602001612d87565b83811115612dae576000848401525b50505050565b6000612dbe825190565b808452602084019350612dd5818560208601612d84565b601f01601f19169290920192915050565b612def81612b59565b82525050565b80612def565b801515612def565b8051610200830190612e158482612de6565b506020820151612e286020850182612df5565b506040820151612e3b6040850182612df5565b506060820151612e4e6060850182612df5565b506080820151612e616080850182612df5565b5060a0820151612e7460a0850182612df5565b5060c0820151612e8760c0850182612df5565b5060e0820151612e9a60e0850182612df5565b50610100820151612eaf610100850182612df5565b50610120820151612ec4610120850182612df5565b50610140820151612ed9610140850182612df5565b50610160820151612eee610160850182612dfb565b50610180820151612f03610180850182612df5565b506101a0820151612f186101a0850182612de6565b506101c0820151612f2d6101c0850182612df5565b506101e0820151612dae6101e0850182612df5565b6000612f4e8383612e03565b50506102000190565b6000612f61825190565b80845260209384019383018060005b83811015612f95578151612f848882612f42565b975060208301925050600101612f70565b509495945050505050565b80516101a080845260009190840190612fb98282612db4565b9150506020830151612fce6020860182612de6565b506040830151612fe16040860182612de6565b506060830151612ff46060860182612df5565b5060808301516130076080860182612df5565b5060a083015184820360a086015261301f8282612db4565b91505060c083015184820360c08601526130398282612db4565b91505060e083015184820360e08601526130538282612db4565b91505061010083015161306a610100860182612de6565b5061012083015161307f610120860182612df5565b50610140830151613094610140860182612df5565b506101608301516130a9610160860182612df5565b506101808301518482036101808601526130c38282612f57565b95945050505050565b60208082528101610c208184612fa0565b60008083601f8401126130f2576130f2600080fd5b5081356001600160401b0381111561310c5761310c600080fd5b60208301915083602082028301111561312757613127600080fd5b9250929050565b6000806020838503121561314457613144600080fd5b82356001600160401b0381111561315d5761315d600080fd5b613169858286016130dd565b92509250509250929050565b805160408301906131868482612de6565b506020820151612dae6020850182612df5565b60006131a58383613175565b505060400190565b60006131b7825190565b80845260209384019383018060005b83811015612f955781516131da8882613199565b9750602083019250506001016131c6565b60208082528101610c2081846131ad565b60006020828403121561321157613211600080fd5b6000610ba08484612b81565b6000610c208383612fa0565b6000613233825190565b8084526020840193508360208202850161324d8560200190565b8060005b85811015613282578484038952815161326a858261321d565b94506020830160209a909a0199925050600101613251565b5091979650505050505050565b60208082528101610c208184613229565b60006132aa825190565b80845260209384019383018060005b83811015612f955781516132cd8882613199565b9750602083019250506001016132b9565b805160009060608401906132f28582612de6565b5060208301516133056020860182612df5565b50604083015184820360408601526130c382826132a0565b60208082528101610c2081846132de565b6000806040838503121561334457613344600080fd5b60006133508585612b81565b9250506020612d7a85828601612b81565b60008060006060848603121561337957613379600080fd5b60006133858686612b81565b935050602061339686828701612b81565b92505060406133a786828701612b81565b9150509250925092565b602081016105a08284612de6565b60006133c9825190565b80845260209384019383018060005b83811015612f955781516133ec8882613199565b9750602083019250506001016133d8565b805160009060808401906134118582612de6565b5060208301516134246020860182612de6565b5060408301516134376040860182612df5565b50606083015184820360608601526130c382826133bf565b6000610c2083836133fd565b6000613465825190565b8084526020840193508360208202850161347f8560200190565b8060005b85811015613282578484038952815161349c858261344f565b94506020830160209a909a0199925050600101613483565b60208082528101610c20818461345b565b6000806000604084860312156134dd576134dd600080fd5b83356001600160401b038111156134f6576134f6600080fd5b613502868287016130dd565b935093505060206133a786828701612b81565b805160c08301906135268482612de6565b5060208201516135396020850182612df5565b50604082015161354c6040850182612df5565b50606082015161355f6060850182612df5565b5060808201516135726080850182612df5565b5060a0820151612dae60a0850182612df5565b60006135918383613515565b505060c00190565b60006135a3825190565b80845260209384019383018060005b83811015612f955781516135c68882613585565b9750602083019250506001016135b2565b60208082528101610c208184613599565b60006105a082612b59565b612b73816135e8565b80356105a0816135f3565b60006020828403121561361c5761361c600080fd5b6000610ba084846135fc565b604081016105a08284613175565b61020081016105a08284612e03565b6000806040838503121561365b5761365b600080fd5b600061335085856135fc565b60c081016105a08284613515565b60006136818383612de6565b505060200190565b6000613693825190565b80845260209384019383018060005b83811015612f955781516136b68882613675565b9750602083019250506001016136a2565b60208082528101610c208184613689565b60006001600160401b038211156136f1576136f1612b8c565b5060209081020190565b6000613709612c2e846136d8565b8381529050602080820190840283018581111561372857613728600080fd5b835b8181101561374c578061373d88826135fc565b8452506020928301920161372a565b5050509392505050565b600082601f83011261376a5761376a600080fd5b8135610ba08482602086016136fb565b60006020828403121561378f5761378f600080fd5b81356001600160401b038111156137a8576137a8600080fd5b610ba084828501613756565b60006137be825190565b80845260209384019383018060005b83811015612f955781516137e18882612f42565b9750602083019250506001016137cd565b60208082528101610c2081846137b4565b80516105a0816135f3565b600061381c612c2e846136d8565b8381529050602080820190840283018581111561383b5761383b600080fd5b835b8181101561374c57806138508882613803565b8452506020928301920161383d565b600082601f83011261387357613873600080fd5b8151610ba084826020860161380e565b60006020828403121561389857613898600080fd5b81516001600160401b038111156138b1576138b1600080fd5b610ba08482850161385f565b60006138cb612c2e84612bea565b9050828152602081018484840111156138e6576138e6600080fd5b611c0b848285612d84565b600082601f83011261390557613905600080fd5b8151610ba08482602086016138bd565b60006060828403121561392a5761392a600080fd5b6139346060612bce565b82519091506001600160401b0381111561395057613950600080fd5b61395c848285016138f1565b82525060208201516001600160401b0381111561397b5761397b600080fd5b613987848285016138f1565b60208301525060408201516001600160401b038111156139a9576139a9600080fd5b6139b5848285016138f1565b60408301525092915050565b6000602082840312156139d6576139d6600080fd5b81516001600160401b038111156139ef576139ef600080fd5b610ba084828501613915565b600060208284031215613a1057613a10600080fd5b6000610ba08484613803565b80516105a081612c7d565b600060208284031215613a3c57613a3c600080fd5b6000610ba08484613a1c565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203613a8757613a87613a5e565b5060010190565b80516105a081612b6a565b600060a08284031215613aae57613aae600080fd5b613ab860a0612bce565b82519091506001600160401b03811115613ad457613ad4600080fd5b613ae0848285016138f1565b8252506020613af184848301613a8e565b6020830152506040613b0584828501613a8e565b6040830152506060613b1984828501613a1c565b6060830152506080612d2184828501613a1c565b6000613b3b612c2e846136d8565b83815290506020808201908402830185811115613b5a57613b5a600080fd5b835b8181101561374c5780516001600160401b03811115613b7d57613b7d600080fd5b808601613b8a8982613a99565b8552505060209283019201613b5c565b600082601f830112613bae57613bae600080fd5b8151610ba0848260208601613b2d565b600060208284031215613bd357613bd3600080fd5b81516001600160401b03811115613bec57613bec600080fd5b610ba084828501613b9a565b6000816000190483118215151615613c1257613c12613a5e565b500290565b634e487b7160e01b600052601260045260246000fd5b600082613c3c57613c3c613c17565b500490565b60008219821115613c5457613c54613a5e565b500190565b600060208284031215613c6e57613c6e600080fd5b81516001600160401b03811115613c8757613c87600080fd5b610ba084828501613a99565b60408101613ca18285612de6565b610c206020830184612de6565b600060208284031215613cc357613cc3600080fd5b6000610ba08484613a8e565b6000613cdd612c2e846136d8565b83815290506020808201908402830185811115613cfc57613cfc600080fd5b835b8181101561374c5780613d118882613803565b84525060209283019201613cfe565b600082601f830112613d3457613d34600080fd5b8151610ba0848260208601613ccf565b600060208284031215613d5957613d59600080fd5b81516001600160401b03811115613d7257613d72600080fd5b610ba084828501613d20565b801515612b73565b80516105a081613d7e565b60008060408385031215613da757613da7600080fd5b6000613db38585613d86565b9250506020612d7a85828601613a1c565b60ff8116612b73565b80516105a081613dc4565b600060208284031215613ded57613ded600080fd5b6000610ba08484613dcd565b6000613e07612c2e846136d8565b83815290506020808201908402830185811115613e2657613e26600080fd5b835b8181101561374c5780613e3b8882613a8e565b84525060209283019201613e28565b600082601f830112613e5e57613e5e600080fd5b8151610ba0848260208601613df9565b600060208284031215613e8357613e83600080fd5b81516001600160401b03811115613e9c57613e9c600080fd5b610ba084828501613e4a565b6001600160e01b038116612b73565b80516105a081613ea8565b63ffffffff8116612b73565b80516105a081613ec2565b60008060408385031215613eef57613eef600080fd5b6000613efb8585613eb7565b9250506020612d7a85828601613ece565b600060208284031215613f2157613f21600080fd5b6000610ba08484613eb7565b600082821015613f3f57613f3f613a5e565b500390565b60208082528101610c208184612db456fea26469706673582212205638b396d38a45925339a72b39c7a30e1697e6b91d0eb36fc66a83b1acb78ecc64736f6c634300080d0033",
|
|
1084
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637a27db571161008c578063aa5dbd2311610066578063aa5dbd23146101f0578063b312423914610210578063d77ebf9614610230578063e0a67f111461025057600080fd5b80637a27db57146101905780637c51b642146101b05780637c84e3b3146101d057600080fd5b80630d3ae318146100d45780631f884fdf146100fd578063345954dc1461011d5780633e3e399c1461013d57806347d86a811461015d57806355dd951514610170575b600080fd5b6100e76100e2366004612d2d565b610270565b6040516100f491906130cc565b60405180910390f35b61011061010b36600461312e565b6105a6565b6040516100f491906131eb565b61013061012b3660046131fc565b610677565b6040516100f4919061328f565b61015061014b3660046131fc565b6107b3565b6040516100f4919061331d565b6100e761016b36600461332e565b610b1f565b61018361017e366004613361565b610ba8565b6040516100f491906133b1565b6101a361019e36600461332e565b610c27565b6040516100f491906134b4565b6101c36101be3660046134c5565b610f3b565b6040516100f491906135d7565b6101e36101de366004613607565b610ffd565b6040516100f49190613628565b6102036101fe366004613607565b61116e565b6040516100f49190613636565b61022361021e366004613645565b6117f6565b6040516100f49190613667565b61024361023e36600461332e565b611adf565b6040516100f491906136c7565b61026361025e36600461377a565b611b55565b6040516100f491906137f2565b610278612a06565b6000826040015190506000816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102e99190810190613883565b905060006102f682611b55565b60408087015190516328ebbe8b60e21b815291925087916000916001600160a01b0384169163a3aefa2c9161032d916004016133b1565b600060405180830381865afa15801561034a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261037291908101906139c1565b90506000876040015190506000604051806101a001604052808a6000015181526020018a602001516001600160a01b031681526020018a604001516001600160a01b031681526020018a6060015181526020018a608001518152602001846000015181526020018460200151815260200184604001518152602001836001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561042b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044f91906139fb565b6001600160a01b03168152602001836001600160a01b031663e87554466040518163ffffffff1660e01b8152600401602060405180830381865afa15801561049b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bf9190613a27565b8152602001836001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610502573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105269190613a27565b8152602001836001600160a01b031663db5c65de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058d9190613a27565b8152602001959095525092955050505050505b92915050565b6060816000816001600160401b038111156105c3576105c3612b8c565b60405190808252806020026020018201604052801561060857816020015b60408051808201909152600080825260208201528152602001906001900390816105e15790505b50905060005b8281101561066e5761064086868381811061062b5761062b613a48565b90506020020160208101906101de9190613607565b82828151811061065257610652613a48565b60200260200101819052508061066790613a74565b905061060e565b50949350505050565b606060008290506000816001600160a01b031663d88ff1f46040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106e69190810190613bbe565b80519091506000816001600160401b0381111561070557610705612b8c565b60405190808252806020026020018201604052801561073e57816020015b61072b612a06565b8152602001906001900390816107235790505b50905060005b828110156107a957600084828151811061076057610760613a48565b6020026020010151905060006107768983610270565b90508084848151811061078b5761078b613a48565b60200260200101819052505050806107a290613a74565b9050610744565b5095945050505050565b604080516060808201835260008083526020830152918101919091526000808390506000816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610815573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261083d9190810190613883565b90506000826001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a391906139fb565b9050600082516001600160401b038111156108c0576108c0612b8c565b60405190808252806020026020018201604052801561090557816020015b60408051808201909152600080825260208201528152602001906001900390816108de5790505b509050610935604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b6001600160a01b03881681526040810182905260005b8451811015610b0b57604080518082019091526000808252602082015285828151811061097a5761097a613a48565b602002602001015181600001906001600160a01b031690816001600160a01b031681525050670de0b6b3a7640000856001600160a01b031663fc57d4df8885815181106109c9576109c9613a48565b60200260200101516040518263ffffffff1660e01b81526004016109ed91906133b1565b602060405180830381865afa158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2e9190613a27565b878481518110610a4057610a40613a48565b60200260200101516001600160a01b031663bbcac5576040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa99190613a27565b610ab39190613bf8565b610abd9190613c2d565b60208201526040830151805182919084908110610adc57610adc613a48565b6020026020010181905250806020015188610af79190613c41565b97505080610b0490613a74565b905061094b565b506020810195909552509295945050505050565b610b27612a06565b604051637aee632d60e01b81528390610ba09082906001600160a01b03821690637aee632d90610b5b9088906004016133b1565b600060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526100e29190810190613c59565b949350505050565b60405163266e0a7f60e01b815260009084906001600160a01b0382169063266e0a7f90610bdb9087908790600401613c93565b602060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1c9190613cae565b9150505b9392505050565b60606000826001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c919190810190613883565b90506000836001600160a01b03166361252fd16040518163ffffffff1660e01b8152600401600060405180830381865afa158015610cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cfb9190810190613d44565b9050600081516001600160401b03811115610d1857610d18612b8c565b604051908082528060200260200182016040528015610d6957816020015b6040805160808101825260008082526020808301829052928201526060808201528252600019909201910181610d365790505b50905060005b82518110156107a9576040805160808101825260008082526020820181905291810191909152606080820152838281518110610dad57610dad613a48565b60209081029190910101516001600160a01b031681528351849083908110610dd757610dd7613a48565b60200260200101516001600160a01b031663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4091906139fb565b6001600160a01b031660208201528351849083908110610e6257610e62613a48565b60200260200101516001600160a01b0316631627ee89896040518263ffffffff1660e01b8152600401610e9591906133b1565b602060405180830381865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed69190613a27565b816040018181525050610f038886868581518110610ef657610ef6613a48565b6020026020010151611c13565b816060018190525080838381518110610f1e57610f1e613a48565b60200260200101819052505080610f3490613a74565b9050610d6f565b6060826000816001600160401b03811115610f5857610f58612b8c565b604051908082528060200260200182016040528015610f9157816020015b610f7e612a89565b815260200190600190039081610f765790505b50905060005b828110156107a957610fcf878783818110610fb457610fb4613a48565b9050602002016020810190610fc99190613607565b866117f6565b828281518110610fe157610fe1613a48565b602002602001018190525080610ff690613a74565b9050610f97565b60408051808201909152600080825260208201526000826001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611051573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107591906139fb565b90506000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db91906139fb565b90506040518060400160405280856001600160a01b03168152602001826001600160a01b031663fc57d4df876040518263ffffffff1660e01b815260040161112391906133b1565b602060405180830381865afa158015611140573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111649190613a27565b9052949350505050565b611176612ac8565b6000826001600160a01b031663182df0f56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111da9190613a27565b90506000836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561121c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124091906139fb565b604051638e8f294b60e01b8152909150819060009081906001600160a01b03841690638e8f294b90611276908a906004016133b1565b6040805180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190613d91565b915091506000876001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131e9190613cae565b90506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113849190613dd8565b60ff1690506040518061020001604052808a6001600160a01b031681526020018881526020018a6001600160a01b031663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140c9190613a27565b81526020018a6001600160a01b031663f8f9da286040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114739190613a27565b81526020018a6001600160a01b031663173b99046040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114da9190613a27565b8152602001866001600160a01b03166302c3bcbb8c6040518263ffffffff1660e01b815260040161150b91906133b1565b602060405180830381865afa158015611528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154c9190613a27565b8152602001866001600160a01b0316634a5844328c6040518263ffffffff1660e01b815260040161157d91906133b1565b602060405180830381865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190613a27565b81526020018a6001600160a01b03166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa158015611601573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116259190613a27565b81526020018a6001600160a01b0316638f840ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168c9190613a27565b81526020018a6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f39190613a27565b81526020018a6001600160a01b0316633b1d21a26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175a9190613a27565b81526020018515158152602001848152602001836001600160a01b031681526020018a6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de9190613dd8565b60ff1681526020019190915298975050505050505050565b6117fe612a89565b6040516370a0823160e01b81526000906001600160a01b038516906370a082319061182d9086906004016133b1565b602060405180830381865afa15801561184a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186e9190613a27565b90506000846001600160a01b03166317bfdfbc856040518263ffffffff1660e01b815260040161189e91906133b1565b6020604051808303816000875af11580156118bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e19190613a27565b90506000856001600160a01b0316633af9e669866040518263ffffffff1660e01b815260040161191191906133b1565b6020604051808303816000875af1158015611930573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119549190613a27565b90506000806000886001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bd9190613cae565b6040516370a0823160e01b81529091506001600160a01b038216906370a08231906119ec908b906004016133b1565b602060405180830381865afa158015611a09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2d9190613a27565b604051636eb1769f60e11b81529093506001600160a01b0382169063dd62ed3e90611a5e908b908d90600401613c93565b602060405180830381865afa158015611a7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9f9190613a27565b6040805160c0810182526001600160a01b038c168152602081019890985287019590955250506060840191909152608083015260a0820152905092915050565b604051631e6db74760e31b815260609083906001600160a01b0382169063f36dba3890611b109086906004016133b1565b600060405180830381865afa158015611b2d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ba09190810190613e6e565b80516060906000816001600160401b03811115611b7457611b74612b8c565b604051908082528060200260200182016040528015611bad57816020015b611b9a612ac8565b815260200190600190039081611b925790505b50905060005b82811015611c0b57611bdd858281518110611bd057611bd0613a48565b602002602001015161116e565b828281518110611bef57611bef613a48565b602002602001018190525080611c0490613a74565b9050611bb3565b509392505050565b6060600083516001600160401b03811115611c3057611c30612b8c565b604051908082528060200260200182016040528015611c7557816020015b6040805180820190915260008082526020820152815260200190600190039081611c4e5790505b50905060005b845181101561066e576040805180820190915260008082526020820152846001600160a01b0316632c427b57878481518110611cb957611cb9613a48565b60200260200101516040518263ffffffff1660e01b8152600401611cdd91906133b1565b6040805180830381865afa158015611cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1d9190613ed9565b63ffffffff166020808401919091526001600160e01b03909116825260408051808201909152600080825291810191909152856001600160a01b03166392a18235888581518110611d7057611d70613a48565b60200260200101516040518263ffffffff1660e01b8152600401611d9491906133b1565b6040805180830381865afa158015611db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd49190613ed9565b63ffffffff166020808401919091526001600160e01b03909116825260408051918201905287516000919081908a9087908110611e1357611e13613a48565b60200260200101516001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7c9190613a27565b8152509050611ea6888581518110611e9657611e96613a48565b6020026020010151888584611fa1565b611eca888581518110611ebb57611ebb613a48565b602002602001015188846121f9565b6000611ef2898681518110611ee157611ee1613a48565b6020026020010151898c8786612447565b90506000611f1b8a8781518110611f0b57611f0b613a48565b60200260200101518a8d8761266f565b60408051808201909152600080825260208201529091508a8781518110611f4457611f44613a48565b60209081029190910101516001600160a01b03168152611f648284613c41565b602082015287518190899089908110611f7f57611f7f613a48565b602002602001018190525050505050505080611f9a90613a74565b9050611c7b565b604051637c05a7c560e01b81526000906001600160a01b03851690637c05a7c590611fd09088906004016133b1565b602060405180830381865afa158015611fed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120119190613a27565b90506000439050600061202e82866020015163ffffffff1661288d565b90506000811180156120405750600083115b156121a65760006120b2886001600160a01b03166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa158015612088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ac9190613a27565b86612899565b905060006120c083866128b7565b905060008083116120e057604051806020016040528060008152506120ea565b6120ea82846128c3565b9050600061211360405180602001604052808b600001516001600160e01b031681525083612908565b905061214e8160000151604051806040016040528060138152602001726e657720696e646578206f766572666c6f777360681b815250612934565b6001600160e01b03168952604080518082019091526016815275626c6f636b206e756d626572206f766572666c6f777360501b6020820152612191908790612970565b63ffffffff1660208a0152506121f092505050565b80156121f0576121e48260405180604001604052806016815260200175626c6f636b206e756d626572206f766572666c6f777360501b815250612970565b63ffffffff1660208601525b50505050505050565b604051631d31307360e21b81526000906001600160a01b038416906374c4c1cc906122289087906004016133b1565b602060405180830381865afa158015612245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122699190613a27565b90506000439050600061228682856020015163ffffffff1661288d565b90506000811180156122985750600083115b156123f5576000866001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123019190613a27565b9050600061230f83866128b7565b9050600080831161232f5760405180602001604052806000815250612339565b61233982846128c3565b9050600061236260405180602001604052808a600001516001600160e01b031681525083612908565b905061239d8160000151604051806040016040528060138152602001726e657720696e646578206f766572666c6f777360681b815250612934565b6001600160e01b03168852604080518082019091526016815275626c6f636b206e756d626572206f766572666c6f777360501b60208201526123e0908790612970565b63ffffffff1660208901525061243f92505050565b801561243f576124338260405180604001604052806016815260200175626c6f636b206e756d626572206f766572666c6f777360501b815250612970565b63ffffffff1660208501525b505050505050565b604080516020808201835284516001600160e01b031682528251908101928390526336fe846560e11b9092526000918290806001600160a01b038916636dfd08ca6124968c8b60248601613c93565b602060405180830381865afa1580156124b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124d79190613a27565b905280519091501580156125595750866001600160a01b031663160c3a036040518163ffffffff1660e01b8152600401602060405180830381865afa158015612524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125489190613f0c565b6001600160e01b0316826000015110155b156125cc57866001600160a01b031663160c3a036040518163ffffffff1660e01b8152600401602060405180830381865afa15801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c09190613f0c565b6001600160e01b031681525b60006125d88383612998565b905060006126528a6001600160a01b03166395dd91938a6040518263ffffffff1660e01b815260040161260b91906133b1565b602060405180830381865afa158015612628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264c9190613a27565b87612899565b9050600061266082846129c4565b9b9a5050505050505050505050565b604080516020808201835283516001600160e01b0316825282519081019283905263552c097160e01b9092526000918290806001600160a01b03881663552c09716126be8b8a60248601613c93565b602060405180830381865afa1580156126db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ff9190613a27565b905280519091501580156127815750856001600160a01b031663160c3a036040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127709190613f0c565b6001600160e01b0316826000015110155b156127f457856001600160a01b031663160c3a036040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e89190613f0c565b6001600160e01b031681525b60006128008383612998565b90506000886001600160a01b03166370a08231886040518263ffffffff1660e01b815260040161283091906133b1565b602060405180830381865afa15801561284d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128719190613a27565b9050600061287f82846129c4565b9a9950505050505050505050565b6000610c208284613f2d565b6000610c206128b084670de0b6b3a76400006128b7565b83516129ee565b6000610c208284613bf8565b60408051602081019091526000815260405180602001604052806128ff6128f9866ec097ce7bc90715b34b9f10000000006128b7565b856129ee565b90529392505050565b60408051602081019091526000815260405180602001604052806128ff856000015185600001516129fa565b6000816001600160e01b038411156129685760405162461bcd60e51b815260040161295f9190613f44565b60405180910390fd5b509192915050565b60008163ffffffff8411156129685760405162461bcd60e51b815260040161295f9190613f44565b60408051602081019091526000815260405180602001604052806128ff8560000151856000015161288d565b60006ec097ce7bc90715b34b9f10000000006129e48484600001516128b7565b610c209190613c2d565b6000610c208284613c2d565b6000610c208284613c41565b604051806101a001604052806060815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001606081525090565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180610200016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b60006001600160a01b0382166105a0565b612b7381612b59565b8114612b7e57600080fd5b50565b80356105a081612b6a565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b0382111715612bc757612bc7612b8c565b6040525050565b6000612bd960405190565b9050612be58282612ba2565b919050565b60006001600160401b03821115612c0357612c03612b8c565b601f19601f83011660200192915050565b82818337506000910152565b6000612c33612c2e84612bea565b612bce565b905082815260208101848484011115612c4e57612c4e600080fd5b611c0b848285612c14565b600082601f830112612c6d57612c6d600080fd5b8135610ba0848260208601612c20565b80612b73565b80356105a081612c7d565b600060a08284031215612ca357612ca3600080fd5b612cad60a0612bce565b905081356001600160401b03811115612cc857612cc8600080fd5b612cd484828501612c59565b8252506020612ce584848301612b81565b6020830152506040612cf984828501612b81565b6040830152506060612d0d84828501612c83565b6060830152506080612d2184828501612c83565b60808301525092915050565b60008060408385031215612d4357612d43600080fd5b6000612d4f8585612b81565b92505060208301356001600160401b03811115612d6e57612d6e600080fd5b612d7a85828601612c8e565b9150509250929050565b60005b83811015612d9f578181015183820152602001612d87565b83811115612dae576000848401525b50505050565b6000612dbe825190565b808452602084019350612dd5818560208601612d84565b601f01601f19169290920192915050565b612def81612b59565b82525050565b80612def565b801515612def565b8051610200830190612e158482612de6565b506020820151612e286020850182612df5565b506040820151612e3b6040850182612df5565b506060820151612e4e6060850182612df5565b506080820151612e616080850182612df5565b5060a0820151612e7460a0850182612df5565b5060c0820151612e8760c0850182612df5565b5060e0820151612e9a60e0850182612df5565b50610100820151612eaf610100850182612df5565b50610120820151612ec4610120850182612df5565b50610140820151612ed9610140850182612df5565b50610160820151612eee610160850182612dfb565b50610180820151612f03610180850182612df5565b506101a0820151612f186101a0850182612de6565b506101c0820151612f2d6101c0850182612df5565b506101e0820151612dae6101e0850182612df5565b6000612f4e8383612e03565b50506102000190565b6000612f61825190565b80845260209384019383018060005b83811015612f95578151612f848882612f42565b975060208301925050600101612f70565b509495945050505050565b80516101a080845260009190840190612fb98282612db4565b9150506020830151612fce6020860182612de6565b506040830151612fe16040860182612de6565b506060830151612ff46060860182612df5565b5060808301516130076080860182612df5565b5060a083015184820360a086015261301f8282612db4565b91505060c083015184820360c08601526130398282612db4565b91505060e083015184820360e08601526130538282612db4565b91505061010083015161306a610100860182612de6565b5061012083015161307f610120860182612df5565b50610140830151613094610140860182612df5565b506101608301516130a9610160860182612df5565b506101808301518482036101808601526130c38282612f57565b95945050505050565b60208082528101610c208184612fa0565b60008083601f8401126130f2576130f2600080fd5b5081356001600160401b0381111561310c5761310c600080fd5b60208301915083602082028301111561312757613127600080fd5b9250929050565b6000806020838503121561314457613144600080fd5b82356001600160401b0381111561315d5761315d600080fd5b613169858286016130dd565b92509250509250929050565b805160408301906131868482612de6565b506020820151612dae6020850182612df5565b60006131a58383613175565b505060400190565b60006131b7825190565b80845260209384019383018060005b83811015612f955781516131da8882613199565b9750602083019250506001016131c6565b60208082528101610c2081846131ad565b60006020828403121561321157613211600080fd5b6000610ba08484612b81565b6000610c208383612fa0565b6000613233825190565b8084526020840193508360208202850161324d8560200190565b8060005b85811015613282578484038952815161326a858261321d565b94506020830160209a909a0199925050600101613251565b5091979650505050505050565b60208082528101610c208184613229565b60006132aa825190565b80845260209384019383018060005b83811015612f955781516132cd8882613199565b9750602083019250506001016132b9565b805160009060608401906132f28582612de6565b5060208301516133056020860182612df5565b50604083015184820360408601526130c382826132a0565b60208082528101610c2081846132de565b6000806040838503121561334457613344600080fd5b60006133508585612b81565b9250506020612d7a85828601612b81565b60008060006060848603121561337957613379600080fd5b60006133858686612b81565b935050602061339686828701612b81565b92505060406133a786828701612b81565b9150509250925092565b602081016105a08284612de6565b60006133c9825190565b80845260209384019383018060005b83811015612f955781516133ec8882613199565b9750602083019250506001016133d8565b805160009060808401906134118582612de6565b5060208301516134246020860182612de6565b5060408301516134376040860182612df5565b50606083015184820360608601526130c382826133bf565b6000610c2083836133fd565b6000613465825190565b8084526020840193508360208202850161347f8560200190565b8060005b85811015613282578484038952815161349c858261344f565b94506020830160209a909a0199925050600101613483565b60208082528101610c20818461345b565b6000806000604084860312156134dd576134dd600080fd5b83356001600160401b038111156134f6576134f6600080fd5b613502868287016130dd565b935093505060206133a786828701612b81565b805160c08301906135268482612de6565b5060208201516135396020850182612df5565b50604082015161354c6040850182612df5565b50606082015161355f6060850182612df5565b5060808201516135726080850182612df5565b5060a0820151612dae60a0850182612df5565b60006135918383613515565b505060c00190565b60006135a3825190565b80845260209384019383018060005b83811015612f955781516135c68882613585565b9750602083019250506001016135b2565b60208082528101610c208184613599565b60006105a082612b59565b612b73816135e8565b80356105a0816135f3565b60006020828403121561361c5761361c600080fd5b6000610ba084846135fc565b604081016105a08284613175565b61020081016105a08284612e03565b6000806040838503121561365b5761365b600080fd5b600061335085856135fc565b60c081016105a08284613515565b60006136818383612de6565b505060200190565b6000613693825190565b80845260209384019383018060005b83811015612f955781516136b68882613675565b9750602083019250506001016136a2565b60208082528101610c208184613689565b60006001600160401b038211156136f1576136f1612b8c565b5060209081020190565b6000613709612c2e846136d8565b8381529050602080820190840283018581111561372857613728600080fd5b835b8181101561374c578061373d88826135fc565b8452506020928301920161372a565b5050509392505050565b600082601f83011261376a5761376a600080fd5b8135610ba08482602086016136fb565b60006020828403121561378f5761378f600080fd5b81356001600160401b038111156137a8576137a8600080fd5b610ba084828501613756565b60006137be825190565b80845260209384019383018060005b83811015612f955781516137e18882612f42565b9750602083019250506001016137cd565b60208082528101610c2081846137b4565b80516105a0816135f3565b600061381c612c2e846136d8565b8381529050602080820190840283018581111561383b5761383b600080fd5b835b8181101561374c57806138508882613803565b8452506020928301920161383d565b600082601f83011261387357613873600080fd5b8151610ba084826020860161380e565b60006020828403121561389857613898600080fd5b81516001600160401b038111156138b1576138b1600080fd5b610ba08482850161385f565b60006138cb612c2e84612bea565b9050828152602081018484840111156138e6576138e6600080fd5b611c0b848285612d84565b600082601f83011261390557613905600080fd5b8151610ba08482602086016138bd565b60006060828403121561392a5761392a600080fd5b6139346060612bce565b82519091506001600160401b0381111561395057613950600080fd5b61395c848285016138f1565b82525060208201516001600160401b0381111561397b5761397b600080fd5b613987848285016138f1565b60208301525060408201516001600160401b038111156139a9576139a9600080fd5b6139b5848285016138f1565b60408301525092915050565b6000602082840312156139d6576139d6600080fd5b81516001600160401b038111156139ef576139ef600080fd5b610ba084828501613915565b600060208284031215613a1057613a10600080fd5b6000610ba08484613803565b80516105a081612c7d565b600060208284031215613a3c57613a3c600080fd5b6000610ba08484613a1c565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203613a8757613a87613a5e565b5060010190565b80516105a081612b6a565b600060a08284031215613aae57613aae600080fd5b613ab860a0612bce565b82519091506001600160401b03811115613ad457613ad4600080fd5b613ae0848285016138f1565b8252506020613af184848301613a8e565b6020830152506040613b0584828501613a8e565b6040830152506060613b1984828501613a1c565b6060830152506080612d2184828501613a1c565b6000613b3b612c2e846136d8565b83815290506020808201908402830185811115613b5a57613b5a600080fd5b835b8181101561374c5780516001600160401b03811115613b7d57613b7d600080fd5b808601613b8a8982613a99565b8552505060209283019201613b5c565b600082601f830112613bae57613bae600080fd5b8151610ba0848260208601613b2d565b600060208284031215613bd357613bd3600080fd5b81516001600160401b03811115613bec57613bec600080fd5b610ba084828501613b9a565b6000816000190483118215151615613c1257613c12613a5e565b500290565b634e487b7160e01b600052601260045260246000fd5b600082613c3c57613c3c613c17565b500490565b60008219821115613c5457613c54613a5e565b500190565b600060208284031215613c6e57613c6e600080fd5b81516001600160401b03811115613c8757613c87600080fd5b610ba084828501613a99565b60408101613ca18285612de6565b610c206020830184612de6565b600060208284031215613cc357613cc3600080fd5b6000610ba08484613a8e565b6000613cdd612c2e846136d8565b83815290506020808201908402830185811115613cfc57613cfc600080fd5b835b8181101561374c5780613d118882613803565b84525060209283019201613cfe565b600082601f830112613d3457613d34600080fd5b8151610ba0848260208601613ccf565b600060208284031215613d5957613d59600080fd5b81516001600160401b03811115613d7257613d72600080fd5b610ba084828501613d20565b801515612b73565b80516105a081613d7e565b60008060408385031215613da757613da7600080fd5b6000613db38585613d86565b9250506020612d7a85828601613a1c565b60ff8116612b73565b80516105a081613dc4565b600060208284031215613ded57613ded600080fd5b6000610ba08484613dcd565b6000613e07612c2e846136d8565b83815290506020808201908402830185811115613e2657613e26600080fd5b835b8181101561374c5780613e3b8882613a8e565b84525060209283019201613e28565b600082601f830112613e5e57613e5e600080fd5b8151610ba0848260208601613df9565b600060208284031215613e8357613e83600080fd5b81516001600160401b03811115613e9c57613e9c600080fd5b610ba084828501613e4a565b6001600160e01b038116612b73565b80516105a081613ea8565b63ffffffff8116612b73565b80516105a081613ec2565b60008060408385031215613eef57613eef600080fd5b6000613efb8585613eb7565b9250506020612d7a85828601613ece565b600060208284031215613f2157613f21600080fd5b6000610ba08484613eb7565b600082821015613f3f57613f3f613a5e565b500390565b60208082528101610c208184612db456fea26469706673582212205638b396d38a45925339a72b39c7a30e1697e6b91d0eb36fc66a83b1acb78ecc64736f6c634300080d0033",
|
|
1085
|
+
"linkReferences": {},
|
|
1086
|
+
"deployedLinkReferences": {}
|
|
1087
|
+
}
|