@venusprotocol/isolated-pools 1.0.0-dev.5 → 1.0.0-dev.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/Comptroller.sol +1 -1
- package/contracts/ExponentialNoError.sol +0 -7
- package/package.json +1 -1
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +0 -215
- package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +0 -183
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +0 -63
- package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.json +0 -56
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.json +0 -24
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +0 -56
- package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +0 -19
- package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +0 -80
- package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json +0 -24
- package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +0 -113
- package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +0 -297
- package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +0 -194
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +0 -233
- package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +0 -10
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +0 -10
- package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +0 -10
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +0 -10
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +0 -30
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +0 -30
- package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +0 -10
- package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +0 -10
- package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.json +0 -115
- package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +0 -76
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +0 -24
- package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +0 -24
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +0 -194
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +0 -86
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.json +0 -10
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +0 -10
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +0 -4
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +0 -24
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +0 -4
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.json +0 -369
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +0 -4
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.json +0 -181
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +0 -4
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.json +0 -282
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +0 -4
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.json +0 -40
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +0 -4
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.json +0 -30
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +0 -4
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.json +0 -43
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +0 -4
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.json +0 -49
- package/artifacts/build-info/9b8ff982dc5e6ff902ae9e610da49601.json +0 -1
- package/artifacts/build-info/f19d689bc99e63a20dd2a17a14e2b84a.json +0 -1
- package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.dbg.json +0 -4
- package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.json +0 -276
- package/artifacts/contracts/Comptroller.sol/Comptroller.dbg.json +0 -4
- package/artifacts/contracts/Comptroller.sol/Comptroller.json +0 -1667
- package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.dbg.json +0 -4
- package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.json +0 -285
- package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.dbg.json +0 -4
- package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.json +0 -170
- package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.dbg.json +0 -4
- package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.json +0 -173
- package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.dbg.json +0 -4
- package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.json +0 -156
- package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.dbg.json +0 -4
- package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.json +0 -10
- package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.dbg.json +0 -4
- package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.json +0 -50
- package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.dbg.json +0 -4
- package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.json +0 -191
- package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.dbg.json +0 -4
- package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.json +0 -35
- package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.dbg.json +0 -4
- package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.json +0 -50
- package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.dbg.json +0 -4
- package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.json +0 -97
- package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.dbg.json +0 -4
- package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.json +0 -307
- package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.dbg.json +0 -4
- package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.json +0 -1087
- package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +0 -4
- package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.json +0 -59
- package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.dbg.json +0 -4
- package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.json +0 -923
- package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.dbg.json +0 -4
- package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.json +0 -176
- package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.dbg.json +0 -4
- package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.json +0 -113
- package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.dbg.json +0 -4
- package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.json +0 -928
- package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +0 -4
- package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.json +0 -29
- package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.dbg.json +0 -4
- package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.json +0 -101
- package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +0 -4
- package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.json +0 -296
- package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.dbg.json +0 -4
- package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.json +0 -83
- package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.dbg.json +0 -4
- package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.json +0 -615
- package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.dbg.json +0 -4
- package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.json +0 -24
- package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.dbg.json +0 -4
- package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.json +0 -756
- package/artifacts/contracts/VToken.sol/VToken.dbg.json +0 -4
- package/artifacts/contracts/VToken.sol/VToken.json +0 -1850
- package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.dbg.json +0 -4
- package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.json +0 -1398
- package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.dbg.json +0 -4
- package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.json +0 -219
- package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.dbg.json +0 -4
- package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.json +0 -192
- package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.dbg.json +0 -4
- package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.json +0 -1712
- package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.dbg.json +0 -4
- package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.json +0 -94
- package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.dbg.json +0 -4
- package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.json +0 -1744
- package/artifacts/contracts/test/ERC20.sol/ERC20.dbg.json +0 -4
- package/artifacts/contracts/test/ERC20.sol/ERC20.json +0 -194
- package/artifacts/contracts/test/ERC20.sol/ERC20Base.dbg.json +0 -4
- package/artifacts/contracts/test/ERC20.sol/ERC20Base.json +0 -141
- package/artifacts/contracts/test/ERC20.sol/ERC20Harness.dbg.json +0 -4
- package/artifacts/contracts/test/ERC20.sol/ERC20Harness.json +0 -351
- package/artifacts/contracts/test/ERC20.sol/ERC20NS.dbg.json +0 -4
- package/artifacts/contracts/test/ERC20.sol/ERC20NS.json +0 -182
- package/artifacts/contracts/test/ERC20.sol/NonStandardToken.dbg.json +0 -4
- package/artifacts/contracts/test/ERC20.sol/NonStandardToken.json +0 -247
- package/artifacts/contracts/test/ERC20.sol/StandardToken.dbg.json +0 -4
- package/artifacts/contracts/test/ERC20.sol/StandardToken.json +0 -259
- package/artifacts/contracts/test/EvilToken.sol/EvilToken.dbg.json +0 -4
- package/artifacts/contracts/test/EvilToken.sol/EvilToken.json +0 -303
- package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.dbg.json +0 -4
- package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.json +0 -265
- package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.dbg.json +0 -4
- package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.json +0 -277
- package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.dbg.json +0 -4
- package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.json +0 -313
- package/artifacts/contracts/test/FeeToken.sol/FeeToken.dbg.json +0 -4
- package/artifacts/contracts/test/FeeToken.sol/FeeToken.json +0 -313
- package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.dbg.json +0 -4
- package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.json +0 -85
- package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.dbg.json +0 -4
- package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.json +0 -332
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.json +0 -233
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.json +0 -187
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.json +0 -668
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.json +0 -760
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.json +0 -962
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.json +0 -55
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.json +0 -10
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.json +0 -982
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.json +0 -10
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.json +0 -10
- package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.json +0 -85
- package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.dbg.json +0 -4
- package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.json +0 -315
- package/artifacts/contracts/test/SafeMath.sol/SafeMath.dbg.json +0 -4
- package/artifacts/contracts/test/SafeMath.sol/SafeMath.json +0 -10
- package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.dbg.json +0 -4
- package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.json +0 -1946
- package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.dbg.json +0 -4
- package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.json +0 -2306
|
@@ -1,1744 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_format": "hh-sol-artifact-1",
|
|
3
|
-
"contractName": "ComptrollerScenario",
|
|
4
|
-
"sourceName": "contracts/test/ComptrollerScenario.sol",
|
|
5
|
-
"abi": [
|
|
6
|
-
{
|
|
7
|
-
"inputs": [
|
|
8
|
-
{
|
|
9
|
-
"internalType": "address",
|
|
10
|
-
"name": "_poolRegistry",
|
|
11
|
-
"type": "address"
|
|
12
|
-
}
|
|
13
|
-
],
|
|
14
|
-
"stateMutability": "nonpayable",
|
|
15
|
-
"type": "constructor"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"inputs": [
|
|
19
|
-
{
|
|
20
|
-
"internalType": "address",
|
|
21
|
-
"name": "market",
|
|
22
|
-
"type": "address"
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"internalType": "enum ComptrollerStorage.Action",
|
|
26
|
-
"name": "action",
|
|
27
|
-
"type": "uint8"
|
|
28
|
-
}
|
|
29
|
-
],
|
|
30
|
-
"name": "ActionPaused",
|
|
31
|
-
"type": "error"
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"inputs": [
|
|
35
|
-
{
|
|
36
|
-
"internalType": "address",
|
|
37
|
-
"name": "market",
|
|
38
|
-
"type": "address"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"internalType": "uint256",
|
|
42
|
-
"name": "cap",
|
|
43
|
-
"type": "uint256"
|
|
44
|
-
}
|
|
45
|
-
],
|
|
46
|
-
"name": "BorrowCapExceeded",
|
|
47
|
-
"type": "error"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"inputs": [
|
|
51
|
-
{
|
|
52
|
-
"internalType": "uint256",
|
|
53
|
-
"name": "expectedLessThanOrEqualTo",
|
|
54
|
-
"type": "uint256"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"internalType": "uint256",
|
|
58
|
-
"name": "actual",
|
|
59
|
-
"type": "uint256"
|
|
60
|
-
}
|
|
61
|
-
],
|
|
62
|
-
"name": "CollateralExceedsThreshold",
|
|
63
|
-
"type": "error"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"inputs": [],
|
|
67
|
-
"name": "ComptrollerMismatch",
|
|
68
|
-
"type": "error"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"inputs": [
|
|
72
|
-
{
|
|
73
|
-
"internalType": "uint256",
|
|
74
|
-
"name": "collateralToSeize",
|
|
75
|
-
"type": "uint256"
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"internalType": "uint256",
|
|
79
|
-
"name": "availableCollateral",
|
|
80
|
-
"type": "uint256"
|
|
81
|
-
}
|
|
82
|
-
],
|
|
83
|
-
"name": "InsufficientCollateral",
|
|
84
|
-
"type": "error"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"inputs": [],
|
|
88
|
-
"name": "InsufficientLiquidity",
|
|
89
|
-
"type": "error"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"inputs": [],
|
|
93
|
-
"name": "InsufficientShortfall",
|
|
94
|
-
"type": "error"
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"inputs": [],
|
|
98
|
-
"name": "InvalidCollateralFactor",
|
|
99
|
-
"type": "error"
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"inputs": [],
|
|
103
|
-
"name": "InvalidLiquidationThreshold",
|
|
104
|
-
"type": "error"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"inputs": [
|
|
108
|
-
{
|
|
109
|
-
"internalType": "address",
|
|
110
|
-
"name": "market",
|
|
111
|
-
"type": "address"
|
|
112
|
-
}
|
|
113
|
-
],
|
|
114
|
-
"name": "MarketAlreadyListed",
|
|
115
|
-
"type": "error"
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
"inputs": [
|
|
119
|
-
{
|
|
120
|
-
"internalType": "address",
|
|
121
|
-
"name": "vToken",
|
|
122
|
-
"type": "address"
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
"internalType": "address",
|
|
126
|
-
"name": "user",
|
|
127
|
-
"type": "address"
|
|
128
|
-
}
|
|
129
|
-
],
|
|
130
|
-
"name": "MarketNotCollateral",
|
|
131
|
-
"type": "error"
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"inputs": [
|
|
135
|
-
{
|
|
136
|
-
"internalType": "address",
|
|
137
|
-
"name": "market",
|
|
138
|
-
"type": "address"
|
|
139
|
-
}
|
|
140
|
-
],
|
|
141
|
-
"name": "MarketNotListed",
|
|
142
|
-
"type": "error"
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
"inputs": [
|
|
146
|
-
{
|
|
147
|
-
"internalType": "uint256",
|
|
148
|
-
"name": "loopsLimit",
|
|
149
|
-
"type": "uint256"
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
"internalType": "uint256",
|
|
153
|
-
"name": "requiredLoops",
|
|
154
|
-
"type": "uint256"
|
|
155
|
-
}
|
|
156
|
-
],
|
|
157
|
-
"name": "MaxLoopsLimitExceeded",
|
|
158
|
-
"type": "error"
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
"inputs": [
|
|
162
|
-
{
|
|
163
|
-
"internalType": "uint256",
|
|
164
|
-
"name": "expectedGreaterThan",
|
|
165
|
-
"type": "uint256"
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"internalType": "uint256",
|
|
169
|
-
"name": "actual",
|
|
170
|
-
"type": "uint256"
|
|
171
|
-
}
|
|
172
|
-
],
|
|
173
|
-
"name": "MinimalCollateralViolated",
|
|
174
|
-
"type": "error"
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
"inputs": [],
|
|
178
|
-
"name": "NonzeroBorrowBalance",
|
|
179
|
-
"type": "error"
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
"inputs": [
|
|
183
|
-
{
|
|
184
|
-
"internalType": "address",
|
|
185
|
-
"name": "vToken",
|
|
186
|
-
"type": "address"
|
|
187
|
-
}
|
|
188
|
-
],
|
|
189
|
-
"name": "PriceError",
|
|
190
|
-
"type": "error"
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
"inputs": [
|
|
194
|
-
{
|
|
195
|
-
"internalType": "address",
|
|
196
|
-
"name": "vToken",
|
|
197
|
-
"type": "address"
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
"internalType": "address",
|
|
201
|
-
"name": "user",
|
|
202
|
-
"type": "address"
|
|
203
|
-
}
|
|
204
|
-
],
|
|
205
|
-
"name": "SnapshotError",
|
|
206
|
-
"type": "error"
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
"inputs": [
|
|
210
|
-
{
|
|
211
|
-
"internalType": "address",
|
|
212
|
-
"name": "market",
|
|
213
|
-
"type": "address"
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
"internalType": "uint256",
|
|
217
|
-
"name": "cap",
|
|
218
|
-
"type": "uint256"
|
|
219
|
-
}
|
|
220
|
-
],
|
|
221
|
-
"name": "SupplyCapExceeded",
|
|
222
|
-
"type": "error"
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
"inputs": [],
|
|
226
|
-
"name": "TooMuchRepay",
|
|
227
|
-
"type": "error"
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
"inputs": [
|
|
231
|
-
{
|
|
232
|
-
"internalType": "address",
|
|
233
|
-
"name": "sender",
|
|
234
|
-
"type": "address"
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
"internalType": "address",
|
|
238
|
-
"name": "calledContract",
|
|
239
|
-
"type": "address"
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
"internalType": "string",
|
|
243
|
-
"name": "methodSignature",
|
|
244
|
-
"type": "string"
|
|
245
|
-
}
|
|
246
|
-
],
|
|
247
|
-
"name": "Unauthorized",
|
|
248
|
-
"type": "error"
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
"inputs": [
|
|
252
|
-
{
|
|
253
|
-
"internalType": "address",
|
|
254
|
-
"name": "expectedSender",
|
|
255
|
-
"type": "address"
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
"internalType": "address",
|
|
259
|
-
"name": "actualSender",
|
|
260
|
-
"type": "address"
|
|
261
|
-
}
|
|
262
|
-
],
|
|
263
|
-
"name": "UnexpectedSender",
|
|
264
|
-
"type": "error"
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
"inputs": [],
|
|
268
|
-
"name": "ZeroAddressNotAllowed",
|
|
269
|
-
"type": "error"
|
|
270
|
-
},
|
|
271
|
-
{
|
|
272
|
-
"anonymous": false,
|
|
273
|
-
"inputs": [
|
|
274
|
-
{
|
|
275
|
-
"indexed": false,
|
|
276
|
-
"internalType": "contract VToken",
|
|
277
|
-
"name": "vToken",
|
|
278
|
-
"type": "address"
|
|
279
|
-
},
|
|
280
|
-
{
|
|
281
|
-
"indexed": false,
|
|
282
|
-
"internalType": "enum ComptrollerStorage.Action",
|
|
283
|
-
"name": "action",
|
|
284
|
-
"type": "uint8"
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
"indexed": false,
|
|
288
|
-
"internalType": "bool",
|
|
289
|
-
"name": "pauseState",
|
|
290
|
-
"type": "bool"
|
|
291
|
-
}
|
|
292
|
-
],
|
|
293
|
-
"name": "ActionPausedMarket",
|
|
294
|
-
"type": "event"
|
|
295
|
-
},
|
|
296
|
-
{
|
|
297
|
-
"anonymous": false,
|
|
298
|
-
"inputs": [
|
|
299
|
-
{
|
|
300
|
-
"indexed": false,
|
|
301
|
-
"internalType": "uint8",
|
|
302
|
-
"name": "version",
|
|
303
|
-
"type": "uint8"
|
|
304
|
-
}
|
|
305
|
-
],
|
|
306
|
-
"name": "Initialized",
|
|
307
|
-
"type": "event"
|
|
308
|
-
},
|
|
309
|
-
{
|
|
310
|
-
"anonymous": false,
|
|
311
|
-
"inputs": [
|
|
312
|
-
{
|
|
313
|
-
"indexed": true,
|
|
314
|
-
"internalType": "contract VToken",
|
|
315
|
-
"name": "vToken",
|
|
316
|
-
"type": "address"
|
|
317
|
-
},
|
|
318
|
-
{
|
|
319
|
-
"indexed": true,
|
|
320
|
-
"internalType": "address",
|
|
321
|
-
"name": "account",
|
|
322
|
-
"type": "address"
|
|
323
|
-
}
|
|
324
|
-
],
|
|
325
|
-
"name": "MarketEntered",
|
|
326
|
-
"type": "event"
|
|
327
|
-
},
|
|
328
|
-
{
|
|
329
|
-
"anonymous": false,
|
|
330
|
-
"inputs": [
|
|
331
|
-
{
|
|
332
|
-
"indexed": true,
|
|
333
|
-
"internalType": "contract VToken",
|
|
334
|
-
"name": "vToken",
|
|
335
|
-
"type": "address"
|
|
336
|
-
},
|
|
337
|
-
{
|
|
338
|
-
"indexed": true,
|
|
339
|
-
"internalType": "address",
|
|
340
|
-
"name": "account",
|
|
341
|
-
"type": "address"
|
|
342
|
-
}
|
|
343
|
-
],
|
|
344
|
-
"name": "MarketExited",
|
|
345
|
-
"type": "event"
|
|
346
|
-
},
|
|
347
|
-
{
|
|
348
|
-
"anonymous": false,
|
|
349
|
-
"inputs": [
|
|
350
|
-
{
|
|
351
|
-
"indexed": false,
|
|
352
|
-
"internalType": "contract VToken",
|
|
353
|
-
"name": "vToken",
|
|
354
|
-
"type": "address"
|
|
355
|
-
}
|
|
356
|
-
],
|
|
357
|
-
"name": "MarketSupported",
|
|
358
|
-
"type": "event"
|
|
359
|
-
},
|
|
360
|
-
{
|
|
361
|
-
"anonymous": false,
|
|
362
|
-
"inputs": [
|
|
363
|
-
{
|
|
364
|
-
"indexed": false,
|
|
365
|
-
"internalType": "uint256",
|
|
366
|
-
"name": "oldMaxLoopsLimit",
|
|
367
|
-
"type": "uint256"
|
|
368
|
-
},
|
|
369
|
-
{
|
|
370
|
-
"indexed": false,
|
|
371
|
-
"internalType": "uint256",
|
|
372
|
-
"name": "newmaxLoopsLimit",
|
|
373
|
-
"type": "uint256"
|
|
374
|
-
}
|
|
375
|
-
],
|
|
376
|
-
"name": "MaxLoopsLimitUpdated",
|
|
377
|
-
"type": "event"
|
|
378
|
-
},
|
|
379
|
-
{
|
|
380
|
-
"anonymous": false,
|
|
381
|
-
"inputs": [
|
|
382
|
-
{
|
|
383
|
-
"indexed": false,
|
|
384
|
-
"internalType": "address",
|
|
385
|
-
"name": "oldAccessControlManager",
|
|
386
|
-
"type": "address"
|
|
387
|
-
},
|
|
388
|
-
{
|
|
389
|
-
"indexed": false,
|
|
390
|
-
"internalType": "address",
|
|
391
|
-
"name": "newAccessControlManager",
|
|
392
|
-
"type": "address"
|
|
393
|
-
}
|
|
394
|
-
],
|
|
395
|
-
"name": "NewAccessControlManager",
|
|
396
|
-
"type": "event"
|
|
397
|
-
},
|
|
398
|
-
{
|
|
399
|
-
"anonymous": false,
|
|
400
|
-
"inputs": [
|
|
401
|
-
{
|
|
402
|
-
"indexed": true,
|
|
403
|
-
"internalType": "contract VToken",
|
|
404
|
-
"name": "vToken",
|
|
405
|
-
"type": "address"
|
|
406
|
-
},
|
|
407
|
-
{
|
|
408
|
-
"indexed": false,
|
|
409
|
-
"internalType": "uint256",
|
|
410
|
-
"name": "newBorrowCap",
|
|
411
|
-
"type": "uint256"
|
|
412
|
-
}
|
|
413
|
-
],
|
|
414
|
-
"name": "NewBorrowCap",
|
|
415
|
-
"type": "event"
|
|
416
|
-
},
|
|
417
|
-
{
|
|
418
|
-
"anonymous": false,
|
|
419
|
-
"inputs": [
|
|
420
|
-
{
|
|
421
|
-
"indexed": false,
|
|
422
|
-
"internalType": "uint256",
|
|
423
|
-
"name": "oldCloseFactorMantissa",
|
|
424
|
-
"type": "uint256"
|
|
425
|
-
},
|
|
426
|
-
{
|
|
427
|
-
"indexed": false,
|
|
428
|
-
"internalType": "uint256",
|
|
429
|
-
"name": "newCloseFactorMantissa",
|
|
430
|
-
"type": "uint256"
|
|
431
|
-
}
|
|
432
|
-
],
|
|
433
|
-
"name": "NewCloseFactor",
|
|
434
|
-
"type": "event"
|
|
435
|
-
},
|
|
436
|
-
{
|
|
437
|
-
"anonymous": false,
|
|
438
|
-
"inputs": [
|
|
439
|
-
{
|
|
440
|
-
"indexed": false,
|
|
441
|
-
"internalType": "contract VToken",
|
|
442
|
-
"name": "vToken",
|
|
443
|
-
"type": "address"
|
|
444
|
-
},
|
|
445
|
-
{
|
|
446
|
-
"indexed": false,
|
|
447
|
-
"internalType": "uint256",
|
|
448
|
-
"name": "oldCollateralFactorMantissa",
|
|
449
|
-
"type": "uint256"
|
|
450
|
-
},
|
|
451
|
-
{
|
|
452
|
-
"indexed": false,
|
|
453
|
-
"internalType": "uint256",
|
|
454
|
-
"name": "newCollateralFactorMantissa",
|
|
455
|
-
"type": "uint256"
|
|
456
|
-
}
|
|
457
|
-
],
|
|
458
|
-
"name": "NewCollateralFactor",
|
|
459
|
-
"type": "event"
|
|
460
|
-
},
|
|
461
|
-
{
|
|
462
|
-
"anonymous": false,
|
|
463
|
-
"inputs": [
|
|
464
|
-
{
|
|
465
|
-
"indexed": false,
|
|
466
|
-
"internalType": "uint256",
|
|
467
|
-
"name": "oldLiquidationIncentiveMantissa",
|
|
468
|
-
"type": "uint256"
|
|
469
|
-
},
|
|
470
|
-
{
|
|
471
|
-
"indexed": false,
|
|
472
|
-
"internalType": "uint256",
|
|
473
|
-
"name": "newLiquidationIncentiveMantissa",
|
|
474
|
-
"type": "uint256"
|
|
475
|
-
}
|
|
476
|
-
],
|
|
477
|
-
"name": "NewLiquidationIncentive",
|
|
478
|
-
"type": "event"
|
|
479
|
-
},
|
|
480
|
-
{
|
|
481
|
-
"anonymous": false,
|
|
482
|
-
"inputs": [
|
|
483
|
-
{
|
|
484
|
-
"indexed": false,
|
|
485
|
-
"internalType": "contract VToken",
|
|
486
|
-
"name": "vToken",
|
|
487
|
-
"type": "address"
|
|
488
|
-
},
|
|
489
|
-
{
|
|
490
|
-
"indexed": false,
|
|
491
|
-
"internalType": "uint256",
|
|
492
|
-
"name": "oldLiquidationThresholdMantissa",
|
|
493
|
-
"type": "uint256"
|
|
494
|
-
},
|
|
495
|
-
{
|
|
496
|
-
"indexed": false,
|
|
497
|
-
"internalType": "uint256",
|
|
498
|
-
"name": "newLiquidationThresholdMantissa",
|
|
499
|
-
"type": "uint256"
|
|
500
|
-
}
|
|
501
|
-
],
|
|
502
|
-
"name": "NewLiquidationThreshold",
|
|
503
|
-
"type": "event"
|
|
504
|
-
},
|
|
505
|
-
{
|
|
506
|
-
"anonymous": false,
|
|
507
|
-
"inputs": [
|
|
508
|
-
{
|
|
509
|
-
"indexed": false,
|
|
510
|
-
"internalType": "uint256",
|
|
511
|
-
"name": "oldMinLiquidatableCollateral",
|
|
512
|
-
"type": "uint256"
|
|
513
|
-
},
|
|
514
|
-
{
|
|
515
|
-
"indexed": false,
|
|
516
|
-
"internalType": "uint256",
|
|
517
|
-
"name": "newMinLiquidatableCollateral",
|
|
518
|
-
"type": "uint256"
|
|
519
|
-
}
|
|
520
|
-
],
|
|
521
|
-
"name": "NewMinLiquidatableCollateral",
|
|
522
|
-
"type": "event"
|
|
523
|
-
},
|
|
524
|
-
{
|
|
525
|
-
"anonymous": false,
|
|
526
|
-
"inputs": [
|
|
527
|
-
{
|
|
528
|
-
"indexed": false,
|
|
529
|
-
"internalType": "contract ResilientOracleInterface",
|
|
530
|
-
"name": "oldPriceOracle",
|
|
531
|
-
"type": "address"
|
|
532
|
-
},
|
|
533
|
-
{
|
|
534
|
-
"indexed": false,
|
|
535
|
-
"internalType": "contract ResilientOracleInterface",
|
|
536
|
-
"name": "newPriceOracle",
|
|
537
|
-
"type": "address"
|
|
538
|
-
}
|
|
539
|
-
],
|
|
540
|
-
"name": "NewPriceOracle",
|
|
541
|
-
"type": "event"
|
|
542
|
-
},
|
|
543
|
-
{
|
|
544
|
-
"anonymous": false,
|
|
545
|
-
"inputs": [
|
|
546
|
-
{
|
|
547
|
-
"indexed": true,
|
|
548
|
-
"internalType": "address",
|
|
549
|
-
"name": "rewardsDistributor",
|
|
550
|
-
"type": "address"
|
|
551
|
-
}
|
|
552
|
-
],
|
|
553
|
-
"name": "NewRewardsDistributor",
|
|
554
|
-
"type": "event"
|
|
555
|
-
},
|
|
556
|
-
{
|
|
557
|
-
"anonymous": false,
|
|
558
|
-
"inputs": [
|
|
559
|
-
{
|
|
560
|
-
"indexed": true,
|
|
561
|
-
"internalType": "contract VToken",
|
|
562
|
-
"name": "vToken",
|
|
563
|
-
"type": "address"
|
|
564
|
-
},
|
|
565
|
-
{
|
|
566
|
-
"indexed": false,
|
|
567
|
-
"internalType": "uint256",
|
|
568
|
-
"name": "newSupplyCap",
|
|
569
|
-
"type": "uint256"
|
|
570
|
-
}
|
|
571
|
-
],
|
|
572
|
-
"name": "NewSupplyCap",
|
|
573
|
-
"type": "event"
|
|
574
|
-
},
|
|
575
|
-
{
|
|
576
|
-
"anonymous": false,
|
|
577
|
-
"inputs": [
|
|
578
|
-
{
|
|
579
|
-
"indexed": true,
|
|
580
|
-
"internalType": "address",
|
|
581
|
-
"name": "previousOwner",
|
|
582
|
-
"type": "address"
|
|
583
|
-
},
|
|
584
|
-
{
|
|
585
|
-
"indexed": true,
|
|
586
|
-
"internalType": "address",
|
|
587
|
-
"name": "newOwner",
|
|
588
|
-
"type": "address"
|
|
589
|
-
}
|
|
590
|
-
],
|
|
591
|
-
"name": "OwnershipTransferStarted",
|
|
592
|
-
"type": "event"
|
|
593
|
-
},
|
|
594
|
-
{
|
|
595
|
-
"anonymous": false,
|
|
596
|
-
"inputs": [
|
|
597
|
-
{
|
|
598
|
-
"indexed": true,
|
|
599
|
-
"internalType": "address",
|
|
600
|
-
"name": "previousOwner",
|
|
601
|
-
"type": "address"
|
|
602
|
-
},
|
|
603
|
-
{
|
|
604
|
-
"indexed": true,
|
|
605
|
-
"internalType": "address",
|
|
606
|
-
"name": "newOwner",
|
|
607
|
-
"type": "address"
|
|
608
|
-
}
|
|
609
|
-
],
|
|
610
|
-
"name": "OwnershipTransferred",
|
|
611
|
-
"type": "event"
|
|
612
|
-
},
|
|
613
|
-
{
|
|
614
|
-
"inputs": [],
|
|
615
|
-
"name": "acceptOwnership",
|
|
616
|
-
"outputs": [],
|
|
617
|
-
"stateMutability": "nonpayable",
|
|
618
|
-
"type": "function"
|
|
619
|
-
},
|
|
620
|
-
{
|
|
621
|
-
"inputs": [],
|
|
622
|
-
"name": "accessControlManager",
|
|
623
|
-
"outputs": [
|
|
624
|
-
{
|
|
625
|
-
"internalType": "contract IAccessControlManagerV8",
|
|
626
|
-
"name": "",
|
|
627
|
-
"type": "address"
|
|
628
|
-
}
|
|
629
|
-
],
|
|
630
|
-
"stateMutability": "view",
|
|
631
|
-
"type": "function"
|
|
632
|
-
},
|
|
633
|
-
{
|
|
634
|
-
"inputs": [
|
|
635
|
-
{
|
|
636
|
-
"internalType": "address",
|
|
637
|
-
"name": "",
|
|
638
|
-
"type": "address"
|
|
639
|
-
},
|
|
640
|
-
{
|
|
641
|
-
"internalType": "uint256",
|
|
642
|
-
"name": "",
|
|
643
|
-
"type": "uint256"
|
|
644
|
-
}
|
|
645
|
-
],
|
|
646
|
-
"name": "accountAssets",
|
|
647
|
-
"outputs": [
|
|
648
|
-
{
|
|
649
|
-
"internalType": "contract VToken",
|
|
650
|
-
"name": "",
|
|
651
|
-
"type": "address"
|
|
652
|
-
}
|
|
653
|
-
],
|
|
654
|
-
"stateMutability": "view",
|
|
655
|
-
"type": "function"
|
|
656
|
-
},
|
|
657
|
-
{
|
|
658
|
-
"inputs": [
|
|
659
|
-
{
|
|
660
|
-
"internalType": "address",
|
|
661
|
-
"name": "market",
|
|
662
|
-
"type": "address"
|
|
663
|
-
},
|
|
664
|
-
{
|
|
665
|
-
"internalType": "enum ComptrollerStorage.Action",
|
|
666
|
-
"name": "action",
|
|
667
|
-
"type": "uint8"
|
|
668
|
-
}
|
|
669
|
-
],
|
|
670
|
-
"name": "actionPaused",
|
|
671
|
-
"outputs": [
|
|
672
|
-
{
|
|
673
|
-
"internalType": "bool",
|
|
674
|
-
"name": "",
|
|
675
|
-
"type": "bool"
|
|
676
|
-
}
|
|
677
|
-
],
|
|
678
|
-
"stateMutability": "view",
|
|
679
|
-
"type": "function"
|
|
680
|
-
},
|
|
681
|
-
{
|
|
682
|
-
"inputs": [
|
|
683
|
-
{
|
|
684
|
-
"internalType": "contract RewardsDistributor",
|
|
685
|
-
"name": "_rewardsDistributor",
|
|
686
|
-
"type": "address"
|
|
687
|
-
}
|
|
688
|
-
],
|
|
689
|
-
"name": "addRewardsDistributor",
|
|
690
|
-
"outputs": [],
|
|
691
|
-
"stateMutability": "nonpayable",
|
|
692
|
-
"type": "function"
|
|
693
|
-
},
|
|
694
|
-
{
|
|
695
|
-
"inputs": [
|
|
696
|
-
{
|
|
697
|
-
"internalType": "uint256",
|
|
698
|
-
"name": "",
|
|
699
|
-
"type": "uint256"
|
|
700
|
-
}
|
|
701
|
-
],
|
|
702
|
-
"name": "allMarkets",
|
|
703
|
-
"outputs": [
|
|
704
|
-
{
|
|
705
|
-
"internalType": "contract VToken",
|
|
706
|
-
"name": "",
|
|
707
|
-
"type": "address"
|
|
708
|
-
}
|
|
709
|
-
],
|
|
710
|
-
"stateMutability": "view",
|
|
711
|
-
"type": "function"
|
|
712
|
-
},
|
|
713
|
-
{
|
|
714
|
-
"inputs": [],
|
|
715
|
-
"name": "blockNumber",
|
|
716
|
-
"outputs": [
|
|
717
|
-
{
|
|
718
|
-
"internalType": "uint256",
|
|
719
|
-
"name": "",
|
|
720
|
-
"type": "uint256"
|
|
721
|
-
}
|
|
722
|
-
],
|
|
723
|
-
"stateMutability": "view",
|
|
724
|
-
"type": "function"
|
|
725
|
-
},
|
|
726
|
-
{
|
|
727
|
-
"inputs": [
|
|
728
|
-
{
|
|
729
|
-
"internalType": "address",
|
|
730
|
-
"name": "",
|
|
731
|
-
"type": "address"
|
|
732
|
-
}
|
|
733
|
-
],
|
|
734
|
-
"name": "borrowCaps",
|
|
735
|
-
"outputs": [
|
|
736
|
-
{
|
|
737
|
-
"internalType": "uint256",
|
|
738
|
-
"name": "",
|
|
739
|
-
"type": "uint256"
|
|
740
|
-
}
|
|
741
|
-
],
|
|
742
|
-
"stateMutability": "view",
|
|
743
|
-
"type": "function"
|
|
744
|
-
},
|
|
745
|
-
{
|
|
746
|
-
"inputs": [
|
|
747
|
-
{
|
|
748
|
-
"internalType": "address",
|
|
749
|
-
"name": "account",
|
|
750
|
-
"type": "address"
|
|
751
|
-
},
|
|
752
|
-
{
|
|
753
|
-
"internalType": "contract VToken",
|
|
754
|
-
"name": "vToken",
|
|
755
|
-
"type": "address"
|
|
756
|
-
}
|
|
757
|
-
],
|
|
758
|
-
"name": "checkMembership",
|
|
759
|
-
"outputs": [
|
|
760
|
-
{
|
|
761
|
-
"internalType": "bool",
|
|
762
|
-
"name": "",
|
|
763
|
-
"type": "bool"
|
|
764
|
-
}
|
|
765
|
-
],
|
|
766
|
-
"stateMutability": "view",
|
|
767
|
-
"type": "function"
|
|
768
|
-
},
|
|
769
|
-
{
|
|
770
|
-
"inputs": [],
|
|
771
|
-
"name": "closeFactorMantissa",
|
|
772
|
-
"outputs": [
|
|
773
|
-
{
|
|
774
|
-
"internalType": "uint256",
|
|
775
|
-
"name": "",
|
|
776
|
-
"type": "uint256"
|
|
777
|
-
}
|
|
778
|
-
],
|
|
779
|
-
"stateMutability": "view",
|
|
780
|
-
"type": "function"
|
|
781
|
-
},
|
|
782
|
-
{
|
|
783
|
-
"inputs": [
|
|
784
|
-
{
|
|
785
|
-
"internalType": "address[]",
|
|
786
|
-
"name": "vTokens",
|
|
787
|
-
"type": "address[]"
|
|
788
|
-
}
|
|
789
|
-
],
|
|
790
|
-
"name": "enterMarkets",
|
|
791
|
-
"outputs": [
|
|
792
|
-
{
|
|
793
|
-
"internalType": "uint256[]",
|
|
794
|
-
"name": "",
|
|
795
|
-
"type": "uint256[]"
|
|
796
|
-
}
|
|
797
|
-
],
|
|
798
|
-
"stateMutability": "nonpayable",
|
|
799
|
-
"type": "function"
|
|
800
|
-
},
|
|
801
|
-
{
|
|
802
|
-
"inputs": [
|
|
803
|
-
{
|
|
804
|
-
"internalType": "address",
|
|
805
|
-
"name": "vTokenAddress",
|
|
806
|
-
"type": "address"
|
|
807
|
-
}
|
|
808
|
-
],
|
|
809
|
-
"name": "exitMarket",
|
|
810
|
-
"outputs": [
|
|
811
|
-
{
|
|
812
|
-
"internalType": "uint256",
|
|
813
|
-
"name": "",
|
|
814
|
-
"type": "uint256"
|
|
815
|
-
}
|
|
816
|
-
],
|
|
817
|
-
"stateMutability": "nonpayable",
|
|
818
|
-
"type": "function"
|
|
819
|
-
},
|
|
820
|
-
{
|
|
821
|
-
"inputs": [
|
|
822
|
-
{
|
|
823
|
-
"internalType": "uint256",
|
|
824
|
-
"name": "blocks",
|
|
825
|
-
"type": "uint256"
|
|
826
|
-
}
|
|
827
|
-
],
|
|
828
|
-
"name": "fastForward",
|
|
829
|
-
"outputs": [
|
|
830
|
-
{
|
|
831
|
-
"internalType": "uint256",
|
|
832
|
-
"name": "",
|
|
833
|
-
"type": "uint256"
|
|
834
|
-
}
|
|
835
|
-
],
|
|
836
|
-
"stateMutability": "nonpayable",
|
|
837
|
-
"type": "function"
|
|
838
|
-
},
|
|
839
|
-
{
|
|
840
|
-
"inputs": [
|
|
841
|
-
{
|
|
842
|
-
"internalType": "address",
|
|
843
|
-
"name": "account",
|
|
844
|
-
"type": "address"
|
|
845
|
-
}
|
|
846
|
-
],
|
|
847
|
-
"name": "getAccountLiquidity",
|
|
848
|
-
"outputs": [
|
|
849
|
-
{
|
|
850
|
-
"internalType": "uint256",
|
|
851
|
-
"name": "error",
|
|
852
|
-
"type": "uint256"
|
|
853
|
-
},
|
|
854
|
-
{
|
|
855
|
-
"internalType": "uint256",
|
|
856
|
-
"name": "liquidity",
|
|
857
|
-
"type": "uint256"
|
|
858
|
-
},
|
|
859
|
-
{
|
|
860
|
-
"internalType": "uint256",
|
|
861
|
-
"name": "shortfall",
|
|
862
|
-
"type": "uint256"
|
|
863
|
-
}
|
|
864
|
-
],
|
|
865
|
-
"stateMutability": "view",
|
|
866
|
-
"type": "function"
|
|
867
|
-
},
|
|
868
|
-
{
|
|
869
|
-
"inputs": [],
|
|
870
|
-
"name": "getAllMarkets",
|
|
871
|
-
"outputs": [
|
|
872
|
-
{
|
|
873
|
-
"internalType": "contract VToken[]",
|
|
874
|
-
"name": "",
|
|
875
|
-
"type": "address[]"
|
|
876
|
-
}
|
|
877
|
-
],
|
|
878
|
-
"stateMutability": "view",
|
|
879
|
-
"type": "function"
|
|
880
|
-
},
|
|
881
|
-
{
|
|
882
|
-
"inputs": [
|
|
883
|
-
{
|
|
884
|
-
"internalType": "address",
|
|
885
|
-
"name": "account",
|
|
886
|
-
"type": "address"
|
|
887
|
-
}
|
|
888
|
-
],
|
|
889
|
-
"name": "getAssetsIn",
|
|
890
|
-
"outputs": [
|
|
891
|
-
{
|
|
892
|
-
"internalType": "contract VToken[]",
|
|
893
|
-
"name": "",
|
|
894
|
-
"type": "address[]"
|
|
895
|
-
}
|
|
896
|
-
],
|
|
897
|
-
"stateMutability": "view",
|
|
898
|
-
"type": "function"
|
|
899
|
-
},
|
|
900
|
-
{
|
|
901
|
-
"inputs": [
|
|
902
|
-
{
|
|
903
|
-
"internalType": "address",
|
|
904
|
-
"name": "account",
|
|
905
|
-
"type": "address"
|
|
906
|
-
}
|
|
907
|
-
],
|
|
908
|
-
"name": "getBorrowingPower",
|
|
909
|
-
"outputs": [
|
|
910
|
-
{
|
|
911
|
-
"internalType": "uint256",
|
|
912
|
-
"name": "error",
|
|
913
|
-
"type": "uint256"
|
|
914
|
-
},
|
|
915
|
-
{
|
|
916
|
-
"internalType": "uint256",
|
|
917
|
-
"name": "liquidity",
|
|
918
|
-
"type": "uint256"
|
|
919
|
-
},
|
|
920
|
-
{
|
|
921
|
-
"internalType": "uint256",
|
|
922
|
-
"name": "shortfall",
|
|
923
|
-
"type": "uint256"
|
|
924
|
-
}
|
|
925
|
-
],
|
|
926
|
-
"stateMutability": "view",
|
|
927
|
-
"type": "function"
|
|
928
|
-
},
|
|
929
|
-
{
|
|
930
|
-
"inputs": [
|
|
931
|
-
{
|
|
932
|
-
"internalType": "address",
|
|
933
|
-
"name": "account",
|
|
934
|
-
"type": "address"
|
|
935
|
-
},
|
|
936
|
-
{
|
|
937
|
-
"internalType": "address",
|
|
938
|
-
"name": "vTokenModify",
|
|
939
|
-
"type": "address"
|
|
940
|
-
},
|
|
941
|
-
{
|
|
942
|
-
"internalType": "uint256",
|
|
943
|
-
"name": "redeemTokens",
|
|
944
|
-
"type": "uint256"
|
|
945
|
-
},
|
|
946
|
-
{
|
|
947
|
-
"internalType": "uint256",
|
|
948
|
-
"name": "borrowAmount",
|
|
949
|
-
"type": "uint256"
|
|
950
|
-
}
|
|
951
|
-
],
|
|
952
|
-
"name": "getHypotheticalAccountLiquidity",
|
|
953
|
-
"outputs": [
|
|
954
|
-
{
|
|
955
|
-
"internalType": "uint256",
|
|
956
|
-
"name": "error",
|
|
957
|
-
"type": "uint256"
|
|
958
|
-
},
|
|
959
|
-
{
|
|
960
|
-
"internalType": "uint256",
|
|
961
|
-
"name": "liquidity",
|
|
962
|
-
"type": "uint256"
|
|
963
|
-
},
|
|
964
|
-
{
|
|
965
|
-
"internalType": "uint256",
|
|
966
|
-
"name": "shortfall",
|
|
967
|
-
"type": "uint256"
|
|
968
|
-
}
|
|
969
|
-
],
|
|
970
|
-
"stateMutability": "view",
|
|
971
|
-
"type": "function"
|
|
972
|
-
},
|
|
973
|
-
{
|
|
974
|
-
"inputs": [],
|
|
975
|
-
"name": "getRewardDistributors",
|
|
976
|
-
"outputs": [
|
|
977
|
-
{
|
|
978
|
-
"internalType": "contract RewardsDistributor[]",
|
|
979
|
-
"name": "",
|
|
980
|
-
"type": "address[]"
|
|
981
|
-
}
|
|
982
|
-
],
|
|
983
|
-
"stateMutability": "view",
|
|
984
|
-
"type": "function"
|
|
985
|
-
},
|
|
986
|
-
{
|
|
987
|
-
"inputs": [
|
|
988
|
-
{
|
|
989
|
-
"internalType": "address",
|
|
990
|
-
"name": "vToken",
|
|
991
|
-
"type": "address"
|
|
992
|
-
}
|
|
993
|
-
],
|
|
994
|
-
"name": "getRewardsByMarket",
|
|
995
|
-
"outputs": [
|
|
996
|
-
{
|
|
997
|
-
"components": [
|
|
998
|
-
{
|
|
999
|
-
"internalType": "address",
|
|
1000
|
-
"name": "rewardToken",
|
|
1001
|
-
"type": "address"
|
|
1002
|
-
},
|
|
1003
|
-
{
|
|
1004
|
-
"internalType": "uint256",
|
|
1005
|
-
"name": "supplySpeed",
|
|
1006
|
-
"type": "uint256"
|
|
1007
|
-
},
|
|
1008
|
-
{
|
|
1009
|
-
"internalType": "uint256",
|
|
1010
|
-
"name": "borrowSpeed",
|
|
1011
|
-
"type": "uint256"
|
|
1012
|
-
}
|
|
1013
|
-
],
|
|
1014
|
-
"internalType": "struct ComptrollerStorage.RewardSpeeds[]",
|
|
1015
|
-
"name": "rewardSpeeds",
|
|
1016
|
-
"type": "tuple[]"
|
|
1017
|
-
}
|
|
1018
|
-
],
|
|
1019
|
-
"stateMutability": "view",
|
|
1020
|
-
"type": "function"
|
|
1021
|
-
},
|
|
1022
|
-
{
|
|
1023
|
-
"inputs": [
|
|
1024
|
-
{
|
|
1025
|
-
"internalType": "address",
|
|
1026
|
-
"name": "user",
|
|
1027
|
-
"type": "address"
|
|
1028
|
-
}
|
|
1029
|
-
],
|
|
1030
|
-
"name": "healAccount",
|
|
1031
|
-
"outputs": [],
|
|
1032
|
-
"stateMutability": "nonpayable",
|
|
1033
|
-
"type": "function"
|
|
1034
|
-
},
|
|
1035
|
-
{
|
|
1036
|
-
"inputs": [
|
|
1037
|
-
{
|
|
1038
|
-
"internalType": "uint256",
|
|
1039
|
-
"name": "loopLimit",
|
|
1040
|
-
"type": "uint256"
|
|
1041
|
-
},
|
|
1042
|
-
{
|
|
1043
|
-
"internalType": "address",
|
|
1044
|
-
"name": "accessControlManager",
|
|
1045
|
-
"type": "address"
|
|
1046
|
-
}
|
|
1047
|
-
],
|
|
1048
|
-
"name": "initialize",
|
|
1049
|
-
"outputs": [],
|
|
1050
|
-
"stateMutability": "nonpayable",
|
|
1051
|
-
"type": "function"
|
|
1052
|
-
},
|
|
1053
|
-
{
|
|
1054
|
-
"inputs": [],
|
|
1055
|
-
"name": "isComptroller",
|
|
1056
|
-
"outputs": [
|
|
1057
|
-
{
|
|
1058
|
-
"internalType": "bool",
|
|
1059
|
-
"name": "",
|
|
1060
|
-
"type": "bool"
|
|
1061
|
-
}
|
|
1062
|
-
],
|
|
1063
|
-
"stateMutability": "pure",
|
|
1064
|
-
"type": "function"
|
|
1065
|
-
},
|
|
1066
|
-
{
|
|
1067
|
-
"inputs": [
|
|
1068
|
-
{
|
|
1069
|
-
"internalType": "contract VToken",
|
|
1070
|
-
"name": "vToken",
|
|
1071
|
-
"type": "address"
|
|
1072
|
-
}
|
|
1073
|
-
],
|
|
1074
|
-
"name": "isDeprecated",
|
|
1075
|
-
"outputs": [
|
|
1076
|
-
{
|
|
1077
|
-
"internalType": "bool",
|
|
1078
|
-
"name": "",
|
|
1079
|
-
"type": "bool"
|
|
1080
|
-
}
|
|
1081
|
-
],
|
|
1082
|
-
"stateMutability": "view",
|
|
1083
|
-
"type": "function"
|
|
1084
|
-
},
|
|
1085
|
-
{
|
|
1086
|
-
"inputs": [
|
|
1087
|
-
{
|
|
1088
|
-
"internalType": "contract VToken",
|
|
1089
|
-
"name": "vToken",
|
|
1090
|
-
"type": "address"
|
|
1091
|
-
}
|
|
1092
|
-
],
|
|
1093
|
-
"name": "isMarketListed",
|
|
1094
|
-
"outputs": [
|
|
1095
|
-
{
|
|
1096
|
-
"internalType": "bool",
|
|
1097
|
-
"name": "",
|
|
1098
|
-
"type": "bool"
|
|
1099
|
-
}
|
|
1100
|
-
],
|
|
1101
|
-
"stateMutability": "view",
|
|
1102
|
-
"type": "function"
|
|
1103
|
-
},
|
|
1104
|
-
{
|
|
1105
|
-
"inputs": [
|
|
1106
|
-
{
|
|
1107
|
-
"internalType": "address",
|
|
1108
|
-
"name": "borrower",
|
|
1109
|
-
"type": "address"
|
|
1110
|
-
},
|
|
1111
|
-
{
|
|
1112
|
-
"components": [
|
|
1113
|
-
{
|
|
1114
|
-
"internalType": "contract VToken",
|
|
1115
|
-
"name": "vTokenCollateral",
|
|
1116
|
-
"type": "address"
|
|
1117
|
-
},
|
|
1118
|
-
{
|
|
1119
|
-
"internalType": "contract VToken",
|
|
1120
|
-
"name": "vTokenBorrowed",
|
|
1121
|
-
"type": "address"
|
|
1122
|
-
},
|
|
1123
|
-
{
|
|
1124
|
-
"internalType": "uint256",
|
|
1125
|
-
"name": "repayAmount",
|
|
1126
|
-
"type": "uint256"
|
|
1127
|
-
}
|
|
1128
|
-
],
|
|
1129
|
-
"internalType": "struct ComptrollerStorage.LiquidationOrder[]",
|
|
1130
|
-
"name": "orders",
|
|
1131
|
-
"type": "tuple[]"
|
|
1132
|
-
}
|
|
1133
|
-
],
|
|
1134
|
-
"name": "liquidateAccount",
|
|
1135
|
-
"outputs": [],
|
|
1136
|
-
"stateMutability": "nonpayable",
|
|
1137
|
-
"type": "function"
|
|
1138
|
-
},
|
|
1139
|
-
{
|
|
1140
|
-
"inputs": [
|
|
1141
|
-
{
|
|
1142
|
-
"internalType": "address",
|
|
1143
|
-
"name": "vTokenBorrowed",
|
|
1144
|
-
"type": "address"
|
|
1145
|
-
},
|
|
1146
|
-
{
|
|
1147
|
-
"internalType": "address",
|
|
1148
|
-
"name": "vTokenCollateral",
|
|
1149
|
-
"type": "address"
|
|
1150
|
-
},
|
|
1151
|
-
{
|
|
1152
|
-
"internalType": "uint256",
|
|
1153
|
-
"name": "actualRepayAmount",
|
|
1154
|
-
"type": "uint256"
|
|
1155
|
-
}
|
|
1156
|
-
],
|
|
1157
|
-
"name": "liquidateCalculateSeizeTokens",
|
|
1158
|
-
"outputs": [
|
|
1159
|
-
{
|
|
1160
|
-
"internalType": "uint256",
|
|
1161
|
-
"name": "error",
|
|
1162
|
-
"type": "uint256"
|
|
1163
|
-
},
|
|
1164
|
-
{
|
|
1165
|
-
"internalType": "uint256",
|
|
1166
|
-
"name": "tokensToSeize",
|
|
1167
|
-
"type": "uint256"
|
|
1168
|
-
}
|
|
1169
|
-
],
|
|
1170
|
-
"stateMutability": "view",
|
|
1171
|
-
"type": "function"
|
|
1172
|
-
},
|
|
1173
|
-
{
|
|
1174
|
-
"inputs": [],
|
|
1175
|
-
"name": "liquidationIncentiveMantissa",
|
|
1176
|
-
"outputs": [
|
|
1177
|
-
{
|
|
1178
|
-
"internalType": "uint256",
|
|
1179
|
-
"name": "",
|
|
1180
|
-
"type": "uint256"
|
|
1181
|
-
}
|
|
1182
|
-
],
|
|
1183
|
-
"stateMutability": "view",
|
|
1184
|
-
"type": "function"
|
|
1185
|
-
},
|
|
1186
|
-
{
|
|
1187
|
-
"inputs": [
|
|
1188
|
-
{
|
|
1189
|
-
"internalType": "address",
|
|
1190
|
-
"name": "",
|
|
1191
|
-
"type": "address"
|
|
1192
|
-
}
|
|
1193
|
-
],
|
|
1194
|
-
"name": "markets",
|
|
1195
|
-
"outputs": [
|
|
1196
|
-
{
|
|
1197
|
-
"internalType": "bool",
|
|
1198
|
-
"name": "isListed",
|
|
1199
|
-
"type": "bool"
|
|
1200
|
-
},
|
|
1201
|
-
{
|
|
1202
|
-
"internalType": "uint256",
|
|
1203
|
-
"name": "collateralFactorMantissa",
|
|
1204
|
-
"type": "uint256"
|
|
1205
|
-
},
|
|
1206
|
-
{
|
|
1207
|
-
"internalType": "uint256",
|
|
1208
|
-
"name": "liquidationThresholdMantissa",
|
|
1209
|
-
"type": "uint256"
|
|
1210
|
-
}
|
|
1211
|
-
],
|
|
1212
|
-
"stateMutability": "view",
|
|
1213
|
-
"type": "function"
|
|
1214
|
-
},
|
|
1215
|
-
{
|
|
1216
|
-
"inputs": [],
|
|
1217
|
-
"name": "maxLoopsLimit",
|
|
1218
|
-
"outputs": [
|
|
1219
|
-
{
|
|
1220
|
-
"internalType": "uint256",
|
|
1221
|
-
"name": "",
|
|
1222
|
-
"type": "uint256"
|
|
1223
|
-
}
|
|
1224
|
-
],
|
|
1225
|
-
"stateMutability": "view",
|
|
1226
|
-
"type": "function"
|
|
1227
|
-
},
|
|
1228
|
-
{
|
|
1229
|
-
"inputs": [
|
|
1230
|
-
{
|
|
1231
|
-
"internalType": "contract VToken",
|
|
1232
|
-
"name": "vToken",
|
|
1233
|
-
"type": "address"
|
|
1234
|
-
}
|
|
1235
|
-
],
|
|
1236
|
-
"name": "membershipLength",
|
|
1237
|
-
"outputs": [
|
|
1238
|
-
{
|
|
1239
|
-
"internalType": "uint256",
|
|
1240
|
-
"name": "",
|
|
1241
|
-
"type": "uint256"
|
|
1242
|
-
}
|
|
1243
|
-
],
|
|
1244
|
-
"stateMutability": "view",
|
|
1245
|
-
"type": "function"
|
|
1246
|
-
},
|
|
1247
|
-
{
|
|
1248
|
-
"inputs": [],
|
|
1249
|
-
"name": "minLiquidatableCollateral",
|
|
1250
|
-
"outputs": [
|
|
1251
|
-
{
|
|
1252
|
-
"internalType": "uint256",
|
|
1253
|
-
"name": "",
|
|
1254
|
-
"type": "uint256"
|
|
1255
|
-
}
|
|
1256
|
-
],
|
|
1257
|
-
"stateMutability": "view",
|
|
1258
|
-
"type": "function"
|
|
1259
|
-
},
|
|
1260
|
-
{
|
|
1261
|
-
"inputs": [],
|
|
1262
|
-
"name": "oracle",
|
|
1263
|
-
"outputs": [
|
|
1264
|
-
{
|
|
1265
|
-
"internalType": "contract ResilientOracleInterface",
|
|
1266
|
-
"name": "",
|
|
1267
|
-
"type": "address"
|
|
1268
|
-
}
|
|
1269
|
-
],
|
|
1270
|
-
"stateMutability": "view",
|
|
1271
|
-
"type": "function"
|
|
1272
|
-
},
|
|
1273
|
-
{
|
|
1274
|
-
"inputs": [],
|
|
1275
|
-
"name": "owner",
|
|
1276
|
-
"outputs": [
|
|
1277
|
-
{
|
|
1278
|
-
"internalType": "address",
|
|
1279
|
-
"name": "",
|
|
1280
|
-
"type": "address"
|
|
1281
|
-
}
|
|
1282
|
-
],
|
|
1283
|
-
"stateMutability": "view",
|
|
1284
|
-
"type": "function"
|
|
1285
|
-
},
|
|
1286
|
-
{
|
|
1287
|
-
"inputs": [],
|
|
1288
|
-
"name": "pendingOwner",
|
|
1289
|
-
"outputs": [
|
|
1290
|
-
{
|
|
1291
|
-
"internalType": "address",
|
|
1292
|
-
"name": "",
|
|
1293
|
-
"type": "address"
|
|
1294
|
-
}
|
|
1295
|
-
],
|
|
1296
|
-
"stateMutability": "view",
|
|
1297
|
-
"type": "function"
|
|
1298
|
-
},
|
|
1299
|
-
{
|
|
1300
|
-
"inputs": [],
|
|
1301
|
-
"name": "poolRegistry",
|
|
1302
|
-
"outputs": [
|
|
1303
|
-
{
|
|
1304
|
-
"internalType": "address",
|
|
1305
|
-
"name": "",
|
|
1306
|
-
"type": "address"
|
|
1307
|
-
}
|
|
1308
|
-
],
|
|
1309
|
-
"stateMutability": "view",
|
|
1310
|
-
"type": "function"
|
|
1311
|
-
},
|
|
1312
|
-
{
|
|
1313
|
-
"inputs": [
|
|
1314
|
-
{
|
|
1315
|
-
"internalType": "address",
|
|
1316
|
-
"name": "vToken",
|
|
1317
|
-
"type": "address"
|
|
1318
|
-
},
|
|
1319
|
-
{
|
|
1320
|
-
"internalType": "address",
|
|
1321
|
-
"name": "borrower",
|
|
1322
|
-
"type": "address"
|
|
1323
|
-
},
|
|
1324
|
-
{
|
|
1325
|
-
"internalType": "uint256",
|
|
1326
|
-
"name": "borrowAmount",
|
|
1327
|
-
"type": "uint256"
|
|
1328
|
-
}
|
|
1329
|
-
],
|
|
1330
|
-
"name": "preBorrowHook",
|
|
1331
|
-
"outputs": [],
|
|
1332
|
-
"stateMutability": "nonpayable",
|
|
1333
|
-
"type": "function"
|
|
1334
|
-
},
|
|
1335
|
-
{
|
|
1336
|
-
"inputs": [
|
|
1337
|
-
{
|
|
1338
|
-
"internalType": "address",
|
|
1339
|
-
"name": "vTokenBorrowed",
|
|
1340
|
-
"type": "address"
|
|
1341
|
-
},
|
|
1342
|
-
{
|
|
1343
|
-
"internalType": "address",
|
|
1344
|
-
"name": "vTokenCollateral",
|
|
1345
|
-
"type": "address"
|
|
1346
|
-
},
|
|
1347
|
-
{
|
|
1348
|
-
"internalType": "address",
|
|
1349
|
-
"name": "borrower",
|
|
1350
|
-
"type": "address"
|
|
1351
|
-
},
|
|
1352
|
-
{
|
|
1353
|
-
"internalType": "uint256",
|
|
1354
|
-
"name": "repayAmount",
|
|
1355
|
-
"type": "uint256"
|
|
1356
|
-
},
|
|
1357
|
-
{
|
|
1358
|
-
"internalType": "bool",
|
|
1359
|
-
"name": "skipLiquidityCheck",
|
|
1360
|
-
"type": "bool"
|
|
1361
|
-
}
|
|
1362
|
-
],
|
|
1363
|
-
"name": "preLiquidateHook",
|
|
1364
|
-
"outputs": [],
|
|
1365
|
-
"stateMutability": "nonpayable",
|
|
1366
|
-
"type": "function"
|
|
1367
|
-
},
|
|
1368
|
-
{
|
|
1369
|
-
"inputs": [
|
|
1370
|
-
{
|
|
1371
|
-
"internalType": "address",
|
|
1372
|
-
"name": "vToken",
|
|
1373
|
-
"type": "address"
|
|
1374
|
-
},
|
|
1375
|
-
{
|
|
1376
|
-
"internalType": "address",
|
|
1377
|
-
"name": "minter",
|
|
1378
|
-
"type": "address"
|
|
1379
|
-
},
|
|
1380
|
-
{
|
|
1381
|
-
"internalType": "uint256",
|
|
1382
|
-
"name": "mintAmount",
|
|
1383
|
-
"type": "uint256"
|
|
1384
|
-
}
|
|
1385
|
-
],
|
|
1386
|
-
"name": "preMintHook",
|
|
1387
|
-
"outputs": [],
|
|
1388
|
-
"stateMutability": "nonpayable",
|
|
1389
|
-
"type": "function"
|
|
1390
|
-
},
|
|
1391
|
-
{
|
|
1392
|
-
"inputs": [
|
|
1393
|
-
{
|
|
1394
|
-
"internalType": "address",
|
|
1395
|
-
"name": "vToken",
|
|
1396
|
-
"type": "address"
|
|
1397
|
-
},
|
|
1398
|
-
{
|
|
1399
|
-
"internalType": "address",
|
|
1400
|
-
"name": "redeemer",
|
|
1401
|
-
"type": "address"
|
|
1402
|
-
},
|
|
1403
|
-
{
|
|
1404
|
-
"internalType": "uint256",
|
|
1405
|
-
"name": "redeemTokens",
|
|
1406
|
-
"type": "uint256"
|
|
1407
|
-
}
|
|
1408
|
-
],
|
|
1409
|
-
"name": "preRedeemHook",
|
|
1410
|
-
"outputs": [],
|
|
1411
|
-
"stateMutability": "nonpayable",
|
|
1412
|
-
"type": "function"
|
|
1413
|
-
},
|
|
1414
|
-
{
|
|
1415
|
-
"inputs": [
|
|
1416
|
-
{
|
|
1417
|
-
"internalType": "address",
|
|
1418
|
-
"name": "vToken",
|
|
1419
|
-
"type": "address"
|
|
1420
|
-
},
|
|
1421
|
-
{
|
|
1422
|
-
"internalType": "address",
|
|
1423
|
-
"name": "borrower",
|
|
1424
|
-
"type": "address"
|
|
1425
|
-
}
|
|
1426
|
-
],
|
|
1427
|
-
"name": "preRepayHook",
|
|
1428
|
-
"outputs": [],
|
|
1429
|
-
"stateMutability": "nonpayable",
|
|
1430
|
-
"type": "function"
|
|
1431
|
-
},
|
|
1432
|
-
{
|
|
1433
|
-
"inputs": [
|
|
1434
|
-
{
|
|
1435
|
-
"internalType": "address",
|
|
1436
|
-
"name": "vTokenCollateral",
|
|
1437
|
-
"type": "address"
|
|
1438
|
-
},
|
|
1439
|
-
{
|
|
1440
|
-
"internalType": "address",
|
|
1441
|
-
"name": "seizerContract",
|
|
1442
|
-
"type": "address"
|
|
1443
|
-
},
|
|
1444
|
-
{
|
|
1445
|
-
"internalType": "address",
|
|
1446
|
-
"name": "liquidator",
|
|
1447
|
-
"type": "address"
|
|
1448
|
-
},
|
|
1449
|
-
{
|
|
1450
|
-
"internalType": "address",
|
|
1451
|
-
"name": "borrower",
|
|
1452
|
-
"type": "address"
|
|
1453
|
-
}
|
|
1454
|
-
],
|
|
1455
|
-
"name": "preSeizeHook",
|
|
1456
|
-
"outputs": [],
|
|
1457
|
-
"stateMutability": "nonpayable",
|
|
1458
|
-
"type": "function"
|
|
1459
|
-
},
|
|
1460
|
-
{
|
|
1461
|
-
"inputs": [
|
|
1462
|
-
{
|
|
1463
|
-
"internalType": "address",
|
|
1464
|
-
"name": "vToken",
|
|
1465
|
-
"type": "address"
|
|
1466
|
-
},
|
|
1467
|
-
{
|
|
1468
|
-
"internalType": "address",
|
|
1469
|
-
"name": "src",
|
|
1470
|
-
"type": "address"
|
|
1471
|
-
},
|
|
1472
|
-
{
|
|
1473
|
-
"internalType": "address",
|
|
1474
|
-
"name": "dst",
|
|
1475
|
-
"type": "address"
|
|
1476
|
-
},
|
|
1477
|
-
{
|
|
1478
|
-
"internalType": "uint256",
|
|
1479
|
-
"name": "transferTokens",
|
|
1480
|
-
"type": "uint256"
|
|
1481
|
-
}
|
|
1482
|
-
],
|
|
1483
|
-
"name": "preTransferHook",
|
|
1484
|
-
"outputs": [],
|
|
1485
|
-
"stateMutability": "nonpayable",
|
|
1486
|
-
"type": "function"
|
|
1487
|
-
},
|
|
1488
|
-
{
|
|
1489
|
-
"inputs": [],
|
|
1490
|
-
"name": "renounceOwnership",
|
|
1491
|
-
"outputs": [],
|
|
1492
|
-
"stateMutability": "nonpayable",
|
|
1493
|
-
"type": "function"
|
|
1494
|
-
},
|
|
1495
|
-
{
|
|
1496
|
-
"inputs": [
|
|
1497
|
-
{
|
|
1498
|
-
"internalType": "address",
|
|
1499
|
-
"name": "accessControlManager_",
|
|
1500
|
-
"type": "address"
|
|
1501
|
-
}
|
|
1502
|
-
],
|
|
1503
|
-
"name": "setAccessControlManager",
|
|
1504
|
-
"outputs": [],
|
|
1505
|
-
"stateMutability": "nonpayable",
|
|
1506
|
-
"type": "function"
|
|
1507
|
-
},
|
|
1508
|
-
{
|
|
1509
|
-
"inputs": [
|
|
1510
|
-
{
|
|
1511
|
-
"internalType": "contract VToken[]",
|
|
1512
|
-
"name": "marketsList",
|
|
1513
|
-
"type": "address[]"
|
|
1514
|
-
},
|
|
1515
|
-
{
|
|
1516
|
-
"internalType": "enum ComptrollerStorage.Action[]",
|
|
1517
|
-
"name": "actionsList",
|
|
1518
|
-
"type": "uint8[]"
|
|
1519
|
-
},
|
|
1520
|
-
{
|
|
1521
|
-
"internalType": "bool",
|
|
1522
|
-
"name": "paused",
|
|
1523
|
-
"type": "bool"
|
|
1524
|
-
}
|
|
1525
|
-
],
|
|
1526
|
-
"name": "setActionsPaused",
|
|
1527
|
-
"outputs": [],
|
|
1528
|
-
"stateMutability": "nonpayable",
|
|
1529
|
-
"type": "function"
|
|
1530
|
-
},
|
|
1531
|
-
{
|
|
1532
|
-
"inputs": [
|
|
1533
|
-
{
|
|
1534
|
-
"internalType": "uint256",
|
|
1535
|
-
"name": "number",
|
|
1536
|
-
"type": "uint256"
|
|
1537
|
-
}
|
|
1538
|
-
],
|
|
1539
|
-
"name": "setBlockNumber",
|
|
1540
|
-
"outputs": [],
|
|
1541
|
-
"stateMutability": "nonpayable",
|
|
1542
|
-
"type": "function"
|
|
1543
|
-
},
|
|
1544
|
-
{
|
|
1545
|
-
"inputs": [
|
|
1546
|
-
{
|
|
1547
|
-
"internalType": "uint256",
|
|
1548
|
-
"name": "newCloseFactorMantissa",
|
|
1549
|
-
"type": "uint256"
|
|
1550
|
-
}
|
|
1551
|
-
],
|
|
1552
|
-
"name": "setCloseFactor",
|
|
1553
|
-
"outputs": [],
|
|
1554
|
-
"stateMutability": "nonpayable",
|
|
1555
|
-
"type": "function"
|
|
1556
|
-
},
|
|
1557
|
-
{
|
|
1558
|
-
"inputs": [
|
|
1559
|
-
{
|
|
1560
|
-
"internalType": "contract VToken",
|
|
1561
|
-
"name": "vToken",
|
|
1562
|
-
"type": "address"
|
|
1563
|
-
},
|
|
1564
|
-
{
|
|
1565
|
-
"internalType": "uint256",
|
|
1566
|
-
"name": "newCollateralFactorMantissa",
|
|
1567
|
-
"type": "uint256"
|
|
1568
|
-
},
|
|
1569
|
-
{
|
|
1570
|
-
"internalType": "uint256",
|
|
1571
|
-
"name": "newLiquidationThresholdMantissa",
|
|
1572
|
-
"type": "uint256"
|
|
1573
|
-
}
|
|
1574
|
-
],
|
|
1575
|
-
"name": "setCollateralFactor",
|
|
1576
|
-
"outputs": [],
|
|
1577
|
-
"stateMutability": "nonpayable",
|
|
1578
|
-
"type": "function"
|
|
1579
|
-
},
|
|
1580
|
-
{
|
|
1581
|
-
"inputs": [
|
|
1582
|
-
{
|
|
1583
|
-
"internalType": "uint256",
|
|
1584
|
-
"name": "newLiquidationIncentiveMantissa",
|
|
1585
|
-
"type": "uint256"
|
|
1586
|
-
}
|
|
1587
|
-
],
|
|
1588
|
-
"name": "setLiquidationIncentive",
|
|
1589
|
-
"outputs": [],
|
|
1590
|
-
"stateMutability": "nonpayable",
|
|
1591
|
-
"type": "function"
|
|
1592
|
-
},
|
|
1593
|
-
{
|
|
1594
|
-
"inputs": [
|
|
1595
|
-
{
|
|
1596
|
-
"internalType": "contract VToken[]",
|
|
1597
|
-
"name": "vTokens",
|
|
1598
|
-
"type": "address[]"
|
|
1599
|
-
},
|
|
1600
|
-
{
|
|
1601
|
-
"internalType": "uint256[]",
|
|
1602
|
-
"name": "newBorrowCaps",
|
|
1603
|
-
"type": "uint256[]"
|
|
1604
|
-
}
|
|
1605
|
-
],
|
|
1606
|
-
"name": "setMarketBorrowCaps",
|
|
1607
|
-
"outputs": [],
|
|
1608
|
-
"stateMutability": "nonpayable",
|
|
1609
|
-
"type": "function"
|
|
1610
|
-
},
|
|
1611
|
-
{
|
|
1612
|
-
"inputs": [
|
|
1613
|
-
{
|
|
1614
|
-
"internalType": "contract VToken[]",
|
|
1615
|
-
"name": "vTokens",
|
|
1616
|
-
"type": "address[]"
|
|
1617
|
-
},
|
|
1618
|
-
{
|
|
1619
|
-
"internalType": "uint256[]",
|
|
1620
|
-
"name": "newSupplyCaps",
|
|
1621
|
-
"type": "uint256[]"
|
|
1622
|
-
}
|
|
1623
|
-
],
|
|
1624
|
-
"name": "setMarketSupplyCaps",
|
|
1625
|
-
"outputs": [],
|
|
1626
|
-
"stateMutability": "nonpayable",
|
|
1627
|
-
"type": "function"
|
|
1628
|
-
},
|
|
1629
|
-
{
|
|
1630
|
-
"inputs": [
|
|
1631
|
-
{
|
|
1632
|
-
"internalType": "uint256",
|
|
1633
|
-
"name": "limit",
|
|
1634
|
-
"type": "uint256"
|
|
1635
|
-
}
|
|
1636
|
-
],
|
|
1637
|
-
"name": "setMaxLoopsLimit",
|
|
1638
|
-
"outputs": [],
|
|
1639
|
-
"stateMutability": "nonpayable",
|
|
1640
|
-
"type": "function"
|
|
1641
|
-
},
|
|
1642
|
-
{
|
|
1643
|
-
"inputs": [
|
|
1644
|
-
{
|
|
1645
|
-
"internalType": "uint256",
|
|
1646
|
-
"name": "newMinLiquidatableCollateral",
|
|
1647
|
-
"type": "uint256"
|
|
1648
|
-
}
|
|
1649
|
-
],
|
|
1650
|
-
"name": "setMinLiquidatableCollateral",
|
|
1651
|
-
"outputs": [],
|
|
1652
|
-
"stateMutability": "nonpayable",
|
|
1653
|
-
"type": "function"
|
|
1654
|
-
},
|
|
1655
|
-
{
|
|
1656
|
-
"inputs": [
|
|
1657
|
-
{
|
|
1658
|
-
"internalType": "contract ResilientOracleInterface",
|
|
1659
|
-
"name": "newOracle",
|
|
1660
|
-
"type": "address"
|
|
1661
|
-
}
|
|
1662
|
-
],
|
|
1663
|
-
"name": "setPriceOracle",
|
|
1664
|
-
"outputs": [],
|
|
1665
|
-
"stateMutability": "nonpayable",
|
|
1666
|
-
"type": "function"
|
|
1667
|
-
},
|
|
1668
|
-
{
|
|
1669
|
-
"inputs": [
|
|
1670
|
-
{
|
|
1671
|
-
"internalType": "address",
|
|
1672
|
-
"name": "",
|
|
1673
|
-
"type": "address"
|
|
1674
|
-
}
|
|
1675
|
-
],
|
|
1676
|
-
"name": "supplyCaps",
|
|
1677
|
-
"outputs": [
|
|
1678
|
-
{
|
|
1679
|
-
"internalType": "uint256",
|
|
1680
|
-
"name": "",
|
|
1681
|
-
"type": "uint256"
|
|
1682
|
-
}
|
|
1683
|
-
],
|
|
1684
|
-
"stateMutability": "view",
|
|
1685
|
-
"type": "function"
|
|
1686
|
-
},
|
|
1687
|
-
{
|
|
1688
|
-
"inputs": [
|
|
1689
|
-
{
|
|
1690
|
-
"internalType": "contract VToken",
|
|
1691
|
-
"name": "vToken",
|
|
1692
|
-
"type": "address"
|
|
1693
|
-
}
|
|
1694
|
-
],
|
|
1695
|
-
"name": "supportMarket",
|
|
1696
|
-
"outputs": [],
|
|
1697
|
-
"stateMutability": "nonpayable",
|
|
1698
|
-
"type": "function"
|
|
1699
|
-
},
|
|
1700
|
-
{
|
|
1701
|
-
"inputs": [
|
|
1702
|
-
{
|
|
1703
|
-
"internalType": "address",
|
|
1704
|
-
"name": "newOwner",
|
|
1705
|
-
"type": "address"
|
|
1706
|
-
}
|
|
1707
|
-
],
|
|
1708
|
-
"name": "transferOwnership",
|
|
1709
|
-
"outputs": [],
|
|
1710
|
-
"stateMutability": "nonpayable",
|
|
1711
|
-
"type": "function"
|
|
1712
|
-
},
|
|
1713
|
-
{
|
|
1714
|
-
"inputs": [
|
|
1715
|
-
{
|
|
1716
|
-
"internalType": "contract VToken",
|
|
1717
|
-
"name": "vToken",
|
|
1718
|
-
"type": "address"
|
|
1719
|
-
}
|
|
1720
|
-
],
|
|
1721
|
-
"name": "unlist",
|
|
1722
|
-
"outputs": [],
|
|
1723
|
-
"stateMutability": "nonpayable",
|
|
1724
|
-
"type": "function"
|
|
1725
|
-
},
|
|
1726
|
-
{
|
|
1727
|
-
"inputs": [
|
|
1728
|
-
{
|
|
1729
|
-
"internalType": "address",
|
|
1730
|
-
"name": "account",
|
|
1731
|
-
"type": "address"
|
|
1732
|
-
}
|
|
1733
|
-
],
|
|
1734
|
-
"name": "updatePrices",
|
|
1735
|
-
"outputs": [],
|
|
1736
|
-
"stateMutability": "nonpayable",
|
|
1737
|
-
"type": "function"
|
|
1738
|
-
}
|
|
1739
|
-
],
|
|
1740
|
-
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162005b9a38038062005b9a83398101604081905262000034916200014e565b8062000040816200005f565b6001600160a01b038116608052620000576200008a565b5050620001d7565b6001600160a01b03811662000087576040516342bcdf7f60e11b815260040160405180910390fd5b50565b600054610100900460ff1615620000be5760405162461bcd60e51b8152600401620000b5906200017b565b60405180910390fd5b60005460ff9081161462000115576000805460ff191660ff9081179091556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498916200010c91620001c7565b60405180910390a15b565b60006001600160a01b0382165b92915050565b620001358162000117565b81146200008757600080fd5b805162000124816200012a565b600060208284031215620001655762000165600080fd5b600062000173848462000141565b949350505050565b602080825281016200012481602781527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469602082015266616c697a696e6760c81b604082015260600190565b60ff821681526020810162000124565b6080516159a0620001fa600039600081816107030152612a9a01526159a06000f3fe608060405234801561001057600080fd5b50600436106103a35760003560e01c80638e8f294b116101e9578063c488847b1161010f578063e30c3978116100ad578063eade3eed1161007c578063eade3eed14610893578063ede4edd0146108a6578063f2fde38b146108b9578063fccbe7f6146108cc57600080fd5b8063e30c397814610853578063e85a296014610864578063e875544614610877578063e89d51ad1461088057600080fd5b8063da35a26f116100e9578063da35a26f14610811578063db5c65de14610824578063dce154491461082d578063df71403b1461084057600080fd5b8063c488847b146107ca578063cab4f84c146107eb578063d136af44146107fe57600080fd5b8063afcff50f11610187578063bde3672d11610156578063bde3672d1461075e578063be26317e1461078d578063c0891ba914610797578063c2998238146107aa57600080fd5b8063afcff50f146106fe578063b0772d0b14610725578063b2068e841461072d578063b4a0bdf31461074d57600080fd5b806394543c15116101c357806394543c15146106a4578063a8431081146106b7578063a8c3c850146106ca578063abfceffc146106de57600080fd5b80638e8f294b1461063c578063921363951461067e578063929fe9a11461069157600080fd5b806352d84d1e116102ce57806361252fd11161026c5780637dc0d1d01161023b5780637dc0d1d0146105e957806380d45a2d146105fc5780638da5cb5b1461060f5780638e6470ea1461062957600080fd5b806361252fd1146105b15780636d0be88d146105c6578063715018a6146105d957806379ba5097146105e157600080fd5b806357e871e7116102a857806357e871e71461056e5780635c21b6c5146105785780635cc4fdeb1461058b5780635ec88c791461059e57600080fd5b806352d84d1e14610528578063530e784f1461054857806356aaee2d1461055b57600080fd5b80632bce219c116103465780634bca0d8c116103155780634bca0d8c146104b75780634e79238f146104e0578063520b6c7414610502578063528a174c1461051557600080fd5b80632bce219c1461044f5780633d98a1e5146104625780634a5844321461048e5780634ada90af146104ae57600080fd5b806312348e961161038257806312348e9614610403578063186db48f146104165780631bc41f281461042957806324aaa2201461043c57600080fd5b80627e3dd2146103a857806302c3bcbb146103c15780630e32cb86146103ee575b600080fd5b60015b6040516103b891906145e4565b60405180910390f35b6103e16103cf366004614622565b60d16020526000908152604090205481565b6040516103b89190614649565b6104016103fc366004614622565b6108df565b005b610401610411366004614668565b6108f3565b6104016104243660046146db565b6109cf565b610401610437366004614754565b610b26565b61040161044a3660046147cb565b610ee6565b61040161045d3660046148a5565b610fb3565b6103ab610470366004614920565b6001600160a01b0316600090815260cd602052604090205460ff1690565b6103e161049c366004614622565b60cf6020526000908152604090205481565b6103e160cb5481565b6103e16104c5366004614920565b6001600160a01b0316600090815260cc602052604090205490565b6104f36104ee366004614941565b61131a565b6040516103b893929190614999565b610401610510366004614668565b61134b565b6104f3610523366004614622565b6113a5565b61053b610536366004614668565b6113d0565b6040516103b891906149d5565b610401610556366004614920565b6113fa565b610401610569366004614920565b61145e565b6103e16101395481565b610401610586366004614622565b611732565b6104016105993660046149e3565b61184f565b6104f36105ac366004614622565b611a61565b6105b9611a73565b6040516103b89190614a90565b6104016105d4366004614aa1565b611ad5565b610401611c4e565b610401611c62565b60c95461053b906001600160a01b031681565b61040161060a366004614668565b611c97565b6033546001600160a01b03165b6040516103b89190614af1565b610401610637366004614aff565b611ca8565b61066f61064a366004614622565b60cd6020526000908152604090208054600182015460029092015460ff909116919083565b6040516103b893929190614b34565b61040161068c366004614622565b611dc1565b6103ab61069f366004614b42565b61217b565b6103ab6106b2366004614920565b6121af565b6104016106c5366004614668565b612257565b6104016106d8366004614668565b61013955565b6106f16106ec366004614622565b6122f7565b6040516103b89190614bbd565b61061c7f000000000000000000000000000000000000000000000000000000000000000081565b6106f161236d565b61074061073b366004614622565b6123cd565b6040516103b89190614c57565b6097546001600160a01b031661053b565b61040161076c366004614920565b6001600160a01b0316600090815260cd60205260409020805460ff19169055565b6103e16101075481565b6104016107a5366004614aff565b612618565b6107bd6107b8366004614d6f565b612894565b6040516103b89190614df4565b6107dd6107d8366004614aff565b61296a565b6040516103b8929190614e05565b6104016107f9366004614920565b612a95565b61040161080c3660046146db565b612c8d565b61040161081f366004614e20565b612df0565b6103e160d05481565b61053b61083b366004614e53565b612eca565b61040161084e366004614aff565b612f02565b6065546001600160a01b031661061c565b6103ab610872366004614e9e565b6132b7565b6103e160ca5481565b61040161088e366004614ed1565b61330e565b6104016108a1366004614f3c565b6134e7565b6103e16108b4366004614622565b613711565b6104016108c7366004614622565b613983565b6103e16108da366004614668565b6139f4565b6108e7613a18565b6108f081613a42565b50565b6109316040518060400160405280601781526020017f736574436c6f7365466163746f722875696e7432353629000000000000000000815250613abb565b80670c7d713b49da000010156109625760405162461bcd60e51b815260040161095990614fac565b60405180910390fd5b8066b1a2bc2ec5000011156109895760405162461bcd60e51b815260040161095990615007565b60ca8054908290556040517f3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9906109c39083908590614e05565b60405180910390a15050565b6109f06040518060600160405280602881526020016158a060289139613abb565b82818115801590610a0057508082145b610a1c5760405162461bcd60e51b81526004016109599061503e565b610a2582613b59565b60005b82811015610b1d57848482818110610a4257610a4261504e565b9050602002013560cf6000898985818110610a5f57610a5f61504e565b9050602002016020810190610a749190614920565b6001600160a01b03168152602081019190915260400160002055868682818110610aa057610aa061504e565b9050602002016020810190610ab59190614920565b6001600160a01b03167f6f1951b2aad10f3fc81b86d91105b413a5b3f847a34bbc5ce1904201b14438f6868684818110610af157610af161504e565b90506020020135604051610b059190614649565b60405180910390a2610b168161507a565b9050610a28565b50505050505050565b610b31846004613b84565b6001600160a01b038416600090815260cd60205260409020805460ff16610b6d5784604051635a9a1eb960e11b81526004016109599190614af1565b306001600160a01b03851603610c1557306001600160a01b0316856001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061509f565b6001600160a01b031614610c1057604051630c73eb0560e01b815260040160405180910390fd5b610d44565b6001600160a01b038416600090815260cd602052604090205460ff16610c505783604051635a9a1eb960e11b81526004016109599190614af1565b836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb2919061509f565b6001600160a01b0316856001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1d919061509f565b6001600160a01b031614610d4457604051630c73eb0560e01b815260040160405180910390fd5b6001600160a01b038216600090815260038201602052604090205460ff16610d83578482604051630cdfb2db60e31b81526004016109599291906150c0565b60d35460005b81811015610b1d57600060d38281548110610da657610da661504e565b60009182526020909120015460405163051d1d4f60e11b81526001600160a01b0390911691508190630a3a3a9e90610de2908b90600401614af1565b600060405180830381600087803b158015610dfc57600080fd5b505af1158015610e10573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150610e42908b9089906004016150c0565b600060405180830381600087803b158015610e5c57600080fd5b505af1158015610e70573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150610ea2908b908a906004016150c0565b600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b505050505080610edf9061507a565b9050610d89565b610f076040518060600160405280602a8152602001615919602a9139613abb565b8382610f1b610f1682846150db565b613b59565b60005b82811015610fa95760005b82811015610f9857610f88898984818110610f4657610f4661504e565b9050602002016020810190610f5b9190614920565b888884818110610f6d57610f6d61504e565b9050602002016020810190610f8291906150fa565b87613bb0565b610f918161507a565b9050610f29565b50610fa28161507a565b9050610f1e565b5050505050505050565b6000610fc184613c7d613cb1565b905060d05481600001511115610ff15760d0548151604051631a451c0f60e21b8152610959929190600401614e05565b6000611011604051806020016040528060cb548152508360400151613d00565b82519091508110611039578151604051632c1f8ef160e21b8152610959918391600401614e05565b8160a0015160000361105e5760405163095bf33360e01b815260040160405180910390fd5b8261106d610f16600283615131565b60005b818110156112365760cd600087878481811061108e5761108e61504e565b90506060020160200160208101906110a69190614920565b6001600160a01b0316815260208101919091526040016000205460ff1661110b578585828181106110d9576110d961504e565b90506060020160200160208101906110f19190614920565b604051635a9a1eb960e11b81526004016109599190614af1565b60cd60008787848181106111215761112161504e565b6111379260206060909202019081019150614920565b6001600160a01b0316815260208101919091526040016000205460ff166111805785858281811061116a5761116a61504e565b6110f19260206060909202019081019150614920565b368686838181106111935761119361504e565b90506060020190508060200160208101906111ae9190614920565b6001600160a01b0316638bbdb6db338a60408501356111d06020870187614920565b60016040518663ffffffff1660e01b81526004016111f2959493929190615145565b600060405180830381600087803b15801561120c57600080fd5b505af1158015611220573d6000803e3d6000fd5b50505050508061122f9061507a565b9050611070565b506001600160a01b038616600090815260cc60209081526040808320805482518185028101850190935280835291929091908301828280156112a157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611283575b505083519394506000925050505b8181101561130f5760006112dc8483815181106112ce576112ce61504e565b60200260200101518b613d20565b5091505080156112fe5760405162461bcd60e51b8152600401610959906151d6565b506113088161507a565b90506112af565b505050505050505050565b60008060008061132f88888888613dc7613dfb565b608081015160a09091015160009a919950975095505050505050565b61136c6040518060600160405280602581526020016158c860259139613abb565b60d08054908290556040517eb4f4f153ad7f1397564a8830fef092481e8cf6a2cd3ff04f96d10ba51200a5906109c39083908590614e05565b6000806000806113b785613dc7613cb1565b608081015160a090910151600097919650945092505050565b60ce81815481106113e057600080fd5b6000918252602090912001546001600160a01b0316905081565b611402613a18565b61140b81614030565b60c980546001600160a01b038381166001600160a01b03198316179092556040519116907fd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22906109c390839085906151e6565b611466613a18565b6001600160a01b038116600090815260d4602052604090205460ff161561149f5760405162461bcd60e51b815260040161095990615226565b60d35460005b818110156115d957600060d382815481106114c2576114c261504e565b600091825260209182902001546040805163f7c618c160e01b815290516001600160a01b039092169263f7c618c1926004808401938290030181865afa158015611510573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611534919061509f565b9050836001600160a01b031663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611574573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611598919061509f565b6001600160a01b0316816001600160a01b0316036115c85760405162461bcd60e51b81526004016109599061527e565b506115d28161507a565b90506114a5565b5060d3546115eb610f1682600161528e565b60d3805460018082019092557f915c3eb987b20e1af620c1403197bf687fb7f18513b3a73fde6e78c7072c41a60180546001600160a01b0319166001600160a01b038616908117909155600090815260d460205260408120805460ff191690921790915560ce54905b818110156116f757846001600160a01b0316632a869a4d60ce838154811061167e5761167e61504e565b6000918252602090912001546040516001600160e01b031960e084901b1681526116b4916001600160a01b031690600401614af1565b600060405180830381600087803b1580156116ce57600080fd5b505af11580156116e2573d6000803e3d6000fd5b50505050806116f09061507a565b9050611654565b506040516001600160a01b038516907f058fa9577dc29aece41d41c2d3bff2ed4e8d5085762198e8f7faab35039555da90600090a250505050565b6001600160a01b038116600090815260cc602090815260408083208054825181850281018501909352808352919290919083018282801561179c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161177e575b5050835160c954949550936001600160a01b0316925060009150505b8281101561184857816001600160a01b03166396e85ced8583815181106117e1576117e161504e565b60200260200101516040518263ffffffff1660e01b81526004016118059190614af1565b600060405180830381600087803b15801561181f57600080fd5b505af1158015611833573d6000803e3d6000fd5b50505050806118419061507a565b90506117b8565b5050505050565b6118706040518060600160405280602c81526020016158ed602c9139613abb565b6001600160a01b038316600090815260cd60205260409020805460ff166118ac5783604051635a9a1eb960e11b81526004016109599190614af1565b670c7d713b49da00008311156118d5576040516302f22cad60e61b815260040160405180910390fd5b670de0b6b3a76400008211156118fd5760405162f9474b60e61b815260040160405180910390fd5b8282101561191d5760405162f9474b60e61b815260040160405180910390fd5b821580159061199a575060c95460405163fc57d4df60e01b81526001600160a01b039091169063fc57d4df90611957908790600401614af1565b602060405180830381865afa158015611974573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199891906152b1565b155b156119b9578360405162e52a7d60e41b81526004016109599190614af1565b6001810154838114611a0957600182018490556040517f70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc590611a00908790849088906152d2565b60405180910390a15b6002820154838114611a5957600283018490556040517f9e92c7d5fef69846094f3ddcadcb9402c6ba469c461368714f1cabd8ef48b59190611a50908890849088906152d2565b60405180910390a15b505050505050565b6000806000806113b785613c7d613cb1565b606060d3805480602002602001604051908101604052809291908181526020018280548015611acb57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611aad575b5050505050905090565b611ae0846006613b84565b611aeb848483614057565b60d35460005b81811015611a5957600060d38281548110611b0e57611b0e61504e565b60009182526020909120015460405163051d1d4f60e11b81526001600160a01b0390911691508190630a3a3a9e90611b4a908a90600401614af1565b600060405180830381600087803b158015611b6457600080fd5b505af1158015611b78573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150611baa908a908a906004016150c0565b600060405180830381600087803b158015611bc457600080fd5b505af1158015611bd8573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150611c0a908a9089906004016150c0565b600060405180830381600087803b158015611c2457600080fd5b505af1158015611c38573d6000803e3d6000fd5b505050505080611c479061507a565b9050611af1565b611c56613a18565b611c6060006140fc565b565b60655433906001600160a01b03168114611c8e5760405162461bcd60e51b815260040161095990615326565b6108f0816140fc565b611c9f613a18565b6108f081614115565b611cb3836001613b84565b611cbe838383614057565b60d35460005b8181101561184857600060d38281548110611ce157611ce161504e565b60009182526020909120015460405163051d1d4f60e11b81526001600160a01b0390911691508190630a3a3a9e90611d1d908990600401614af1565b600060405180830381600087803b158015611d3757600080fd5b505af1158015611d4b573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150611d7d90899089906004016150c0565b600060405180830381600087803b158015611d9757600080fd5b505af1158015611dab573d6000803e3d6000fd5b505050505080611dba9061507a565b9050611cc4565b6001600160a01b038116600090815260cc6020908152604080832080548251818502810185019093528083529192909190830182828015611e2b57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611e0d575b5050835160c954949550933393506001600160a01b03169150600090505b83811015611f5757848181518110611e6357611e6361504e565b60200260200101516001600160a01b031663a6afed956040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611eaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ece91906152b1565b50816001600160a01b03166396e85ced868381518110611ef057611ef061504e565b60200260200101516040518263ffffffff1660e01b8152600401611f149190614af1565b600060405180830381600087803b158015611f2e57600080fd5b505af1158015611f42573d6000803e3d6000fd5b5050505080611f509061507a565b9050611e49565b50506000611f6785613c7d613cb1565b905060d05481600001511115611f975760d0548151604051631a451c0f60e21b8152610959929190600401614e05565b8060a00151600003611fbc5760405163095bf33360e01b815260040160405180910390fd5b60408051602080820183528351825282518082018452848401518152835191820190935260cb5481529091600091611ff49190614172565b9050600061200283836141ba565b90506120276040518060200160405280670de0b6b3a764000081525082519051111590565b1561204b5781518351604051631a451c0f60e21b8152610959929190600401614e05565b60005b8681101561130f57600088828151811061206a5761206a61504e565b60200260200101519050600080612081838d613d20565b509150915060006120928683613d00565b905082156120fd57836001600160a01b031663b2a02ff18b8f866040518463ffffffff1660e01b81526004016120ca93929190615336565b600060405180830381600087803b1580156120e457600080fd5b505af11580156120f8573d6000803e3d6000fd5b505050505b811561216657836001600160a01b03166344fe6ffe8b8f846040518463ffffffff1660e01b815260040161213393929190615336565b600060405180830381600087803b15801561214d57600080fd5b505af1158015612161573d6000803e3d6000fd5b505050505b50505050806121749061507a565b905061204e565b6001600160a01b03808216600090815260cd60209081526040808320938616835260039093019052205460ff165b92915050565b6001600160a01b038116600090815260cd60205260408120600101541580156121de57506121de8260026132b7565b80156121a95750670de0b6b3a7640000826001600160a01b031663173b99046040518163ffffffff1660e01b8152600401602060405180830381865afa15801561222c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225091906152b1565b1492915050565b670de0b6b3a764000081101561227f5760405162461bcd60e51b81526004016109599061539f565b6122bd6040518060400160405280602081526020017f7365744c69717569646174696f6e496e63656e746976652875696e7432353629815250613abb565b60cb8054908290556040517faeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316906109c39083908590614e05565b6001600160a01b038116600090815260cc6020908152604080832080548251818502810185019093528083526060949383018282801561236057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612342575b5093979650505050505050565b606060ce805480602002602001604051908101604052809291908181526020018280548015611acb576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311611aad575050505050905090565b60d3546060908067ffffffffffffffff8111156123ec576123ec614c68565b60405190808252806020026020018201604052801561244a57816020015b612437604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b81526020019060019003908161240a5790505b50915060005b8181101561261157600060d3828154811061246d5761246d61504e565b60009182526020808320909101546040805163f7c618c160e01b815290516001600160a01b039092169450849263f7c618c1926004808401938290030181865afa1580156124bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e3919061509f565b90506040518060600160405280826001600160a01b03168152602001836001600160a01b03166374c4c1cc896040518263ffffffff1660e01b815260040161252b9190614af1565b602060405180830381865afa158015612548573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256c91906152b1565b8152602001836001600160a01b0316637c05a7c5896040518263ffffffff1660e01b815260040161259d9190614af1565b602060405180830381865afa1580156125ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125de91906152b1565b8152508584815181106125f3576125f361504e565b602002602001018190525050508061260a9061507a565b9050612450565b5050919050565b612623836000613b84565b6001600160a01b038316600090815260cd602052604090205460ff1661265e5782604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b038316600090815260d160205260409020546000198114612791576000846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e491906152b1565b905060006040518060200160405280876001600160a01b031663182df0f56040518163ffffffff1660e01b8152600401602060405180830381865afa158015612731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275591906152b1565b9052905060006127668284876141f4565b90508381111561278d57868460405163db33be3d60e01b81526004016109599291906153af565b5050505b60d35460005b81811015611a5957600060d382815481106127b4576127b461504e565b60009182526020909120015460405163051d1d4f60e11b81526001600160a01b0390911691508190630a3a3a9e906127f0908a90600401614af1565b600060405180830381600087803b15801561280a57600080fd5b505af115801561281e573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150612850908a908a906004016150c0565b600060405180830381600087803b15801561286a57600080fd5b505af115801561287e573d6000803e3d6000fd5b50505050508061288d9061507a565b9050612797565b805133600090815260cc6020526040902054606091906128b7610f16838361528e565b60008267ffffffffffffffff8111156128d2576128d2614c68565b6040519080825280602002602001820160405280156128fb578160200160208202803683370190505b50905060005b8381101561296157600086828151811061291d5761291d61504e565b60200260200101519050612931813361421e565b60008383815181106129455761294561504e565b60209081029190910101525061295a8161507a565b9050612901565b50949350505050565b600080600061297886614311565b9050600061298586614311565b90506000866001600160a01b031663182df0f56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129eb91906152b1565b90506000612a056040518060200160405280600081525090565b60408051602080820183526000808352835180830185529081528351808301855260cb54815284519283019094528882529192612a4191614172565b9250612a69604051806020016040528088815250604051806020016040528088815250614172565b9150612a7583836141ba565b9050612a81818b613d00565b60009d909c509a5050505050505050505050565b612abe7f00000000000000000000000000000000000000000000000000000000000000006143ab565b6001600160a01b038116600090815260cd602052604090205460ff1615612afa578060405163d005ce4760e01b81526004016109599190614af1565b806001600160a01b0316633d9ea3a16040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5c91906153c8565b612b785760405162461bcd60e51b81526004016109599061541d565b6001600160a01b038116600090815260cd60205260408120805460ff19166001908117825581018290556002810191909155612bb3826143d8565b60d35460005b81811015612c505760d38181548110612bd457612bd461504e565b600091825260209091200154604051632a869a4d60e01b81526001600160a01b0390911690632a869a4d90612c0d908790600401614af1565b600060405180830381600087803b158015612c2757600080fd5b505af1158015612c3b573d6000803e3d6000fd5b5050505080612c499061507a565b9050612bb9565b507faf16ad15f9e29d5140e8e81a30a92a755aa8edff3d301053c84392b70c0d09a383604051612c8091906149d5565b60405180910390a1505050565b612cae60405180606001604052806028815260200161594360289139613abb565b826000819003612cd05760405162461bcd60e51b815260040161095990615461565b808214612cef5760405162461bcd60e51b815260040161095990615461565b612cf881613b59565b60005b81811015611a5957838382818110612d1557612d1561504e565b9050602002013560d16000888885818110612d3257612d3261504e565b9050602002016020810190612d479190614920565b6001600160a01b03168152602081019190915260400160002055858582818110612d7357612d7361504e565b9050602002016020810190612d889190614920565b6001600160a01b03167f9e0ad9cee10bdf36b7fbd38910c0bdff0f275ace679b45b922381c2723d676f8858584818110612dc457612dc461504e565b90506020020135604051612dd89190614649565b60405180910390a2612de98161507a565b9050612cfb565b600054610100900460ff1615808015612e105750600054600160ff909116105b80612e2a5750303b158015612e2a575060005460ff166001145b612e465760405162461bcd60e51b8152600401610959906154bc565b6000805460ff191660011790558015612e69576000805461ff0019166101001790555b612e7161449e565b612e7a826144cd565b612e8383614115565b8015612ec5576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890612c80906001906154e0565b505050565b60cc6020528160005260406000208181548110612ee657600080fd5b6000918252602090912001546001600160a01b03169150829050565b612f0d836002613b84565b612f1682611732565b6001600160a01b038316600090815260cd602052604090205460ff16612f515782604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b03808416600090815260cd60209081526040808320938616835260039093019052205460ff16612fb457612f8b836143ab565b33600090815260cc6020526040902054612faa90610f1690600161528e565b612fb4338361421e565b60c95460405163fc57d4df60e01b81526001600160a01b039091169063fc57d4df90612fe4908690600401614af1565b602060405180830381865afa158015613001573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061302591906152b1565b600003613046578260405162e52a7d60e41b81526004016109599190614af1565b6001600160a01b038316600090815260cf60205260409020546000198114613104576000846001600160a01b03166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130cc91906152b1565b905060006130da848361528e565b905082811115613101578583604051632e649eed60e01b81526004016109599291906153af565b50505b60006131168486600086613dc7613dfb565b60a08101519091501561313c5760405163bb55fd2760e01b815260040160405180910390fd5b60006040518060200160405280876001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ab91906152b1565b905260d35490915060005b81811015610fa957600060d382815481106131d3576131d361504e565b600091825260209091200154604051632352607960e01b81526001600160a01b0390911691508190632352607990613211908c9088906004016154ff565b600060405180830381600087803b15801561322b57600080fd5b505af115801561323f573d6000803e3d6000fd5b5050604051636a95ddef60e01b81526001600160a01b0384169250636a95ddef9150613273908c908c90899060040161551a565b600060405180830381600087803b15801561328d57600080fd5b505af11580156132a1573d6000803e3d6000fd5b5050505050806132b09061507a565b90506131b6565b6001600160a01b038216600090815260d260205260408120818360088111156132e2576132e2615542565b60088111156132f3576132f3615542565b815260208101919091526040016000205460ff169392505050565b613319856005613b84565b61332283611732565b6001600160a01b038516600090815260cd602052604090205460ff1661335d5784604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b038416600090815260cd602052604090205460ff166133985783604051635a9a1eb960e11b81526004016109599190614af1565b6040516395dd919360e01b81526000906001600160a01b038716906395dd9193906133c7908790600401614af1565b602060405180830381865afa1580156133e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061340891906152b1565b9050818061341a575061341a866121af565b1561344657808311156134405760405163e46c155960e01b815260040160405180910390fd5b50611848565b600061345485613c7d613cb1565b905060d0548160000151116134835760d0548151604051636e61bb0560e11b8152610959929190600401614e05565b8060a001516000036134a85760405163095bf33360e01b815260040160405180910390fd5b60006134c4604051806020016040528060ca5481525084613d00565b905080851115610fa95760405163e46c155960e01b815260040160405180910390fd5b6134f2826003613b84565b60c9546040516396e85ced60e01b81526001600160a01b03909116906396e85ced90613522908590600401614af1565b600060405180830381600087803b15801561353c57600080fd5b505af1158015613550573d6000803e3d6000fd5b505050506001600160a01b038216600090815260cd602052604090205460ff1661358f5781604051635a9a1eb960e11b81526004016109599190614af1565b60d35460005b8181101561370b5760006040518060200160405280866001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156135e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061360c91906152b1565b8152509050600060d383815481106136265761362661504e565b600091825260209091200154604051632352607960e01b81526001600160a01b039091169150819063235260799061366490899086906004016154ff565b600060405180830381600087803b15801561367e57600080fd5b505af1158015613692573d6000803e3d6000fd5b5050604051636a95ddef60e01b81526001600160a01b0384169250636a95ddef91506136c69089908990879060040161551a565b600060405180830381600087803b1580156136e057600080fd5b505af11580156136f4573d6000803e3d6000fd5b505050505050806137049061507a565b9050613595565b50505050565b600061371e826008613b84565b8160008061372c8333613d20565b5091509150806000146137525760405163f8a5d66d60e01b815260040160405180910390fd5b61375d853384614057565b6001600160a01b038316600090815260cd60209081526040808320338452600381019092529091205460ff166137995750600095945050505050565b3360009081526003820160209081526040808320805460ff1916905560cc82528083208054825181850281018501909352808352919290919083018282801561380b57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116137ed575b5050835193945083925060009150505b8281101561386d57876001600160a01b031684828151811061383f5761383f61504e565b60200260200101516001600160a01b03160361385d5780915061386d565b6138668161507a565b905061381b565b5081811061387d5761387d615558565b33600090815260cc602052604090208054819061389c9060019061556e565b815481106138ac576138ac61504e565b9060005260206000200160009054906101000a90046001600160a01b03168183815481106138dc576138dc61504e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508080548061391a5761391a615585565b600082815260208120820160001990810180546001600160a01b031916905590910190915560405133916001600160a01b038b16917fe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d9190a35060009998505050505050505050565b61398b613a18565b606580546001600160a01b0383166001600160a01b031990911681179091556139bc6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000816101396000828254613a09919061528e565b90915550506101395492915050565b6033546001600160a01b03163314611c605760405162461bcd60e51b8152600401610959906155cd565b6001600160a01b038116613a685760405162461bcd60e51b81526004016109599061561f565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0906109c390839085906150c0565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab90613aee903390869060040161568d565b602060405180830381865afa158015613b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b2f91906153c8565b905080613b5557333083604051634a3fa29360e01b8152600401610959939291906156ad565b5050565b610107548111156108f057610107548160405163792bfb1b60e11b8152600401610959929190614e05565b613b8e82826132b7565b15613b555781816040516313b3ccb160e31b8152600401610959929190615708565b6001600160a01b038316600090815260cd602052604090205460ff16613be85760405162461bcd60e51b815260040161095990615768565b6001600160a01b038316600090815260d2602052604081208291846008811115613c1457613c14615542565b6008811115613c2557613c25615542565b815260200190815260200160002060006101000a81548160ff0219169083151502179055507f35007a986bcd36d2f73fc7f1b73762e12eadb4406dd163194950fd3b5a6a827d838383604051612c8093929190615778565b6040805160208082018352600091829052825180820184526001600160a01b0394909416825260cd90522060020154815290565b613cea6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b613cf983600080600086613dfb565b9392505050565b600080613d0d84846144f4565b9050613d188161451c565b949350505050565b600080600080856001600160a01b031663c37f68e2866040518263ffffffff1660e01b8152600401613d529190614af1565b608060405180830381865afa158015613d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d9391906157a0565b9196509450925090508015613dbf57858560405163015e34d960e61b81526004016109599291906150c0565b509250925092565b6040805160208082018352600091829052825180820184526001600160a01b0394909416825260cd90522060010154815290565b613e346040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6001600160a01b038616600090815260cc6020908152604080832080548251818502810185019093528083529192909190830182828015613e9e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613e80575b505083519394506000925050505b81811015613fd2576000838281518110613ec857613ec861504e565b602002602001015190506000806000613ee1848e613d20565b92509250925060006040518060200160405280613efd87614311565b81525090506000613f1c60405180602001604052808581525083614172565b90506000613f36613f30888e63ffffffff16565b83614172565b9050613f4781878d602001516141f4565b60208c01528a51613f5b90839088906141f4565b8b5260408b0151613f6f90849087906141f4565b8b60400181815250508e6001600160a01b0316876001600160a01b031603613fba57613fa0818f8d606001516141f4565b60608c01819052613fb49084908f906141f4565b60608c01525b5050505050505080613fcb9061507a565b9050613eac565b50600083606001518460400151613fe9919061528e565b905080846020015111156140105760208401518190036080850152600060a0850152614024565b600060808501526020840151810360a08501525b50505095945050505050565b6001600160a01b0381166108f0576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b038316600090815260cd60205260409020805460ff166140935783604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b038316600090815260038201602052604090205460ff166140bb5750505050565b6140c483611732565b60006140d68486856000613dc7613dfb565b60a0810151909150156118485760405163bb55fd2760e01b815260040160405180910390fd5b606580546001600160a01b03191690556108f081614534565b6101075481116141375760405162461bcd60e51b815260040161095990615837565b6101078054908290556040517fc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa906109c39083908590614e05565b6040805160208101909152600081526040518060200160405280670de0b6b3a76400006141a786600001518660000151614586565b6141b19190615131565b90529392505050565b60408051602081019091526000815260405180602001604052806141b16141ed8660000151670de0b6b3a7640000614586565b8551614592565b60008061420185856144f4565b905061421561420f8261451c565b8461459e565b95945050505050565b614229826007613b84565b6001600160a01b038216600090815260cd60205260409020805460ff166142655782604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b038216600090815260038201602052604090205460ff161561428d57505050565b6001600160a01b0380831660008181526003840160209081526040808320805460ff1916600190811790915560cc835281842080549182018155845291832090910180549488166001600160a01b031990951685179055519192917f3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a59190a3505050565b60c95460405163fc57d4df60e01b815260009182916001600160a01b039091169063fc57d4df90614346908690600401614af1565b602060405180830381865afa158015614363573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061438791906152b1565b9050806000036121a9578260405162e52a7d60e41b81526004016109599190614af1565b336001600160a01b038216146108f0578033604051634e9383fb60e11b81526004016109599291906150c0565b60ce5460005b8181101561444857826001600160a01b031660ce82815481106144035761440361504e565b6000918252602090912001546001600160a01b031603614438578260405163d005ce4760e01b81526004016109599190614af1565b6144418161507a565b90506143de565b505060ce805460018101825560008290527fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a0180546001600160a01b0319166001600160a01b03841617905554613b5581613b59565b600054610100900460ff166144c55760405162461bcd60e51b81526004016109599061588f565b611c606145aa565b600054610100900460ff166108e75760405162461bcd60e51b81526004016109599061588f565b60408051602081019091526000815260405180602001604052806141b1856000015185614586565b80516000906121a990670de0b6b3a764000090615131565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000613cf982846150db565b6000613cf98284615131565b6000613cf9828461528e565b600054610100900460ff166145d15760405162461bcd60e51b81526004016109599061588f565b611c60336140fc565b8015155b82525050565b602081016121a982846145da565b60006001600160a01b0382166121a9565b61460c816145f2565b81146108f057600080fd5b80356121a981614603565b60006020828403121561463757614637600080fd5b6000613d188484614617565b806145de565b602081016121a98284614643565b8061460c565b80356121a981614657565b60006020828403121561467d5761467d600080fd5b6000613d18848461465d565b60008083601f84011261469e5761469e600080fd5b50813567ffffffffffffffff8111156146b9576146b9600080fd5b6020830191508360208202830111156146d4576146d4600080fd5b9250929050565b600080600080604085870312156146f4576146f4600080fd5b843567ffffffffffffffff81111561470e5761470e600080fd5b61471a87828801614689565b9450945050602085013567ffffffffffffffff81111561473c5761473c600080fd5b61474887828801614689565b95989497509550505050565b6000806000806080858703121561476d5761476d600080fd5b60006147798787614617565b945050602061478a87828801614617565b935050604061479b87828801614617565b92505060606147ac87828801614617565b91505092959194509250565b80151561460c565b80356121a9816147b8565b6000806000806000606086880312156147e6576147e6600080fd5b853567ffffffffffffffff81111561480057614800600080fd5b61480c88828901614689565b9550955050602086013567ffffffffffffffff81111561482e5761482e600080fd5b61483a88828901614689565b9350935050604061484d888289016147c0565b9150509295509295909350565b60008083601f84011261486f5761486f600080fd5b50813567ffffffffffffffff81111561488a5761488a600080fd5b6020830191508360608202830111156146d4576146d4600080fd5b6000806000604084860312156148bd576148bd600080fd5b60006148c98686614617565b935050602084013567ffffffffffffffff8111156148e9576148e9600080fd5b6148f58682870161485a565b92509250509250925092565b60006121a9826145f2565b61460c81614901565b80356121a98161490c565b60006020828403121561493557614935600080fd5b6000613d188484614915565b6000806000806080858703121561495a5761495a600080fd5b60006149668787614617565b945050602061497787828801614617565b93505060406149888782880161465d565b92505060606147ac8782880161465d565b606081016149a78286614643565b6149b46020830185614643565b613d186040830184614643565b60006121a982614901565b6145de816149c1565b602081016121a982846149cc565b6000806000606084860312156149fb576149fb600080fd5b6000614a078686614915565b9350506020614a188682870161465d565b9250506040614a298682870161465d565b9150509250925092565b6000614a3f83836149cc565b505060200190565b6000614a51825190565b80845260209384019383018060005b83811015614a85578151614a748882614a33565b975060208301925050600101614a60565b509495945050505050565b60208082528101613cf98184614a47565b60008060008060808587031215614aba57614aba600080fd5b6000614ac68787614617565b9450506020614ad787828801614617565b935050604061498887828801614617565b6145de816145f2565b602081016121a98284614ae8565b600080600060608486031215614b1757614b17600080fd5b6000614b238686614617565b9350506020614a1886828701614617565b606081016149a782866145da565b60008060408385031215614b5857614b58600080fd5b6000614b648585614617565b9250506020614b7585828601614915565b9150509250929050565b6000614b89825190565b80845260209384019383018060005b83811015614a85578151614bac8882614a33565b975060208301925050600101614b98565b60208082528101613cf98184614b7f565b80516060830190614bdf8482614ae8565b506020820151614bf26020850182614643565b50604082015161370b6040850182614643565b6000614c118383614bce565b505060600190565b6000614c23825190565b80845260209384019383018060005b83811015614a85578151614c468882614c05565b975060208301925050600101614c32565b60208082528101613cf98184614c19565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff82111715614ca457614ca4614c68565b6040525050565b6000614cb660405190565b9050614cc28282614c7e565b919050565b600067ffffffffffffffff821115614ce157614ce1614c68565b5060209081020190565b6000614cfe614cf984614cc7565b614cab565b83815290506020808201908402830185811115614d1d57614d1d600080fd5b835b81811015614d415780614d328882614617565b84525060209283019201614d1f565b5050509392505050565b600082601f830112614d5f57614d5f600080fd5b8135613d18848260208601614ceb565b600060208284031215614d8457614d84600080fd5b813567ffffffffffffffff811115614d9e57614d9e600080fd5b613d1884828501614d4b565b6000614a3f8383614643565b6000614dc0825190565b80845260209384019383018060005b83811015614a85578151614de38882614daa565b975060208301925050600101614dcf565b60208082528101613cf98184614db6565b60408101614e138285614643565b613cf96020830184614643565b60008060408385031215614e3657614e36600080fd5b6000614e42858561465d565b9250506020614b7585828601614617565b60008060408385031215614e6957614e69600080fd5b6000614e758585614617565b9250506020614b758582860161465d565b600981106108f057600080fd5b80356121a981614e86565b60008060408385031215614eb457614eb4600080fd5b6000614ec08585614617565b9250506020614b7585828601614e93565b600080600080600060a08688031215614eec57614eec600080fd5b6000614ef88888614617565b9550506020614f0988828901614617565b9450506040614f1a88828901614617565b9350506060614f2b8882890161465d565b925050608061484d888289016147c0565b60008060408385031215614f5257614f52600080fd5b6000614e428585614617565b602e81526000602082017f436c6f736520666163746f722067726561746572207468616e206d6178696d7581526d369031b637b9b2903330b1ba37b960911b602082015291505b5060400190565b602080825281016121a981614f5e565b602e81526000602082017f436c6f736520666163746f7220736d616c6c6572207468616e206d696e696d7581526d369031b637b9b2903330b1ba37b960911b60208201529150614fa5565b602080825281016121a981614fbc565b600d81526000602082016c1a5b9d985b1a59081a5b9c1d5d609a1b815291505b5060200190565b602080825281016121a981615017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361508d5761508d615064565b5060010190565b80516121a98161490c565b6000602082840312156150b4576150b4600080fd5b6000613d188484615094565b604081016150ce8285614ae8565b613cf96020830184614ae8565b60008160001904831182151516156150f5576150f5615064565b500290565b60006020828403121561510f5761510f600080fd5b6000613d188484614e93565b634e487b7160e01b600052601260045260246000fd5b6000826151405761514061511b565b500490565b60a081016151538288614ae8565b6151606020830187614ae8565b61516d6040830186614643565b61517a60608301856149cc565b61518760808301846145da565b9695505050505050565b602881526000602082017f4e6f6e7a65726f20626f72726f772062616c616e6365206166746572206c69718152673ab4b230ba34b7b760c11b60208201529150614fa5565b602080825281016121a981615191565b604081016151f482856149cc565b613cf960208301846149cc565b600e81526000602082016d616c72656164792065786973747360901b81529150615037565b602080825281016121a981615201565b602b81526000602082017f6469737472696275746f7220616c72656164792065786973747320776974682081526a1d1a1a5cc81c995dd85c9960aa1b60208201529150614fa5565b602080825281016121a981615236565b600082198211156152a1576152a1615064565b500190565b80516121a981614657565b6000602082840312156152c6576152c6600080fd5b6000613d1884846152a6565b606081016149a782866149cc565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150614fa5565b602080825281016121a9816152e0565b606081016153448286614ae8565b6149b46020830185614ae8565b603181526000602082017f6c69717569646174696f6e20696e63656e746976652073686f756c64206265208152700cee4cac2e8cae440e8d0c2dc4062ca627607b1b60208201529150614fa5565b602080825281016121a981615351565b60408101614e138285614ae8565b80516121a9816147b8565b6000602082840312156153dd576153dd600080fd5b6000613d1884846153bd565b601b81526000602082017f436f6d7074726f6c6c65723a20496e76616c69642076546f6b656e000000000081529150615037565b602080825281016121a9816153e9565b601981526000602082017f696e76616c6964206e756d626572206f66206d61726b6574730000000000000081529150615037565b602080825281016121a98161542d565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150614fa5565b602080825281016121a981615471565b600060ff82166121a9565b6145de816154cc565b602081016121a982846154d7565b8051602083019061370b8482614643565b6040810161550d8285614ae8565b613cf960208301846154ee565b606081016155288286614ae8565b6155356020830185614ae8565b613d1860408301846154ee565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b60008282101561558057615580615064565b500390565b634e487b7160e01b600052603160045260246000fd5b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657291019081526000615037565b602080825281016121a98161559b565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150614fa5565b602080825281016121a9816155dd565b60005b8381101561564a578181015183820152602001615632565b8381111561370b5750506000910152565b6000615665825190565b80845260208401935061567c81856020860161562f565b601f01601f19169290920192915050565b6040810161569b8285614ae8565b8181036020830152613d18818461565b565b606081016156bb8286614ae8565b6156c86020830185614ae8565b8181036040830152614215818461565b565b600981106108f0576108f0615542565b80614cc2816156da565b60006121a9826156ea565b6145de816156f4565b604081016157168285614ae8565b613cf960208301846156ff565b602881526000602082017f63616e6e6f742070617573652061206d61726b65742074686174206973206e6f8152671d081b1a5cdd195960c21b60208201529150614fa5565b602080825281016121a981615723565b6060810161578682866149cc565b61579360208301856156ff565b613d1860408301846145da565b600080600080608085870312156157b9576157b9600080fd5b60006157c587876152a6565b94505060206157d6878288016152a6565b93505060406157e7878288016152a6565b92505060606147ac878288016152a6565b602281526000602082017f436f6d7074726f6c6c65723a20496e76616c6964206d61784c6f6f70734c696d8152611a5d60f21b60208201529150614fa5565b602080825281016121a9816157f8565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150614fa5565b602080825281016121a98161584756fe7365744d61726b6574426f72726f774361707328616464726573735b5d2c75696e743235365b5d297365744d696e4c6971756964617461626c65436f6c6c61746572616c2875696e7432353629736574436f6c6c61746572616c466163746f7228616464726573732c75696e743235362c75696e7432353629736574416374696f6e7350617573656428616464726573735b5d2c75696e743235365b5d2c626f6f6c297365744d61726b6574537570706c794361707328616464726573735b5d2c75696e743235365b5d29a2646970667358221220901ea0078697453ef87bfaa66e529eb080b571f4126f885ed2dc4080eeceee0e64736f6c634300080d0033",
|
|
1741
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106103a35760003560e01c80638e8f294b116101e9578063c488847b1161010f578063e30c3978116100ad578063eade3eed1161007c578063eade3eed14610893578063ede4edd0146108a6578063f2fde38b146108b9578063fccbe7f6146108cc57600080fd5b8063e30c397814610853578063e85a296014610864578063e875544614610877578063e89d51ad1461088057600080fd5b8063da35a26f116100e9578063da35a26f14610811578063db5c65de14610824578063dce154491461082d578063df71403b1461084057600080fd5b8063c488847b146107ca578063cab4f84c146107eb578063d136af44146107fe57600080fd5b8063afcff50f11610187578063bde3672d11610156578063bde3672d1461075e578063be26317e1461078d578063c0891ba914610797578063c2998238146107aa57600080fd5b8063afcff50f146106fe578063b0772d0b14610725578063b2068e841461072d578063b4a0bdf31461074d57600080fd5b806394543c15116101c357806394543c15146106a4578063a8431081146106b7578063a8c3c850146106ca578063abfceffc146106de57600080fd5b80638e8f294b1461063c578063921363951461067e578063929fe9a11461069157600080fd5b806352d84d1e116102ce57806361252fd11161026c5780637dc0d1d01161023b5780637dc0d1d0146105e957806380d45a2d146105fc5780638da5cb5b1461060f5780638e6470ea1461062957600080fd5b806361252fd1146105b15780636d0be88d146105c6578063715018a6146105d957806379ba5097146105e157600080fd5b806357e871e7116102a857806357e871e71461056e5780635c21b6c5146105785780635cc4fdeb1461058b5780635ec88c791461059e57600080fd5b806352d84d1e14610528578063530e784f1461054857806356aaee2d1461055b57600080fd5b80632bce219c116103465780634bca0d8c116103155780634bca0d8c146104b75780634e79238f146104e0578063520b6c7414610502578063528a174c1461051557600080fd5b80632bce219c1461044f5780633d98a1e5146104625780634a5844321461048e5780634ada90af146104ae57600080fd5b806312348e961161038257806312348e9614610403578063186db48f146104165780631bc41f281461042957806324aaa2201461043c57600080fd5b80627e3dd2146103a857806302c3bcbb146103c15780630e32cb86146103ee575b600080fd5b60015b6040516103b891906145e4565b60405180910390f35b6103e16103cf366004614622565b60d16020526000908152604090205481565b6040516103b89190614649565b6104016103fc366004614622565b6108df565b005b610401610411366004614668565b6108f3565b6104016104243660046146db565b6109cf565b610401610437366004614754565b610b26565b61040161044a3660046147cb565b610ee6565b61040161045d3660046148a5565b610fb3565b6103ab610470366004614920565b6001600160a01b0316600090815260cd602052604090205460ff1690565b6103e161049c366004614622565b60cf6020526000908152604090205481565b6103e160cb5481565b6103e16104c5366004614920565b6001600160a01b0316600090815260cc602052604090205490565b6104f36104ee366004614941565b61131a565b6040516103b893929190614999565b610401610510366004614668565b61134b565b6104f3610523366004614622565b6113a5565b61053b610536366004614668565b6113d0565b6040516103b891906149d5565b610401610556366004614920565b6113fa565b610401610569366004614920565b61145e565b6103e16101395481565b610401610586366004614622565b611732565b6104016105993660046149e3565b61184f565b6104f36105ac366004614622565b611a61565b6105b9611a73565b6040516103b89190614a90565b6104016105d4366004614aa1565b611ad5565b610401611c4e565b610401611c62565b60c95461053b906001600160a01b031681565b61040161060a366004614668565b611c97565b6033546001600160a01b03165b6040516103b89190614af1565b610401610637366004614aff565b611ca8565b61066f61064a366004614622565b60cd6020526000908152604090208054600182015460029092015460ff909116919083565b6040516103b893929190614b34565b61040161068c366004614622565b611dc1565b6103ab61069f366004614b42565b61217b565b6103ab6106b2366004614920565b6121af565b6104016106c5366004614668565b612257565b6104016106d8366004614668565b61013955565b6106f16106ec366004614622565b6122f7565b6040516103b89190614bbd565b61061c7f000000000000000000000000000000000000000000000000000000000000000081565b6106f161236d565b61074061073b366004614622565b6123cd565b6040516103b89190614c57565b6097546001600160a01b031661053b565b61040161076c366004614920565b6001600160a01b0316600090815260cd60205260409020805460ff19169055565b6103e16101075481565b6104016107a5366004614aff565b612618565b6107bd6107b8366004614d6f565b612894565b6040516103b89190614df4565b6107dd6107d8366004614aff565b61296a565b6040516103b8929190614e05565b6104016107f9366004614920565b612a95565b61040161080c3660046146db565b612c8d565b61040161081f366004614e20565b612df0565b6103e160d05481565b61053b61083b366004614e53565b612eca565b61040161084e366004614aff565b612f02565b6065546001600160a01b031661061c565b6103ab610872366004614e9e565b6132b7565b6103e160ca5481565b61040161088e366004614ed1565b61330e565b6104016108a1366004614f3c565b6134e7565b6103e16108b4366004614622565b613711565b6104016108c7366004614622565b613983565b6103e16108da366004614668565b6139f4565b6108e7613a18565b6108f081613a42565b50565b6109316040518060400160405280601781526020017f736574436c6f7365466163746f722875696e7432353629000000000000000000815250613abb565b80670c7d713b49da000010156109625760405162461bcd60e51b815260040161095990614fac565b60405180910390fd5b8066b1a2bc2ec5000011156109895760405162461bcd60e51b815260040161095990615007565b60ca8054908290556040517f3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9906109c39083908590614e05565b60405180910390a15050565b6109f06040518060600160405280602881526020016158a060289139613abb565b82818115801590610a0057508082145b610a1c5760405162461bcd60e51b81526004016109599061503e565b610a2582613b59565b60005b82811015610b1d57848482818110610a4257610a4261504e565b9050602002013560cf6000898985818110610a5f57610a5f61504e565b9050602002016020810190610a749190614920565b6001600160a01b03168152602081019190915260400160002055868682818110610aa057610aa061504e565b9050602002016020810190610ab59190614920565b6001600160a01b03167f6f1951b2aad10f3fc81b86d91105b413a5b3f847a34bbc5ce1904201b14438f6868684818110610af157610af161504e565b90506020020135604051610b059190614649565b60405180910390a2610b168161507a565b9050610a28565b50505050505050565b610b31846004613b84565b6001600160a01b038416600090815260cd60205260409020805460ff16610b6d5784604051635a9a1eb960e11b81526004016109599190614af1565b306001600160a01b03851603610c1557306001600160a01b0316856001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061509f565b6001600160a01b031614610c1057604051630c73eb0560e01b815260040160405180910390fd5b610d44565b6001600160a01b038416600090815260cd602052604090205460ff16610c505783604051635a9a1eb960e11b81526004016109599190614af1565b836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb2919061509f565b6001600160a01b0316856001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1d919061509f565b6001600160a01b031614610d4457604051630c73eb0560e01b815260040160405180910390fd5b6001600160a01b038216600090815260038201602052604090205460ff16610d83578482604051630cdfb2db60e31b81526004016109599291906150c0565b60d35460005b81811015610b1d57600060d38281548110610da657610da661504e565b60009182526020909120015460405163051d1d4f60e11b81526001600160a01b0390911691508190630a3a3a9e90610de2908b90600401614af1565b600060405180830381600087803b158015610dfc57600080fd5b505af1158015610e10573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150610e42908b9089906004016150c0565b600060405180830381600087803b158015610e5c57600080fd5b505af1158015610e70573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150610ea2908b908a906004016150c0565b600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b505050505080610edf9061507a565b9050610d89565b610f076040518060600160405280602a8152602001615919602a9139613abb565b8382610f1b610f1682846150db565b613b59565b60005b82811015610fa95760005b82811015610f9857610f88898984818110610f4657610f4661504e565b9050602002016020810190610f5b9190614920565b888884818110610f6d57610f6d61504e565b9050602002016020810190610f8291906150fa565b87613bb0565b610f918161507a565b9050610f29565b50610fa28161507a565b9050610f1e565b5050505050505050565b6000610fc184613c7d613cb1565b905060d05481600001511115610ff15760d0548151604051631a451c0f60e21b8152610959929190600401614e05565b6000611011604051806020016040528060cb548152508360400151613d00565b82519091508110611039578151604051632c1f8ef160e21b8152610959918391600401614e05565b8160a0015160000361105e5760405163095bf33360e01b815260040160405180910390fd5b8261106d610f16600283615131565b60005b818110156112365760cd600087878481811061108e5761108e61504e565b90506060020160200160208101906110a69190614920565b6001600160a01b0316815260208101919091526040016000205460ff1661110b578585828181106110d9576110d961504e565b90506060020160200160208101906110f19190614920565b604051635a9a1eb960e11b81526004016109599190614af1565b60cd60008787848181106111215761112161504e565b6111379260206060909202019081019150614920565b6001600160a01b0316815260208101919091526040016000205460ff166111805785858281811061116a5761116a61504e565b6110f19260206060909202019081019150614920565b368686838181106111935761119361504e565b90506060020190508060200160208101906111ae9190614920565b6001600160a01b0316638bbdb6db338a60408501356111d06020870187614920565b60016040518663ffffffff1660e01b81526004016111f2959493929190615145565b600060405180830381600087803b15801561120c57600080fd5b505af1158015611220573d6000803e3d6000fd5b50505050508061122f9061507a565b9050611070565b506001600160a01b038616600090815260cc60209081526040808320805482518185028101850190935280835291929091908301828280156112a157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611283575b505083519394506000925050505b8181101561130f5760006112dc8483815181106112ce576112ce61504e565b60200260200101518b613d20565b5091505080156112fe5760405162461bcd60e51b8152600401610959906151d6565b506113088161507a565b90506112af565b505050505050505050565b60008060008061132f88888888613dc7613dfb565b608081015160a09091015160009a919950975095505050505050565b61136c6040518060600160405280602581526020016158c860259139613abb565b60d08054908290556040517eb4f4f153ad7f1397564a8830fef092481e8cf6a2cd3ff04f96d10ba51200a5906109c39083908590614e05565b6000806000806113b785613dc7613cb1565b608081015160a090910151600097919650945092505050565b60ce81815481106113e057600080fd5b6000918252602090912001546001600160a01b0316905081565b611402613a18565b61140b81614030565b60c980546001600160a01b038381166001600160a01b03198316179092556040519116907fd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22906109c390839085906151e6565b611466613a18565b6001600160a01b038116600090815260d4602052604090205460ff161561149f5760405162461bcd60e51b815260040161095990615226565b60d35460005b818110156115d957600060d382815481106114c2576114c261504e565b600091825260209182902001546040805163f7c618c160e01b815290516001600160a01b039092169263f7c618c1926004808401938290030181865afa158015611510573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611534919061509f565b9050836001600160a01b031663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611574573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611598919061509f565b6001600160a01b0316816001600160a01b0316036115c85760405162461bcd60e51b81526004016109599061527e565b506115d28161507a565b90506114a5565b5060d3546115eb610f1682600161528e565b60d3805460018082019092557f915c3eb987b20e1af620c1403197bf687fb7f18513b3a73fde6e78c7072c41a60180546001600160a01b0319166001600160a01b038616908117909155600090815260d460205260408120805460ff191690921790915560ce54905b818110156116f757846001600160a01b0316632a869a4d60ce838154811061167e5761167e61504e565b6000918252602090912001546040516001600160e01b031960e084901b1681526116b4916001600160a01b031690600401614af1565b600060405180830381600087803b1580156116ce57600080fd5b505af11580156116e2573d6000803e3d6000fd5b50505050806116f09061507a565b9050611654565b506040516001600160a01b038516907f058fa9577dc29aece41d41c2d3bff2ed4e8d5085762198e8f7faab35039555da90600090a250505050565b6001600160a01b038116600090815260cc602090815260408083208054825181850281018501909352808352919290919083018282801561179c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161177e575b5050835160c954949550936001600160a01b0316925060009150505b8281101561184857816001600160a01b03166396e85ced8583815181106117e1576117e161504e565b60200260200101516040518263ffffffff1660e01b81526004016118059190614af1565b600060405180830381600087803b15801561181f57600080fd5b505af1158015611833573d6000803e3d6000fd5b50505050806118419061507a565b90506117b8565b5050505050565b6118706040518060600160405280602c81526020016158ed602c9139613abb565b6001600160a01b038316600090815260cd60205260409020805460ff166118ac5783604051635a9a1eb960e11b81526004016109599190614af1565b670c7d713b49da00008311156118d5576040516302f22cad60e61b815260040160405180910390fd5b670de0b6b3a76400008211156118fd5760405162f9474b60e61b815260040160405180910390fd5b8282101561191d5760405162f9474b60e61b815260040160405180910390fd5b821580159061199a575060c95460405163fc57d4df60e01b81526001600160a01b039091169063fc57d4df90611957908790600401614af1565b602060405180830381865afa158015611974573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199891906152b1565b155b156119b9578360405162e52a7d60e41b81526004016109599190614af1565b6001810154838114611a0957600182018490556040517f70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc590611a00908790849088906152d2565b60405180910390a15b6002820154838114611a5957600283018490556040517f9e92c7d5fef69846094f3ddcadcb9402c6ba469c461368714f1cabd8ef48b59190611a50908890849088906152d2565b60405180910390a15b505050505050565b6000806000806113b785613c7d613cb1565b606060d3805480602002602001604051908101604052809291908181526020018280548015611acb57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611aad575b5050505050905090565b611ae0846006613b84565b611aeb848483614057565b60d35460005b81811015611a5957600060d38281548110611b0e57611b0e61504e565b60009182526020909120015460405163051d1d4f60e11b81526001600160a01b0390911691508190630a3a3a9e90611b4a908a90600401614af1565b600060405180830381600087803b158015611b6457600080fd5b505af1158015611b78573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150611baa908a908a906004016150c0565b600060405180830381600087803b158015611bc457600080fd5b505af1158015611bd8573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150611c0a908a9089906004016150c0565b600060405180830381600087803b158015611c2457600080fd5b505af1158015611c38573d6000803e3d6000fd5b505050505080611c479061507a565b9050611af1565b611c56613a18565b611c6060006140fc565b565b60655433906001600160a01b03168114611c8e5760405162461bcd60e51b815260040161095990615326565b6108f0816140fc565b611c9f613a18565b6108f081614115565b611cb3836001613b84565b611cbe838383614057565b60d35460005b8181101561184857600060d38281548110611ce157611ce161504e565b60009182526020909120015460405163051d1d4f60e11b81526001600160a01b0390911691508190630a3a3a9e90611d1d908990600401614af1565b600060405180830381600087803b158015611d3757600080fd5b505af1158015611d4b573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150611d7d90899089906004016150c0565b600060405180830381600087803b158015611d9757600080fd5b505af1158015611dab573d6000803e3d6000fd5b505050505080611dba9061507a565b9050611cc4565b6001600160a01b038116600090815260cc6020908152604080832080548251818502810185019093528083529192909190830182828015611e2b57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611e0d575b5050835160c954949550933393506001600160a01b03169150600090505b83811015611f5757848181518110611e6357611e6361504e565b60200260200101516001600160a01b031663a6afed956040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611eaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ece91906152b1565b50816001600160a01b03166396e85ced868381518110611ef057611ef061504e565b60200260200101516040518263ffffffff1660e01b8152600401611f149190614af1565b600060405180830381600087803b158015611f2e57600080fd5b505af1158015611f42573d6000803e3d6000fd5b5050505080611f509061507a565b9050611e49565b50506000611f6785613c7d613cb1565b905060d05481600001511115611f975760d0548151604051631a451c0f60e21b8152610959929190600401614e05565b8060a00151600003611fbc5760405163095bf33360e01b815260040160405180910390fd5b60408051602080820183528351825282518082018452848401518152835191820190935260cb5481529091600091611ff49190614172565b9050600061200283836141ba565b90506120276040518060200160405280670de0b6b3a764000081525082519051111590565b1561204b5781518351604051631a451c0f60e21b8152610959929190600401614e05565b60005b8681101561130f57600088828151811061206a5761206a61504e565b60200260200101519050600080612081838d613d20565b509150915060006120928683613d00565b905082156120fd57836001600160a01b031663b2a02ff18b8f866040518463ffffffff1660e01b81526004016120ca93929190615336565b600060405180830381600087803b1580156120e457600080fd5b505af11580156120f8573d6000803e3d6000fd5b505050505b811561216657836001600160a01b03166344fe6ffe8b8f846040518463ffffffff1660e01b815260040161213393929190615336565b600060405180830381600087803b15801561214d57600080fd5b505af1158015612161573d6000803e3d6000fd5b505050505b50505050806121749061507a565b905061204e565b6001600160a01b03808216600090815260cd60209081526040808320938616835260039093019052205460ff165b92915050565b6001600160a01b038116600090815260cd60205260408120600101541580156121de57506121de8260026132b7565b80156121a95750670de0b6b3a7640000826001600160a01b031663173b99046040518163ffffffff1660e01b8152600401602060405180830381865afa15801561222c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225091906152b1565b1492915050565b670de0b6b3a764000081101561227f5760405162461bcd60e51b81526004016109599061539f565b6122bd6040518060400160405280602081526020017f7365744c69717569646174696f6e496e63656e746976652875696e7432353629815250613abb565b60cb8054908290556040517faeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316906109c39083908590614e05565b6001600160a01b038116600090815260cc6020908152604080832080548251818502810185019093528083526060949383018282801561236057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612342575b5093979650505050505050565b606060ce805480602002602001604051908101604052809291908181526020018280548015611acb576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311611aad575050505050905090565b60d3546060908067ffffffffffffffff8111156123ec576123ec614c68565b60405190808252806020026020018201604052801561244a57816020015b612437604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b81526020019060019003908161240a5790505b50915060005b8181101561261157600060d3828154811061246d5761246d61504e565b60009182526020808320909101546040805163f7c618c160e01b815290516001600160a01b039092169450849263f7c618c1926004808401938290030181865afa1580156124bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e3919061509f565b90506040518060600160405280826001600160a01b03168152602001836001600160a01b03166374c4c1cc896040518263ffffffff1660e01b815260040161252b9190614af1565b602060405180830381865afa158015612548573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256c91906152b1565b8152602001836001600160a01b0316637c05a7c5896040518263ffffffff1660e01b815260040161259d9190614af1565b602060405180830381865afa1580156125ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125de91906152b1565b8152508584815181106125f3576125f361504e565b602002602001018190525050508061260a9061507a565b9050612450565b5050919050565b612623836000613b84565b6001600160a01b038316600090815260cd602052604090205460ff1661265e5782604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b038316600090815260d160205260409020546000198114612791576000846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e491906152b1565b905060006040518060200160405280876001600160a01b031663182df0f56040518163ffffffff1660e01b8152600401602060405180830381865afa158015612731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275591906152b1565b9052905060006127668284876141f4565b90508381111561278d57868460405163db33be3d60e01b81526004016109599291906153af565b5050505b60d35460005b81811015611a5957600060d382815481106127b4576127b461504e565b60009182526020909120015460405163051d1d4f60e11b81526001600160a01b0390911691508190630a3a3a9e906127f0908a90600401614af1565b600060405180830381600087803b15801561280a57600080fd5b505af115801561281e573d6000803e3d6000fd5b505060405163db7954fd60e01b81526001600160a01b038416925063db7954fd9150612850908a908a906004016150c0565b600060405180830381600087803b15801561286a57600080fd5b505af115801561287e573d6000803e3d6000fd5b50505050508061288d9061507a565b9050612797565b805133600090815260cc6020526040902054606091906128b7610f16838361528e565b60008267ffffffffffffffff8111156128d2576128d2614c68565b6040519080825280602002602001820160405280156128fb578160200160208202803683370190505b50905060005b8381101561296157600086828151811061291d5761291d61504e565b60200260200101519050612931813361421e565b60008383815181106129455761294561504e565b60209081029190910101525061295a8161507a565b9050612901565b50949350505050565b600080600061297886614311565b9050600061298586614311565b90506000866001600160a01b031663182df0f56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129eb91906152b1565b90506000612a056040518060200160405280600081525090565b60408051602080820183526000808352835180830185529081528351808301855260cb54815284519283019094528882529192612a4191614172565b9250612a69604051806020016040528088815250604051806020016040528088815250614172565b9150612a7583836141ba565b9050612a81818b613d00565b60009d909c509a5050505050505050505050565b612abe7f00000000000000000000000000000000000000000000000000000000000000006143ab565b6001600160a01b038116600090815260cd602052604090205460ff1615612afa578060405163d005ce4760e01b81526004016109599190614af1565b806001600160a01b0316633d9ea3a16040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5c91906153c8565b612b785760405162461bcd60e51b81526004016109599061541d565b6001600160a01b038116600090815260cd60205260408120805460ff19166001908117825581018290556002810191909155612bb3826143d8565b60d35460005b81811015612c505760d38181548110612bd457612bd461504e565b600091825260209091200154604051632a869a4d60e01b81526001600160a01b0390911690632a869a4d90612c0d908790600401614af1565b600060405180830381600087803b158015612c2757600080fd5b505af1158015612c3b573d6000803e3d6000fd5b5050505080612c499061507a565b9050612bb9565b507faf16ad15f9e29d5140e8e81a30a92a755aa8edff3d301053c84392b70c0d09a383604051612c8091906149d5565b60405180910390a1505050565b612cae60405180606001604052806028815260200161594360289139613abb565b826000819003612cd05760405162461bcd60e51b815260040161095990615461565b808214612cef5760405162461bcd60e51b815260040161095990615461565b612cf881613b59565b60005b81811015611a5957838382818110612d1557612d1561504e565b9050602002013560d16000888885818110612d3257612d3261504e565b9050602002016020810190612d479190614920565b6001600160a01b03168152602081019190915260400160002055858582818110612d7357612d7361504e565b9050602002016020810190612d889190614920565b6001600160a01b03167f9e0ad9cee10bdf36b7fbd38910c0bdff0f275ace679b45b922381c2723d676f8858584818110612dc457612dc461504e565b90506020020135604051612dd89190614649565b60405180910390a2612de98161507a565b9050612cfb565b600054610100900460ff1615808015612e105750600054600160ff909116105b80612e2a5750303b158015612e2a575060005460ff166001145b612e465760405162461bcd60e51b8152600401610959906154bc565b6000805460ff191660011790558015612e69576000805461ff0019166101001790555b612e7161449e565b612e7a826144cd565b612e8383614115565b8015612ec5576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890612c80906001906154e0565b505050565b60cc6020528160005260406000208181548110612ee657600080fd5b6000918252602090912001546001600160a01b03169150829050565b612f0d836002613b84565b612f1682611732565b6001600160a01b038316600090815260cd602052604090205460ff16612f515782604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b03808416600090815260cd60209081526040808320938616835260039093019052205460ff16612fb457612f8b836143ab565b33600090815260cc6020526040902054612faa90610f1690600161528e565b612fb4338361421e565b60c95460405163fc57d4df60e01b81526001600160a01b039091169063fc57d4df90612fe4908690600401614af1565b602060405180830381865afa158015613001573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061302591906152b1565b600003613046578260405162e52a7d60e41b81526004016109599190614af1565b6001600160a01b038316600090815260cf60205260409020546000198114613104576000846001600160a01b03166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130cc91906152b1565b905060006130da848361528e565b905082811115613101578583604051632e649eed60e01b81526004016109599291906153af565b50505b60006131168486600086613dc7613dfb565b60a08101519091501561313c5760405163bb55fd2760e01b815260040160405180910390fd5b60006040518060200160405280876001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613187573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ab91906152b1565b905260d35490915060005b81811015610fa957600060d382815481106131d3576131d361504e565b600091825260209091200154604051632352607960e01b81526001600160a01b0390911691508190632352607990613211908c9088906004016154ff565b600060405180830381600087803b15801561322b57600080fd5b505af115801561323f573d6000803e3d6000fd5b5050604051636a95ddef60e01b81526001600160a01b0384169250636a95ddef9150613273908c908c90899060040161551a565b600060405180830381600087803b15801561328d57600080fd5b505af11580156132a1573d6000803e3d6000fd5b5050505050806132b09061507a565b90506131b6565b6001600160a01b038216600090815260d260205260408120818360088111156132e2576132e2615542565b60088111156132f3576132f3615542565b815260208101919091526040016000205460ff169392505050565b613319856005613b84565b61332283611732565b6001600160a01b038516600090815260cd602052604090205460ff1661335d5784604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b038416600090815260cd602052604090205460ff166133985783604051635a9a1eb960e11b81526004016109599190614af1565b6040516395dd919360e01b81526000906001600160a01b038716906395dd9193906133c7908790600401614af1565b602060405180830381865afa1580156133e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061340891906152b1565b9050818061341a575061341a866121af565b1561344657808311156134405760405163e46c155960e01b815260040160405180910390fd5b50611848565b600061345485613c7d613cb1565b905060d0548160000151116134835760d0548151604051636e61bb0560e11b8152610959929190600401614e05565b8060a001516000036134a85760405163095bf33360e01b815260040160405180910390fd5b60006134c4604051806020016040528060ca5481525084613d00565b905080851115610fa95760405163e46c155960e01b815260040160405180910390fd5b6134f2826003613b84565b60c9546040516396e85ced60e01b81526001600160a01b03909116906396e85ced90613522908590600401614af1565b600060405180830381600087803b15801561353c57600080fd5b505af1158015613550573d6000803e3d6000fd5b505050506001600160a01b038216600090815260cd602052604090205460ff1661358f5781604051635a9a1eb960e11b81526004016109599190614af1565b60d35460005b8181101561370b5760006040518060200160405280866001600160a01b031663aa5af0fd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156135e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061360c91906152b1565b8152509050600060d383815481106136265761362661504e565b600091825260209091200154604051632352607960e01b81526001600160a01b039091169150819063235260799061366490899086906004016154ff565b600060405180830381600087803b15801561367e57600080fd5b505af1158015613692573d6000803e3d6000fd5b5050604051636a95ddef60e01b81526001600160a01b0384169250636a95ddef91506136c69089908990879060040161551a565b600060405180830381600087803b1580156136e057600080fd5b505af11580156136f4573d6000803e3d6000fd5b505050505050806137049061507a565b9050613595565b50505050565b600061371e826008613b84565b8160008061372c8333613d20565b5091509150806000146137525760405163f8a5d66d60e01b815260040160405180910390fd5b61375d853384614057565b6001600160a01b038316600090815260cd60209081526040808320338452600381019092529091205460ff166137995750600095945050505050565b3360009081526003820160209081526040808320805460ff1916905560cc82528083208054825181850281018501909352808352919290919083018282801561380b57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116137ed575b5050835193945083925060009150505b8281101561386d57876001600160a01b031684828151811061383f5761383f61504e565b60200260200101516001600160a01b03160361385d5780915061386d565b6138668161507a565b905061381b565b5081811061387d5761387d615558565b33600090815260cc602052604090208054819061389c9060019061556e565b815481106138ac576138ac61504e565b9060005260206000200160009054906101000a90046001600160a01b03168183815481106138dc576138dc61504e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508080548061391a5761391a615585565b600082815260208120820160001990810180546001600160a01b031916905590910190915560405133916001600160a01b038b16917fe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d9190a35060009998505050505050505050565b61398b613a18565b606580546001600160a01b0383166001600160a01b031990911681179091556139bc6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000816101396000828254613a09919061528e565b90915550506101395492915050565b6033546001600160a01b03163314611c605760405162461bcd60e51b8152600401610959906155cd565b6001600160a01b038116613a685760405162461bcd60e51b81526004016109599061561f565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0906109c390839085906150c0565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab90613aee903390869060040161568d565b602060405180830381865afa158015613b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b2f91906153c8565b905080613b5557333083604051634a3fa29360e01b8152600401610959939291906156ad565b5050565b610107548111156108f057610107548160405163792bfb1b60e11b8152600401610959929190614e05565b613b8e82826132b7565b15613b555781816040516313b3ccb160e31b8152600401610959929190615708565b6001600160a01b038316600090815260cd602052604090205460ff16613be85760405162461bcd60e51b815260040161095990615768565b6001600160a01b038316600090815260d2602052604081208291846008811115613c1457613c14615542565b6008811115613c2557613c25615542565b815260200190815260200160002060006101000a81548160ff0219169083151502179055507f35007a986bcd36d2f73fc7f1b73762e12eadb4406dd163194950fd3b5a6a827d838383604051612c8093929190615778565b6040805160208082018352600091829052825180820184526001600160a01b0394909416825260cd90522060020154815290565b613cea6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b613cf983600080600086613dfb565b9392505050565b600080613d0d84846144f4565b9050613d188161451c565b949350505050565b600080600080856001600160a01b031663c37f68e2866040518263ffffffff1660e01b8152600401613d529190614af1565b608060405180830381865afa158015613d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d9391906157a0565b9196509450925090508015613dbf57858560405163015e34d960e61b81526004016109599291906150c0565b509250925092565b6040805160208082018352600091829052825180820184526001600160a01b0394909416825260cd90522060010154815290565b613e346040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6001600160a01b038616600090815260cc6020908152604080832080548251818502810185019093528083529192909190830182828015613e9e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613e80575b505083519394506000925050505b81811015613fd2576000838281518110613ec857613ec861504e565b602002602001015190506000806000613ee1848e613d20565b92509250925060006040518060200160405280613efd87614311565b81525090506000613f1c60405180602001604052808581525083614172565b90506000613f36613f30888e63ffffffff16565b83614172565b9050613f4781878d602001516141f4565b60208c01528a51613f5b90839088906141f4565b8b5260408b0151613f6f90849087906141f4565b8b60400181815250508e6001600160a01b0316876001600160a01b031603613fba57613fa0818f8d606001516141f4565b60608c01819052613fb49084908f906141f4565b60608c01525b5050505050505080613fcb9061507a565b9050613eac565b50600083606001518460400151613fe9919061528e565b905080846020015111156140105760208401518190036080850152600060a0850152614024565b600060808501526020840151810360a08501525b50505095945050505050565b6001600160a01b0381166108f0576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b038316600090815260cd60205260409020805460ff166140935783604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b038316600090815260038201602052604090205460ff166140bb5750505050565b6140c483611732565b60006140d68486856000613dc7613dfb565b60a0810151909150156118485760405163bb55fd2760e01b815260040160405180910390fd5b606580546001600160a01b03191690556108f081614534565b6101075481116141375760405162461bcd60e51b815260040161095990615837565b6101078054908290556040517fc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa906109c39083908590614e05565b6040805160208101909152600081526040518060200160405280670de0b6b3a76400006141a786600001518660000151614586565b6141b19190615131565b90529392505050565b60408051602081019091526000815260405180602001604052806141b16141ed8660000151670de0b6b3a7640000614586565b8551614592565b60008061420185856144f4565b905061421561420f8261451c565b8461459e565b95945050505050565b614229826007613b84565b6001600160a01b038216600090815260cd60205260409020805460ff166142655782604051635a9a1eb960e11b81526004016109599190614af1565b6001600160a01b038216600090815260038201602052604090205460ff161561428d57505050565b6001600160a01b0380831660008181526003840160209081526040808320805460ff1916600190811790915560cc835281842080549182018155845291832090910180549488166001600160a01b031990951685179055519192917f3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a59190a3505050565b60c95460405163fc57d4df60e01b815260009182916001600160a01b039091169063fc57d4df90614346908690600401614af1565b602060405180830381865afa158015614363573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061438791906152b1565b9050806000036121a9578260405162e52a7d60e41b81526004016109599190614af1565b336001600160a01b038216146108f0578033604051634e9383fb60e11b81526004016109599291906150c0565b60ce5460005b8181101561444857826001600160a01b031660ce82815481106144035761440361504e565b6000918252602090912001546001600160a01b031603614438578260405163d005ce4760e01b81526004016109599190614af1565b6144418161507a565b90506143de565b505060ce805460018101825560008290527fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a0180546001600160a01b0319166001600160a01b03841617905554613b5581613b59565b600054610100900460ff166144c55760405162461bcd60e51b81526004016109599061588f565b611c606145aa565b600054610100900460ff166108e75760405162461bcd60e51b81526004016109599061588f565b60408051602081019091526000815260405180602001604052806141b1856000015185614586565b80516000906121a990670de0b6b3a764000090615131565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000613cf982846150db565b6000613cf98284615131565b6000613cf9828461528e565b600054610100900460ff166145d15760405162461bcd60e51b81526004016109599061588f565b611c60336140fc565b8015155b82525050565b602081016121a982846145da565b60006001600160a01b0382166121a9565b61460c816145f2565b81146108f057600080fd5b80356121a981614603565b60006020828403121561463757614637600080fd5b6000613d188484614617565b806145de565b602081016121a98284614643565b8061460c565b80356121a981614657565b60006020828403121561467d5761467d600080fd5b6000613d18848461465d565b60008083601f84011261469e5761469e600080fd5b50813567ffffffffffffffff8111156146b9576146b9600080fd5b6020830191508360208202830111156146d4576146d4600080fd5b9250929050565b600080600080604085870312156146f4576146f4600080fd5b843567ffffffffffffffff81111561470e5761470e600080fd5b61471a87828801614689565b9450945050602085013567ffffffffffffffff81111561473c5761473c600080fd5b61474887828801614689565b95989497509550505050565b6000806000806080858703121561476d5761476d600080fd5b60006147798787614617565b945050602061478a87828801614617565b935050604061479b87828801614617565b92505060606147ac87828801614617565b91505092959194509250565b80151561460c565b80356121a9816147b8565b6000806000806000606086880312156147e6576147e6600080fd5b853567ffffffffffffffff81111561480057614800600080fd5b61480c88828901614689565b9550955050602086013567ffffffffffffffff81111561482e5761482e600080fd5b61483a88828901614689565b9350935050604061484d888289016147c0565b9150509295509295909350565b60008083601f84011261486f5761486f600080fd5b50813567ffffffffffffffff81111561488a5761488a600080fd5b6020830191508360608202830111156146d4576146d4600080fd5b6000806000604084860312156148bd576148bd600080fd5b60006148c98686614617565b935050602084013567ffffffffffffffff8111156148e9576148e9600080fd5b6148f58682870161485a565b92509250509250925092565b60006121a9826145f2565b61460c81614901565b80356121a98161490c565b60006020828403121561493557614935600080fd5b6000613d188484614915565b6000806000806080858703121561495a5761495a600080fd5b60006149668787614617565b945050602061497787828801614617565b93505060406149888782880161465d565b92505060606147ac8782880161465d565b606081016149a78286614643565b6149b46020830185614643565b613d186040830184614643565b60006121a982614901565b6145de816149c1565b602081016121a982846149cc565b6000806000606084860312156149fb576149fb600080fd5b6000614a078686614915565b9350506020614a188682870161465d565b9250506040614a298682870161465d565b9150509250925092565b6000614a3f83836149cc565b505060200190565b6000614a51825190565b80845260209384019383018060005b83811015614a85578151614a748882614a33565b975060208301925050600101614a60565b509495945050505050565b60208082528101613cf98184614a47565b60008060008060808587031215614aba57614aba600080fd5b6000614ac68787614617565b9450506020614ad787828801614617565b935050604061498887828801614617565b6145de816145f2565b602081016121a98284614ae8565b600080600060608486031215614b1757614b17600080fd5b6000614b238686614617565b9350506020614a1886828701614617565b606081016149a782866145da565b60008060408385031215614b5857614b58600080fd5b6000614b648585614617565b9250506020614b7585828601614915565b9150509250929050565b6000614b89825190565b80845260209384019383018060005b83811015614a85578151614bac8882614a33565b975060208301925050600101614b98565b60208082528101613cf98184614b7f565b80516060830190614bdf8482614ae8565b506020820151614bf26020850182614643565b50604082015161370b6040850182614643565b6000614c118383614bce565b505060600190565b6000614c23825190565b80845260209384019383018060005b83811015614a85578151614c468882614c05565b975060208301925050600101614c32565b60208082528101613cf98184614c19565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff82111715614ca457614ca4614c68565b6040525050565b6000614cb660405190565b9050614cc28282614c7e565b919050565b600067ffffffffffffffff821115614ce157614ce1614c68565b5060209081020190565b6000614cfe614cf984614cc7565b614cab565b83815290506020808201908402830185811115614d1d57614d1d600080fd5b835b81811015614d415780614d328882614617565b84525060209283019201614d1f565b5050509392505050565b600082601f830112614d5f57614d5f600080fd5b8135613d18848260208601614ceb565b600060208284031215614d8457614d84600080fd5b813567ffffffffffffffff811115614d9e57614d9e600080fd5b613d1884828501614d4b565b6000614a3f8383614643565b6000614dc0825190565b80845260209384019383018060005b83811015614a85578151614de38882614daa565b975060208301925050600101614dcf565b60208082528101613cf98184614db6565b60408101614e138285614643565b613cf96020830184614643565b60008060408385031215614e3657614e36600080fd5b6000614e42858561465d565b9250506020614b7585828601614617565b60008060408385031215614e6957614e69600080fd5b6000614e758585614617565b9250506020614b758582860161465d565b600981106108f057600080fd5b80356121a981614e86565b60008060408385031215614eb457614eb4600080fd5b6000614ec08585614617565b9250506020614b7585828601614e93565b600080600080600060a08688031215614eec57614eec600080fd5b6000614ef88888614617565b9550506020614f0988828901614617565b9450506040614f1a88828901614617565b9350506060614f2b8882890161465d565b925050608061484d888289016147c0565b60008060408385031215614f5257614f52600080fd5b6000614e428585614617565b602e81526000602082017f436c6f736520666163746f722067726561746572207468616e206d6178696d7581526d369031b637b9b2903330b1ba37b960911b602082015291505b5060400190565b602080825281016121a981614f5e565b602e81526000602082017f436c6f736520666163746f7220736d616c6c6572207468616e206d696e696d7581526d369031b637b9b2903330b1ba37b960911b60208201529150614fa5565b602080825281016121a981614fbc565b600d81526000602082016c1a5b9d985b1a59081a5b9c1d5d609a1b815291505b5060200190565b602080825281016121a981615017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361508d5761508d615064565b5060010190565b80516121a98161490c565b6000602082840312156150b4576150b4600080fd5b6000613d188484615094565b604081016150ce8285614ae8565b613cf96020830184614ae8565b60008160001904831182151516156150f5576150f5615064565b500290565b60006020828403121561510f5761510f600080fd5b6000613d188484614e93565b634e487b7160e01b600052601260045260246000fd5b6000826151405761514061511b565b500490565b60a081016151538288614ae8565b6151606020830187614ae8565b61516d6040830186614643565b61517a60608301856149cc565b61518760808301846145da565b9695505050505050565b602881526000602082017f4e6f6e7a65726f20626f72726f772062616c616e6365206166746572206c69718152673ab4b230ba34b7b760c11b60208201529150614fa5565b602080825281016121a981615191565b604081016151f482856149cc565b613cf960208301846149cc565b600e81526000602082016d616c72656164792065786973747360901b81529150615037565b602080825281016121a981615201565b602b81526000602082017f6469737472696275746f7220616c72656164792065786973747320776974682081526a1d1a1a5cc81c995dd85c9960aa1b60208201529150614fa5565b602080825281016121a981615236565b600082198211156152a1576152a1615064565b500190565b80516121a981614657565b6000602082840312156152c6576152c6600080fd5b6000613d1884846152a6565b606081016149a782866149cc565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150614fa5565b602080825281016121a9816152e0565b606081016153448286614ae8565b6149b46020830185614ae8565b603181526000602082017f6c69717569646174696f6e20696e63656e746976652073686f756c64206265208152700cee4cac2e8cae440e8d0c2dc4062ca627607b1b60208201529150614fa5565b602080825281016121a981615351565b60408101614e138285614ae8565b80516121a9816147b8565b6000602082840312156153dd576153dd600080fd5b6000613d1884846153bd565b601b81526000602082017f436f6d7074726f6c6c65723a20496e76616c69642076546f6b656e000000000081529150615037565b602080825281016121a9816153e9565b601981526000602082017f696e76616c6964206e756d626572206f66206d61726b6574730000000000000081529150615037565b602080825281016121a98161542d565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150614fa5565b602080825281016121a981615471565b600060ff82166121a9565b6145de816154cc565b602081016121a982846154d7565b8051602083019061370b8482614643565b6040810161550d8285614ae8565b613cf960208301846154ee565b606081016155288286614ae8565b6155356020830185614ae8565b613d1860408301846154ee565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b60008282101561558057615580615064565b500390565b634e487b7160e01b600052603160045260246000fd5b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657291019081526000615037565b602080825281016121a98161559b565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150614fa5565b602080825281016121a9816155dd565b60005b8381101561564a578181015183820152602001615632565b8381111561370b5750506000910152565b6000615665825190565b80845260208401935061567c81856020860161562f565b601f01601f19169290920192915050565b6040810161569b8285614ae8565b8181036020830152613d18818461565b565b606081016156bb8286614ae8565b6156c86020830185614ae8565b8181036040830152614215818461565b565b600981106108f0576108f0615542565b80614cc2816156da565b60006121a9826156ea565b6145de816156f4565b604081016157168285614ae8565b613cf960208301846156ff565b602881526000602082017f63616e6e6f742070617573652061206d61726b65742074686174206973206e6f8152671d081b1a5cdd195960c21b60208201529150614fa5565b602080825281016121a981615723565b6060810161578682866149cc565b61579360208301856156ff565b613d1860408301846145da565b600080600080608085870312156157b9576157b9600080fd5b60006157c587876152a6565b94505060206157d6878288016152a6565b93505060406157e7878288016152a6565b92505060606147ac878288016152a6565b602281526000602082017f436f6d7074726f6c6c65723a20496e76616c6964206d61784c6f6f70734c696d8152611a5d60f21b60208201529150614fa5565b602080825281016121a9816157f8565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150614fa5565b602080825281016121a98161584756fe7365744d61726b6574426f72726f774361707328616464726573735b5d2c75696e743235365b5d297365744d696e4c6971756964617461626c65436f6c6c61746572616c2875696e7432353629736574436f6c6c61746572616c466163746f7228616464726573732c75696e743235362c75696e7432353629736574416374696f6e7350617573656428616464726573735b5d2c75696e743235365b5d2c626f6f6c297365744d61726b6574537570706c794361707328616464726573735b5d2c75696e743235365b5d29a2646970667358221220901ea0078697453ef87bfaa66e529eb080b571f4126f885ed2dc4080eeceee0e64736f6c634300080d0033",
|
|
1742
|
-
"linkReferences": {},
|
|
1743
|
-
"deployedLinkReferences": {}
|
|
1744
|
-
}
|