@venusprotocol/isolated-pools 1.0.0-dev.8 → 1.0.0-dev.9

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