@raac/rpc 1.0.2-beta.3 → 1.0.2-beta.5

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 (360) hide show
  1. package/{RPCLibrary.ts → RPCLibrary.js} +7 -121
  2. package/artifacts/core/collectors/FeeCollector.sol/FeeCollector.dbg.json +4 -0
  3. package/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +1743 -0
  4. package/artifacts/core/collectors/Treasury.sol/Treasury.dbg.json +4 -0
  5. package/artifacts/core/collectors/Treasury.sol/Treasury.json +481 -0
  6. package/artifacts/core/governance/boost/BoostController.sol/BoostController.dbg.json +4 -0
  7. package/artifacts/core/governance/boost/BoostController.sol/BoostController.json +905 -0
  8. package/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.dbg.json +4 -0
  9. package/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +1398 -0
  10. package/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.dbg.json +4 -0
  11. package/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +1435 -0
  12. package/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.dbg.json +4 -0
  13. package/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +1471 -0
  14. package/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.dbg.json +4 -0
  15. package/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +1471 -0
  16. package/artifacts/core/governance/proposals/Governance.sol/Governance.dbg.json +4 -0
  17. package/artifacts/core/governance/proposals/Governance.sol/Governance.json +1242 -0
  18. package/artifacts/core/governance/proposals/TimelockController.sol/TimelockController.dbg.json +4 -0
  19. package/artifacts/core/governance/proposals/TimelockController.sol/TimelockController.json +988 -0
  20. package/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.dbg.json +4 -0
  21. package/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +1443 -0
  22. package/artifacts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.sol/RAACReleaseOrchestrator.dbg.json +4 -0
  23. package/artifacts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.sol/RAACReleaseOrchestrator.json +860 -0
  24. package/artifacts/core/oracles/BaseChainlinkFunctionsOracle.sol/BaseChainlinkFunctionsOracle.dbg.json +4 -0
  25. package/artifacts/core/oracles/BaseChainlinkFunctionsOracle.sol/BaseChainlinkFunctionsOracle.json +264 -0
  26. package/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.dbg.json +4 -0
  27. package/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +279 -0
  28. package/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.dbg.json +4 -0
  29. package/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +335 -0
  30. package/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.dbg.json +4 -0
  31. package/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +350 -0
  32. package/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.dbg.json +4 -0
  33. package/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +2760 -0
  34. package/artifacts/core/pools/StabilityPool/NFTLiquidator.sol/NFTLiquidator.dbg.json +4 -0
  35. package/artifacts/core/pools/StabilityPool/NFTLiquidator.sol/NFTLiquidator.json +485 -0
  36. package/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.dbg.json +4 -0
  37. package/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +1146 -0
  38. package/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.dbg.json +4 -0
  39. package/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +285 -0
  40. package/artifacts/core/tokens/DEToken.sol/DEToken.dbg.json +4 -0
  41. package/artifacts/core/tokens/DEToken.sol/DEToken.json +858 -0
  42. package/artifacts/core/tokens/DebtToken.sol/DebtToken.dbg.json +4 -0
  43. package/artifacts/core/tokens/DebtToken.sol/DebtToken.json +953 -0
  44. package/artifacts/core/tokens/IndexToken.sol/IndexToken.dbg.json +4 -0
  45. package/artifacts/core/tokens/IndexToken.sol/IndexToken.json +770 -0
  46. package/artifacts/core/tokens/LPToken.sol/LPToken.dbg.json +4 -0
  47. package/artifacts/core/tokens/LPToken.sol/LPToken.json +507 -0
  48. package/artifacts/core/tokens/RAACNFT.sol/RAACNFT.dbg.json +4 -0
  49. package/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +1472 -0
  50. package/artifacts/core/tokens/RAACToken.sol/RAACToken.dbg.json +4 -0
  51. package/artifacts/core/tokens/RAACToken.sol/RAACToken.json +832 -0
  52. package/artifacts/core/tokens/RToken.sol/RToken.dbg.json +4 -0
  53. package/artifacts/core/tokens/RToken.sol/RToken.json +1205 -0
  54. package/artifacts/core/tokens/veRAACToken.sol/veRAACToken.dbg.json +4 -0
  55. package/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +1616 -0
  56. package/artifacts/interfaces/IERC20.sol/IERC20.dbg.json +4 -0
  57. package/artifacts/interfaces/IERC20.sol/IERC20.json +194 -0
  58. package/artifacts/interfaces/IHousePrices.sol/IHousePrices.dbg.json +4 -0
  59. package/artifacts/interfaces/IHousePrices.sol/IHousePrices.json +30 -0
  60. package/artifacts/interfaces/INFTLiquidator.sol/INFTLiquidator.dbg.json +4 -0
  61. package/artifacts/interfaces/INFTLiquidator.sol/INFTLiquidator.json +86 -0
  62. package/artifacts/interfaces/IPoolManager.sol/IPoolManager.dbg.json +4 -0
  63. package/artifacts/interfaces/IPoolManager.sol/IPoolManager.json +57 -0
  64. package/artifacts/interfaces/IReserveAllocationLibraryMock.sol/IReserveAllocationLibraryMock.dbg.json +4 -0
  65. package/artifacts/interfaces/IReserveAllocationLibraryMock.sol/IReserveAllocationLibraryMock.json +246 -0
  66. package/artifacts/interfaces/IUSDC.sol/IUSDC.dbg.json +4 -0
  67. package/artifacts/interfaces/IUSDC.sol/IUSDC.json +194 -0
  68. package/artifacts/interfaces/IveRAACDistributor.sol/IveRAACDistributor.dbg.json +4 -0
  69. package/artifacts/interfaces/IveRAACDistributor.sol/IveRAACDistributor.json +100 -0
  70. package/artifacts/interfaces/core/collectors/IBaseCollector.sol/IBaseCollector.dbg.json +4 -0
  71. package/artifacts/interfaces/core/collectors/IBaseCollector.sol/IBaseCollector.json +45 -0
  72. package/artifacts/interfaces/core/collectors/IFeeCollector.sol/IFeeCollector.dbg.json +4 -0
  73. package/artifacts/interfaces/core/collectors/IFeeCollector.sol/IFeeCollector.json +922 -0
  74. package/artifacts/interfaces/core/collectors/ITreasury.sol/ITreasury.dbg.json +4 -0
  75. package/artifacts/interfaces/core/collectors/ITreasury.sol/ITreasury.json +214 -0
  76. package/artifacts/interfaces/core/governance/IBoostController.sol/IBoostController.dbg.json +4 -0
  77. package/artifacts/interfaces/core/governance/IBoostController.sol/IBoostController.json +378 -0
  78. package/artifacts/interfaces/core/governance/gauges/IGauge.sol/IGauge.dbg.json +4 -0
  79. package/artifacts/interfaces/core/governance/gauges/IGauge.sol/IGauge.json +394 -0
  80. package/artifacts/interfaces/core/governance/gauges/IGaugeController.sol/IGaugeController.dbg.json +4 -0
  81. package/artifacts/interfaces/core/governance/gauges/IGaugeController.sol/IGaugeController.json +577 -0
  82. package/artifacts/interfaces/core/governance/proposals/IGovernance.sol/IGovernance.dbg.json +4 -0
  83. package/artifacts/interfaces/core/governance/proposals/IGovernance.sol/IGovernance.json +1134 -0
  84. package/artifacts/interfaces/core/governance/proposals/ITimelockController.sol/ITimelockController.dbg.json +4 -0
  85. package/artifacts/interfaces/core/governance/proposals/ITimelockController.sol/ITimelockController.json +612 -0
  86. package/artifacts/interfaces/core/minters/RAACMinter/IRAACMinter.sol/IRAACMinter.dbg.json +4 -0
  87. package/artifacts/interfaces/core/minters/RAACMinter/IRAACMinter.sol/IRAACMinter.json +542 -0
  88. package/artifacts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.sol/IReleaseOrchestrator.dbg.json +4 -0
  89. package/artifacts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.sol/IReleaseOrchestrator.json +358 -0
  90. package/artifacts/interfaces/core/oracles/IBaseVRFv2Consumer.sol/IBaseVRFv2Consumer.dbg.json +4 -0
  91. package/artifacts/interfaces/core/oracles/IBaseVRFv2Consumer.sol/IBaseVRFv2Consumer.json +102 -0
  92. package/artifacts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices.dbg.json +4 -0
  93. package/artifacts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices.json +193 -0
  94. package/artifacts/interfaces/core/pools/ILiquidityPool.sol/ILiquidityPool.dbg.json +4 -0
  95. package/artifacts/interfaces/core/pools/ILiquidityPool.sol/ILiquidityPool.json +310 -0
  96. package/artifacts/interfaces/core/pools/LendingPool/ILendingPool.sol/ILendingPool.dbg.json +4 -0
  97. package/artifacts/interfaces/core/pools/LendingPool/ILendingPool.sol/ILendingPool.json +1500 -0
  98. package/artifacts/interfaces/core/pools/StabilityPool/IStabilityPool.sol/IStabilityPool.dbg.json +4 -0
  99. package/artifacts/interfaces/core/pools/StabilityPool/IStabilityPool.sol/IStabilityPool.json +622 -0
  100. package/artifacts/interfaces/core/tokens/IDEToken.sol/IDEToken.dbg.json +4 -0
  101. package/artifacts/interfaces/core/tokens/IDEToken.sol/IDEToken.json +333 -0
  102. package/artifacts/interfaces/core/tokens/IDebtToken.sol/IDebtToken.dbg.json +4 -0
  103. package/artifacts/interfaces/core/tokens/IDebtToken.sol/IDebtToken.json +507 -0
  104. package/artifacts/interfaces/core/tokens/IIndexToken.sol/IIndexToken.dbg.json +4 -0
  105. package/artifacts/interfaces/core/tokens/IIndexToken.sol/IIndexToken.json +299 -0
  106. package/artifacts/interfaces/core/tokens/IRAACNFT.sol/IRAACNFT.dbg.json +4 -0
  107. package/artifacts/interfaces/core/tokens/IRAACNFT.sol/IRAACNFT.json +816 -0
  108. package/artifacts/interfaces/core/tokens/IRAACToken.sol/IRAACToken.dbg.json +4 -0
  109. package/artifacts/interfaces/core/tokens/IRAACToken.sol/IRAACToken.json +567 -0
  110. package/artifacts/interfaces/core/tokens/IRToken.sol/IRToken.dbg.json +4 -0
  111. package/artifacts/interfaces/core/tokens/IRToken.sol/IRToken.json +641 -0
  112. package/artifacts/interfaces/core/tokens/IveRAACToken.sol/IveRAACToken.dbg.json +4 -0
  113. package/artifacts/interfaces/core/tokens/IveRAACToken.sol/IveRAACToken.json +560 -0
  114. package/artifacts/interfaces/core/vaults/IBaseVault.sol/IBaseVault.dbg.json +4 -0
  115. package/artifacts/interfaces/core/vaults/IBaseVault.sol/IBaseVault.json +185 -0
  116. package/artifacts/interfaces/curve/ICurveCrvUSDVault.sol/ICurveCrvUSDVault.dbg.json +4 -0
  117. package/artifacts/interfaces/curve/ICurveCrvUSDVault.sol/ICurveCrvUSDVault.json +250 -0
  118. package/artifacts/interfaces/zeno/IAuction.sol/IAuction.dbg.json +4 -0
  119. package/artifacts/interfaces/zeno/IAuction.sol/IAuction.json +162 -0
  120. package/artifacts/interfaces/zeno/IZENO.sol/IZENO.dbg.json +4 -0
  121. package/artifacts/interfaces/zeno/IZENO.sol/IZENO.json +321 -0
  122. package/artifacts/libraries/governance/BoostCalculator.sol/BoostCalculator.dbg.json +4 -0
  123. package/artifacts/libraries/governance/BoostCalculator.sol/BoostCalculator.json +51 -0
  124. package/artifacts/libraries/governance/Checkpoints.sol/Checkpoints.dbg.json +4 -0
  125. package/artifacts/libraries/governance/Checkpoints.sol/Checkpoints.json +69 -0
  126. package/artifacts/libraries/governance/LockManager.sol/LockManager.dbg.json +4 -0
  127. package/artifacts/libraries/governance/LockManager.sol/LockManager.json +123 -0
  128. package/artifacts/libraries/governance/PowerCheckpoint.sol/PowerCheckpoint.dbg.json +4 -0
  129. package/artifacts/libraries/governance/PowerCheckpoint.sol/PowerCheckpoint.json +70 -0
  130. package/artifacts/libraries/governance/RAACVoting.sol/RAACVoting.dbg.json +4 -0
  131. package/artifacts/libraries/governance/RAACVoting.sol/RAACVoting.json +102 -0
  132. package/artifacts/libraries/governance/VotingPowerLib.sol/VotingPowerLib.dbg.json +4 -0
  133. package/artifacts/libraries/governance/VotingPowerLib.sol/VotingPowerLib.json +76 -0
  134. package/artifacts/libraries/math/PercentageMath.sol/PercentageMath.dbg.json +4 -0
  135. package/artifacts/libraries/math/PercentageMath.sol/PercentageMath.json +10 -0
  136. package/artifacts/libraries/math/TimeWeightedAverage.sol/TimeWeightedAverage.dbg.json +4 -0
  137. package/artifacts/libraries/math/TimeWeightedAverage.sol/TimeWeightedAverage.json +142 -0
  138. package/artifacts/libraries/math/WadRayMath.sol/WadRayMath.dbg.json +4 -0
  139. package/artifacts/libraries/math/WadRayMath.sol/WadRayMath.json +10 -0
  140. package/artifacts/libraries/pools/DataTypes.sol/DataTypes.dbg.json +4 -0
  141. package/artifacts/libraries/pools/DataTypes.sol/DataTypes.json +10 -0
  142. package/artifacts/libraries/pools/ReserveLibrary.sol/ReserveLibrary.dbg.json +4 -0
  143. package/artifacts/libraries/pools/ReserveLibrary.sol/ReserveLibrary.json +153 -0
  144. package/artifacts/libraries/utils/StringUtils.sol/StringUtils.dbg.json +4 -0
  145. package/artifacts/libraries/utils/StringUtils.sol/StringUtils.json +16 -0
  146. package/artifacts/mocks/core/collectors/MockTreasury.sol/MockTreasury.dbg.json +4 -0
  147. package/artifacts/mocks/core/collectors/MockTreasury.sol/MockTreasury.json +255 -0
  148. package/artifacts/mocks/core/governance/gauges/MockBaseGauge.sol/MockBaseGauge.dbg.json +4 -0
  149. package/artifacts/mocks/core/governance/gauges/MockBaseGauge.sol/MockBaseGauge.json +1522 -0
  150. package/artifacts/mocks/core/governance/gauges/MockGaugeController.sol/MockGaugeController.dbg.json +4 -0
  151. package/artifacts/mocks/core/governance/gauges/MockGaugeController.sol/MockGaugeController.json +49 -0
  152. package/artifacts/mocks/core/governance/proposals/TimelockTestTarget.sol/TimelockTestTarget.dbg.json +4 -0
  153. package/artifacts/mocks/core/governance/proposals/TimelockTestTarget.sol/TimelockTestTarget.json +112 -0
  154. package/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/IFunctionsRouter.dbg.json +4 -0
  155. package/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/IFunctionsRouter.json +50 -0
  156. package/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter.dbg.json +4 -0
  157. package/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter.json +69 -0
  158. package/artifacts/mocks/core/oracles/MockOracle.sol/MockOracle.dbg.json +4 -0
  159. package/artifacts/mocks/core/oracles/MockOracle.sol/MockOracle.json +63 -0
  160. package/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.dbg.json +4 -0
  161. package/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +774 -0
  162. package/artifacts/mocks/core/oracles/TestRAACHousePriceOracle.sol/TestRAACHousePriceOracle.dbg.json +4 -0
  163. package/artifacts/mocks/core/oracles/TestRAACHousePriceOracle.sol/TestRAACHousePriceOracle.json +358 -0
  164. package/artifacts/mocks/core/oracles/TestRAACPrimeRateOracle.sol/TestRAACPrimeRateOracle.dbg.json +4 -0
  165. package/artifacts/mocks/core/oracles/TestRAACPrimeRateOracle.sol/TestRAACPrimeRateOracle.json +373 -0
  166. package/artifacts/mocks/core/pools/MockLendingPool.sol/MockLendingPool.dbg.json +4 -0
  167. package/artifacts/mocks/core/pools/MockLendingPool.sol/MockLendingPool.json +241 -0
  168. package/artifacts/mocks/core/pools/MockLendingPoolCollector.sol/MockLendingPoolCollector.dbg.json +4 -0
  169. package/artifacts/mocks/core/pools/MockLendingPoolCollector.sol/MockLendingPoolCollector.json +288 -0
  170. package/artifacts/mocks/core/pools/MockLendingPoolDebtToken.sol/MockLendingPoolDebtToken.dbg.json +4 -0
  171. package/artifacts/mocks/core/pools/MockLendingPoolDebtToken.sol/MockLendingPoolDebtToken.json +1522 -0
  172. package/artifacts/mocks/core/pools/MockLiquidityPool.sol/MockLiquidityPool.dbg.json +4 -0
  173. package/artifacts/mocks/core/pools/MockLiquidityPool.sol/MockLiquidityPool.json +1019 -0
  174. package/artifacts/mocks/core/pools/MockPool.sol/MockPool.dbg.json +4 -0
  175. package/artifacts/mocks/core/pools/MockPool.sol/MockPool.json +93 -0
  176. package/artifacts/mocks/core/pools/MockStabilityPool.sol/MockStabilityPool.dbg.json +4 -0
  177. package/artifacts/mocks/core/pools/MockStabilityPool.sol/MockStabilityPool.json +126 -0
  178. package/artifacts/mocks/core/primitives/MockContract.sol/MockContract.dbg.json +4 -0
  179. package/artifacts/mocks/core/primitives/MockContract.sol/MockContract.json +37 -0
  180. package/artifacts/mocks/core/primitives/MockContractWithConfig.sol/MockContractWithConfig.dbg.json +4 -0
  181. package/artifacts/mocks/core/primitives/MockContractWithConfig.sol/MockContractWithConfig.json +52 -0
  182. package/artifacts/mocks/core/primitives/MockDistributableContract.sol/MockDistributableContract.dbg.json +4 -0
  183. package/artifacts/mocks/core/primitives/MockDistributableContract.sol/MockDistributableContract.json +73 -0
  184. package/artifacts/mocks/core/primitives/RAACHousePricesMock.sol/RAACHousePricesMock.dbg.json +4 -0
  185. package/artifacts/mocks/core/primitives/RAACHousePricesMock.sol/RAACHousePricesMock.json +67 -0
  186. package/artifacts/mocks/core/tokens/ERC20Mock.sol/ERC20Mock.dbg.json +4 -0
  187. package/artifacts/mocks/core/tokens/ERC20Mock.sol/ERC20Mock.json +353 -0
  188. package/artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.dbg.json +4 -0
  189. package/artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.json +491 -0
  190. package/artifacts/mocks/core/tokens/MockCollectableUnderlying.sol/MockCollectableUnderlying.dbg.json +4 -0
  191. package/artifacts/mocks/core/tokens/MockCollectableUnderlying.sol/MockCollectableUnderlying.json +568 -0
  192. package/artifacts/mocks/core/tokens/MockFeeCollectorToken.sol/MockFeeCollectorToken.dbg.json +4 -0
  193. package/artifacts/mocks/core/tokens/MockFeeCollectorToken.sol/MockFeeCollectorToken.json +515 -0
  194. package/artifacts/mocks/core/tokens/MockToken.sol/MockToken.dbg.json +4 -0
  195. package/artifacts/mocks/core/tokens/MockToken.sol/MockToken.json +426 -0
  196. package/artifacts/mocks/core/tokens/MockUSDC.sol/MockUSDC.dbg.json +4 -0
  197. package/artifacts/mocks/core/tokens/MockUSDC.sol/MockUSDC.json +348 -0
  198. package/artifacts/mocks/core/tokens/MockVeToken.sol/MockVeToken.dbg.json +4 -0
  199. package/artifacts/mocks/core/tokens/MockVeToken.sol/MockVeToken.json +905 -0
  200. package/artifacts/mocks/core/tokens/RAACMockERC20.sol/RAACMockERC20.dbg.json +4 -0
  201. package/artifacts/mocks/core/tokens/RAACMockERC20.sol/RAACMockERC20.json +422 -0
  202. package/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.dbg.json +4 -0
  203. package/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +479 -0
  204. package/artifacts/mocks/core/vaults/MockVault.sol/MockVault.dbg.json +4 -0
  205. package/artifacts/mocks/core/vaults/MockVault.sol/MockVault.json +672 -0
  206. package/artifacts/mocks/libraries/MockStringUtils.sol/MockStringUtils.dbg.json +4 -0
  207. package/artifacts/mocks/libraries/MockStringUtils.sol/MockStringUtils.json +35 -0
  208. package/artifacts/mocks/libraries/governance/BoostCalculatorMock.sol/BoostCalculatorMock.dbg.json +4 -0
  209. package/artifacts/mocks/libraries/governance/BoostCalculatorMock.sol/BoostCalculatorMock.json +431 -0
  210. package/artifacts/mocks/libraries/governance/CheckpointsMock.sol/CheckpointsMock.dbg.json +4 -0
  211. package/artifacts/mocks/libraries/governance/CheckpointsMock.sol/CheckpointsMock.json +144 -0
  212. package/artifacts/mocks/libraries/governance/LockManagerMock.sol/LockManagerMock.dbg.json +4 -0
  213. package/artifacts/mocks/libraries/governance/LockManagerMock.sol/LockManagerMock.json +237 -0
  214. package/artifacts/mocks/libraries/governance/PowerCheckpointMock.sol/PowerCheckpointMock.dbg.json +4 -0
  215. package/artifacts/mocks/libraries/governance/PowerCheckpointMock.sol/PowerCheckpointMock.json +221 -0
  216. package/artifacts/mocks/libraries/governance/RAACVotingMock.sol/RAACVotingMock.dbg.json +4 -0
  217. package/artifacts/mocks/libraries/governance/RAACVotingMock.sol/RAACVotingMock.json +95 -0
  218. package/artifacts/mocks/libraries/governance/VotingPowerMock.sol/VotingPowerMock.dbg.json +4 -0
  219. package/artifacts/mocks/libraries/governance/VotingPowerMock.sol/VotingPowerMock.json +442 -0
  220. package/artifacts/mocks/libraries/math/TimeWeightedAverageMock.sol/TimeWeightedAverageMock.dbg.json +4 -0
  221. package/artifacts/mocks/libraries/math/TimeWeightedAverageMock.sol/TimeWeightedAverageMock.json +309 -0
  222. package/artifacts/mocks/libraries/math/WadRayMathMock.sol/WadRayMathMock.dbg.json +4 -0
  223. package/artifacts/mocks/libraries/math/WadRayMathMock.sol/WadRayMathMock.json +188 -0
  224. package/artifacts/mocks/libraries/pools/ReserveLibraryMock.sol/ReserveLibraryMock.dbg.json +4 -0
  225. package/artifacts/mocks/libraries/pools/ReserveLibraryMock.sol/ReserveLibraryMock.json +339 -0
  226. package/artifacts/mocks/tests/MaliciousDeposit.sol/MaliciousDeposit.dbg.json +4 -0
  227. package/artifacts/mocks/tests/MaliciousDeposit.sol/MaliciousDeposit.json +52 -0
  228. package/artifacts/mocks/tests/MaliciousWithdraw.sol/MaliciousWithdraw.dbg.json +4 -0
  229. package/artifacts/mocks/tests/MaliciousWithdraw.sol/MaliciousWithdraw.json +52 -0
  230. package/artifacts/mocks/tests/VeRAACFuzzHelper.sol/VeRAACFuzzHelper.dbg.json +4 -0
  231. package/artifacts/mocks/tests/VeRAACFuzzHelper.sol/VeRAACFuzzHelper.json +88 -0
  232. package/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl.dbg.json +4 -0
  233. package/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl.json +24 -0
  234. package/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper.dbg.json +4 -0
  235. package/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper.json +129 -0
  236. package/artifacts/zeno/Auction.sol/Auction.dbg.json +4 -0
  237. package/artifacts/zeno/Auction.sol/Auction.json +393 -0
  238. package/artifacts/zeno/AuctionFactory.sol/AuctionFactory.dbg.json +4 -0
  239. package/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +307 -0
  240. package/artifacts/zeno/ZENO.sol/ZENO.dbg.json +4 -0
  241. package/artifacts/zeno/ZENO.sol/ZENO.json +620 -0
  242. package/artifacts/zeno/ZENOFactory.sol/ZENOFactory.dbg.json +4 -0
  243. package/artifacts/zeno/ZENOFactory.sol/ZENOFactory.json +275 -0
  244. package/assets/{getAsset.ts → getAsset.js} +6 -6
  245. package/assets/{getAssets.ts → getAssets.js} +2 -3
  246. package/assets/{getSupply.ts → getSupply.js} +5 -7
  247. package/configs/chains/index.js +13 -0
  248. package/configs/index.js +17 -0
  249. package/contracts/feeCollector/{claimRewardFromPool.ts → claimRewardFromPool.js} +4 -10
  250. package/contracts/{getContract.ts → getContract.js} +5 -6
  251. package/contracts/{getContractAddress.ts → getContractAddress.js} +4 -6
  252. package/contracts/housePrices/{getLatestPrice.ts → getLatestPrice.js} +6 -8
  253. package/contracts/housePrices/{setOracle.ts → setOracle.js} +6 -8
  254. package/contracts/indexToken/{getNextRandomNFT.ts → getNextRandomNFT.js} +5 -7
  255. package/contracts/indexToken/{redeemNFT.ts → redeemNFT.js} +5 -7
  256. package/contracts/zeno/{createAuction.ts → createAuction.js} +14 -16
  257. package/contracts/zeno/{createZeno.ts → createZeno.js} +8 -10
  258. package/contracts/zeno/{getAuctions.ts → getAuctions.js} +5 -7
  259. package/contracts/zeno/{getZenos.ts → getZenos.js} +5 -7
  260. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +1743 -0
  261. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +1443 -0
  262. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +279 -0
  263. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +2760 -0
  264. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +1146 -0
  265. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +285 -0
  266. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +858 -0
  267. package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.json +770 -0
  268. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +1472 -0
  269. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +832 -0
  270. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +1205 -0
  271. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +1616 -0
  272. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +774 -0
  273. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +479 -0
  274. package/dist/artifacts/zeno/Auction.sol/Auction.json +393 -0
  275. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +307 -0
  276. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +620 -0
  277. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +275 -0
  278. package/methods/commons/{checkAllowance.ts → checkAllowance.js} +10 -12
  279. package/methods/commons/{estimateGasPrice.ts → estimateGasPrice.js} +5 -7
  280. package/minter/{get.ts → get.js} +6 -8
  281. package/minter/{getApy.ts → getApy.js} +5 -7
  282. package/minter/{tick.ts → tick.js} +5 -7
  283. package/nfts/{getAllTokens.ts → getAllTokens.js} +7 -9
  284. package/nfts/{getBaseUri.ts → getBaseUri.js} +5 -7
  285. package/nfts/{getHousePrice.ts → getHousePrice.js} +6 -8
  286. package/nfts/{getMintFeePercentage.ts → getMintFeePercentage.js} +4 -6
  287. package/nfts/{getMintPrice.ts → getMintPrice.js} +7 -9
  288. package/nfts/{getTokenURI.ts → getTokenURI.js} +7 -9
  289. package/nfts/{getTokensByOwner.ts → getTokensByOwner.js} +8 -10
  290. package/nfts/{getTotalPropertiesCount.ts → getTotalPropertiesCount.js} +5 -7
  291. package/nfts/{mint.ts → mint.js} +7 -9
  292. package/nfts/{setBaseUri.ts → setBaseUri.js} +4 -6
  293. package/nfts/{totalNFTSupply.ts → totalNFTSupply.js} +4 -6
  294. package/package.json +1 -1
  295. package/pools/lendingPool/{borrowFromLendingPool.ts → borrowFromLendingPool.js} +8 -10
  296. package/pools/lendingPool/{borrowFromLendingPoolWithInsurance.ts → borrowFromLendingPoolWithInsurance.js} +8 -10
  297. package/pools/lendingPool/{calculateInsuranceFee.ts → calculateInsuranceFee.js} +9 -11
  298. package/pools/lendingPool/{claimReward.ts → claimReward.js} +5 -7
  299. package/pools/lendingPool/{closeLiquidation.ts → closeLiquidation.js} +7 -9
  300. package/pools/lendingPool/{depositNFTToLendingPool.ts → depositNFTToLendingPool.js} +6 -8
  301. package/pools/lendingPool/{depositToLendingPool.ts → depositToLendingPool.js} +6 -8
  302. package/pools/lendingPool/{getAllUserData.ts → getAllUserData.js} +7 -14
  303. package/pools/lendingPool/{getEligibleUserDeposits.ts → getEligibleUserDeposits.js} +7 -9
  304. package/pools/lendingPool/{getHealthFactor.ts → getHealthFactor.js} +8 -10
  305. package/pools/lendingPool/{getHousePrice.ts → getHousePrice.js} +6 -8
  306. package/pools/lendingPool/{getLendingPoolInfo.ts → getLendingPoolInfo.js} +23 -31
  307. package/pools/lendingPool/{getLendingPoolTotalLiquidity.ts → getLendingPoolTotalLiquidity.js} +7 -10
  308. package/pools/lendingPool/{getPendingReward.ts → getPendingReward.js} +7 -9
  309. package/pools/lendingPool/{getPositionDebt.ts → getPositionDebt.js} +8 -10
  310. package/pools/lendingPool/{getPositionScaledDebt.ts → getPositionScaledDebt.js} +8 -10
  311. package/pools/lendingPool/{getPositionView.ts → getPositionView.js} +9 -11
  312. package/pools/lendingPool/{getPositionsScaledDebt.ts → getPositionsScaledDebt.js} +7 -9
  313. package/pools/lendingPool/{getRawUserDepositsInLendingPool.ts → getRawUserDepositsInLendingPool.js} +7 -9
  314. package/pools/lendingPool/{getUserCollateralValue.ts → getUserCollateralValue.js} +7 -9
  315. package/pools/lendingPool/{initializeLiquidation.ts → initializeLiquidation.js} +8 -10
  316. package/pools/lendingPool/{repayToLendingPool.ts → repayToLendingPool.js} +8 -10
  317. package/pools/lendingPool/{withdrawFromLendingPool.ts → withdrawFromLendingPool.js} +9 -10
  318. package/pools/lendingPool/{withdrawNFTFromLendingPool.ts → withdrawNFTFromLendingPool.js} +7 -9
  319. package/pools/stabilityPool/{calculateRAACRewards.ts → calculateRAACRewards.js} +6 -9
  320. package/pools/stabilityPool/configs/chains/index.js +17 -0
  321. package/pools/stabilityPool/configs/index.js +43 -0
  322. package/pools/stabilityPool/{depositNFTToStabilityPool.ts → depositNFTToStabilityPool.js} +6 -9
  323. package/pools/stabilityPool/{depositToStabilityPool.ts → depositToStabilityPool.js} +6 -8
  324. package/pools/stabilityPool/{getRawUserDepositsInStabilityPool.ts → getRawUserDepositsInStabilityPool.js} +7 -9
  325. package/pools/stabilityPool/{getStabilityPoolInfo.ts → getStabilityPoolInfo.js} +10 -12
  326. package/pools/stabilityPool/{getStabilityPoolTotalDeposits.ts → getStabilityPoolTotalDeposits.js} +6 -8
  327. package/pools/stabilityPool/methods/commons/estimateGasPrice.js +28 -0
  328. package/pools/stabilityPool/pools/stabilityPool/withdrawFromStabilityPool.js +34 -0
  329. package/pools/stabilityPool/utils/artifacts.js +74 -0
  330. package/pools/stabilityPool/utils/contracts.js +82 -0
  331. package/pools/stabilityPool/{withdrawFromStabilityPool.ts → withdrawFromStabilityPool.js} +6 -8
  332. package/ts-to-js.sh +42 -0
  333. package/utils/{artifacts.ts → artifacts.js} +1 -4
  334. package/utils/{contracts.ts → contracts.js} +16 -18
  335. package/wallet/assets/{approveAsset.ts → approveAsset.js} +7 -8
  336. package/wallet/assets/{burnAsset.ts → burnAsset.js} +7 -9
  337. package/wallet/assets/{getAllowance.ts → getAllowance.js} +9 -10
  338. package/wallet/assets/{getAsset.ts → getAsset.js} +6 -7
  339. package/wallet/assets/{getAssets.ts → getAssets.js} +5 -7
  340. package/wallet/assets/{getBalance.ts → getBalance.js} +8 -9
  341. package/wallet/assets/{mintAsset.ts → mintAsset.js} +8 -9
  342. package/wallet/assets/{transferAsset.ts → transferAsset.js} +10 -11
  343. package/configs/chains/index.ts +0 -17
  344. package/configs/index.ts +0 -51
  345. /package/configs/chains/{chain.d.ts → chain.d.js} +0 -0
  346. /package/configs/{createConfig.ts → createConfig.js} +0 -0
  347. /package/contracts/crvUSDToken/{getBalance.ts → getBalance.js} +0 -0
  348. /package/contracts/crvUSDToken/{getTotalSupply.ts → getTotalSupply.js} +0 -0
  349. /package/contracts/rcrvUSDToken/{getBalance.ts → getBalance.js} +0 -0
  350. /package/contracts/rcrvUSDToken/{getTotalSupply.ts → getTotalSupply.js} +0 -0
  351. /package/{custom-types.d.ts → custom-types.d.js} +0 -0
  352. /package/{index.ts → index.js} +0 -0
  353. /package/methods/{approveToken.ts → approveToken.js} +0 -0
  354. /package/methods/{getAssetBalance.ts → getAssetBalance.js} +0 -0
  355. /package/methods/{getAssetsBalance.ts → getAssetsBalance.js} +0 -0
  356. /package/pools/liquidityPool/{getLiquidityPoolInfo.ts → getLiquidityPoolInfo.js} +0 -0
  357. /package/scripts/{index.ts → index.js} +0 -0
  358. /package/tests/{test.ts → test.js} +0 -0
  359. /package/utils/{chain.ts → chain.js} +0 -0
  360. /package/utils/{config.ts → config.js} +0 -0
@@ -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": "0x60e06040523480156200001157600080fd5b506040516200246a3803806200246a8339810160408190526200003491620002d4565b600160009081556002805460ff191690556001600160a01b0380871660805280861660a052841660c052859085908590859085906200007490336200011c565b50620000a17f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357846200011c565b506161a8601755670de0b6b3a764000060185562093a806019554260008280620000cc818562000347565b620000d891906200036a565b620000e4919062000384565b602b8190556029859055905062000103602282856000612710620001b3565b5050612710602d55506200039a98505050505050505050565b60008281526001602090815260408083206001600160a01b038516845290915281205460ff16620001a95760008381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a4506001620001ad565b5060005b92915050565b845415801590620001d5575060058501548554620001d2919062000384565b84105b15620001f45760405163f0aaee6560e01b815260040160405180910390fd5b82600003620002165760405163346ab43760e11b815260040160405180910390fd5b8060000362000238576040516319a2a9bd60e01b815260040160405180910390fd5b83855562000247838562000384565b6001860155600285018490556003850182905560006004860155600585018390556006850181905560408051858152602081018590529081018390527f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829060600160405180910390a15050505050565b80516001600160a01b0381168114620002cf57600080fd5b919050565b600080600080600060a08688031215620002ed57600080fd5b620002f886620002b7565b94506200030860208701620002b7565b93506200031860408701620002b7565b6060870151608090970151959894975095949392505050565b634e487b7160e01b600052601160045260246000fd5b6000826200036557634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417620001ad57620001ad62000331565b80820180821115620001ad57620001ad62000331565b60805160a05160c051612076620003f46000396000818161089a015261102e01526000818161063301528181610a5b01526112190152600081816108c101528181610bdd01528181610d5c0152610dff01526120766000f3fe608060405234801561001057600080fd5b50600436106103775760003560e01c806391d14854116101d3578063c925c68011610104578063df136d65116100a2578063f77c47911161007c578063f77c479114610895578063f7c618c1146108bc578063f9759518146108e3578063feca3900146108eb57600080fd5b8063df136d6514610820578063ea8d6e6114610829578063ebe2b12b1461088d57600080fd5b8063d547741f116100de578063d547741f146107ac578063d6585ecf146107bf578063d70afa96146107e6578063ddce102f1461080d57600080fd5b8063c925c68014610786578063cd63d93014610799578063cd6606e2146107a257600080fd5b8063afd7821711610171578063b77cf9c61161014b578063b77cf9c614610742578063b7f1aca814610762578063c2c4c5c114610775578063c8f33c911461077d57600080fd5b8063afd7821714610713578063b36fec5714610726578063b45995851461072f57600080fd5b80639e0092cb116101ad5780639e0092cb146106dd578063a217fddf146106f0578063a694fc3a146106f8578063a83627de1461070b57600080fd5b806391d14854146106a457806395ccea67146106b75780639d0ab89f146106ca57600080fd5b80633ac70ccf116102ad57806370a082311161024b578063750e1c0911610225578063750e1c091461066d5780637b0a47ee1461068057806380faa57d14610689578063911aabbc1461069157600080fd5b806370a08231146105f5578063718dc3c31461061d57806372f702f31461062e57600080fd5b80635c975abb116102875780635c975abb1461053a57806362190150146105455780636b747dc0146105745780637001f4bb146105ec57600080fd5b80633ac70ccf146105035780633c6b16ab1461051f5780633d18b9121461053257600080fd5b806318160ddd1161031a5780632e1a7d4d116102f45780632e1a7d4d146104715780632e46da29146104865780632f2ff15d146104dd57806336568abe146104f057600080fd5b806318160ddd1461043d578063248a9ca314610445578063276472481461046957600080fd5b8063092c5b3b11610356578063092c5b3b146103cd5780630c06f748146103e25780630d15fd77146103ea5780630ecc535f146103f357600080fd5b80628cc2621461037c57806301ffc9a7146103a257806306aba0e1146103c5575b600080fd5b61038f61038a366004611d5c565b6108f3565b6040519081526020015b60405180910390f35b6103b56103b0366004611d79565b61095f565b6040519015158152602001610399565b61038f610994565b61038f60008051602061202183398151915281565b61038f6109a4565b61038f60215481565b610422610401366004611d5c565b600a6020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610399565b601f5461038f565b61038f610453366004611da3565b6000908152600160208190526040909120015490565b602b5461038f565b61048461047f366004611da3565b6109b1565b005b6003546004546005546006546007546008546009546104a89695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610399565b6104846104eb366004611dbc565b610ac6565b6104846104fe366004611dbc565b610af2565b610484610511366004611dec565b601792909255601855601955565b61048461052d366004611da3565b610b2a565b610484610cbf565b60025460ff166103b5565b610422610553366004611d5c565b602c6020526000908152604090208054600182015460029092015490919083565b6040805160e08101825260105481526011546020820152601254918101919091526013546060820152601454608082015260155460a082015260165460c0820152601754601854601954601a54601b54601c54601d546105d8979695949392919088565b604051610399989796959493929190611e5c565b61038f61271081565b61038f610603366004611d5c565b6001600160a01b0316600090815260208052604090205490565b61038f69d3c21bcecceda100000081565b6106557f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610399565b61048461067b366004611da3565b610e6c565b61038f600b5481565b61038f610ee2565b61048461069f366004611d5c565b610eff565b6103b56106b2366004611dbc565b610f4e565b6104846106c5366004611ea6565b610f79565b6104846106d8366004611ee0565b610f98565b6104846106eb366004611da3565b610ff5565b61038f600081565b610484610706366004611da3565b61119e565b610484611273565b6103b5610721366004611da3565b611337565b62093a8061038f565b61048461073d366004611dec565b61136c565b61038f610750366004611d5c565b600e6020526000908152604090205481565b610484610770366004611da3565b6113a1565b610484611424565b61038f600c5481565b61038f610794366004611d5c565b611460565b61038f601e5481565b61038f6201518081565b6104846107ba366004611dbc565b611477565b61038f7f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb81565b61038f7fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e81565b61048461081b366004611da3565b61149d565b61038f600d5481565b6040805160e08101825260225481526023546020820152602454918101919091526025546060820152602654608082015260275460a082015260285460c0820152602954602a54602b5461087d9392919084565b6040516103999493929190611efd565b61038f61152a565b6106557f000000000000000000000000000000000000000000000000000000000000000081565b6106557f000000000000000000000000000000000000000000000000000000000000000081565b61038f606481565b61038f61153d565b6001600160a01b0381166000908152600a602052604081206002810154600190910154670de0b6b3a76400009061092861153d565b6109329190611f3f565b61093b85611460565b6109459190611f52565b61094f9190611f69565b6109599190611f8b565b92915050565b60006001600160e01b03198216637965db0b60e01b148061095957506301ffc9a760e01b6001600160e01b0319831614610959565b600061099f601f5490565b905090565b600061099f6022426115a4565b6109b9611679565b336109c3816116a3565b816000036109e45760405163162908e360e11b815260040160405180910390fd5b336000908152602080526040902054821115610a1357604051631e9acf1760e31b815260040160405180910390fd5b81601f6000828254610a259190611f3f565b909155505033600090815260208052604081208054849290610a48908490611f3f565b90915550610a8290506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338461173d565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250610ac36001600055565b50565b60008281526001602081905260409091200154610ae28161179c565b610aec83836117a6565b50505050565b6001600160a01b0381163314610b1b5760405163334bd91960e11b815260040160405180910390fd5b610b25828261181f565b505050565b610b4260008051602061202183398151915233610f4e565b610b5f57604051635c427cd960e01b815260040160405180910390fd5b6000610b6a816116a3565b602954821115610b8d57604051631fbe179d60e11b815260040160405180910390fd5b610ba8602283602260070154610ba362093a8090565b61188c565b600b55602a8054839190600090610bc0908490611f8b565b90915550506040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610c2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c509190611f9e565b90508062093a80600b54610c649190611f52565b1115610c835760405163f16eeebd60e01b815260040160405180910390fd5b42600c556040518381527ff9a5da3a173eca8cd77c02ece3ff1467b8aa461ed3822201817f2d72fbc542839060200160405180910390a1505050565b610cc7611679565b610ccf611911565b33610cd9816116a3565b336000908152600e60205260409020546201518090610cf89042611f3f565b1015610d175760405163c4a8921360e01b815260040160405180910390fd5b336000908152600e60209081526040808320429055600a909152902060028101548015610e5d576000600283018190556040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf9190611f9e565b905080821115610df257604051631e9acf1760e31b815260040160405180910390fd5b610e266001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338461173d565b60405182815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a2505b505050610e6a6001600055565b565b610e8460008051602061202183398151915233610f4e565b610ea157604051635c427cd960e01b815260040160405180910390fd5b62093a8042600082610eb38184611f69565b610ebe906002611f8b565b610ec89190611f52565b9050610eda6022828587612710611935565b602b55505050565b6000610eec61152a565b4210610efa5761099f61152a565b504290565b610f08816116a3565b806001600160a01b03167f39cf56b90e9d763f0c102996f87d848a60d5b19bd9d53e36505c49b64aa89c7242604051610f4391815260200190565b60405180910390a250565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610f848161179c565b610b256001600160a01b038416338461173d565b610fc27f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb33610f4e565b610fdf57604051635c427cd960e01b815260040160405180910390fd5b8015610fed57610ac3611a31565b610ac3611a8b565b610ffd611911565b33611007816116a3565b61271082111561102a5760405163585b926360e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b731cb546040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae9190611fb7565b6040516370a0823160e01b81523360048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190611f9e565b90508060000361113b57604051631f05dadd60e21b815260040160405180910390fd5b336000908152602c6020526040902060215461115b919085908490611ac4565b602155604080518481526020810183905233917ff4dbed0941210063507e7377f14a0749f60a2a982a3c2655b01d65134b924a6d910160405180910390a2505050565b6111a6611679565b336111b0816116a3565b816000036111d15760405163162908e360e11b815260040160405180910390fd5b81601f60008282546111e39190611f8b565b909155505033600090815260208052604081208054849290611206908490611f8b565b9091555061124190506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611b3f565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610ab0565b61128b60008051602061202183398151915233610f4e565b6112a857604051635c427cd960e01b815260040160405180910390fd5b42600062093a80602b546112bc9190611f8b565b9050808210156112df5760405163f0aaee6560e01b815260040160405180910390fd5b62093a8060006112f06022846115a4565b90506000826112ff8187611f69565b61130a906002611f8b565b6113149190611f52565b6000602a55602b81905590506113306022828585612710611935565b5050505050565b600069d3c21bcecceda100000082111561136457604051636173efe160e11b815260040160405180910390fd5b506001919050565b61138460008051602061202183398151915233610f4e565b61051157604051635c427cd960e01b815260040160405180910390fd5b6113cb7fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e33610f4e565b6113e857604051635c427cd960e01b815260040160405180910390fd5b601e8190556040518181527ff18d722badc84ff70f53556319e6c00b5f78303309e5289063a3c5a41a7a77d5906020015b60405180910390a150565b3361142e816116a3565b60405142815233907f39cf56b90e9d763f0c102996f87d848a60d5b19bd9d53e36505c49b64aa89c7290602001610f43565b60008061146c602d5490565b9050805b9392505050565b600082815260016020819052604090912001546114938161179c565b610aec838361181f565b6114b560008051602061202183398151915233610f4e565b6114d257604051635c427cd960e01b815260040160405180910390fd5b6029548111156114f557604051631fbe179d60e11b815260040160405180910390fd5b60298190556040518181527fb114240d54ce08081cbd18870dc3b6cd4091bb86ff29d2ad41906c2a2d6723d490602001611419565b600062093a80600c5461099f9190611f8b565b6000611548601f5490565b6000036115565750600d5490565b601f54600b54600c54611567610ee2565b6115719190611f3f565b61157b9190611f52565b61158d90670de0b6b3a7640000611f52565b6115979190611f69565b600d5461099f9190611f8b565b815460009082116115ba57506003820154610959565b6000836001015483116115cd57826115d3565b83600101545b600485015460028601549192509082111561165a5760008560020154836115fa9190611f3f565b9050600081876003015461160e9190611f52565b905060008211801561162d5750600387015461162a8383611f69565b14155b1561164b5760405163f20577e560e01b815260040160405180910390fd5b6116558184611f8b565b925050505b84546116669083611f3f565b6116709082611f69565b95945050505050565b60026000540361169c57604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b6116ab61153d565b600d556116b6610ee2565b600c556001600160a01b03811615610ac3576001600160a01b0381166000908152600a602052604090206116e9826108f3565b60028201819055600d5460018301554282556040519081526001600160a01b038316907f401ccfec4c6c7ac3f3b71182750d0f8d73c0d29cc476732b0b21ab0d359da47f9060200160405180910390a25050565b6040516001600160a01b03838116602483015260448201839052610b2591859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611b78565b610ac38133611be0565b60006117b28383610f4e565b6118175760008381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a4506001610959565b506000610959565b600061182b8383610f4e565b156118175760008381526001602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610959565b6000828411156118af57604051631fbe179d60e11b815260040160405180910390fd5b600785015460088601546118c39086611f8b565b11156118e257604051631fbe179d60e11b815260040160405180910390fd5b60006118ee8386611f69565b905080600003611670576040516307ced7af60e01b815260040160405180910390fd5b60025460ff1615610e6a5760405163d93c066560e01b815260040160405180910390fd5b8454158015906119545750600585015485546119519190611f8b565b84105b156119725760405163f0aaee6560e01b815260040160405180910390fd5b826000036119935760405163346ab43760e11b815260040160405180910390fd5b806000036119b4576040516319a2a9bd60e01b815260040160405180910390fd5b8385556119c18385611f8b565b6001860155600285018490556003850182905560006004860155600585018390556006850181905560408051858152602081018590529081018390527f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829060600160405180910390a15050505050565b611a39611911565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611a6e3390565b6040516001600160a01b03909116815260200160405180910390a1565b611a93611c1d565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611a6e565b6000612710841115611ae95760405163585b926360e01b815260040160405180910390fd5b82600003611b0a57604051631f05dadd60e21b815260040160405180910390fd5b600083866001015484611b1d9190611f3f565b611b279190611f8b565b94865550505060018301554260029092019190915590565b6040516001600160a01b038481166024830152838116604483015260648201839052610aec9186918216906323b872dd9060840161176a565b6000611b8d6001600160a01b03841683611c40565b90508051600014158015611bb2575080806020019051810190611bb09190611fd4565b155b15610b2557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b611bea8282610f4e565b611c195760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401611bd7565b5050565b60025460ff16610e6a57604051638dfc202b60e01b815260040160405180910390fd5b60606114708383600084600080856001600160a01b03168486604051611c669190611ff1565b60006040518083038185875af1925050503d8060008114611ca3576040519150601f19603f3d011682016040523d82523d6000602084013e611ca8565b606091505b5091509150611cb8868383611cc2565b9695505050505050565b606082611cd757611cd282611d1e565b611470565b8151158015611cee57506001600160a01b0384163b155b15611d1757604051639996b31560e01b81526001600160a01b0385166004820152602401611bd7565b5080611470565b805115611d2e5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610ac357600080fd5b600060208284031215611d6e57600080fd5b813561147081611d47565b600060208284031215611d8b57600080fd5b81356001600160e01b03198116811461147057600080fd5b600060208284031215611db557600080fd5b5035919050565b60008060408385031215611dcf57600080fd5b823591506020830135611de181611d47565b809150509250929050565b600080600060608486031215611e0157600080fd5b505081359360208301359350604090920135919050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b6101c08101611e6b828b611e18565b60e08201989098526101008101969096526101208601949094526101408501929092526101608401526101808301526101a090910152919050565b60008060408385031215611eb957600080fd5b8235611ec481611d47565b946020939093013593505050565b8015158114610ac357600080fd5b600060208284031215611ef257600080fd5b813561147081611ed2565b6101408101611f0c8287611e18565b8460e0830152836101008301528261012083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561095957610959611f29565b808202811582820484141761095957610959611f29565b600082611f8657634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561095957610959611f29565b600060208284031215611fb057600080fd5b5051919050565b600060208284031215611fc957600080fd5b815161147081611d47565b600060208284031215611fe657600080fd5b815161147081611ed2565b6000825160005b818110156120125760208186018101518583015201611ff8565b50600092019182525091905056fe7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357a26469706673582212207dccb51aed4648f45a82195820e3c7aec0885dd496710b88e1a3473e93b637e264736f6c63430008140033",
1519
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106103775760003560e01c806391d14854116101d3578063c925c68011610104578063df136d65116100a2578063f77c47911161007c578063f77c479114610895578063f7c618c1146108bc578063f9759518146108e3578063feca3900146108eb57600080fd5b8063df136d6514610820578063ea8d6e6114610829578063ebe2b12b1461088d57600080fd5b8063d547741f116100de578063d547741f146107ac578063d6585ecf146107bf578063d70afa96146107e6578063ddce102f1461080d57600080fd5b8063c925c68014610786578063cd63d93014610799578063cd6606e2146107a257600080fd5b8063afd7821711610171578063b77cf9c61161014b578063b77cf9c614610742578063b7f1aca814610762578063c2c4c5c114610775578063c8f33c911461077d57600080fd5b8063afd7821714610713578063b36fec5714610726578063b45995851461072f57600080fd5b80639e0092cb116101ad5780639e0092cb146106dd578063a217fddf146106f0578063a694fc3a146106f8578063a83627de1461070b57600080fd5b806391d14854146106a457806395ccea67146106b75780639d0ab89f146106ca57600080fd5b80633ac70ccf116102ad57806370a082311161024b578063750e1c0911610225578063750e1c091461066d5780637b0a47ee1461068057806380faa57d14610689578063911aabbc1461069157600080fd5b806370a08231146105f5578063718dc3c31461061d57806372f702f31461062e57600080fd5b80635c975abb116102875780635c975abb1461053a57806362190150146105455780636b747dc0146105745780637001f4bb146105ec57600080fd5b80633ac70ccf146105035780633c6b16ab1461051f5780633d18b9121461053257600080fd5b806318160ddd1161031a5780632e1a7d4d116102f45780632e1a7d4d146104715780632e46da29146104865780632f2ff15d146104dd57806336568abe146104f057600080fd5b806318160ddd1461043d578063248a9ca314610445578063276472481461046957600080fd5b8063092c5b3b11610356578063092c5b3b146103cd5780630c06f748146103e25780630d15fd77146103ea5780630ecc535f146103f357600080fd5b80628cc2621461037c57806301ffc9a7146103a257806306aba0e1146103c5575b600080fd5b61038f61038a366004611d5c565b6108f3565b6040519081526020015b60405180910390f35b6103b56103b0366004611d79565b61095f565b6040519015158152602001610399565b61038f610994565b61038f60008051602061202183398151915281565b61038f6109a4565b61038f60215481565b610422610401366004611d5c565b600a6020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610399565b601f5461038f565b61038f610453366004611da3565b6000908152600160208190526040909120015490565b602b5461038f565b61048461047f366004611da3565b6109b1565b005b6003546004546005546006546007546008546009546104a89695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610399565b6104846104eb366004611dbc565b610ac6565b6104846104fe366004611dbc565b610af2565b610484610511366004611dec565b601792909255601855601955565b61048461052d366004611da3565b610b2a565b610484610cbf565b60025460ff166103b5565b610422610553366004611d5c565b602c6020526000908152604090208054600182015460029092015490919083565b6040805160e08101825260105481526011546020820152601254918101919091526013546060820152601454608082015260155460a082015260165460c0820152601754601854601954601a54601b54601c54601d546105d8979695949392919088565b604051610399989796959493929190611e5c565b61038f61271081565b61038f610603366004611d5c565b6001600160a01b0316600090815260208052604090205490565b61038f69d3c21bcecceda100000081565b6106557f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610399565b61048461067b366004611da3565b610e6c565b61038f600b5481565b61038f610ee2565b61048461069f366004611d5c565b610eff565b6103b56106b2366004611dbc565b610f4e565b6104846106c5366004611ea6565b610f79565b6104846106d8366004611ee0565b610f98565b6104846106eb366004611da3565b610ff5565b61038f600081565b610484610706366004611da3565b61119e565b610484611273565b6103b5610721366004611da3565b611337565b62093a8061038f565b61048461073d366004611dec565b61136c565b61038f610750366004611d5c565b600e6020526000908152604090205481565b610484610770366004611da3565b6113a1565b610484611424565b61038f600c5481565b61038f610794366004611d5c565b611460565b61038f601e5481565b61038f6201518081565b6104846107ba366004611dbc565b611477565b61038f7f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb81565b61038f7fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e81565b61048461081b366004611da3565b61149d565b61038f600d5481565b6040805160e08101825260225481526023546020820152602454918101919091526025546060820152602654608082015260275460a082015260285460c0820152602954602a54602b5461087d9392919084565b6040516103999493929190611efd565b61038f61152a565b6106557f000000000000000000000000000000000000000000000000000000000000000081565b6106557f000000000000000000000000000000000000000000000000000000000000000081565b61038f606481565b61038f61153d565b6001600160a01b0381166000908152600a602052604081206002810154600190910154670de0b6b3a76400009061092861153d565b6109329190611f3f565b61093b85611460565b6109459190611f52565b61094f9190611f69565b6109599190611f8b565b92915050565b60006001600160e01b03198216637965db0b60e01b148061095957506301ffc9a760e01b6001600160e01b0319831614610959565b600061099f601f5490565b905090565b600061099f6022426115a4565b6109b9611679565b336109c3816116a3565b816000036109e45760405163162908e360e11b815260040160405180910390fd5b336000908152602080526040902054821115610a1357604051631e9acf1760e31b815260040160405180910390fd5b81601f6000828254610a259190611f3f565b909155505033600090815260208052604081208054849290610a48908490611f3f565b90915550610a8290506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338461173d565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a250610ac36001600055565b50565b60008281526001602081905260409091200154610ae28161179c565b610aec83836117a6565b50505050565b6001600160a01b0381163314610b1b5760405163334bd91960e11b815260040160405180910390fd5b610b25828261181f565b505050565b610b4260008051602061202183398151915233610f4e565b610b5f57604051635c427cd960e01b815260040160405180910390fd5b6000610b6a816116a3565b602954821115610b8d57604051631fbe179d60e11b815260040160405180910390fd5b610ba8602283602260070154610ba362093a8090565b61188c565b600b55602a8054839190600090610bc0908490611f8b565b90915550506040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610c2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c509190611f9e565b90508062093a80600b54610c649190611f52565b1115610c835760405163f16eeebd60e01b815260040160405180910390fd5b42600c556040518381527ff9a5da3a173eca8cd77c02ece3ff1467b8aa461ed3822201817f2d72fbc542839060200160405180910390a1505050565b610cc7611679565b610ccf611911565b33610cd9816116a3565b336000908152600e60205260409020546201518090610cf89042611f3f565b1015610d175760405163c4a8921360e01b815260040160405180910390fd5b336000908152600e60209081526040808320429055600a909152902060028101548015610e5d576000600283018190556040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf9190611f9e565b905080821115610df257604051631e9acf1760e31b815260040160405180910390fd5b610e266001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338461173d565b60405182815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a2505b505050610e6a6001600055565b565b610e8460008051602061202183398151915233610f4e565b610ea157604051635c427cd960e01b815260040160405180910390fd5b62093a8042600082610eb38184611f69565b610ebe906002611f8b565b610ec89190611f52565b9050610eda6022828587612710611935565b602b55505050565b6000610eec61152a565b4210610efa5761099f61152a565b504290565b610f08816116a3565b806001600160a01b03167f39cf56b90e9d763f0c102996f87d848a60d5b19bd9d53e36505c49b64aa89c7242604051610f4391815260200190565b60405180910390a250565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610f848161179c565b610b256001600160a01b038416338461173d565b610fc27f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb33610f4e565b610fdf57604051635c427cd960e01b815260040160405180910390fd5b8015610fed57610ac3611a31565b610ac3611a8b565b610ffd611911565b33611007816116a3565b61271082111561102a5760405163585b926360e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b731cb546040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae9190611fb7565b6040516370a0823160e01b81523360048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190611f9e565b90508060000361113b57604051631f05dadd60e21b815260040160405180910390fd5b336000908152602c6020526040902060215461115b919085908490611ac4565b602155604080518481526020810183905233917ff4dbed0941210063507e7377f14a0749f60a2a982a3c2655b01d65134b924a6d910160405180910390a2505050565b6111a6611679565b336111b0816116a3565b816000036111d15760405163162908e360e11b815260040160405180910390fd5b81601f60008282546111e39190611f8b565b909155505033600090815260208052604081208054849290611206908490611f8b565b9091555061124190506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611b3f565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610ab0565b61128b60008051602061202183398151915233610f4e565b6112a857604051635c427cd960e01b815260040160405180910390fd5b42600062093a80602b546112bc9190611f8b565b9050808210156112df5760405163f0aaee6560e01b815260040160405180910390fd5b62093a8060006112f06022846115a4565b90506000826112ff8187611f69565b61130a906002611f8b565b6113149190611f52565b6000602a55602b81905590506113306022828585612710611935565b5050505050565b600069d3c21bcecceda100000082111561136457604051636173efe160e11b815260040160405180910390fd5b506001919050565b61138460008051602061202183398151915233610f4e565b61051157604051635c427cd960e01b815260040160405180910390fd5b6113cb7fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e33610f4e565b6113e857604051635c427cd960e01b815260040160405180910390fd5b601e8190556040518181527ff18d722badc84ff70f53556319e6c00b5f78303309e5289063a3c5a41a7a77d5906020015b60405180910390a150565b3361142e816116a3565b60405142815233907f39cf56b90e9d763f0c102996f87d848a60d5b19bd9d53e36505c49b64aa89c7290602001610f43565b60008061146c602d5490565b9050805b9392505050565b600082815260016020819052604090912001546114938161179c565b610aec838361181f565b6114b560008051602061202183398151915233610f4e565b6114d257604051635c427cd960e01b815260040160405180910390fd5b6029548111156114f557604051631fbe179d60e11b815260040160405180910390fd5b60298190556040518181527fb114240d54ce08081cbd18870dc3b6cd4091bb86ff29d2ad41906c2a2d6723d490602001611419565b600062093a80600c5461099f9190611f8b565b6000611548601f5490565b6000036115565750600d5490565b601f54600b54600c54611567610ee2565b6115719190611f3f565b61157b9190611f52565b61158d90670de0b6b3a7640000611f52565b6115979190611f69565b600d5461099f9190611f8b565b815460009082116115ba57506003820154610959565b6000836001015483116115cd57826115d3565b83600101545b600485015460028601549192509082111561165a5760008560020154836115fa9190611f3f565b9050600081876003015461160e9190611f52565b905060008211801561162d5750600387015461162a8383611f69565b14155b1561164b5760405163f20577e560e01b815260040160405180910390fd5b6116558184611f8b565b925050505b84546116669083611f3f565b6116709082611f69565b95945050505050565b60026000540361169c57604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b6116ab61153d565b600d556116b6610ee2565b600c556001600160a01b03811615610ac3576001600160a01b0381166000908152600a602052604090206116e9826108f3565b60028201819055600d5460018301554282556040519081526001600160a01b038316907f401ccfec4c6c7ac3f3b71182750d0f8d73c0d29cc476732b0b21ab0d359da47f9060200160405180910390a25050565b6040516001600160a01b03838116602483015260448201839052610b2591859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611b78565b610ac38133611be0565b60006117b28383610f4e565b6118175760008381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a4506001610959565b506000610959565b600061182b8383610f4e565b156118175760008381526001602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610959565b6000828411156118af57604051631fbe179d60e11b815260040160405180910390fd5b600785015460088601546118c39086611f8b565b11156118e257604051631fbe179d60e11b815260040160405180910390fd5b60006118ee8386611f69565b905080600003611670576040516307ced7af60e01b815260040160405180910390fd5b60025460ff1615610e6a5760405163d93c066560e01b815260040160405180910390fd5b8454158015906119545750600585015485546119519190611f8b565b84105b156119725760405163f0aaee6560e01b815260040160405180910390fd5b826000036119935760405163346ab43760e11b815260040160405180910390fd5b806000036119b4576040516319a2a9bd60e01b815260040160405180910390fd5b8385556119c18385611f8b565b6001860155600285018490556003850182905560006004860155600585018390556006850181905560408051858152602081018590529081018390527f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829060600160405180910390a15050505050565b611a39611911565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611a6e3390565b6040516001600160a01b03909116815260200160405180910390a1565b611a93611c1d565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611a6e565b6000612710841115611ae95760405163585b926360e01b815260040160405180910390fd5b82600003611b0a57604051631f05dadd60e21b815260040160405180910390fd5b600083866001015484611b1d9190611f3f565b611b279190611f8b565b94865550505060018301554260029092019190915590565b6040516001600160a01b038481166024830152838116604483015260648201839052610aec9186918216906323b872dd9060840161176a565b6000611b8d6001600160a01b03841683611c40565b90508051600014158015611bb2575080806020019051810190611bb09190611fd4565b155b15610b2557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b611bea8282610f4e565b611c195760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401611bd7565b5050565b60025460ff16610e6a57604051638dfc202b60e01b815260040160405180910390fd5b60606114708383600084600080856001600160a01b03168486604051611c669190611ff1565b60006040518083038185875af1925050503d8060008114611ca3576040519150601f19603f3d011682016040523d82523d6000602084013e611ca8565b606091505b5091509150611cb8868383611cc2565b9695505050505050565b606082611cd757611cd282611d1e565b611470565b8151158015611cee57506001600160a01b0384163b155b15611d1757604051639996b31560e01b81526001600160a01b0385166004820152602401611bd7565b5080611470565b805115611d2e5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610ac357600080fd5b600060208284031215611d6e57600080fd5b813561147081611d47565b600060208284031215611d8b57600080fd5b81356001600160e01b03198116811461147057600080fd5b600060208284031215611db557600080fd5b5035919050565b60008060408385031215611dcf57600080fd5b823591506020830135611de181611d47565b809150509250929050565b600080600060608486031215611e0157600080fd5b505081359360208301359350604090920135919050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b6101c08101611e6b828b611e18565b60e08201989098526101008101969096526101208601949094526101408501929092526101608401526101808301526101a090910152919050565b60008060408385031215611eb957600080fd5b8235611ec481611d47565b946020939093013593505050565b8015158114610ac357600080fd5b600060208284031215611ef257600080fd5b813561147081611ed2565b6101408101611f0c8287611e18565b8460e0830152836101008301528261012083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561095957610959611f29565b808202811582820484141761095957610959611f29565b600082611f8657634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561095957610959611f29565b600060208284031215611fb057600080fd5b5051919050565b600060208284031215611fc957600080fd5b815161147081611d47565b600060208284031215611fe657600080fd5b815161147081611ed2565b6000825160005b818110156120125760208186018101518583015201611ff8565b50600092019182525091905056fe7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357a26469706673582212207dccb51aed4648f45a82195820e3c7aec0885dd496710b88e1a3473e93b637e264736f6c63430008140033",
1520
+ "linkReferences": {},
1521
+ "deployedLinkReferences": {}
1522
+ }