@raac/rpc 1.1.0-beta.2 → 1.1.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.dbg.json +4 -0
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +1688 -1688
  3. package/dist/artifacts/core/collectors/Treasury.sol/Treasury.dbg.json +4 -0
  4. package/dist/artifacts/core/collectors/Treasury.sol/Treasury.json +481 -0
  5. package/dist/artifacts/core/governance/boost/BoostController.sol/BoostController.dbg.json +4 -0
  6. package/dist/artifacts/core/governance/boost/BoostController.sol/BoostController.json +905 -0
  7. package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.dbg.json +4 -0
  8. package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +1398 -0
  9. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.dbg.json +4 -0
  10. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +1435 -0
  11. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.dbg.json +4 -0
  12. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +1471 -0
  13. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.dbg.json +4 -0
  14. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +1471 -0
  15. package/dist/artifacts/core/governance/proposals/Governance.sol/Governance.dbg.json +4 -0
  16. package/dist/artifacts/core/governance/proposals/Governance.sol/Governance.json +1242 -0
  17. package/dist/artifacts/core/governance/proposals/TimelockController.sol/TimelockController.dbg.json +4 -0
  18. package/dist/artifacts/core/governance/proposals/TimelockController.sol/TimelockController.json +988 -0
  19. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.dbg.json +4 -0
  20. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +1418 -1418
  21. package/dist/artifacts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.sol/RAACReleaseOrchestrator.dbg.json +4 -0
  22. package/dist/artifacts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.sol/RAACReleaseOrchestrator.json +860 -0
  23. package/dist/artifacts/core/oracles/BaseChainlinkFunctionsOracle.sol/BaseChainlinkFunctionsOracle.dbg.json +4 -0
  24. package/dist/artifacts/core/oracles/BaseChainlinkFunctionsOracle.sol/BaseChainlinkFunctionsOracle.json +264 -0
  25. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.dbg.json +4 -0
  26. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +247 -247
  27. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.dbg.json +4 -0
  28. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +335 -0
  29. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.dbg.json +4 -0
  30. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +350 -0
  31. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.dbg.json +4 -0
  32. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +2699 -2699
  33. package/dist/artifacts/core/pools/StabilityPool/NFTLiquidator.sol/NFTLiquidator.dbg.json +4 -0
  34. package/dist/artifacts/core/pools/StabilityPool/NFTLiquidator.sol/NFTLiquidator.json +485 -0
  35. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.dbg.json +4 -0
  36. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +1107 -1107
  37. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.dbg.json +4 -0
  38. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +259 -259
  39. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.dbg.json +4 -0
  40. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +856 -856
  41. package/dist/artifacts/core/tokens/DebtToken.sol/DebtToken.dbg.json +4 -0
  42. package/dist/artifacts/core/tokens/DebtToken.sol/DebtToken.json +953 -0
  43. package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.dbg.json +4 -0
  44. package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.json +710 -710
  45. package/dist/artifacts/core/tokens/LPToken.sol/LPToken.dbg.json +4 -0
  46. package/dist/artifacts/core/tokens/LPToken.sol/LPToken.json +507 -0
  47. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.dbg.json +4 -0
  48. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +1391 -1391
  49. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.dbg.json +4 -0
  50. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +796 -796
  51. package/dist/artifacts/core/tokens/RToken.sol/RToken.dbg.json +4 -0
  52. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +1084 -1084
  53. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.dbg.json +4 -0
  54. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +1555 -1555
  55. package/dist/artifacts/interfaces/IERC20.sol/IERC20.dbg.json +4 -0
  56. package/dist/artifacts/interfaces/IERC20.sol/IERC20.json +194 -0
  57. package/dist/artifacts/interfaces/IHousePrices.sol/IHousePrices.dbg.json +4 -0
  58. package/dist/artifacts/interfaces/IHousePrices.sol/IHousePrices.json +30 -0
  59. package/dist/artifacts/interfaces/INFTLiquidator.sol/INFTLiquidator.dbg.json +4 -0
  60. package/dist/artifacts/interfaces/INFTLiquidator.sol/INFTLiquidator.json +86 -0
  61. package/dist/artifacts/interfaces/IPoolManager.sol/IPoolManager.dbg.json +4 -0
  62. package/dist/artifacts/interfaces/IPoolManager.sol/IPoolManager.json +57 -0
  63. package/dist/artifacts/interfaces/IReserveAllocationLibraryMock.sol/IReserveAllocationLibraryMock.dbg.json +4 -0
  64. package/dist/artifacts/interfaces/IReserveAllocationLibraryMock.sol/IReserveAllocationLibraryMock.json +246 -0
  65. package/dist/artifacts/interfaces/IUSDC.sol/IUSDC.dbg.json +4 -0
  66. package/dist/artifacts/interfaces/IUSDC.sol/IUSDC.json +194 -0
  67. package/dist/artifacts/interfaces/IveRAACDistributor.sol/IveRAACDistributor.dbg.json +4 -0
  68. package/dist/artifacts/interfaces/IveRAACDistributor.sol/IveRAACDistributor.json +100 -0
  69. package/dist/artifacts/interfaces/core/collectors/IBaseCollector.sol/IBaseCollector.dbg.json +4 -0
  70. package/dist/artifacts/interfaces/core/collectors/IBaseCollector.sol/IBaseCollector.json +45 -0
  71. package/dist/artifacts/interfaces/core/collectors/IFeeCollector.sol/IFeeCollector.dbg.json +4 -0
  72. package/dist/artifacts/interfaces/core/collectors/IFeeCollector.sol/IFeeCollector.json +922 -0
  73. package/dist/artifacts/interfaces/core/collectors/ITreasury.sol/ITreasury.dbg.json +4 -0
  74. package/dist/artifacts/interfaces/core/collectors/ITreasury.sol/ITreasury.json +214 -0
  75. package/dist/artifacts/interfaces/core/governance/IBoostController.sol/IBoostController.dbg.json +4 -0
  76. package/dist/artifacts/interfaces/core/governance/IBoostController.sol/IBoostController.json +378 -0
  77. package/dist/artifacts/interfaces/core/governance/gauges/IGauge.sol/IGauge.dbg.json +4 -0
  78. package/dist/artifacts/interfaces/core/governance/gauges/IGauge.sol/IGauge.json +394 -0
  79. package/dist/artifacts/interfaces/core/governance/gauges/IGaugeController.sol/IGaugeController.dbg.json +4 -0
  80. package/dist/artifacts/interfaces/core/governance/gauges/IGaugeController.sol/IGaugeController.json +577 -0
  81. package/dist/artifacts/interfaces/core/governance/proposals/IGovernance.sol/IGovernance.dbg.json +4 -0
  82. package/dist/artifacts/interfaces/core/governance/proposals/IGovernance.sol/IGovernance.json +1134 -0
  83. package/dist/artifacts/interfaces/core/governance/proposals/ITimelockController.sol/ITimelockController.dbg.json +4 -0
  84. package/dist/artifacts/interfaces/core/governance/proposals/ITimelockController.sol/ITimelockController.json +612 -0
  85. package/dist/artifacts/interfaces/core/minters/RAACMinter/IRAACMinter.sol/IRAACMinter.dbg.json +4 -0
  86. package/dist/artifacts/interfaces/core/minters/RAACMinter/IRAACMinter.sol/IRAACMinter.json +542 -0
  87. package/dist/artifacts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.sol/IReleaseOrchestrator.dbg.json +4 -0
  88. package/dist/artifacts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.sol/IReleaseOrchestrator.json +358 -0
  89. package/dist/artifacts/interfaces/core/oracles/IBaseVRFv2Consumer.sol/IBaseVRFv2Consumer.dbg.json +4 -0
  90. package/dist/artifacts/interfaces/core/oracles/IBaseVRFv2Consumer.sol/IBaseVRFv2Consumer.json +102 -0
  91. package/dist/artifacts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices.dbg.json +4 -0
  92. package/dist/artifacts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices.json +193 -0
  93. package/dist/artifacts/interfaces/core/pools/ILiquidityPool.sol/ILiquidityPool.dbg.json +4 -0
  94. package/dist/artifacts/interfaces/core/pools/ILiquidityPool.sol/ILiquidityPool.json +310 -0
  95. package/dist/artifacts/interfaces/core/pools/LendingPool/ILendingPool.sol/ILendingPool.dbg.json +4 -0
  96. package/dist/artifacts/interfaces/core/pools/LendingPool/ILendingPool.sol/ILendingPool.json +1538 -0
  97. package/dist/artifacts/interfaces/core/pools/StabilityPool/IStabilityPool.sol/IStabilityPool.dbg.json +4 -0
  98. package/dist/artifacts/interfaces/core/pools/StabilityPool/IStabilityPool.sol/IStabilityPool.json +622 -0
  99. package/dist/artifacts/interfaces/core/tokens/IDEToken.sol/IDEToken.dbg.json +4 -0
  100. package/dist/artifacts/interfaces/core/tokens/IDEToken.sol/IDEToken.json +333 -0
  101. package/dist/artifacts/interfaces/core/tokens/IDebtToken.sol/IDebtToken.dbg.json +4 -0
  102. package/dist/artifacts/interfaces/core/tokens/IDebtToken.sol/IDebtToken.json +507 -0
  103. package/dist/artifacts/interfaces/core/tokens/IIndexToken.sol/IIndexToken.dbg.json +4 -0
  104. package/dist/artifacts/interfaces/core/tokens/IIndexToken.sol/IIndexToken.json +299 -0
  105. package/dist/artifacts/interfaces/core/tokens/IRAACNFT.sol/IRAACNFT.dbg.json +4 -0
  106. package/dist/artifacts/interfaces/core/tokens/IRAACNFT.sol/IRAACNFT.json +816 -0
  107. package/dist/artifacts/interfaces/core/tokens/IRAACToken.sol/IRAACToken.dbg.json +4 -0
  108. package/dist/artifacts/interfaces/core/tokens/IRAACToken.sol/IRAACToken.json +567 -0
  109. package/dist/artifacts/interfaces/core/tokens/IRToken.sol/IRToken.dbg.json +4 -0
  110. package/dist/artifacts/interfaces/core/tokens/IRToken.sol/IRToken.json +641 -0
  111. package/dist/artifacts/interfaces/core/tokens/IveRAACToken.sol/IveRAACToken.dbg.json +4 -0
  112. package/dist/artifacts/interfaces/core/tokens/IveRAACToken.sol/IveRAACToken.json +560 -0
  113. package/dist/artifacts/interfaces/core/vaults/IBaseVault.sol/IBaseVault.dbg.json +4 -0
  114. package/dist/artifacts/interfaces/core/vaults/IBaseVault.sol/IBaseVault.json +185 -0
  115. package/dist/artifacts/interfaces/curve/ICurveCrvUSDVault.sol/ICurveCrvUSDVault.dbg.json +4 -0
  116. package/dist/artifacts/interfaces/curve/ICurveCrvUSDVault.sol/ICurveCrvUSDVault.json +250 -0
  117. package/dist/artifacts/interfaces/zeno/IAuction.sol/IAuction.dbg.json +4 -0
  118. package/dist/artifacts/interfaces/zeno/IAuction.sol/IAuction.json +162 -0
  119. package/dist/artifacts/interfaces/zeno/IZENO.sol/IZENO.dbg.json +4 -0
  120. package/dist/artifacts/interfaces/zeno/IZENO.sol/IZENO.json +321 -0
  121. package/dist/artifacts/libraries/governance/BoostCalculator.sol/BoostCalculator.dbg.json +4 -0
  122. package/dist/artifacts/libraries/governance/BoostCalculator.sol/BoostCalculator.json +51 -0
  123. package/dist/artifacts/libraries/governance/Checkpoints.sol/Checkpoints.dbg.json +4 -0
  124. package/dist/artifacts/libraries/governance/Checkpoints.sol/Checkpoints.json +69 -0
  125. package/dist/artifacts/libraries/governance/LockManager.sol/LockManager.dbg.json +4 -0
  126. package/dist/artifacts/libraries/governance/LockManager.sol/LockManager.json +123 -0
  127. package/dist/artifacts/libraries/governance/PowerCheckpoint.sol/PowerCheckpoint.dbg.json +4 -0
  128. package/dist/artifacts/libraries/governance/PowerCheckpoint.sol/PowerCheckpoint.json +70 -0
  129. package/dist/artifacts/libraries/governance/RAACVoting.sol/RAACVoting.dbg.json +4 -0
  130. package/dist/artifacts/libraries/governance/RAACVoting.sol/RAACVoting.json +102 -0
  131. package/dist/artifacts/libraries/governance/VotingPowerLib.sol/VotingPowerLib.dbg.json +4 -0
  132. package/dist/artifacts/libraries/governance/VotingPowerLib.sol/VotingPowerLib.json +76 -0
  133. package/dist/artifacts/libraries/math/PercentageMath.sol/PercentageMath.dbg.json +4 -0
  134. package/dist/artifacts/libraries/math/PercentageMath.sol/PercentageMath.json +10 -0
  135. package/dist/artifacts/libraries/math/TimeWeightedAverage.sol/TimeWeightedAverage.dbg.json +4 -0
  136. package/dist/artifacts/libraries/math/TimeWeightedAverage.sol/TimeWeightedAverage.json +142 -0
  137. package/dist/artifacts/libraries/math/WadRayMath.sol/WadRayMath.dbg.json +4 -0
  138. package/dist/artifacts/libraries/math/WadRayMath.sol/WadRayMath.json +10 -0
  139. package/dist/artifacts/libraries/pools/DataTypes.sol/DataTypes.dbg.json +4 -0
  140. package/dist/artifacts/libraries/pools/DataTypes.sol/DataTypes.json +10 -0
  141. package/dist/artifacts/libraries/pools/ReserveLibrary.sol/ReserveLibrary.dbg.json +4 -0
  142. package/dist/artifacts/libraries/pools/ReserveLibrary.sol/ReserveLibrary.json +153 -0
  143. package/dist/artifacts/libraries/utils/StringUtils.sol/StringUtils.dbg.json +4 -0
  144. package/dist/artifacts/libraries/utils/StringUtils.sol/StringUtils.json +16 -0
  145. package/dist/artifacts/mocks/core/collectors/MockTreasury.sol/MockTreasury.dbg.json +4 -0
  146. package/dist/artifacts/mocks/core/collectors/MockTreasury.sol/MockTreasury.json +255 -0
  147. package/dist/artifacts/mocks/core/governance/gauges/MockBaseGauge.sol/MockBaseGauge.dbg.json +4 -0
  148. package/dist/artifacts/mocks/core/governance/gauges/MockBaseGauge.sol/MockBaseGauge.json +1522 -0
  149. package/dist/artifacts/mocks/core/governance/gauges/MockGaugeController.sol/MockGaugeController.dbg.json +4 -0
  150. package/dist/artifacts/mocks/core/governance/gauges/MockGaugeController.sol/MockGaugeController.json +49 -0
  151. package/dist/artifacts/mocks/core/governance/proposals/TimelockTestTarget.sol/TimelockTestTarget.dbg.json +4 -0
  152. package/dist/artifacts/mocks/core/governance/proposals/TimelockTestTarget.sol/TimelockTestTarget.json +112 -0
  153. package/dist/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/IFunctionsRouter.dbg.json +4 -0
  154. package/dist/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/IFunctionsRouter.json +50 -0
  155. package/dist/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter.dbg.json +4 -0
  156. package/dist/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter.json +69 -0
  157. package/dist/artifacts/mocks/core/oracles/MockOracle.sol/MockOracle.dbg.json +4 -0
  158. package/dist/artifacts/mocks/core/oracles/MockOracle.sol/MockOracle.json +63 -0
  159. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.dbg.json +4 -0
  160. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +772 -772
  161. package/dist/artifacts/mocks/core/oracles/TestRAACHousePriceOracle.sol/TestRAACHousePriceOracle.dbg.json +4 -0
  162. package/dist/artifacts/mocks/core/oracles/TestRAACHousePriceOracle.sol/TestRAACHousePriceOracle.json +358 -0
  163. package/dist/artifacts/mocks/core/oracles/TestRAACPrimeRateOracle.sol/TestRAACPrimeRateOracle.dbg.json +4 -0
  164. package/dist/artifacts/mocks/core/oracles/TestRAACPrimeRateOracle.sol/TestRAACPrimeRateOracle.json +373 -0
  165. package/dist/artifacts/mocks/core/pools/MockLendingPool.sol/MockLendingPool.dbg.json +4 -0
  166. package/dist/artifacts/mocks/core/pools/MockLendingPool.sol/MockLendingPool.json +241 -0
  167. package/dist/artifacts/mocks/core/pools/MockLendingPoolCollector.sol/MockLendingPoolCollector.dbg.json +4 -0
  168. package/dist/artifacts/mocks/core/pools/MockLendingPoolCollector.sol/MockLendingPoolCollector.json +288 -0
  169. package/dist/artifacts/mocks/core/pools/MockLendingPoolDebtToken.sol/MockLendingPoolDebtToken.dbg.json +4 -0
  170. package/dist/artifacts/mocks/core/pools/MockLendingPoolDebtToken.sol/MockLendingPoolDebtToken.json +1560 -0
  171. package/dist/artifacts/mocks/core/pools/MockLiquidityPool.sol/MockLiquidityPool.dbg.json +4 -0
  172. package/dist/artifacts/mocks/core/pools/MockLiquidityPool.sol/MockLiquidityPool.json +1019 -0
  173. package/dist/artifacts/mocks/core/pools/MockPool.sol/MockPool.dbg.json +4 -0
  174. package/dist/artifacts/mocks/core/pools/MockPool.sol/MockPool.json +93 -0
  175. package/dist/artifacts/mocks/core/pools/MockStabilityPool.sol/MockStabilityPool.dbg.json +4 -0
  176. package/dist/artifacts/mocks/core/pools/MockStabilityPool.sol/MockStabilityPool.json +126 -0
  177. package/dist/artifacts/mocks/core/primitives/MockContract.sol/MockContract.dbg.json +4 -0
  178. package/dist/artifacts/mocks/core/primitives/MockContract.sol/MockContract.json +37 -0
  179. package/dist/artifacts/mocks/core/primitives/MockContractWithConfig.sol/MockContractWithConfig.dbg.json +4 -0
  180. package/dist/artifacts/mocks/core/primitives/MockContractWithConfig.sol/MockContractWithConfig.json +52 -0
  181. package/dist/artifacts/mocks/core/primitives/MockDistributableContract.sol/MockDistributableContract.dbg.json +4 -0
  182. package/dist/artifacts/mocks/core/primitives/MockDistributableContract.sol/MockDistributableContract.json +73 -0
  183. package/dist/artifacts/mocks/core/primitives/RAACHousePricesMock.sol/RAACHousePricesMock.dbg.json +4 -0
  184. package/dist/artifacts/mocks/core/primitives/RAACHousePricesMock.sol/RAACHousePricesMock.json +67 -0
  185. package/dist/artifacts/mocks/core/tokens/ERC20Mock.sol/ERC20Mock.dbg.json +4 -0
  186. package/dist/artifacts/mocks/core/tokens/ERC20Mock.sol/ERC20Mock.json +353 -0
  187. package/dist/artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.dbg.json +4 -0
  188. package/dist/artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.json +491 -0
  189. package/dist/artifacts/mocks/core/tokens/MockCollectableUnderlying.sol/MockCollectableUnderlying.dbg.json +4 -0
  190. package/dist/artifacts/mocks/core/tokens/MockCollectableUnderlying.sol/MockCollectableUnderlying.json +568 -0
  191. package/dist/artifacts/mocks/core/tokens/MockFeeCollectorToken.sol/MockFeeCollectorToken.dbg.json +4 -0
  192. package/dist/artifacts/mocks/core/tokens/MockFeeCollectorToken.sol/MockFeeCollectorToken.json +515 -0
  193. package/dist/artifacts/mocks/core/tokens/MockToken.sol/MockToken.dbg.json +4 -0
  194. package/dist/artifacts/mocks/core/tokens/MockToken.sol/MockToken.json +426 -0
  195. package/dist/artifacts/mocks/core/tokens/MockUSDC.sol/MockUSDC.dbg.json +4 -0
  196. package/dist/artifacts/mocks/core/tokens/MockUSDC.sol/MockUSDC.json +348 -0
  197. package/dist/artifacts/mocks/core/tokens/MockVeToken.sol/MockVeToken.dbg.json +4 -0
  198. package/dist/artifacts/mocks/core/tokens/MockVeToken.sol/MockVeToken.json +905 -0
  199. package/dist/artifacts/mocks/core/tokens/RAACMockERC20.sol/RAACMockERC20.dbg.json +4 -0
  200. package/dist/artifacts/mocks/core/tokens/RAACMockERC20.sol/RAACMockERC20.json +422 -0
  201. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.dbg.json +4 -0
  202. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +433 -433
  203. package/dist/artifacts/mocks/core/vaults/MockVault.sol/MockVault.dbg.json +4 -0
  204. package/dist/artifacts/mocks/core/vaults/MockVault.sol/MockVault.json +672 -0
  205. package/dist/artifacts/mocks/libraries/MockStringUtils.sol/MockStringUtils.dbg.json +4 -0
  206. package/dist/artifacts/mocks/libraries/MockStringUtils.sol/MockStringUtils.json +35 -0
  207. package/dist/artifacts/mocks/libraries/governance/BoostCalculatorMock.sol/BoostCalculatorMock.dbg.json +4 -0
  208. package/dist/artifacts/mocks/libraries/governance/BoostCalculatorMock.sol/BoostCalculatorMock.json +431 -0
  209. package/dist/artifacts/mocks/libraries/governance/CheckpointsMock.sol/CheckpointsMock.dbg.json +4 -0
  210. package/dist/artifacts/mocks/libraries/governance/CheckpointsMock.sol/CheckpointsMock.json +144 -0
  211. package/dist/artifacts/mocks/libraries/governance/LockManagerMock.sol/LockManagerMock.dbg.json +4 -0
  212. package/dist/artifacts/mocks/libraries/governance/LockManagerMock.sol/LockManagerMock.json +237 -0
  213. package/dist/artifacts/mocks/libraries/governance/PowerCheckpointMock.sol/PowerCheckpointMock.dbg.json +4 -0
  214. package/dist/artifacts/mocks/libraries/governance/PowerCheckpointMock.sol/PowerCheckpointMock.json +221 -0
  215. package/dist/artifacts/mocks/libraries/governance/RAACVotingMock.sol/RAACVotingMock.dbg.json +4 -0
  216. package/dist/artifacts/mocks/libraries/governance/RAACVotingMock.sol/RAACVotingMock.json +95 -0
  217. package/dist/artifacts/mocks/libraries/governance/VotingPowerMock.sol/VotingPowerMock.dbg.json +4 -0
  218. package/dist/artifacts/mocks/libraries/governance/VotingPowerMock.sol/VotingPowerMock.json +442 -0
  219. package/dist/artifacts/mocks/libraries/math/TimeWeightedAverageMock.sol/TimeWeightedAverageMock.dbg.json +4 -0
  220. package/dist/artifacts/mocks/libraries/math/TimeWeightedAverageMock.sol/TimeWeightedAverageMock.json +309 -0
  221. package/dist/artifacts/mocks/libraries/math/WadRayMathMock.sol/WadRayMathMock.dbg.json +4 -0
  222. package/dist/artifacts/mocks/libraries/math/WadRayMathMock.sol/WadRayMathMock.json +188 -0
  223. package/dist/artifacts/mocks/libraries/pools/ReserveLibraryMock.sol/ReserveLibraryMock.dbg.json +4 -0
  224. package/dist/artifacts/mocks/libraries/pools/ReserveLibraryMock.sol/ReserveLibraryMock.json +339 -0
  225. package/dist/artifacts/mocks/tests/MaliciousDeposit.sol/MaliciousDeposit.dbg.json +4 -0
  226. package/dist/artifacts/mocks/tests/MaliciousDeposit.sol/MaliciousDeposit.json +52 -0
  227. package/dist/artifacts/mocks/tests/MaliciousWithdraw.sol/MaliciousWithdraw.dbg.json +4 -0
  228. package/dist/artifacts/mocks/tests/MaliciousWithdraw.sol/MaliciousWithdraw.json +52 -0
  229. package/dist/artifacts/mocks/tests/VeRAACFuzzHelper.sol/VeRAACFuzzHelper.dbg.json +4 -0
  230. package/dist/artifacts/mocks/tests/VeRAACFuzzHelper.sol/VeRAACFuzzHelper.json +88 -0
  231. package/dist/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl.dbg.json +4 -0
  232. package/dist/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl.json +24 -0
  233. package/dist/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper.dbg.json +4 -0
  234. package/dist/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper.json +129 -0
  235. package/dist/artifacts/zeno/Auction.sol/Auction.dbg.json +4 -0
  236. package/dist/artifacts/zeno/Auction.sol/Auction.json +356 -356
  237. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.dbg.json +4 -0
  238. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +282 -282
  239. package/dist/artifacts/zeno/Zeno.sol/ZENO.dbg.json +4 -0
  240. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +582 -582
  241. package/dist/artifacts/zeno/ZenoFactory.sol/ZENOFactory.dbg.json +4 -0
  242. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +252 -252
  243. package/package.json +2 -2
@@ -0,0 +1,1522 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockBaseGauge",
4
+ "sourceName": "contracts/mocks/core/governance/gauges/MockBaseGauge.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_rewardToken",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_stakingToken",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_controller",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "_maxEmission",
26
+ "type": "uint256"
27
+ },
28
+ {
29
+ "internalType": "uint256",
30
+ "name": "_periodDuration",
31
+ "type": "uint256"
32
+ }
33
+ ],
34
+ "stateMutability": "nonpayable",
35
+ "type": "constructor"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "AccessControlBadConfirmation",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [
44
+ {
45
+ "internalType": "address",
46
+ "name": "account",
47
+ "type": "address"
48
+ },
49
+ {
50
+ "internalType": "bytes32",
51
+ "name": "neededRole",
52
+ "type": "bytes32"
53
+ }
54
+ ],
55
+ "name": "AccessControlUnauthorizedAccount",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "address",
62
+ "name": "target",
63
+ "type": "address"
64
+ }
65
+ ],
66
+ "name": "AddressEmptyCode",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [
71
+ {
72
+ "internalType": "address",
73
+ "name": "account",
74
+ "type": "address"
75
+ }
76
+ ],
77
+ "name": "AddressInsufficientBalance",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [],
82
+ "name": "ClaimTooFrequent",
83
+ "type": "error"
84
+ },
85
+ {
86
+ "inputs": [],
87
+ "name": "EnforcedPause",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [],
92
+ "name": "ExcessiveRewardRate",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "inputs": [],
97
+ "name": "ExpectedPause",
98
+ "type": "error"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "FailedInnerCall",
103
+ "type": "error"
104
+ },
105
+ {
106
+ "inputs": [],
107
+ "name": "InsufficientBalance",
108
+ "type": "error"
109
+ },
110
+ {
111
+ "inputs": [],
112
+ "name": "InsufficientRewardBalance",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [],
117
+ "name": "InvalidAmount",
118
+ "type": "error"
119
+ },
120
+ {
121
+ "inputs": [],
122
+ "name": "InvalidWeight",
123
+ "type": "error"
124
+ },
125
+ {
126
+ "inputs": [],
127
+ "name": "NoVotingPower",
128
+ "type": "error"
129
+ },
130
+ {
131
+ "inputs": [],
132
+ "name": "PeriodNotElapsed",
133
+ "type": "error"
134
+ },
135
+ {
136
+ "inputs": [],
137
+ "name": "PeriodNotElapsed",
138
+ "type": "error"
139
+ },
140
+ {
141
+ "inputs": [],
142
+ "name": "ReentrancyGuardReentrantCall",
143
+ "type": "error"
144
+ },
145
+ {
146
+ "inputs": [],
147
+ "name": "RewardCapExceeded",
148
+ "type": "error"
149
+ },
150
+ {
151
+ "inputs": [
152
+ {
153
+ "internalType": "address",
154
+ "name": "token",
155
+ "type": "address"
156
+ }
157
+ ],
158
+ "name": "SafeERC20FailedOperation",
159
+ "type": "error"
160
+ },
161
+ {
162
+ "inputs": [],
163
+ "name": "UnauthorizedCaller",
164
+ "type": "error"
165
+ },
166
+ {
167
+ "inputs": [],
168
+ "name": "ValueOverflow",
169
+ "type": "error"
170
+ },
171
+ {
172
+ "inputs": [],
173
+ "name": "ZeroDuration",
174
+ "type": "error"
175
+ },
176
+ {
177
+ "inputs": [],
178
+ "name": "ZeroRewardRate",
179
+ "type": "error"
180
+ },
181
+ {
182
+ "inputs": [],
183
+ "name": "ZeroWeight",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "anonymous": false,
188
+ "inputs": [
189
+ {
190
+ "indexed": true,
191
+ "internalType": "address",
192
+ "name": "user",
193
+ "type": "address"
194
+ },
195
+ {
196
+ "indexed": false,
197
+ "internalType": "uint256",
198
+ "name": "timestamp",
199
+ "type": "uint256"
200
+ }
201
+ ],
202
+ "name": "Checkpoint",
203
+ "type": "event"
204
+ },
205
+ {
206
+ "anonymous": false,
207
+ "inputs": [
208
+ {
209
+ "indexed": true,
210
+ "internalType": "address",
211
+ "name": "user",
212
+ "type": "address"
213
+ },
214
+ {
215
+ "indexed": false,
216
+ "internalType": "uint256",
217
+ "name": "direction",
218
+ "type": "uint256"
219
+ },
220
+ {
221
+ "indexed": false,
222
+ "internalType": "uint256",
223
+ "name": "votingPower",
224
+ "type": "uint256"
225
+ }
226
+ ],
227
+ "name": "DirectionVoted",
228
+ "type": "event"
229
+ },
230
+ {
231
+ "anonymous": false,
232
+ "inputs": [
233
+ {
234
+ "indexed": false,
235
+ "internalType": "uint256",
236
+ "name": "newCap",
237
+ "type": "uint256"
238
+ }
239
+ ],
240
+ "name": "DistributionCapUpdated",
241
+ "type": "event"
242
+ },
243
+ {
244
+ "anonymous": false,
245
+ "inputs": [
246
+ {
247
+ "indexed": false,
248
+ "internalType": "uint256",
249
+ "name": "emission",
250
+ "type": "uint256"
251
+ }
252
+ ],
253
+ "name": "EmissionUpdated",
254
+ "type": "event"
255
+ },
256
+ {
257
+ "anonymous": false,
258
+ "inputs": [
259
+ {
260
+ "indexed": false,
261
+ "internalType": "address",
262
+ "name": "account",
263
+ "type": "address"
264
+ }
265
+ ],
266
+ "name": "Paused",
267
+ "type": "event"
268
+ },
269
+ {
270
+ "anonymous": false,
271
+ "inputs": [
272
+ {
273
+ "indexed": false,
274
+ "internalType": "uint256",
275
+ "name": "startTime",
276
+ "type": "uint256"
277
+ },
278
+ {
279
+ "indexed": false,
280
+ "internalType": "uint256",
281
+ "name": "duration",
282
+ "type": "uint256"
283
+ },
284
+ {
285
+ "indexed": false,
286
+ "internalType": "uint256",
287
+ "name": "initialValue",
288
+ "type": "uint256"
289
+ }
290
+ ],
291
+ "name": "PeriodCreated",
292
+ "type": "event"
293
+ },
294
+ {
295
+ "anonymous": false,
296
+ "inputs": [
297
+ {
298
+ "indexed": false,
299
+ "internalType": "uint256",
300
+ "name": "timestamp",
301
+ "type": "uint256"
302
+ },
303
+ {
304
+ "indexed": false,
305
+ "internalType": "uint256",
306
+ "name": "avgWeight",
307
+ "type": "uint256"
308
+ }
309
+ ],
310
+ "name": "PeriodUpdated",
311
+ "type": "event"
312
+ },
313
+ {
314
+ "anonymous": false,
315
+ "inputs": [
316
+ {
317
+ "indexed": false,
318
+ "internalType": "uint256",
319
+ "name": "timestamp",
320
+ "type": "uint256"
321
+ }
322
+ ],
323
+ "name": "PeriodUpdated",
324
+ "type": "event"
325
+ },
326
+ {
327
+ "anonymous": false,
328
+ "inputs": [
329
+ {
330
+ "indexed": false,
331
+ "internalType": "uint256",
332
+ "name": "amount",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "name": "RewardNotified",
337
+ "type": "event"
338
+ },
339
+ {
340
+ "anonymous": false,
341
+ "inputs": [
342
+ {
343
+ "indexed": false,
344
+ "internalType": "uint256",
345
+ "name": "reward",
346
+ "type": "uint256"
347
+ },
348
+ {
349
+ "indexed": false,
350
+ "internalType": "uint256",
351
+ "name": "oldRewardRate",
352
+ "type": "uint256"
353
+ },
354
+ {
355
+ "indexed": false,
356
+ "internalType": "uint256",
357
+ "name": "newRewardRate",
358
+ "type": "uint256"
359
+ }
360
+ ],
361
+ "name": "RewardNotified",
362
+ "type": "event"
363
+ },
364
+ {
365
+ "anonymous": false,
366
+ "inputs": [
367
+ {
368
+ "indexed": true,
369
+ "internalType": "address",
370
+ "name": "user",
371
+ "type": "address"
372
+ },
373
+ {
374
+ "indexed": false,
375
+ "internalType": "uint256",
376
+ "name": "reward",
377
+ "type": "uint256"
378
+ }
379
+ ],
380
+ "name": "RewardPaid",
381
+ "type": "event"
382
+ },
383
+ {
384
+ "anonymous": false,
385
+ "inputs": [
386
+ {
387
+ "indexed": true,
388
+ "internalType": "address",
389
+ "name": "user",
390
+ "type": "address"
391
+ },
392
+ {
393
+ "indexed": false,
394
+ "internalType": "uint256",
395
+ "name": "reward",
396
+ "type": "uint256"
397
+ }
398
+ ],
399
+ "name": "RewardUpdated",
400
+ "type": "event"
401
+ },
402
+ {
403
+ "anonymous": false,
404
+ "inputs": [
405
+ {
406
+ "indexed": true,
407
+ "internalType": "bytes32",
408
+ "name": "role",
409
+ "type": "bytes32"
410
+ },
411
+ {
412
+ "indexed": true,
413
+ "internalType": "bytes32",
414
+ "name": "previousAdminRole",
415
+ "type": "bytes32"
416
+ },
417
+ {
418
+ "indexed": true,
419
+ "internalType": "bytes32",
420
+ "name": "newAdminRole",
421
+ "type": "bytes32"
422
+ }
423
+ ],
424
+ "name": "RoleAdminChanged",
425
+ "type": "event"
426
+ },
427
+ {
428
+ "anonymous": false,
429
+ "inputs": [
430
+ {
431
+ "indexed": true,
432
+ "internalType": "bytes32",
433
+ "name": "role",
434
+ "type": "bytes32"
435
+ },
436
+ {
437
+ "indexed": true,
438
+ "internalType": "address",
439
+ "name": "account",
440
+ "type": "address"
441
+ },
442
+ {
443
+ "indexed": true,
444
+ "internalType": "address",
445
+ "name": "sender",
446
+ "type": "address"
447
+ }
448
+ ],
449
+ "name": "RoleGranted",
450
+ "type": "event"
451
+ },
452
+ {
453
+ "anonymous": false,
454
+ "inputs": [
455
+ {
456
+ "indexed": true,
457
+ "internalType": "bytes32",
458
+ "name": "role",
459
+ "type": "bytes32"
460
+ },
461
+ {
462
+ "indexed": true,
463
+ "internalType": "address",
464
+ "name": "account",
465
+ "type": "address"
466
+ },
467
+ {
468
+ "indexed": true,
469
+ "internalType": "address",
470
+ "name": "sender",
471
+ "type": "address"
472
+ }
473
+ ],
474
+ "name": "RoleRevoked",
475
+ "type": "event"
476
+ },
477
+ {
478
+ "anonymous": false,
479
+ "inputs": [
480
+ {
481
+ "indexed": true,
482
+ "internalType": "address",
483
+ "name": "user",
484
+ "type": "address"
485
+ },
486
+ {
487
+ "indexed": false,
488
+ "internalType": "uint256",
489
+ "name": "amount",
490
+ "type": "uint256"
491
+ }
492
+ ],
493
+ "name": "Staked",
494
+ "type": "event"
495
+ },
496
+ {
497
+ "anonymous": false,
498
+ "inputs": [
499
+ {
500
+ "indexed": false,
501
+ "internalType": "address",
502
+ "name": "account",
503
+ "type": "address"
504
+ }
505
+ ],
506
+ "name": "Unpaused",
507
+ "type": "event"
508
+ },
509
+ {
510
+ "anonymous": false,
511
+ "inputs": [
512
+ {
513
+ "indexed": true,
514
+ "internalType": "address",
515
+ "name": "user",
516
+ "type": "address"
517
+ },
518
+ {
519
+ "indexed": false,
520
+ "internalType": "uint256",
521
+ "name": "amount",
522
+ "type": "uint256"
523
+ }
524
+ ],
525
+ "name": "Withdrawn",
526
+ "type": "event"
527
+ },
528
+ {
529
+ "inputs": [],
530
+ "name": "CONTROLLER_ROLE",
531
+ "outputs": [
532
+ {
533
+ "internalType": "bytes32",
534
+ "name": "",
535
+ "type": "bytes32"
536
+ }
537
+ ],
538
+ "stateMutability": "view",
539
+ "type": "function"
540
+ },
541
+ {
542
+ "inputs": [],
543
+ "name": "DEFAULT_ADMIN_ROLE",
544
+ "outputs": [
545
+ {
546
+ "internalType": "bytes32",
547
+ "name": "",
548
+ "type": "bytes32"
549
+ }
550
+ ],
551
+ "stateMutability": "view",
552
+ "type": "function"
553
+ },
554
+ {
555
+ "inputs": [],
556
+ "name": "EMERGENCY_ADMIN",
557
+ "outputs": [
558
+ {
559
+ "internalType": "bytes32",
560
+ "name": "",
561
+ "type": "bytes32"
562
+ }
563
+ ],
564
+ "stateMutability": "view",
565
+ "type": "function"
566
+ },
567
+ {
568
+ "inputs": [],
569
+ "name": "FEE_ADMIN",
570
+ "outputs": [
571
+ {
572
+ "internalType": "bytes32",
573
+ "name": "",
574
+ "type": "bytes32"
575
+ }
576
+ ],
577
+ "stateMutability": "view",
578
+ "type": "function"
579
+ },
580
+ {
581
+ "inputs": [],
582
+ "name": "MAX_REWARD_RATE",
583
+ "outputs": [
584
+ {
585
+ "internalType": "uint256",
586
+ "name": "",
587
+ "type": "uint256"
588
+ }
589
+ ],
590
+ "stateMutability": "view",
591
+ "type": "function"
592
+ },
593
+ {
594
+ "inputs": [],
595
+ "name": "MAX_SLIPPAGE",
596
+ "outputs": [
597
+ {
598
+ "internalType": "uint256",
599
+ "name": "",
600
+ "type": "uint256"
601
+ }
602
+ ],
603
+ "stateMutability": "view",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [],
608
+ "name": "MIN_CLAIM_INTERVAL",
609
+ "outputs": [
610
+ {
611
+ "internalType": "uint256",
612
+ "name": "",
613
+ "type": "uint256"
614
+ }
615
+ ],
616
+ "stateMutability": "view",
617
+ "type": "function"
618
+ },
619
+ {
620
+ "inputs": [],
621
+ "name": "WEIGHT_PRECISION",
622
+ "outputs": [
623
+ {
624
+ "internalType": "uint256",
625
+ "name": "",
626
+ "type": "uint256"
627
+ }
628
+ ],
629
+ "stateMutability": "view",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [
634
+ {
635
+ "internalType": "address",
636
+ "name": "account",
637
+ "type": "address"
638
+ }
639
+ ],
640
+ "name": "balanceOf",
641
+ "outputs": [
642
+ {
643
+ "internalType": "uint256",
644
+ "name": "",
645
+ "type": "uint256"
646
+ }
647
+ ],
648
+ "stateMutability": "view",
649
+ "type": "function"
650
+ },
651
+ {
652
+ "inputs": [],
653
+ "name": "boostState",
654
+ "outputs": [
655
+ {
656
+ "components": [
657
+ {
658
+ "internalType": "uint256",
659
+ "name": "startTime",
660
+ "type": "uint256"
661
+ },
662
+ {
663
+ "internalType": "uint256",
664
+ "name": "endTime",
665
+ "type": "uint256"
666
+ },
667
+ {
668
+ "internalType": "uint256",
669
+ "name": "lastUpdateTime",
670
+ "type": "uint256"
671
+ },
672
+ {
673
+ "internalType": "uint256",
674
+ "name": "value",
675
+ "type": "uint256"
676
+ },
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "weightedSum",
680
+ "type": "uint256"
681
+ },
682
+ {
683
+ "internalType": "uint256",
684
+ "name": "totalDuration",
685
+ "type": "uint256"
686
+ },
687
+ {
688
+ "internalType": "uint256",
689
+ "name": "weight",
690
+ "type": "uint256"
691
+ }
692
+ ],
693
+ "internalType": "struct TimeWeightedAverage.Period",
694
+ "name": "boostPeriod",
695
+ "type": "tuple"
696
+ },
697
+ {
698
+ "internalType": "uint256",
699
+ "name": "maxBoost",
700
+ "type": "uint256"
701
+ },
702
+ {
703
+ "internalType": "uint256",
704
+ "name": "minBoost",
705
+ "type": "uint256"
706
+ },
707
+ {
708
+ "internalType": "uint256",
709
+ "name": "boostWindow",
710
+ "type": "uint256"
711
+ },
712
+ {
713
+ "internalType": "uint256",
714
+ "name": "baseWeight",
715
+ "type": "uint256"
716
+ },
717
+ {
718
+ "internalType": "uint256",
719
+ "name": "votingPower",
720
+ "type": "uint256"
721
+ },
722
+ {
723
+ "internalType": "uint256",
724
+ "name": "totalWeight",
725
+ "type": "uint256"
726
+ },
727
+ {
728
+ "internalType": "uint256",
729
+ "name": "totalVotingPower",
730
+ "type": "uint256"
731
+ }
732
+ ],
733
+ "stateMutability": "view",
734
+ "type": "function"
735
+ },
736
+ {
737
+ "inputs": [],
738
+ "name": "checkpoint",
739
+ "outputs": [],
740
+ "stateMutability": "nonpayable",
741
+ "type": "function"
742
+ },
743
+ {
744
+ "inputs": [],
745
+ "name": "controller",
746
+ "outputs": [
747
+ {
748
+ "internalType": "address",
749
+ "name": "",
750
+ "type": "address"
751
+ }
752
+ ],
753
+ "stateMutability": "view",
754
+ "type": "function"
755
+ },
756
+ {
757
+ "inputs": [],
758
+ "name": "distributionCap",
759
+ "outputs": [
760
+ {
761
+ "internalType": "uint256",
762
+ "name": "",
763
+ "type": "uint256"
764
+ }
765
+ ],
766
+ "stateMutability": "view",
767
+ "type": "function"
768
+ },
769
+ {
770
+ "inputs": [
771
+ {
772
+ "internalType": "address",
773
+ "name": "account",
774
+ "type": "address"
775
+ }
776
+ ],
777
+ "name": "earned",
778
+ "outputs": [
779
+ {
780
+ "internalType": "uint256",
781
+ "name": "",
782
+ "type": "uint256"
783
+ }
784
+ ],
785
+ "stateMutability": "view",
786
+ "type": "function"
787
+ },
788
+ {
789
+ "inputs": [
790
+ {
791
+ "internalType": "address",
792
+ "name": "token",
793
+ "type": "address"
794
+ },
795
+ {
796
+ "internalType": "uint256",
797
+ "name": "amount",
798
+ "type": "uint256"
799
+ }
800
+ ],
801
+ "name": "emergencyWithdraw",
802
+ "outputs": [],
803
+ "stateMutability": "nonpayable",
804
+ "type": "function"
805
+ },
806
+ {
807
+ "inputs": [],
808
+ "name": "getCurrentPeriodStart",
809
+ "outputs": [
810
+ {
811
+ "internalType": "uint256",
812
+ "name": "",
813
+ "type": "uint256"
814
+ }
815
+ ],
816
+ "stateMutability": "view",
817
+ "type": "function"
818
+ },
819
+ {
820
+ "inputs": [],
821
+ "name": "getPeriodDuration",
822
+ "outputs": [
823
+ {
824
+ "internalType": "uint256",
825
+ "name": "",
826
+ "type": "uint256"
827
+ }
828
+ ],
829
+ "stateMutability": "view",
830
+ "type": "function"
831
+ },
832
+ {
833
+ "inputs": [],
834
+ "name": "getReward",
835
+ "outputs": [],
836
+ "stateMutability": "nonpayable",
837
+ "type": "function"
838
+ },
839
+ {
840
+ "inputs": [],
841
+ "name": "getRewardPerToken",
842
+ "outputs": [
843
+ {
844
+ "internalType": "uint256",
845
+ "name": "",
846
+ "type": "uint256"
847
+ }
848
+ ],
849
+ "stateMutability": "view",
850
+ "type": "function"
851
+ },
852
+ {
853
+ "inputs": [
854
+ {
855
+ "internalType": "bytes32",
856
+ "name": "role",
857
+ "type": "bytes32"
858
+ }
859
+ ],
860
+ "name": "getRoleAdmin",
861
+ "outputs": [
862
+ {
863
+ "internalType": "bytes32",
864
+ "name": "",
865
+ "type": "bytes32"
866
+ }
867
+ ],
868
+ "stateMutability": "view",
869
+ "type": "function"
870
+ },
871
+ {
872
+ "inputs": [],
873
+ "name": "getTimeWeightedWeight",
874
+ "outputs": [
875
+ {
876
+ "internalType": "uint256",
877
+ "name": "",
878
+ "type": "uint256"
879
+ }
880
+ ],
881
+ "stateMutability": "view",
882
+ "type": "function"
883
+ },
884
+ {
885
+ "inputs": [],
886
+ "name": "getTotalWeight",
887
+ "outputs": [
888
+ {
889
+ "internalType": "uint256",
890
+ "name": "",
891
+ "type": "uint256"
892
+ }
893
+ ],
894
+ "stateMutability": "view",
895
+ "type": "function"
896
+ },
897
+ {
898
+ "inputs": [
899
+ {
900
+ "internalType": "address",
901
+ "name": "account",
902
+ "type": "address"
903
+ }
904
+ ],
905
+ "name": "getUserWeight",
906
+ "outputs": [
907
+ {
908
+ "internalType": "uint256",
909
+ "name": "",
910
+ "type": "uint256"
911
+ }
912
+ ],
913
+ "stateMutability": "view",
914
+ "type": "function"
915
+ },
916
+ {
917
+ "inputs": [
918
+ {
919
+ "internalType": "bytes32",
920
+ "name": "role",
921
+ "type": "bytes32"
922
+ },
923
+ {
924
+ "internalType": "address",
925
+ "name": "account",
926
+ "type": "address"
927
+ }
928
+ ],
929
+ "name": "grantRole",
930
+ "outputs": [],
931
+ "stateMutability": "nonpayable",
932
+ "type": "function"
933
+ },
934
+ {
935
+ "inputs": [
936
+ {
937
+ "internalType": "bytes32",
938
+ "name": "role",
939
+ "type": "bytes32"
940
+ },
941
+ {
942
+ "internalType": "address",
943
+ "name": "account",
944
+ "type": "address"
945
+ }
946
+ ],
947
+ "name": "hasRole",
948
+ "outputs": [
949
+ {
950
+ "internalType": "bool",
951
+ "name": "",
952
+ "type": "bool"
953
+ }
954
+ ],
955
+ "stateMutability": "view",
956
+ "type": "function"
957
+ },
958
+ {
959
+ "inputs": [
960
+ {
961
+ "internalType": "uint256",
962
+ "name": "maxBoost",
963
+ "type": "uint256"
964
+ },
965
+ {
966
+ "internalType": "uint256",
967
+ "name": "minBoost",
968
+ "type": "uint256"
969
+ },
970
+ {
971
+ "internalType": "uint256",
972
+ "name": "boostWindow",
973
+ "type": "uint256"
974
+ }
975
+ ],
976
+ "name": "initializeBoostState",
977
+ "outputs": [],
978
+ "stateMutability": "nonpayable",
979
+ "type": "function"
980
+ },
981
+ {
982
+ "inputs": [
983
+ {
984
+ "internalType": "address",
985
+ "name": "",
986
+ "type": "address"
987
+ }
988
+ ],
989
+ "name": "lastClaimTime",
990
+ "outputs": [
991
+ {
992
+ "internalType": "uint256",
993
+ "name": "",
994
+ "type": "uint256"
995
+ }
996
+ ],
997
+ "stateMutability": "view",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [],
1002
+ "name": "lastTimeRewardApplicable",
1003
+ "outputs": [
1004
+ {
1005
+ "internalType": "uint256",
1006
+ "name": "",
1007
+ "type": "uint256"
1008
+ }
1009
+ ],
1010
+ "stateMutability": "view",
1011
+ "type": "function"
1012
+ },
1013
+ {
1014
+ "inputs": [],
1015
+ "name": "lastUpdateTime",
1016
+ "outputs": [
1017
+ {
1018
+ "internalType": "uint256",
1019
+ "name": "",
1020
+ "type": "uint256"
1021
+ }
1022
+ ],
1023
+ "stateMutability": "view",
1024
+ "type": "function"
1025
+ },
1026
+ {
1027
+ "inputs": [
1028
+ {
1029
+ "internalType": "address",
1030
+ "name": "account",
1031
+ "type": "address"
1032
+ }
1033
+ ],
1034
+ "name": "mockCheckpoint",
1035
+ "outputs": [],
1036
+ "stateMutability": "nonpayable",
1037
+ "type": "function"
1038
+ },
1039
+ {
1040
+ "inputs": [
1041
+ {
1042
+ "internalType": "uint256",
1043
+ "name": "amount",
1044
+ "type": "uint256"
1045
+ }
1046
+ ],
1047
+ "name": "notifyRewardAmount",
1048
+ "outputs": [],
1049
+ "stateMutability": "nonpayable",
1050
+ "type": "function"
1051
+ },
1052
+ {
1053
+ "inputs": [],
1054
+ "name": "paused",
1055
+ "outputs": [
1056
+ {
1057
+ "internalType": "bool",
1058
+ "name": "",
1059
+ "type": "bool"
1060
+ }
1061
+ ],
1062
+ "stateMutability": "view",
1063
+ "type": "function"
1064
+ },
1065
+ {
1066
+ "inputs": [],
1067
+ "name": "periodFinish",
1068
+ "outputs": [
1069
+ {
1070
+ "internalType": "uint256",
1071
+ "name": "",
1072
+ "type": "uint256"
1073
+ }
1074
+ ],
1075
+ "stateMutability": "view",
1076
+ "type": "function"
1077
+ },
1078
+ {
1079
+ "inputs": [],
1080
+ "name": "periodState",
1081
+ "outputs": [
1082
+ {
1083
+ "components": [
1084
+ {
1085
+ "internalType": "uint256",
1086
+ "name": "startTime",
1087
+ "type": "uint256"
1088
+ },
1089
+ {
1090
+ "internalType": "uint256",
1091
+ "name": "endTime",
1092
+ "type": "uint256"
1093
+ },
1094
+ {
1095
+ "internalType": "uint256",
1096
+ "name": "lastUpdateTime",
1097
+ "type": "uint256"
1098
+ },
1099
+ {
1100
+ "internalType": "uint256",
1101
+ "name": "value",
1102
+ "type": "uint256"
1103
+ },
1104
+ {
1105
+ "internalType": "uint256",
1106
+ "name": "weightedSum",
1107
+ "type": "uint256"
1108
+ },
1109
+ {
1110
+ "internalType": "uint256",
1111
+ "name": "totalDuration",
1112
+ "type": "uint256"
1113
+ },
1114
+ {
1115
+ "internalType": "uint256",
1116
+ "name": "weight",
1117
+ "type": "uint256"
1118
+ }
1119
+ ],
1120
+ "internalType": "struct TimeWeightedAverage.Period",
1121
+ "name": "votingPeriod",
1122
+ "type": "tuple"
1123
+ },
1124
+ {
1125
+ "internalType": "uint256",
1126
+ "name": "emission",
1127
+ "type": "uint256"
1128
+ },
1129
+ {
1130
+ "internalType": "uint256",
1131
+ "name": "distributed",
1132
+ "type": "uint256"
1133
+ },
1134
+ {
1135
+ "internalType": "uint256",
1136
+ "name": "periodStartTime",
1137
+ "type": "uint256"
1138
+ }
1139
+ ],
1140
+ "stateMutability": "view",
1141
+ "type": "function"
1142
+ },
1143
+ {
1144
+ "inputs": [
1145
+ {
1146
+ "internalType": "bytes32",
1147
+ "name": "role",
1148
+ "type": "bytes32"
1149
+ },
1150
+ {
1151
+ "internalType": "address",
1152
+ "name": "callerConfirmation",
1153
+ "type": "address"
1154
+ }
1155
+ ],
1156
+ "name": "renounceRole",
1157
+ "outputs": [],
1158
+ "stateMutability": "nonpayable",
1159
+ "type": "function"
1160
+ },
1161
+ {
1162
+ "inputs": [
1163
+ {
1164
+ "internalType": "bytes32",
1165
+ "name": "role",
1166
+ "type": "bytes32"
1167
+ },
1168
+ {
1169
+ "internalType": "address",
1170
+ "name": "account",
1171
+ "type": "address"
1172
+ }
1173
+ ],
1174
+ "name": "revokeRole",
1175
+ "outputs": [],
1176
+ "stateMutability": "nonpayable",
1177
+ "type": "function"
1178
+ },
1179
+ {
1180
+ "inputs": [],
1181
+ "name": "rewardPerTokenStored",
1182
+ "outputs": [
1183
+ {
1184
+ "internalType": "uint256",
1185
+ "name": "",
1186
+ "type": "uint256"
1187
+ }
1188
+ ],
1189
+ "stateMutability": "view",
1190
+ "type": "function"
1191
+ },
1192
+ {
1193
+ "inputs": [],
1194
+ "name": "rewardRate",
1195
+ "outputs": [
1196
+ {
1197
+ "internalType": "uint256",
1198
+ "name": "",
1199
+ "type": "uint256"
1200
+ }
1201
+ ],
1202
+ "stateMutability": "view",
1203
+ "type": "function"
1204
+ },
1205
+ {
1206
+ "inputs": [],
1207
+ "name": "rewardToken",
1208
+ "outputs": [
1209
+ {
1210
+ "internalType": "contract IERC20",
1211
+ "name": "",
1212
+ "type": "address"
1213
+ }
1214
+ ],
1215
+ "stateMutability": "view",
1216
+ "type": "function"
1217
+ },
1218
+ {
1219
+ "inputs": [
1220
+ {
1221
+ "internalType": "uint256",
1222
+ "name": "_maxBoost",
1223
+ "type": "uint256"
1224
+ },
1225
+ {
1226
+ "internalType": "uint256",
1227
+ "name": "_minBoost",
1228
+ "type": "uint256"
1229
+ },
1230
+ {
1231
+ "internalType": "uint256",
1232
+ "name": "_boostWindow",
1233
+ "type": "uint256"
1234
+ }
1235
+ ],
1236
+ "name": "setBoostParameters",
1237
+ "outputs": [],
1238
+ "stateMutability": "nonpayable",
1239
+ "type": "function"
1240
+ },
1241
+ {
1242
+ "inputs": [
1243
+ {
1244
+ "internalType": "uint256",
1245
+ "name": "newCap",
1246
+ "type": "uint256"
1247
+ }
1248
+ ],
1249
+ "name": "setDistributionCap",
1250
+ "outputs": [],
1251
+ "stateMutability": "nonpayable",
1252
+ "type": "function"
1253
+ },
1254
+ {
1255
+ "inputs": [
1256
+ {
1257
+ "internalType": "bool",
1258
+ "name": "paused",
1259
+ "type": "bool"
1260
+ }
1261
+ ],
1262
+ "name": "setEmergencyPaused",
1263
+ "outputs": [],
1264
+ "stateMutability": "nonpayable",
1265
+ "type": "function"
1266
+ },
1267
+ {
1268
+ "inputs": [
1269
+ {
1270
+ "internalType": "uint256",
1271
+ "name": "emission",
1272
+ "type": "uint256"
1273
+ }
1274
+ ],
1275
+ "name": "setEmission",
1276
+ "outputs": [],
1277
+ "stateMutability": "nonpayable",
1278
+ "type": "function"
1279
+ },
1280
+ {
1281
+ "inputs": [
1282
+ {
1283
+ "internalType": "uint256",
1284
+ "name": "weight",
1285
+ "type": "uint256"
1286
+ }
1287
+ ],
1288
+ "name": "setInitialWeight",
1289
+ "outputs": [],
1290
+ "stateMutability": "nonpayable",
1291
+ "type": "function"
1292
+ },
1293
+ {
1294
+ "inputs": [
1295
+ {
1296
+ "internalType": "uint256",
1297
+ "name": "amount",
1298
+ "type": "uint256"
1299
+ }
1300
+ ],
1301
+ "name": "stake",
1302
+ "outputs": [],
1303
+ "stateMutability": "nonpayable",
1304
+ "type": "function"
1305
+ },
1306
+ {
1307
+ "inputs": [],
1308
+ "name": "stakingToken",
1309
+ "outputs": [
1310
+ {
1311
+ "internalType": "contract IERC20",
1312
+ "name": "",
1313
+ "type": "address"
1314
+ }
1315
+ ],
1316
+ "stateMutability": "view",
1317
+ "type": "function"
1318
+ },
1319
+ {
1320
+ "inputs": [
1321
+ {
1322
+ "internalType": "bytes4",
1323
+ "name": "interfaceId",
1324
+ "type": "bytes4"
1325
+ }
1326
+ ],
1327
+ "name": "supportsInterface",
1328
+ "outputs": [
1329
+ {
1330
+ "internalType": "bool",
1331
+ "name": "",
1332
+ "type": "bool"
1333
+ }
1334
+ ],
1335
+ "stateMutability": "view",
1336
+ "type": "function"
1337
+ },
1338
+ {
1339
+ "inputs": [
1340
+ {
1341
+ "internalType": "uint256",
1342
+ "name": "rate",
1343
+ "type": "uint256"
1344
+ }
1345
+ ],
1346
+ "name": "testValidateRewardRate",
1347
+ "outputs": [
1348
+ {
1349
+ "internalType": "bool",
1350
+ "name": "",
1351
+ "type": "bool"
1352
+ }
1353
+ ],
1354
+ "stateMutability": "pure",
1355
+ "type": "function"
1356
+ },
1357
+ {
1358
+ "inputs": [],
1359
+ "name": "totalSupply",
1360
+ "outputs": [
1361
+ {
1362
+ "internalType": "uint256",
1363
+ "name": "",
1364
+ "type": "uint256"
1365
+ }
1366
+ ],
1367
+ "stateMutability": "view",
1368
+ "type": "function"
1369
+ },
1370
+ {
1371
+ "inputs": [],
1372
+ "name": "totalVotes",
1373
+ "outputs": [
1374
+ {
1375
+ "internalType": "uint256",
1376
+ "name": "",
1377
+ "type": "uint256"
1378
+ }
1379
+ ],
1380
+ "stateMutability": "view",
1381
+ "type": "function"
1382
+ },
1383
+ {
1384
+ "inputs": [],
1385
+ "name": "updatePeriod",
1386
+ "outputs": [],
1387
+ "stateMutability": "nonpayable",
1388
+ "type": "function"
1389
+ },
1390
+ {
1391
+ "inputs": [
1392
+ {
1393
+ "internalType": "address",
1394
+ "name": "",
1395
+ "type": "address"
1396
+ }
1397
+ ],
1398
+ "name": "userStates",
1399
+ "outputs": [
1400
+ {
1401
+ "internalType": "uint256",
1402
+ "name": "lastUpdateTime",
1403
+ "type": "uint256"
1404
+ },
1405
+ {
1406
+ "internalType": "uint256",
1407
+ "name": "rewardPerTokenPaid",
1408
+ "type": "uint256"
1409
+ },
1410
+ {
1411
+ "internalType": "uint256",
1412
+ "name": "rewards",
1413
+ "type": "uint256"
1414
+ }
1415
+ ],
1416
+ "stateMutability": "view",
1417
+ "type": "function"
1418
+ },
1419
+ {
1420
+ "inputs": [
1421
+ {
1422
+ "internalType": "address",
1423
+ "name": "",
1424
+ "type": "address"
1425
+ }
1426
+ ],
1427
+ "name": "userVotes",
1428
+ "outputs": [
1429
+ {
1430
+ "internalType": "uint256",
1431
+ "name": "direction",
1432
+ "type": "uint256"
1433
+ },
1434
+ {
1435
+ "internalType": "uint256",
1436
+ "name": "weight",
1437
+ "type": "uint256"
1438
+ },
1439
+ {
1440
+ "internalType": "uint256",
1441
+ "name": "timestamp",
1442
+ "type": "uint256"
1443
+ }
1444
+ ],
1445
+ "stateMutability": "view",
1446
+ "type": "function"
1447
+ },
1448
+ {
1449
+ "inputs": [
1450
+ {
1451
+ "internalType": "uint256",
1452
+ "name": "direction",
1453
+ "type": "uint256"
1454
+ }
1455
+ ],
1456
+ "name": "voteDirection",
1457
+ "outputs": [],
1458
+ "stateMutability": "nonpayable",
1459
+ "type": "function"
1460
+ },
1461
+ {
1462
+ "inputs": [],
1463
+ "name": "weightPeriod",
1464
+ "outputs": [
1465
+ {
1466
+ "internalType": "uint256",
1467
+ "name": "startTime",
1468
+ "type": "uint256"
1469
+ },
1470
+ {
1471
+ "internalType": "uint256",
1472
+ "name": "endTime",
1473
+ "type": "uint256"
1474
+ },
1475
+ {
1476
+ "internalType": "uint256",
1477
+ "name": "lastUpdateTime",
1478
+ "type": "uint256"
1479
+ },
1480
+ {
1481
+ "internalType": "uint256",
1482
+ "name": "value",
1483
+ "type": "uint256"
1484
+ },
1485
+ {
1486
+ "internalType": "uint256",
1487
+ "name": "weightedSum",
1488
+ "type": "uint256"
1489
+ },
1490
+ {
1491
+ "internalType": "uint256",
1492
+ "name": "totalDuration",
1493
+ "type": "uint256"
1494
+ },
1495
+ {
1496
+ "internalType": "uint256",
1497
+ "name": "weight",
1498
+ "type": "uint256"
1499
+ }
1500
+ ],
1501
+ "stateMutability": "view",
1502
+ "type": "function"
1503
+ },
1504
+ {
1505
+ "inputs": [
1506
+ {
1507
+ "internalType": "uint256",
1508
+ "name": "amount",
1509
+ "type": "uint256"
1510
+ }
1511
+ ],
1512
+ "name": "withdraw",
1513
+ "outputs": [],
1514
+ "stateMutability": "nonpayable",
1515
+ "type": "function"
1516
+ }
1517
+ ],
1518
+ "bytecode": "0x60e06040523480156200001157600080fd5b50604051620023ef380380620023ef8339810160408190526200003491620002d4565b600160009081556002805460ff191690556001600160a01b0380871660805280861660a052841660c052859085908590859085906200007490336200011c565b50620000a17f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357846200011c565b506161a8601755670de0b6b3a764000060185562093a806019554260008280620000cc818562000347565b620000d891906200036a565b620000e4919062000384565b602b8190556029859055905062000103602282856000612710620001b3565b5050612710602d55506200039a98505050505050505050565b60008281526001602090815260408083206001600160a01b038516845290915281205460ff16620001a95760008381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a4506001620001ad565b5060005b92915050565b845415801590620001d5575060058501548554620001d2919062000384565b84105b15620001f45760405163f0aaee6560e01b815260040160405180910390fd5b82600003620002165760405163346ab43760e11b815260040160405180910390fd5b8060000362000238576040516319a2a9bd60e01b815260040160405180910390fd5b83855562000247838562000384565b6001860155600285018490556003850182905560006004860155600585018390556006850181905560408051858152602081018590529081018390527f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829060600160405180910390a15050505050565b80516001600160a01b0381168114620002cf57600080fd5b919050565b600080600080600060a08688031215620002ed57600080fd5b620002f886620002b7565b94506200030860208701620002b7565b93506200031860408701620002b7565b6060870151608090970151959894975095949392505050565b634e487b7160e01b600052601160045260246000fd5b6000826200036557634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417620001ad57620001ad62000331565b80820180821115620001ad57620001ad62000331565b60805160a05160c051611ffb620003f46000396000818161080f0152610fad0152600081816105b3015281816109d0015261119a01526000818161083601528181610b5401528181610cd80152610d7e0152611ffb6000f3fe608060405234801561001057600080fd5b50600436106102f75760003560e01c806391d1485411610193578063c925c680116100e4578063df136d6511610092578063df136d6514610795578063ea8d6e611461079e578063ebe2b12b14610802578063f77c47911461080a578063f7c618c114610831578063f975951814610858578063feca39001461086057600080fd5b8063c925c680146106fb578063cd63d9301461070e578063cd6606e214610717578063d547741f14610721578063d6585ecf14610734578063d70afa961461075b578063ddce102f1461078257600080fd5b8063afd7821711610141578063afd7821714610688578063b36fec571461069b578063b4599585146106a4578063b77cf9c6146106b7578063b7f1aca8146106d7578063c2c4c5c1146106ea578063c8f33c91146106f257600080fd5b806391d148541461061957806395ccea671461062c5780639d0ab89f1461063f5780639e0092cb14610652578063a217fddf14610665578063a694fc3a1461066d578063a83627de1461068057600080fd5b80633ac70ccf1161024d57806370a08231116101fb57806370a0823114610575578063718dc3c31461059d57806372f702f3146105ae578063750e1c09146105e25780637b0a47ee146105f557806380faa57d146105fe578063911aabbc1461060657600080fd5b80633ac70ccf146104835780633c6b16ab1461049f5780633d18b912146104b25780635c975abb146104ba57806362190150146104c55780636b747dc0146104f45780637001f4bb1461056c57600080fd5b806318160ddd116102aa57806318160ddd146103bd578063248a9ca3146103c557806327647248146103e95780632e1a7d4d146103f15780632e46da29146104065780632f2ff15d1461045d57806336568abe1461047057600080fd5b80628cc262146102fc57806301ffc9a71461032257806306aba0e114610345578063092c5b3b1461034d5780630c06f748146103625780630d15fd771461036a5780630ecc535f14610373575b600080fd5b61030f61030a366004611cb4565b610868565b6040519081526020015b60405180910390f35b610335610330366004611cd1565b6108d4565b6040519015158152602001610319565b61030f610909565b61030f600080516020611fa683398151915281565b61030f610919565b61030f60215481565b6103a2610381366004611cb4565b600a6020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610319565b601f5461030f565b61030f6103d3366004611cfb565b6000908152600160208190526040909120015490565b602b5461030f565b6104046103ff366004611cfb565b610926565b005b6003546004546005546006546007546008546009546104289695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610319565b61040461046b366004611d14565b610a3b565b61040461047e366004611d14565b610a67565b610404610491366004611d44565b601792909255601855601955565b6104046104ad366004611cfb565b610a9f565b610404610c39565b60025460ff16610335565b6103a26104d3366004611cb4565b602c6020526000908152604090208054600182015460029092015490919083565b6040805160e08101825260105481526011546020820152601254918101919091526013546060820152601454608082015260155460a082015260165460c0820152601754601854601954601a54601b54601c54601d54610558979695949392919088565b604051610319989796959493929190611db4565b61030f61271081565b61030f610583366004611cb4565b6001600160a01b0316600090815260208052604090205490565b61030f69d3c21bcecceda100000081565b6105d57f000000000000000000000000000000000000000000000000000000000000000081565b6040516103199190611dfe565b6104046105f0366004611cfb565b610deb565b61030f600b5481565b61030f610e61565b610404610614366004611cb4565b610e7e565b610335610627366004611d14565b610ecd565b61040461063a366004611e12565b610ef8565b61040461064d366004611e4c565b610f17565b610404610660366004611cfb565b610f74565b61030f600081565b61040461067b366004611cfb565b61111f565b6104046111f4565b610335610696366004611cfb565b6112b8565b62093a8061030f565b6104046106b2366004611d44565b6112ed565b61030f6106c5366004611cb4565b600e6020526000908152604090205481565b6104046106e5366004611cfb565b611322565b6104046113a5565b61030f600c5481565b61030f610709366004611cb4565b6113e1565b61030f601e5481565b61030f6201518081565b61040461072f366004611d14565b6113f8565b61030f7f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb81565b61030f7fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e81565b610404610790366004611cfb565b61141e565b61030f600d5481565b6040805160e08101825260225481526023546020820152602454918101919091526025546060820152602654608082015260275460a082015260285460c0820152602954602a54602b546107f29392919084565b6040516103199493929190611e69565b61030f6114ab565b6105d57f000000000000000000000000000000000000000000000000000000000000000081565b6105d57f000000000000000000000000000000000000000000000000000000000000000081565b61030f606481565b61030f6114be565b6001600160a01b0381166000908152600a602052604081206002810154600190910154670de0b6b3a76400009061089d6114be565b6108a79190611eab565b6108b0856113e1565b6108ba9190611ebe565b6108c49190611ed5565b6108ce9190611ef7565b92915050565b60006001600160e01b03198216637965db0b60e01b14806108ce57506301ffc9a760e01b6001600160e01b03198316146108ce565b6000610914601f5490565b905090565b6000610914602242611525565b61092e6115fa565b3361093881611624565b816000036109595760405163162908e360e11b815260040160405180910390fd5b33600090815260208052604090205482111561098857604051631e9acf1760e31b815260040160405180910390fd5b81601f600082825461099a9190611eab565b9091555050336000908152602080526040812080548492906109bd908490611eab565b909155506109f790506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633846116be565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250610a386001600055565b50565b60008281526001602081905260409091200154610a5781611716565b610a618383611720565b50505050565b6001600160a01b0381163314610a905760405163334bd91960e11b815260040160405180910390fd5b610a9a8282611799565b505050565b610ab7600080516020611fa683398151915233610ecd565b610ad457604051635c427cd960e01b815260040160405180910390fd5b6000610adf81611624565b602954821115610b0257604051631fbe179d60e11b815260040160405180910390fd5b610b1d602283602260070154610b1862093a8090565b611806565b600b55602a8054839190600090610b35908490611ef7565b90915550506040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610b89903090600401611dfe565b602060405180830381865afa158015610ba6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bca9190611f0a565b90508062093a80600b54610bde9190611ebe565b1115610bfd5760405163f16eeebd60e01b815260040160405180910390fd5b42600c556040518381527ff9a5da3a173eca8cd77c02ece3ff1467b8aa461ed3822201817f2d72fbc542839060200160405180910390a1505050565b610c416115fa565b610c4961188b565b33610c5381611624565b336000908152600e60205260409020546201518090610c729042611eab565b1015610c915760405163c4a8921360e01b815260040160405180910390fd5b336000908152600e60209081526040808320429055600a909152902060028101548015610ddc576000600283018190556040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610d0d903090600401611dfe565b602060405180830381865afa158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e9190611f0a565b905080821115610d7157604051631e9acf1760e31b815260040160405180910390fd5b610da56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633846116be565b60405182815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a2505b505050610de96001600055565b565b610e03600080516020611fa683398151915233610ecd565b610e2057604051635c427cd960e01b815260040160405180910390fd5b62093a8042600082610e328184611ed5565b610e3d906002611ef7565b610e479190611ebe565b9050610e5960228285876127106118af565b602b55505050565b6000610e6b6114ab565b4210610e79576109146114ab565b504290565b610e8781611624565b806001600160a01b03167f39cf56b90e9d763f0c102996f87d848a60d5b19bd9d53e36505c49b64aa89c7242604051610ec291815260200190565b60405180910390a250565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610f0381611716565b610a9a6001600160a01b03841633846116be565b610f417f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb33610ecd565b610f5e57604051635c427cd960e01b815260040160405180910390fd5b8015610f6c57610a386119ab565b610a386119ff565b610f7c61188b565b33610f8681611624565b612710821115610fa95760405163585b926360e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b731cb546040518163ffffffff1660e01b8152600401602060405180830381865afa158015611009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102d9190611f23565b6001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016110589190611dfe565b602060405180830381865afa158015611075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110999190611f0a565b9050806000036110bc57604051631f05dadd60e21b815260040160405180910390fd5b336000908152602c602052604090206021546110dc919085908490611a38565b602155604080518481526020810183905233917ff4dbed0941210063507e7377f14a0749f60a2a982a3c2655b01d65134b924a6d910160405180910390a2505050565b6111276115fa565b3361113181611624565b816000036111525760405163162908e360e11b815260040160405180910390fd5b81601f60008282546111649190611ef7565b909155505033600090815260208052604081208054849290611187908490611ef7565b909155506111c290506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611ab3565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610a25565b61120c600080516020611fa683398151915233610ecd565b61122957604051635c427cd960e01b815260040160405180910390fd5b42600062093a80602b5461123d9190611ef7565b9050808210156112605760405163f0aaee6560e01b815260040160405180910390fd5b62093a806000611271602284611525565b90506000826112808187611ed5565b61128b906002611ef7565b6112959190611ebe565b6000602a55602b81905590506112b160228285856127106118af565b5050505050565b600069d3c21bcecceda10000008211156112e557604051636173efe160e11b815260040160405180910390fd5b506001919050565b611305600080516020611fa683398151915233610ecd565b61049157604051635c427cd960e01b815260040160405180910390fd5b61134c7fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e33610ecd565b61136957604051635c427cd960e01b815260040160405180910390fd5b601e8190556040518181527ff18d722badc84ff70f53556319e6c00b5f78303309e5289063a3c5a41a7a77d5906020015b60405180910390a150565b336113af81611624565b60405142815233907f39cf56b90e9d763f0c102996f87d848a60d5b19bd9d53e36505c49b64aa89c7290602001610ec2565b6000806113ed602d5490565b9050805b9392505050565b6000828152600160208190526040909120015461141481611716565b610a618383611799565b611436600080516020611fa683398151915233610ecd565b61145357604051635c427cd960e01b815260040160405180910390fd5b60295481111561147657604051631fbe179d60e11b815260040160405180910390fd5b60298190556040518181527fb114240d54ce08081cbd18870dc3b6cd4091bb86ff29d2ad41906c2a2d6723d49060200161139a565b600062093a80600c546109149190611ef7565b60006114c9601f5490565b6000036114d75750600d5490565b601f54600b54600c546114e8610e61565b6114f29190611eab565b6114fc9190611ebe565b61150e90670de0b6b3a7640000611ebe565b6115189190611ed5565b600d546109149190611ef7565b8154600090821161153b575060038201546108ce565b60008360010154831161154e5782611554565b83600101545b60048501546002860154919250908211156115db57600085600201548361157b9190611eab565b9050600081876003015461158f9190611ebe565b90506000821180156115ae575060038701546115ab8383611ed5565b14155b156115cc5760405163f20577e560e01b815260040160405180910390fd5b6115d68184611ef7565b925050505b84546115e79083611eab565b6115f19082611ed5565b95945050505050565b60026000540361161d57604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b61162c6114be565b600d55611637610e61565b600c556001600160a01b03811615610a38576001600160a01b0381166000908152600a6020526040902061166a82610868565b60028201819055600d5460018301554282556040519081526001600160a01b038316907f401ccfec4c6c7ac3f3b71182750d0f8d73c0d29cc476732b0b21ab0d359da47f9060200160405180910390a25050565b610a9a83846001600160a01b031663a9059cbb85856040516024016116e4929190611f40565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611aec565b610a388133611b4f565b600061172c8383610ecd565b6117915760008381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45060016108ce565b5060006108ce565b60006117a58383610ecd565b156117915760008381526001602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016108ce565b60008284111561182957604051631fbe179d60e11b815260040160405180910390fd5b6007850154600886015461183d9086611ef7565b111561185c57604051631fbe179d60e11b815260040160405180910390fd5b60006118688386611ed5565b9050806000036115f1576040516307ced7af60e01b815260040160405180910390fd5b60025460ff1615610de95760405163d93c066560e01b815260040160405180910390fd5b8454158015906118ce5750600585015485546118cb9190611ef7565b84105b156118ec5760405163f0aaee6560e01b815260040160405180910390fd5b8260000361190d5760405163346ab43760e11b815260040160405180910390fd5b8060000361192e576040516319a2a9bd60e01b815260040160405180910390fd5b83855561193b8385611ef7565b6001860155600285018490556003850182905560006004860155600585018390556006850181905560408051858152602081018590529081018390527f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829060600160405180910390a15050505050565b6119b361188b565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119e83390565b6040516119f59190611dfe565b60405180910390a1565b611a07611b7e565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336119e8565b6000612710841115611a5d5760405163585b926360e01b815260040160405180910390fd5b82600003611a7e57604051631f05dadd60e21b815260040160405180910390fd5b600083866001015484611a919190611eab565b611a9b9190611ef7565b94865550505060018301554260029092019190915590565b6040516001600160a01b038481166024830152838116604483015260648201839052610a619186918216906323b872dd906084016116e4565b6000611b016001600160a01b03841683611ba1565b90508051600014158015611b26575080806020019051810190611b249190611f59565b155b15610a9a5782604051635274afe760e01b8152600401611b469190611dfe565b60405180910390fd5b611b598282610ecd565b611b7a57808260405163e2517d3f60e01b8152600401611b46929190611f40565b5050565b60025460ff16610de957604051638dfc202b60e01b815260040160405180910390fd5b60606113f18383600084600080856001600160a01b03168486604051611bc79190611f76565b60006040518083038185875af1925050503d8060008114611c04576040519150601f19603f3d011682016040523d82523d6000602084013e611c09565b606091505b5091509150611c19868383611c23565b9695505050505050565b606082611c3857611c3382611c76565b6113f1565b8151158015611c4f57506001600160a01b0384163b155b15611c6f5783604051639996b31560e01b8152600401611b469190611dfe565b50806113f1565b805115611c865780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a3857600080fd5b600060208284031215611cc657600080fd5b81356113f181611c9f565b600060208284031215611ce357600080fd5b81356001600160e01b0319811681146113f157600080fd5b600060208284031215611d0d57600080fd5b5035919050565b60008060408385031215611d2757600080fd5b823591506020830135611d3981611c9f565b809150509250929050565b600080600060608486031215611d5957600080fd5b505081359360208301359350604090920135919050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b6101c08101611dc3828b611d70565b60e08201989098526101008101969096526101208601949094526101408501929092526101608401526101808301526101a090910152919050565b6001600160a01b0391909116815260200190565b60008060408385031215611e2557600080fd5b8235611e3081611c9f565b946020939093013593505050565b8015158114610a3857600080fd5b600060208284031215611e5e57600080fd5b81356113f181611e3e565b6101408101611e788287611d70565b8460e0830152836101008301528261012083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108ce576108ce611e95565b80820281158282048414176108ce576108ce611e95565b600082611ef257634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156108ce576108ce611e95565b600060208284031215611f1c57600080fd5b5051919050565b600060208284031215611f3557600080fd5b81516113f181611c9f565b6001600160a01b03929092168252602082015260400190565b600060208284031215611f6b57600080fd5b81516113f181611e3e565b6000825160005b81811015611f975760208186018101518583015201611f7d565b50600092019182525091905056fe7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357a2646970667358221220ddded976cc7d12480ec60d1e38f0780d614fc7d02615124e7a4a2346f80c24d864736f6c63430008140033",
1519
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102f75760003560e01c806391d1485411610193578063c925c680116100e4578063df136d6511610092578063df136d6514610795578063ea8d6e611461079e578063ebe2b12b14610802578063f77c47911461080a578063f7c618c114610831578063f975951814610858578063feca39001461086057600080fd5b8063c925c680146106fb578063cd63d9301461070e578063cd6606e214610717578063d547741f14610721578063d6585ecf14610734578063d70afa961461075b578063ddce102f1461078257600080fd5b8063afd7821711610141578063afd7821714610688578063b36fec571461069b578063b4599585146106a4578063b77cf9c6146106b7578063b7f1aca8146106d7578063c2c4c5c1146106ea578063c8f33c91146106f257600080fd5b806391d148541461061957806395ccea671461062c5780639d0ab89f1461063f5780639e0092cb14610652578063a217fddf14610665578063a694fc3a1461066d578063a83627de1461068057600080fd5b80633ac70ccf1161024d57806370a08231116101fb57806370a0823114610575578063718dc3c31461059d57806372f702f3146105ae578063750e1c09146105e25780637b0a47ee146105f557806380faa57d146105fe578063911aabbc1461060657600080fd5b80633ac70ccf146104835780633c6b16ab1461049f5780633d18b912146104b25780635c975abb146104ba57806362190150146104c55780636b747dc0146104f45780637001f4bb1461056c57600080fd5b806318160ddd116102aa57806318160ddd146103bd578063248a9ca3146103c557806327647248146103e95780632e1a7d4d146103f15780632e46da29146104065780632f2ff15d1461045d57806336568abe1461047057600080fd5b80628cc262146102fc57806301ffc9a71461032257806306aba0e114610345578063092c5b3b1461034d5780630c06f748146103625780630d15fd771461036a5780630ecc535f14610373575b600080fd5b61030f61030a366004611cb4565b610868565b6040519081526020015b60405180910390f35b610335610330366004611cd1565b6108d4565b6040519015158152602001610319565b61030f610909565b61030f600080516020611fa683398151915281565b61030f610919565b61030f60215481565b6103a2610381366004611cb4565b600a6020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610319565b601f5461030f565b61030f6103d3366004611cfb565b6000908152600160208190526040909120015490565b602b5461030f565b6104046103ff366004611cfb565b610926565b005b6003546004546005546006546007546008546009546104289695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610319565b61040461046b366004611d14565b610a3b565b61040461047e366004611d14565b610a67565b610404610491366004611d44565b601792909255601855601955565b6104046104ad366004611cfb565b610a9f565b610404610c39565b60025460ff16610335565b6103a26104d3366004611cb4565b602c6020526000908152604090208054600182015460029092015490919083565b6040805160e08101825260105481526011546020820152601254918101919091526013546060820152601454608082015260155460a082015260165460c0820152601754601854601954601a54601b54601c54601d54610558979695949392919088565b604051610319989796959493929190611db4565b61030f61271081565b61030f610583366004611cb4565b6001600160a01b0316600090815260208052604090205490565b61030f69d3c21bcecceda100000081565b6105d57f000000000000000000000000000000000000000000000000000000000000000081565b6040516103199190611dfe565b6104046105f0366004611cfb565b610deb565b61030f600b5481565b61030f610e61565b610404610614366004611cb4565b610e7e565b610335610627366004611d14565b610ecd565b61040461063a366004611e12565b610ef8565b61040461064d366004611e4c565b610f17565b610404610660366004611cfb565b610f74565b61030f600081565b61040461067b366004611cfb565b61111f565b6104046111f4565b610335610696366004611cfb565b6112b8565b62093a8061030f565b6104046106b2366004611d44565b6112ed565b61030f6106c5366004611cb4565b600e6020526000908152604090205481565b6104046106e5366004611cfb565b611322565b6104046113a5565b61030f600c5481565b61030f610709366004611cb4565b6113e1565b61030f601e5481565b61030f6201518081565b61040461072f366004611d14565b6113f8565b61030f7f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb81565b61030f7fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e81565b610404610790366004611cfb565b61141e565b61030f600d5481565b6040805160e08101825260225481526023546020820152602454918101919091526025546060820152602654608082015260275460a082015260285460c0820152602954602a54602b546107f29392919084565b6040516103199493929190611e69565b61030f6114ab565b6105d57f000000000000000000000000000000000000000000000000000000000000000081565b6105d57f000000000000000000000000000000000000000000000000000000000000000081565b61030f606481565b61030f6114be565b6001600160a01b0381166000908152600a602052604081206002810154600190910154670de0b6b3a76400009061089d6114be565b6108a79190611eab565b6108b0856113e1565b6108ba9190611ebe565b6108c49190611ed5565b6108ce9190611ef7565b92915050565b60006001600160e01b03198216637965db0b60e01b14806108ce57506301ffc9a760e01b6001600160e01b03198316146108ce565b6000610914601f5490565b905090565b6000610914602242611525565b61092e6115fa565b3361093881611624565b816000036109595760405163162908e360e11b815260040160405180910390fd5b33600090815260208052604090205482111561098857604051631e9acf1760e31b815260040160405180910390fd5b81601f600082825461099a9190611eab565b9091555050336000908152602080526040812080548492906109bd908490611eab565b909155506109f790506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633846116be565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250610a386001600055565b50565b60008281526001602081905260409091200154610a5781611716565b610a618383611720565b50505050565b6001600160a01b0381163314610a905760405163334bd91960e11b815260040160405180910390fd5b610a9a8282611799565b505050565b610ab7600080516020611fa683398151915233610ecd565b610ad457604051635c427cd960e01b815260040160405180910390fd5b6000610adf81611624565b602954821115610b0257604051631fbe179d60e11b815260040160405180910390fd5b610b1d602283602260070154610b1862093a8090565b611806565b600b55602a8054839190600090610b35908490611ef7565b90915550506040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610b89903090600401611dfe565b602060405180830381865afa158015610ba6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bca9190611f0a565b90508062093a80600b54610bde9190611ebe565b1115610bfd5760405163f16eeebd60e01b815260040160405180910390fd5b42600c556040518381527ff9a5da3a173eca8cd77c02ece3ff1467b8aa461ed3822201817f2d72fbc542839060200160405180910390a1505050565b610c416115fa565b610c4961188b565b33610c5381611624565b336000908152600e60205260409020546201518090610c729042611eab565b1015610c915760405163c4a8921360e01b815260040160405180910390fd5b336000908152600e60209081526040808320429055600a909152902060028101548015610ddc576000600283018190556040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610d0d903090600401611dfe565b602060405180830381865afa158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e9190611f0a565b905080821115610d7157604051631e9acf1760e31b815260040160405180910390fd5b610da56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633846116be565b60405182815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a2505b505050610de96001600055565b565b610e03600080516020611fa683398151915233610ecd565b610e2057604051635c427cd960e01b815260040160405180910390fd5b62093a8042600082610e328184611ed5565b610e3d906002611ef7565b610e479190611ebe565b9050610e5960228285876127106118af565b602b55505050565b6000610e6b6114ab565b4210610e79576109146114ab565b504290565b610e8781611624565b806001600160a01b03167f39cf56b90e9d763f0c102996f87d848a60d5b19bd9d53e36505c49b64aa89c7242604051610ec291815260200190565b60405180910390a250565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610f0381611716565b610a9a6001600160a01b03841633846116be565b610f417f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb33610ecd565b610f5e57604051635c427cd960e01b815260040160405180910390fd5b8015610f6c57610a386119ab565b610a386119ff565b610f7c61188b565b33610f8681611624565b612710821115610fa95760405163585b926360e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b731cb546040518163ffffffff1660e01b8152600401602060405180830381865afa158015611009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102d9190611f23565b6001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016110589190611dfe565b602060405180830381865afa158015611075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110999190611f0a565b9050806000036110bc57604051631f05dadd60e21b815260040160405180910390fd5b336000908152602c602052604090206021546110dc919085908490611a38565b602155604080518481526020810183905233917ff4dbed0941210063507e7377f14a0749f60a2a982a3c2655b01d65134b924a6d910160405180910390a2505050565b6111276115fa565b3361113181611624565b816000036111525760405163162908e360e11b815260040160405180910390fd5b81601f60008282546111649190611ef7565b909155505033600090815260208052604081208054849290611187908490611ef7565b909155506111c290506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611ab3565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610a25565b61120c600080516020611fa683398151915233610ecd565b61122957604051635c427cd960e01b815260040160405180910390fd5b42600062093a80602b5461123d9190611ef7565b9050808210156112605760405163f0aaee6560e01b815260040160405180910390fd5b62093a806000611271602284611525565b90506000826112808187611ed5565b61128b906002611ef7565b6112959190611ebe565b6000602a55602b81905590506112b160228285856127106118af565b5050505050565b600069d3c21bcecceda10000008211156112e557604051636173efe160e11b815260040160405180910390fd5b506001919050565b611305600080516020611fa683398151915233610ecd565b61049157604051635c427cd960e01b815260040160405180910390fd5b61134c7fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e33610ecd565b61136957604051635c427cd960e01b815260040160405180910390fd5b601e8190556040518181527ff18d722badc84ff70f53556319e6c00b5f78303309e5289063a3c5a41a7a77d5906020015b60405180910390a150565b336113af81611624565b60405142815233907f39cf56b90e9d763f0c102996f87d848a60d5b19bd9d53e36505c49b64aa89c7290602001610ec2565b6000806113ed602d5490565b9050805b9392505050565b6000828152600160208190526040909120015461141481611716565b610a618383611799565b611436600080516020611fa683398151915233610ecd565b61145357604051635c427cd960e01b815260040160405180910390fd5b60295481111561147657604051631fbe179d60e11b815260040160405180910390fd5b60298190556040518181527fb114240d54ce08081cbd18870dc3b6cd4091bb86ff29d2ad41906c2a2d6723d49060200161139a565b600062093a80600c546109149190611ef7565b60006114c9601f5490565b6000036114d75750600d5490565b601f54600b54600c546114e8610e61565b6114f29190611eab565b6114fc9190611ebe565b61150e90670de0b6b3a7640000611ebe565b6115189190611ed5565b600d546109149190611ef7565b8154600090821161153b575060038201546108ce565b60008360010154831161154e5782611554565b83600101545b60048501546002860154919250908211156115db57600085600201548361157b9190611eab565b9050600081876003015461158f9190611ebe565b90506000821180156115ae575060038701546115ab8383611ed5565b14155b156115cc5760405163f20577e560e01b815260040160405180910390fd5b6115d68184611ef7565b925050505b84546115e79083611eab565b6115f19082611ed5565b95945050505050565b60026000540361161d57604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b61162c6114be565b600d55611637610e61565b600c556001600160a01b03811615610a38576001600160a01b0381166000908152600a6020526040902061166a82610868565b60028201819055600d5460018301554282556040519081526001600160a01b038316907f401ccfec4c6c7ac3f3b71182750d0f8d73c0d29cc476732b0b21ab0d359da47f9060200160405180910390a25050565b610a9a83846001600160a01b031663a9059cbb85856040516024016116e4929190611f40565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611aec565b610a388133611b4f565b600061172c8383610ecd565b6117915760008381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45060016108ce565b5060006108ce565b60006117a58383610ecd565b156117915760008381526001602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016108ce565b60008284111561182957604051631fbe179d60e11b815260040160405180910390fd5b6007850154600886015461183d9086611ef7565b111561185c57604051631fbe179d60e11b815260040160405180910390fd5b60006118688386611ed5565b9050806000036115f1576040516307ced7af60e01b815260040160405180910390fd5b60025460ff1615610de95760405163d93c066560e01b815260040160405180910390fd5b8454158015906118ce5750600585015485546118cb9190611ef7565b84105b156118ec5760405163f0aaee6560e01b815260040160405180910390fd5b8260000361190d5760405163346ab43760e11b815260040160405180910390fd5b8060000361192e576040516319a2a9bd60e01b815260040160405180910390fd5b83855561193b8385611ef7565b6001860155600285018490556003850182905560006004860155600585018390556006850181905560408051858152602081018590529081018390527f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829060600160405180910390a15050505050565b6119b361188b565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119e83390565b6040516119f59190611dfe565b60405180910390a1565b611a07611b7e565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336119e8565b6000612710841115611a5d5760405163585b926360e01b815260040160405180910390fd5b82600003611a7e57604051631f05dadd60e21b815260040160405180910390fd5b600083866001015484611a919190611eab565b611a9b9190611ef7565b94865550505060018301554260029092019190915590565b6040516001600160a01b038481166024830152838116604483015260648201839052610a619186918216906323b872dd906084016116e4565b6000611b016001600160a01b03841683611ba1565b90508051600014158015611b26575080806020019051810190611b249190611f59565b155b15610a9a5782604051635274afe760e01b8152600401611b469190611dfe565b60405180910390fd5b611b598282610ecd565b611b7a57808260405163e2517d3f60e01b8152600401611b46929190611f40565b5050565b60025460ff16610de957604051638dfc202b60e01b815260040160405180910390fd5b60606113f18383600084600080856001600160a01b03168486604051611bc79190611f76565b60006040518083038185875af1925050503d8060008114611c04576040519150601f19603f3d011682016040523d82523d6000602084013e611c09565b606091505b5091509150611c19868383611c23565b9695505050505050565b606082611c3857611c3382611c76565b6113f1565b8151158015611c4f57506001600160a01b0384163b155b15611c6f5783604051639996b31560e01b8152600401611b469190611dfe565b50806113f1565b805115611c865780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610a3857600080fd5b600060208284031215611cc657600080fd5b81356113f181611c9f565b600060208284031215611ce357600080fd5b81356001600160e01b0319811681146113f157600080fd5b600060208284031215611d0d57600080fd5b5035919050565b60008060408385031215611d2757600080fd5b823591506020830135611d3981611c9f565b809150509250929050565b600080600060608486031215611d5957600080fd5b505081359360208301359350604090920135919050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b6101c08101611dc3828b611d70565b60e08201989098526101008101969096526101208601949094526101408501929092526101608401526101808301526101a090910152919050565b6001600160a01b0391909116815260200190565b60008060408385031215611e2557600080fd5b8235611e3081611c9f565b946020939093013593505050565b8015158114610a3857600080fd5b600060208284031215611e5e57600080fd5b81356113f181611e3e565b6101408101611e788287611d70565b8460e0830152836101008301528261012083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108ce576108ce611e95565b80820281158282048414176108ce576108ce611e95565b600082611ef257634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156108ce576108ce611e95565b600060208284031215611f1c57600080fd5b5051919050565b600060208284031215611f3557600080fd5b81516113f181611c9f565b6001600160a01b03929092168252602082015260400190565b600060208284031215611f6b57600080fd5b81516113f181611e3e565b6000825160005b81811015611f975760208186018101518583015201611f7d565b50600092019182525091905056fe7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357a2646970667358221220ddded976cc7d12480ec60d1e38f0780d614fc7d02615124e7a4a2346f80c24d864736f6c63430008140033",
1520
+ "linkReferences": {},
1521
+ "deployedLinkReferences": {}
1522
+ }