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