@raac/rpc 1.2.0-beta.10 → 1.2.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/RPCLibrary.js +2 -0
  2. package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +113 -20
  3. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +259 -31
  4. package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +159 -31
  5. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +115 -22
  6. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +115 -22
  7. package/dist/configs/chains/1.json +22 -25
  8. package/dist/configs/chains/11155111.json +56 -71
  9. package/dist/configs/chains/17000.json +22 -25
  10. package/dist/configs/chains/18453.json +22 -25
  11. package/dist/configs/chains/8453.json +61 -31
  12. package/dist/contracts/findContract.js +11 -4
  13. package/dist/contracts/getContractAddress.js +0 -1
  14. package/dist/contracts/governance/distributor/claimAll.js +18 -11
  15. package/dist/contracts/governance/distributor/claimForGauge.js +18 -12
  16. package/dist/contracts/governance/distributor/deposit.js +17 -12
  17. package/dist/contracts/governance/distributor/getClaimableForGauge.js +10 -9
  18. package/dist/contracts/governance/distributor/getClaimedAtEpoch.js +11 -10
  19. package/dist/contracts/governance/distributor/getDepositedAtEpoch.js +8 -8
  20. package/dist/contracts/governance/distributor/getDustLastProcessedEpoch.js +28 -0
  21. package/dist/contracts/governance/distributor/getGaugeController.js +7 -7
  22. package/dist/contracts/governance/distributor/getLastClaimedEpoch.js +10 -9
  23. package/dist/contracts/governance/distributor/getMaxClaimBound.js +29 -0
  24. package/dist/contracts/governance/distributor/getPeriodDuration.js +7 -7
  25. package/dist/contracts/governance/distributor/getRewardToken.js +7 -7
  26. package/dist/contracts/governance/distributor/getRewardTokenInfo.js +7 -7
  27. package/dist/contracts/governance/distributor/getRewardTokenStats.js +7 -7
  28. package/dist/contracts/governance/distributor/index.js +5 -2
  29. package/dist/contracts/governance/distributor/setController.js +17 -12
  30. package/dist/contracts/governance/distributor/setLastClaimedEpoch.js +32 -0
  31. package/dist/contracts/governance/distributor/setMaxClaimBound.js +31 -0
  32. package/dist/contracts/governance/distributor/withdrawDust.js +31 -0
  33. package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +19 -13
  34. package/dist/contracts/governance/gauge/_apy.js +122 -0
  35. package/dist/contracts/governance/gauge/_tokens.js +36 -0
  36. package/dist/contracts/governance/gauge/addRewardToken.js +2 -12
  37. package/dist/contracts/governance/gauge/approveGaugeToken.js +31 -0
  38. package/dist/contracts/governance/gauge/claimExtraReward.js +2 -12
  39. package/dist/contracts/governance/gauge/claimExtraRewards.js +2 -12
  40. package/dist/contracts/governance/gauge/claimOnBehalfOf.js +2 -12
  41. package/dist/contracts/governance/gauge/claimRewardToken.js +3 -13
  42. package/dist/contracts/governance/gauge/claimRewardsFor.js +2 -12
  43. package/dist/contracts/governance/gauge/depositRewardToken.js +2 -12
  44. package/dist/contracts/governance/gauge/getAllPendingExtraRewards.js +2 -9
  45. package/dist/contracts/governance/gauge/getApy.js +44 -0
  46. package/dist/contracts/governance/gauge/getBalanceOf.js +2 -15
  47. package/dist/contracts/governance/gauge/getControllerAddress.js +2 -9
  48. package/dist/contracts/governance/gauge/getDecimalAdjustment.js +2 -9
  49. package/dist/contracts/governance/gauge/getDepositRAACOnClaim.js +2 -9
  50. package/dist/contracts/governance/gauge/getDistributorData.js +2 -9
  51. package/dist/contracts/governance/gauge/getDistributors.js +2 -9
  52. package/dist/contracts/governance/gauge/getEarnedExtraReward.js +30 -0
  53. package/dist/contracts/governance/gauge/getEarnedReward.js +8 -14
  54. package/dist/contracts/governance/gauge/getExtraRewardTokens.js +2 -9
  55. package/dist/contracts/governance/gauge/getGaugeData.js +39 -0
  56. package/dist/contracts/governance/gauge/getGaugeRewardTokenData.js +2 -9
  57. package/dist/contracts/governance/gauge/getPauseStatus.js +31 -0
  58. package/dist/contracts/governance/gauge/getPendingExtraRewards.js +2 -9
  59. package/dist/contracts/governance/gauge/getPendingRewards.js +8 -14
  60. package/dist/contracts/governance/gauge/getPeriodBoundaries.js +2 -15
  61. package/dist/contracts/governance/gauge/getPeriodDuration.js +2 -15
  62. package/dist/contracts/governance/gauge/getRaacAutolockMin.js +2 -9
  63. package/dist/contracts/governance/gauge/getRawBalanceOf.js +2 -15
  64. package/dist/contracts/governance/gauge/getRawTotalSupply.js +2 -15
  65. package/dist/contracts/governance/gauge/getRewardTokens.js +28 -0
  66. package/dist/contracts/governance/gauge/getTotalSupply.js +2 -15
  67. package/dist/contracts/governance/gauge/getUserApy.js +71 -0
  68. package/dist/contracts/governance/gauge/getUserClaimableRewards.js +21 -73
  69. package/dist/contracts/governance/gauge/getUserGaugeState.js +44 -0
  70. package/dist/contracts/governance/gauge/getUserRewardTokenData.js +2 -9
  71. package/dist/contracts/governance/gauge/getUserWeight.js +2 -9
  72. package/dist/contracts/governance/gauge/index.js +11 -1
  73. package/dist/contracts/governance/gauge/isPaused.js +4 -11
  74. package/dist/contracts/governance/gauge/manageDistributor.js +2 -12
  75. package/dist/contracts/governance/gauge/pullRewardsFromDistributor.js +30 -0
  76. package/dist/contracts/governance/gauge/setController.js +2 -12
  77. package/dist/contracts/governance/gauge/setDepositRAACOnClaim.js +2 -12
  78. package/dist/contracts/governance/gauge/setEmergencyPaused.js +2 -12
  79. package/dist/contracts/governance/gauge/setGaugeRewardDistributor.js +2 -12
  80. package/dist/contracts/governance/gauge/setRaacAutolockMin.js +2 -12
  81. package/dist/contracts/governance/gauge/stake.js +2 -18
  82. package/dist/contracts/governance/gauge/unwrapStakingToken.js +28 -0
  83. package/dist/contracts/governance/gauge/updateUserRewards.js +2 -18
  84. package/dist/contracts/governance/gauge/withdraw.js +2 -18
  85. package/dist/contracts/governance/gauge/wrapStakingToken.js +28 -0
  86. package/dist/contracts/governance/gaugeController/addGauge.js +19 -11
  87. package/dist/contracts/governance/gaugeController/batchVote.js +20 -12
  88. package/dist/contracts/governance/gaugeController/calculateBoost.js +20 -23
  89. package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +19 -11
  90. package/dist/contracts/governance/gaugeController/getActiveGaugeCount.js +28 -0
  91. package/dist/contracts/governance/gaugeController/getActiveGauges.js +10 -13
  92. package/dist/contracts/governance/gaugeController/getConstants.js +10 -18
  93. package/dist/contracts/governance/gaugeController/getCurrentEpoch.js +8 -7
  94. package/dist/contracts/governance/gaugeController/getExpiredGaugeVotePower.js +30 -0
  95. package/dist/contracts/governance/gaugeController/getGauge.js +11 -9
  96. package/dist/contracts/governance/gaugeController/getGaugeDistributor.js +28 -0
  97. package/dist/contracts/governance/gaugeController/getGaugeEmissions.js +15 -9
  98. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +19 -15
  99. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeightView.js +12 -10
  100. package/dist/contracts/governance/gaugeController/getGaugeWeight.js +10 -8
  101. package/dist/contracts/governance/gaugeController/getLastVoteTime.js +11 -9
  102. package/dist/contracts/governance/gaugeController/getMaxVoteBuckets.js +28 -0
  103. package/dist/contracts/governance/gaugeController/getNextEpoch.js +8 -7
  104. package/dist/contracts/governance/gaugeController/getRegisteredGaugeList.js +28 -0
  105. package/dist/contracts/governance/gaugeController/getTotalWeight.js +8 -7
  106. package/dist/contracts/governance/gaugeController/getUserGaugeVotePower.js +11 -9
  107. package/dist/contracts/governance/gaugeController/getUserVotePowerRemaining.js +10 -9
  108. package/dist/contracts/governance/gaugeController/getVeToken.js +8 -7
  109. package/dist/contracts/governance/gaugeController/getVoteUserLocks.js +32 -0
  110. package/dist/contracts/governance/gaugeController/getVoteUserPower.js +8 -7
  111. package/dist/contracts/governance/gaugeController/getVoteUserSlope.js +12 -10
  112. package/dist/contracts/governance/gaugeController/index.js +10 -1
  113. package/dist/contracts/governance/gaugeController/isGaugeActive.js +11 -9
  114. package/dist/contracts/governance/gaugeController/isPaused.js +9 -8
  115. package/dist/contracts/governance/gaugeController/kick.js +17 -10
  116. package/dist/contracts/governance/gaugeController/removeGauge.js +20 -11
  117. package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +19 -11
  118. package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +20 -12
  119. package/dist/contracts/governance/gaugeController/setDistributor.js +31 -0
  120. package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +20 -12
  121. package/dist/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.js +33 -0
  122. package/dist/contracts/governance/gaugeController/setEmergencyPause.js +18 -11
  123. package/dist/contracts/governance/gaugeController/setMaxVoteBuckets.js +31 -0
  124. package/dist/contracts/governance/gaugeController/vote.js +15 -16
  125. package/dist/contracts/governance/gaugeSystems/_helpers.js +123 -0
  126. package/dist/contracts/governance/gaugeSystems/findGauge.js +14 -0
  127. package/dist/contracts/governance/gaugeSystems/getGaugeSystem.js +14 -0
  128. package/dist/contracts/governance/gaugeSystems/getGaugeSystems.js +13 -0
  129. package/dist/contracts/governance/gaugeSystems/getGauges.js +15 -0
  130. package/dist/contracts/governance/gaugeSystems/index.js +21 -0
  131. package/dist/types/RPCLibrary.d.ts +2 -0
  132. package/dist/types/configs/chains/index.d.ts +36 -46
  133. package/dist/types/configs/index.d.ts +18 -23
  134. package/dist/types/contracts/governance/distributor/claimAll.d.ts +7 -5
  135. package/dist/types/contracts/governance/distributor/claimForGauge.d.ts +7 -6
  136. package/dist/types/contracts/governance/distributor/deposit.d.ts +7 -6
  137. package/dist/types/contracts/governance/distributor/getClaimableForGauge.d.ts +6 -4
  138. package/dist/types/contracts/governance/distributor/getClaimedAtEpoch.d.ts +7 -5
  139. package/dist/types/contracts/governance/distributor/getDepositedAtEpoch.d.ts +6 -4
  140. package/dist/types/contracts/governance/distributor/getDustLastProcessedEpoch.d.ts +12 -0
  141. package/dist/types/contracts/governance/distributor/getGaugeController.d.ts +5 -3
  142. package/dist/types/contracts/governance/distributor/getLastClaimedEpoch.d.ts +6 -4
  143. package/dist/types/contracts/governance/distributor/getMaxClaimBound.d.ts +15 -0
  144. package/dist/types/contracts/governance/distributor/getPeriodDuration.d.ts +5 -3
  145. package/dist/types/contracts/governance/distributor/getRewardToken.d.ts +5 -3
  146. package/dist/types/contracts/governance/distributor/getRewardTokenInfo.d.ts +5 -3
  147. package/dist/types/contracts/governance/distributor/getRewardTokenStats.d.ts +5 -3
  148. package/dist/types/contracts/governance/distributor/index.d.ts +5 -2
  149. package/dist/types/contracts/governance/distributor/setController.d.ts +7 -6
  150. package/dist/types/contracts/governance/distributor/setLastClaimedEpoch.d.ts +13 -0
  151. package/dist/types/contracts/governance/distributor/setMaxClaimBound.d.ts +13 -0
  152. package/dist/types/contracts/governance/distributor/withdrawDust.d.ts +13 -0
  153. package/dist/types/contracts/governance/distributor/withdrawRemovedGaugeRewards.d.ts +8 -7
  154. package/dist/types/contracts/governance/gauge/_apy.d.ts +61 -0
  155. package/dist/types/contracts/governance/gauge/_tokens.d.ts +14 -0
  156. package/dist/types/contracts/governance/gauge/approveGaugeToken.d.ts +14 -0
  157. package/dist/types/contracts/governance/gauge/claimRewardToken.d.ts +1 -1
  158. package/dist/types/contracts/governance/gauge/getApy.d.ts +41 -0
  159. package/dist/types/contracts/governance/gauge/getEarnedExtraReward.d.ts +13 -0
  160. package/dist/types/contracts/governance/gauge/getEarnedReward.d.ts +3 -2
  161. package/dist/types/contracts/governance/gauge/getGaugeData.d.ts +23 -0
  162. package/dist/types/contracts/governance/gauge/getPauseStatus.d.ts +19 -0
  163. package/dist/types/contracts/governance/gauge/getPendingRewards.d.ts +3 -2
  164. package/dist/types/contracts/governance/gauge/getRewardTokens.d.ts +11 -0
  165. package/dist/types/contracts/governance/gauge/getUserApy.d.ts +44 -0
  166. package/dist/types/contracts/governance/gauge/getUserClaimableRewards.d.ts +14 -12
  167. package/dist/types/contracts/governance/gauge/getUserGaugeState.d.ts +31 -0
  168. package/dist/types/contracts/governance/gauge/index.d.ts +11 -1
  169. package/dist/types/contracts/governance/gauge/isPaused.d.ts +1 -1
  170. package/dist/types/contracts/governance/gauge/pullRewardsFromDistributor.d.ts +11 -0
  171. package/dist/types/contracts/governance/gauge/unwrapStakingToken.d.ts +12 -0
  172. package/dist/types/contracts/governance/gauge/wrapStakingToken.d.ts +13 -0
  173. package/dist/types/contracts/governance/gaugeController/addGauge.d.ts +8 -5
  174. package/dist/types/contracts/governance/gaugeController/batchVote.d.ts +9 -6
  175. package/dist/types/contracts/governance/gaugeController/calculateBoost.d.ts +10 -8
  176. package/dist/types/contracts/governance/gaugeController/forceCompleteCheckpoint.d.ts +8 -5
  177. package/dist/types/contracts/governance/gaugeController/getActiveGaugeCount.d.ts +12 -0
  178. package/dist/types/contracts/governance/gaugeController/getActiveGauges.d.ts +7 -3
  179. package/dist/types/contracts/governance/gaugeController/getConstants.d.ts +6 -4
  180. package/dist/types/contracts/governance/gaugeController/getCurrentEpoch.d.ts +6 -3
  181. package/dist/types/contracts/governance/gaugeController/getExpiredGaugeVotePower.d.ts +16 -0
  182. package/dist/types/contracts/governance/gaugeController/getGauge.d.ts +7 -4
  183. package/dist/types/contracts/governance/gaugeController/getGaugeDistributor.d.ts +12 -0
  184. package/dist/types/contracts/governance/gaugeController/getGaugeEmissions.d.ts +6 -3
  185. package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeight.d.ts +8 -9
  186. package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeightView.d.ts +8 -5
  187. package/dist/types/contracts/governance/gaugeController/getGaugeWeight.d.ts +6 -4
  188. package/dist/types/contracts/governance/gaugeController/getLastVoteTime.d.ts +7 -4
  189. package/dist/types/contracts/governance/gaugeController/getMaxVoteBuckets.d.ts +12 -0
  190. package/dist/types/contracts/governance/gaugeController/getNextEpoch.d.ts +6 -3
  191. package/dist/types/contracts/governance/gaugeController/getRegisteredGaugeList.d.ts +12 -0
  192. package/dist/types/contracts/governance/gaugeController/getTotalWeight.d.ts +5 -3
  193. package/dist/types/contracts/governance/gaugeController/getUserGaugeVotePower.d.ts +7 -4
  194. package/dist/types/contracts/governance/gaugeController/getUserVotePowerRemaining.d.ts +6 -4
  195. package/dist/types/contracts/governance/gaugeController/getVeToken.d.ts +6 -3
  196. package/dist/types/contracts/governance/gaugeController/getVoteUserLocks.d.ts +17 -0
  197. package/dist/types/contracts/governance/gaugeController/getVoteUserPower.d.ts +6 -3
  198. package/dist/types/contracts/governance/gaugeController/getVoteUserSlope.d.ts +8 -5
  199. package/dist/types/contracts/governance/gaugeController/index.d.ts +10 -1
  200. package/dist/types/contracts/governance/gaugeController/isGaugeActive.d.ts +6 -4
  201. package/dist/types/contracts/governance/gaugeController/isPaused.d.ts +6 -3
  202. package/dist/types/contracts/governance/gaugeController/kick.d.ts +7 -4
  203. package/dist/types/contracts/governance/gaugeController/removeGauge.d.ts +9 -5
  204. package/dist/types/contracts/governance/gaugeController/removePowerFromGauge.d.ts +8 -5
  205. package/dist/types/contracts/governance/gaugeController/setBoostAmplificationEnabled.d.ts +9 -6
  206. package/dist/types/contracts/governance/gaugeController/setDistributor.d.ts +13 -0
  207. package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePause.d.ts +9 -6
  208. package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.d.ts +14 -0
  209. package/dist/types/contracts/governance/gaugeController/setEmergencyPause.d.ts +8 -5
  210. package/dist/types/contracts/governance/gaugeController/setMaxVoteBuckets.d.ts +13 -0
  211. package/dist/types/contracts/governance/gaugeController/vote.d.ts +9 -7
  212. package/dist/types/contracts/governance/gaugeSystems/_helpers.d.ts +71 -0
  213. package/dist/types/contracts/governance/gaugeSystems/findGauge.d.ts +11 -0
  214. package/dist/types/contracts/governance/gaugeSystems/getGaugeSystem.d.ts +11 -0
  215. package/dist/types/contracts/governance/gaugeSystems/getGaugeSystems.d.ts +10 -0
  216. package/dist/types/contracts/governance/gaugeSystems/getGauges.d.ts +13 -0
  217. package/dist/types/contracts/governance/gaugeSystems/index.d.ts +5 -0
  218. package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +176 -105
  219. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +260 -213
  220. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +173 -212
  221. package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +176 -105
  222. package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +176 -105
  223. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +111 -108
  224. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +210 -34
  225. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor.d.ts +112 -151
  226. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +174 -95
  227. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +243 -227
  228. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +164 -232
  229. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +185 -98
  230. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +185 -98
  231. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +104 -95
  232. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +241 -22
  233. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor__factory.d.ts +72 -158
  234. package/dist/types/utils/artifacts.d.ts +40 -0
  235. package/dist/types/utils/contracts.d.ts +34 -44
  236. package/dist/utils/contracts.js +1 -1
  237. package/package.json +1 -1
  238. package/dist/contracts/governance/distributor/getStartEpoch.js +0 -28
  239. package/dist/contracts/governance/distributor/withdrawUnallocatedRewards.js +0 -26
  240. package/dist/contracts/governance/gauge/setDistributorApproval.js +0 -35
  241. package/dist/types/contracts/governance/distributor/getStartEpoch.d.ts +0 -10
  242. package/dist/types/contracts/governance/distributor/withdrawUnallocatedRewards.d.ts +0 -12
  243. package/dist/types/contracts/governance/gauge/setDistributorApproval.d.ts +0 -11
@@ -14,7 +14,7 @@ export declare class GaugeController__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): GaugeController__factory;
17
- static readonly bytecode = "0x6080346100d157601f6137db38819003918201601f19168301916001600160401b038311848410176100d5578084926020946040528339810103126100d157516001600160a01b0381168082036100d15760018055156100c25760028054610100600160a81b03191660089290921b610100600160a81b0316919091179055610087336100e9565b506100913361015f565b5061009b336101f2565b506161a8600b55612710600c5562093a80600d55426012556040516134d590816102868239f35b63c6d038c160e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381165f9081525f5160206137bb5f395f51905f52602052604090205460ff1661015a576001600160a01b03165f8181525f5160206137bb5f395f51905f5260205260408120805460ff191660011790553391905f51602061375b5f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f51602061377b5f395f51905f52602052604090205460ff1661015a576001600160a01b03165f8181525f51602061377b5f395f51905f5260205260408120805460ff191660011790553391907ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014905f51602061375b5f395f51905f529080a4600190565b6001600160a01b0381165f9081525f51602061379b5f395f51905f52602052604090205460ff1661015a576001600160a01b03165f8181525f51602061379b5f395f51905f5260205260408120805460ff191660011790553391907f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb905f51602061375b5f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f905f3560e01c908162ae252414611b8f5750806301ffc9a714611b3957806306aba0e114611b105780630a7486c7146112e15780630b27737e14611ae35780630c42320114611ab9578063103490f914611a3157806316856144146119ea5780631c3ebaeb146112e15780631c7e399f1461193f578063248a9ca314611921578063289f338f146118e95780632f2ff15d146118b8578063315865df1461189c57806336568abe146118565780633a045145146117d85780633b92eb23146117ac578063482649971461178f5780634f62d649146117185780634f6ffd07146116fb578063507ba5e2146116d457806351ae58af146115fa57806353bacc7c146115c25780635af1d193146115755780635baa02be146115515780635c679f7b146113dd5780635c975abb146113ba5780635f74bbde1461132a578063663515571461130e5780636ca32ae7146112e65780637001f4bb146112e157806372be52761461127657806374a238431461123d578063776c01c4146111fe5780638c10e8f6146111c557806391d148541461117c57806396c5517514610c5d5780639c31c8fb14610be75780639d17505314610bb35780639da882ac14610a215780639eeb4007146105de578063a217fddf14610a05578063a85bde9d146109df578063a9753d58146109b0578063aa79979b14610982578063b97dd9e214610967578063b9a09fd514610904578063bb3d832f146108a3578063c3a6ca1314610855578063c58b1ee614610802578063cffd31dd14610691578063d0262d8e14610631578063d045d624146105de578063d547741f146105a3578063d6585ecf1461057b578063d8d1a6571461048e578063d93c6ede1461044b578063d9ce3d031461042f578063dcda162c14610407578063e75ec699146103a0578063ead68f8214610382578063ec73d90614610349578063efe97d0514610326578063effcbdb9146103085763f4359ce5146102e8575f80fd5b34610305578060031936011261030557602060405162093a808152f35b80fd5b50346103055780600319360112610305576020601254604051908152f35b50346103055780600319360112610305576020610341612295565b604051908152f35b5034610305576020366003190112610305576020906040906001600160a01b03610371611bc3565b168152602a83522054604051908152f35b50346103055780600319360112610305576020604051621275008152f35b50346103055760403660031901126103055760406103bc611bc3565b916103c5611bd9565b9260018060a01b031681526028602052209060018060a01b03165f5260205260405f2080546104036002600184015493015460405193849384611ceb565b0390f35b503461030557806003193601126103055760206040515f5160206134805f395f51905f528152f35b5034610305578060031936011261030557602060405160348152f35b5034610305576040366003190112610305576020906040906001600160a01b03610473611bc3565b16815260238352818120602435825283522054604051908152f35b50346103055760203660031901126103055760043580151590818103610577576104b661231c565b156105155760205f5160206134405f395f51905f52916104d4612669565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25882604051338152a15b604051908152a180f35b60025460ff811615610568575f5160206134405f395f51905f529160209160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa82604051338152a161050b565b638dfc202b60e01b8352600483fd5b8280fd5b503461030557806003193601126103055760206040515f5160206134605f395f51905f528152f35b5034610305576040366003190112610305576105da6004356105c3611bd9565b906105d56105d082611d19565b612378565b6125e9565b5080f35b50346103055760403660031901126103055760406105fa611bc3565b91610603611bd9565b9260018060a01b03168152601f602052209060018060a01b03165f52602052602060405f2054604051908152f35b50346103055761064036611c57565b929160018060a01b031682526029602052604082209060018060a01b03165f5260205260405f2090815483101561030557604061067d8484611cd2565b506001815491015482519182526020820152f35b5034610305578060031936011261030557806016546106af8161227e565b916106bd6040519384611e42565b8183526106c98261227e565b602084019490601f19013686376106df8361227e565b6106ec6040519182611e42565b8381526106f88461227e565b602082019490601f190136863782905b8082106107945750506040519460608601906060875251809152608086019690835b81811061077557505050602090858703828701525195868152019290945b80861061075d57505082935060408301520390f35b90926020806001928651815201940195019490610748565b82516001600160a01b031689526020988901989092019160010161072a565b90936107f76001916107a8879a969a611c91565b848060a01b0391549060031b1c16806107c1898c611f3c565b52808b52602260205260408b20908b52602460205260408b20548b5260205260408a205490816107f18988611f3c565b52611ea3565b940190969296610708565b503461030557604036600319011261030557604061081e611bc3565b91610827611bd9565b9260018060a01b03168152601b602052209060018060a01b03165f52602052602060405f2054604051908152f35b50346103055760403660031901126103055760409081906001600160a01b0361087c611bc3565b16815260226020528181206024358252602052206001815491015482519182526020820152f35b5034610305576040366003190112610305576108bd611bc3565b6001600160a01b03168152602c60205260408120805460243592908310156103055760206108eb8484611cbd565b905460405160039290921b1c6001600160a01b03168152f35b5034610305576020366003190112610305576080906040906001600160a01b0361092c611bc3565b168152601860205220805490600260018201549101549060ff604051938181161515855260081c161515602084015260408301526060820152f35b5034610305578060031936011261030557602061034161225e565b50346103055760203660031901126103055760206109a66109a1611bc3565b61223f565b6040519015158152f35b5034610305578060031936011261030557601354601454906104036040519282849360801d90600f0b84611c0b565b50346103055760406109f96109f336611c57565b91611f99565b82519182526020820152f35b5034610305578060031936011261030557602090604051908152f35b503461030557602036600319011261030557610a3b611bc3565b610a436122c0565b6001600160a01b038116908115610ba457610a5d8161223f565b610b9557604051608081016001600160401b03811182821017610b81576040528381526002602082016001815260408301868152610ac160608501924284528789526018602052604089209551151560ff8019885416911617865551151585611d01565b51600184015551910155601554600160401b811015610b6d5790610b1881610af4846001610b1d96016015556015611cbd565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b6123b0565b610b2561225e565b818352602460205280604084205560275415610b64575b507f9808313031a8f4caa534c417adad16800af7317516eff29a2d37cec0ffb244db8280a280f35b6027555f610b3c565b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b85526041600452602485fd5b630fad09e160e11b8352600483fd5b6365da5bb960e11b8352600483fd5b5034610305576020366003190112610305576040809160043581526025602052206001815491015482519182526020820152f35b503461030557602036600319011261030557610c01611bc3565b906001600160a01b038216610c27575050610c1a6131ea565b505b602060405160018152f35b610c308261223f565b15610c4e5750610c3f906130a3565b50610c486131ea565b50610c1c565b6325d939f560e01b8152600490fd5b503461030557602036600319011261030557610c77611bc3565b610c7f612669565b610c87612684565b600254604051621e403d60e21b81526001600160a01b039283166004820181905292909160a0918391602491839160081c165afa9081156111715783916110f6575b5051156110e757808252602c6020526040822060405190816020825491828152019185526020852090855b8181106110c85750505081610d0a910382611e42565b610d12612295565b9280915b805183101561104e576001600160a01b03610d318483611f3c565b511692610d3d846130a3565b50610d466131ea565b5084835260286020526040832060018060a01b0385165f5260205260405f2060405190610d7282611df8565b6002815491828452600181015460208501520154806040840152811561104057908189809311610f83575b5050508484526022602052604084208785526020526001604085200154815111155f14610f63578051858552602260205260408520888652602052610dea60016040872001918254611e65565b90555b86845260256020526040842060010154815111610f4c57518684526025602052610e1f60016040862001918254611e65565b90555b84835260296020526040832060018060a01b0385165f5260205260405f2091835b8354811015610eed57806001610e5a819387611cd2565b500154610e678287611cd2565b5054908888526023602052604088208189526020528160408920541015610ec5575b80885260266020528160408920541015610ea6575b505001610e43565b87526026602052610ebc60408820918254611e65565b90555f80610e9e565b88885260236020526040882081895260205260408820610ee6838254611e65565b9055610e89565b50959360019250858452602960205260408420838060a01b0382165f52602052610f1960405f20611f50565b85845260286020526040842090838060a01b03165f526020525f600260408220828155828582015501555b019193610d16565b508583526025602052826001604082200155610e22565b848452602260205260408420878552602052836001604082200155610ded565b610f9692610f9091611e65565b90611d48565b85855260226020526040852088865260205280604086205410155f146110235785855260226020526040852088865260205260408520610fd7828254611e65565b90555b87855260256020526040852054811161100f57878552602560205261100460408620918254611e65565b90555b865f80610d9d565b508684526025602052836040812055611007565b858552602260205260408520888652602052846040812055610fda565b505050600191959350610f44565b8390818352602c60205260408320805490848155816110aa575b505060207feaafa67bd3aa4bb44bce0c035314029d39227a502ac081269bdd5989e1aa592b91838552602a825284604081205551604051908152a26001805580f35b845260208420908101905b81811015611068578481556001016110b5565b82546001600160a01b0316845260209093019260019283019201610cf4565b630139629360e11b8252600482fd5b905060a0813d60a011611169575b8161111160a09383611e42565b81010312610577576040519060a082016001600160401b03811183821017610b81579060809160405280518352602081015160208401526040810151604084015260608101516060840152015160808201525f610cc9565b3d9150611104565b6040513d85823e3d90fd5b5034610305576040366003190112610305576040611198611bd9565b91600435815280602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b5034610305576020366003190112610305576020906040906001600160a01b036111ed611bc3565b168152601e83522054604051908152f35b50346103055760203660031901126103055760209060ff906040906001600160a01b03611229611bc3565b168152601884522054166040519015158152f35b5034610305576020366003190112610305576020906040906001600160a01b03611265611bc3565b168152602183522054604051908152f35b503461030557602036600319011261030557611290611bc3565b6112998161223f565b156112d2576001600160a01b03168082526022602090815260408084209284526024825280842054845291815291819020549051908152f35b6325d939f560e01b8252600482fd5b611bef565b5034610305576040366003190112610305576020610341611305611bc3565b60243590611ec0565b5034610305578060031936011261030557602060405160648152f35b503461030557604036600319011261030557611344611bc3565b61134c612669565b611354612684565b338252602b6020526040822054620d2f0081018091116113a6574210611397576113829060243590336126c7565b338152602b6020524260408220556001805580f35b630618259b60e11b8252600482fd5b634e487b7160e01b83526011600452602483fd5b5034610305578060031936011261030557602060ff600254166040519015158152f35b5034610305576040366003190112610305576004356001600160401b03811161154d5761140e903690600401611c27565b6024356001600160401b0381116115495761142d903690600401611c27565b91611436612669565b61143e612684565b8015801561153f575b61153057338552602b6020526040852054620d2f00810180911161151c57421061150d5784805b8282106114ed576127109150116114de57845b81811061149e5785338152602b6020524260408220556001805580f35b6114a9818387611eb0565b35906001600160a01b03821682036114da576114d46001926114cc838888611eb0565b3590336126c7565b01611481565b8680fd5b63585b926360e01b8552600485fd5b6115056001916114fe848888611eb0565b3590611ea3565b91019061146e565b630618259b60e11b8552600485fd5b634e487b7160e01b86526011600452602486fd5b63512509d360e11b8552600485fd5b5082811415611447565b8380fd5b5080fd5b5034610305576020366003190112610305576020610341611570611bc3565b611e72565b5034610305576020366003190112610305576040906001600160a01b0361159a611bc3565b168152601c6020522060018154910154906104036040519282849360801d90600f0b84611c0b565b5034610305576020366003190112610305576020906040906001600160a01b036115ea611bc3565b1681528280522054604051908152f35b50346116c15760203660031901126116c157611614611bc3565b61161c61231c565b6116258161223f565b156116c5576001600160a01b03165f818152601860205260409020805460ff19169055803b156116c157604051639d0ab89f60e01b8152600160048201525f8160248183865af180156116b6576116a1575b5033907f63a2919109d26a48f4afb06be65bb1e0ef2fe197b3a7f9a58268b211745f8f6d8380a380f35b6116ae9192505f90611e42565b5f905f611677565b6040513d5f823e3d90fd5b5f80fd5b6325d939f560e01b5f5260045ffd5b346116c15760403660031901126116c15760206103416116f2611bc3565b60243590611d6f565b346116c1575f3660031901126116c1576020604051620d2f008152f35b346116c15760403660031901126116c157611731611bc3565b611739611bd9565b9060018060a01b03165f52601d60205260405f209060018060a01b03165f52602052608060405f2080549060026001820154910154906040519280600f0b8452841d600f0b602084015260408301526060820152f35b346116c1575f3660031901126116c1576020602754604051908152f35b346116c1575f3660031901126116c15760025460405160089190911c6001600160a01b03168152602090f35b346116c15760203660031901126116c1576117f1611bc3565b6117f96122c0565b6001600160a01b038116908115611847576118138161223f565b156116c55761182190612449565b7f94ac12f5301759f065db9de7f23677e50bef009f062b028d4d4612f620f0f5fb5f80a2005b6365da5bb960e11b5f5260045ffd5b346116c15760403660031901126116c15761186f611bd9565b336001600160a01b0382160361188d5761188b906004356125e9565b005b63334bd91960e11b5f5260045ffd5b346116c1575f3660031901126116c15760206040516161a88152f35b346116c15760403660031901126116c15761188b6004356118d7611bd9565b906118e46105d082611d19565b612561565b346116c15760203660031901126116c1576001600160a01b0361190a611bc3565b165f526024602052602060405f2054604051908152f35b346116c15760203660031901126116c1576020610341600435611d19565b346116c15760203660031901126116c157611958611bc3565b6119606122c0565b6001600160a01b0381169081156118475761197a8161223f565b156116c557815f52601860205260ff60405f2054165f146119dc5761199e90612449565b805f5260186020527fb68c252413c1dbd0ed9a087ae0596489741f83c26e283fb6739ca73f79ff8654602060ff60405f2054166040519015158152a2005b6119e5906123b0565b61199e565b346116c15760403660031901126116c1576001600160a01b03611a0b611bc3565b165f52601960205260405f206024355f52602052602060405f2054600f0b604051908152f35b346116c15760403660031901126116c157611a4a611bc3565b60243590811515908183036116c157611a616122c0565b611a6a8161223f565b156116c5577f07829327d364c8af8ea5af9c81cac2a7ec3ec6a9879d2154b4a65e2c623d79db91611ab060209260018060a01b031694855f526018845260405f20611d01565b604051908152a2005b346116c15760203660031901126116c1576004355f526026602052602060405f2054604051908152f35b346116c15760203660031901126116c1576004355f52601a602052602060405f2054600f0b604051908152f35b346116c1575f3660031901126116c1576027545f526025602052602060405f2054604051908152f35b346116c15760203660031901126116c15760043563ffffffff60e01b81168091036116c157602090637965db0b60e01b8114908115611b7e575b506040519015158152f35b6301ffc9a760e01b14905082611b73565b346116c15760203660031901126116c1576020906001600160a01b03611bb3611bc3565b165f52602b825260405f20548152f35b600435906001600160a01b03821682036116c157565b602435906001600160a01b03821682036116c157565b346116c1575f3660031901126116c15760206040516127108152f35b6040919493926060820195600f0b8252600f0b60208201520152565b9181601f840112156116c1578235916001600160401b0383116116c1576020808501948460051b0101116116c157565b60609060031901126116c1576004356001600160a01b03811681036116c157906024356001600160a01b03811681036116c1579060443590565b601654811015611ca95760165f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611ca9575f5260205f2001905f90565b8054821015611ca9575f5260205f209060011b01905f90565b6040919493926060820195825260208201520152565b9061ff00825491151560081b169061ff001916179055565b5f525f602052600160405f20015490565b8115611d34570490565b634e487b7160e01b5f52601260045260245ffd5b81810292918115918404141715611d5b57565b634e487b7160e01b5f52601160045260245ffd5b611d788161223f565b156116c55760018060a01b03165f52602260205260405f20815f5260205260405f2054905f52602560205260405f20548015611ddb57670de0b6b3a7640000820291808304670de0b6b3a76400001490151715611d5b57611dd891611d2a565b90565b50506016548015611df357670de0b6b3a76400000490565b505f90565b606081019081106001600160401b03821117611e1357604052565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b03821117611e1357604052565b601f909101601f19168101906001600160401b03821190821017611e1357604052565b91908203918211611d5b57565b6001600160a01b03165f908152602a6020526040902054612710811015611df357612710036127108111611d5b5790565b91908201809211611d5b57565b9190811015611ca95760051b0190565b611ec98161223f565b156116c557611ed7816130a3565b50611ee06131ea565b5060018060a01b03165f52602260205260405f20815f5260205260405f2054905f52602560205260405f20548015611ddb57670de0b6b3a7640000820291808304670de0b6b3a76400001490151715611d5b57611dd891611d2a565b8051821015611ca95760209160051b010190565b8054905f815581611f5f575050565b6001600160ff1b0382168203611d5b575f5260205f209060011b8101905b818110611f88575050565b5f8082556001820155600201611f7d565b929192611fa58261223f565b156116c55783159182801561221a575b61220d576002546040516370a0823160e01b81526001600160a01b03938416600482015260089190911c90921692602083602481875afa9283156116b6575f936121d6575b506020600494604051958680926318160ddd60e01b82525afa9384156116b6575f946121a2575b508315801561219a575b61217b5750604051635a38556f60e11b81526001600160a01b0391909116929091602083600481875afa9283156116b6575f93612144575b506020600494604051958680926318160ddd60e01b82525afa9384156116b6575f94612110575b50600b5493600c54936040519460c086019686881060018060401b03891117611e13576120d69760405286526020860152604085015260608401528560808401525f60a08401526132eb565b916127108310612106575b6161a883116120fc575b6120f88361271092611d48565b0490565b6161a892506120eb565b61271092506120e1565b9093506020813d60201161213c575b8161212c60209383611e42565b810103126116c15751925f61208a565b3d915061211f565b9392506020843d602011612173575b8161216060209383611e42565b810103126116c157925191926020612063565b3d9150612153565b925050506127108302928304612710141715611d5b5761271080920490565b50821561202b565b9093506020813d6020116121ce575b816121be60209383611e42565b810103126116c15751925f612021565b3d91506121b1565b9392506020843d602011612205575b816121f260209383611e42565b810103126116c157925191926020611ffa565b3d91506121e5565b5050509050612710905f90565b506001600160a01b0381165f9081526018602052604090205460081c60ff1615611fb5565b6001600160a01b03165f90815260186020526040902060020154151590565b62093a80420462093a8081029080820462093a801490151715611d5b5790565b6001600160401b038111611e135760051b60200190565b62093a80420460018101809111611d5b5762093a8081029080820462093a801490151715611d5b5790565b335f9081527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c602052604090205460ff16156122f857565b63e2517d3f60e01b5f52336004525f5160206134805f395f51905f5260245260445ffd5b335f9081527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d602052604090205460ff161561235457565b63e2517d3f60e01b5f52336004525f5160206134605f395f51905f5260245260445ffd5b5f8181526020818152604080832033845290915290205460ff161561239a5750565b63e2517d3f60e01b5f523360045260245260445ffd5b6123b98161223f565b156116c5576001600160a01b0381165f8181526018602052604090205490919060ff1661243a575f828152601860205260409020805460ff1916600117905560165490600160401b821015611e1357610af482600161241d94016016556016611cbd565b6016545f19810191908211611d5b575f52601760205260405f2055565b63580aedcf60e01b5f5260045ffd5b6124528161223f565b156116c5576001600160a01b03165f8181526018602052604090205460ff1615612552575f818152601860209081526040808320805460ff1916905560179091529020546016545f198101908111611d5b57808203612517575b50506016548015612503575f19016124dd6124c8826016611cbd565b81549060018060a01b039060031b1b19169055565b601655805f5260176020525f60408120555f52601860205260405f2060ff198154169055565b634e487b7160e01b5f52603160045260245ffd5b61252090611c91565b905460039190911b1c6001600160a01b031661253f81610af484611c91565b5f52601760205260405f20555f806124ac565b63d4220bed60e01b5f5260045ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff166125e3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16156125e3575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60ff6002541661267557565b63d93c066560e01b5f5260045ffd5b600260015414612695576002600155565b633ee5aeb560e01b5f5260045ffd5b519064ffffffffff821682036116c157565b906020600191805184550151910155565b90916001600160a01b038316908115611847576126e38461223f565b156116c557815f52601860205260ff60405f20541615612552576127108111612c5c5761270f846130a3565b506127186131ea565b50612721612295565b60025460405163f1380ea960e01b815260089190911c6001600160a01b0316949190606081600481895afa9081156116b6575f905f9261304c575b5064ffffffffff8061277093169116611d48565b96871561303d57604051630481930d60e21b81526001600160a01b0390931660048401819052976020846024818a5afa9384156116b6575f94613008575b5060206127bd60249286611d2a565b976040519283809263394b295360e11b82528d60048301525afa80156116b6575f90612fca575b64ffffffffff9150169682881115612fbb57885f52602860205260405f20865f5260205260405f20966040519761281a89611df8565b8054808a52600260018301549260208c0193845201548060408c015281612d89575b505f91508190508715612c6b575050895f52602a6020526127106128648760405f2054611ea3565b11612c5c576128768661271092611d48565b049461288b612885858b611e65565b87611d48565b91875f52602260205260405f20855f5260205260405f206128ad848254611ea3565b9055875f52602260205260405f20855f52602052600160405f20016128d3888254611ea3565b9055845f52602560205260405f206128ec848254611ea3565b9055845f526025602052600160405f2001612908888254611ea3565b905560025460405163719f308960e01b8152600481018d905299905f908b90602490829060081c6001600160a01b03165afa998a156116b6575f9a612b8c575b505f5b8a51811015612aaf578664ffffffffff6020612967848f611f3c565b510151161115612aa75788888c8115612a9d576129a39261299e916001600160701b0390612996908790611f3c565b515116611d48565b611d2a565b905b8b8b8315612a92576129ef8364ffffffffff936020935f526023845260405f2085856129d18585611f3c565b510151165f52845260405f206129e8888254611ea3565b9055611f3c565b510151165f52602660205260405f20612a09838254611ea3565b90558d5f52602960205260405f208b5f526020528b64ffffffffff6020612a348460405f2094611f3c565b5101511660405193612a4585611e27565b845260208401528054600160401b811015611e1357612a6991600182018155611cd2565b612a7f57600192612a79916126b6565b0161294b565b634e487b7160e01b5f525f60045260245ffd5b505060019150612a79565b5050505f906129a5565b600190612a79565b50939a985093509350939496600260405191612aca83611df8565b8783526020830186815260408401918252895f52602860205260405f208b5f5260205260405f209351845551600184015551910155855f52602a60205260405f20612b16848254611ea3565b90555115612b44575b50612b3f5f5160206134205f395f51905f52935b60405193849384611ceb565b0390a3565b92845f52602c60205260405f20908154600160401b811015611e13575f5160206134205f395f51905f5295610af482612b3f956001612b8595018155611cbd565b9350612b1f565b9099503d805f833e612b9e8183611e42565b8101906020818303126116c1578051906001600160401b0382116116c1570181601f820112156116c157805190612bd48261227e565b92612be26040519485611e42565b82845260208085019360061b830101918183116116c157602001925b828410612c105750505050985f612948565b6040848303126116c15760405190612c2782611e27565b8451906001600160701b03821682036116c1578260209260409452612c4d8388016126a4565b83820152815201930192612bfe565b63585b926360e01b5f5260045ffd5b9550985050509693945050825f52602860205260405f20845f526020525f6002604082208281558260018201550155825f52602960205260405f20845f52602052612cb860405f20611f50565b825f52602c60205260405f20915f5b835480821015612d6b5786612cdc8387611cbd565b905460039190911b1c6001600160a01b031614612cfc5750600101612cc7565b905f97929394959697198201918211611d5b57610af4612d1f612d389388611cbd565b905460039190911b1c6001600160a01b03169187611cbd565b8354908115612503575f5160206134205f395f51905f5294612b3f925f190190612d656124c88383611cbd565b55612b33565b5050909150612b3f5f5160206134205f395f51905f52939495612b33565b9081878096949d9a98939c9997959b9c11612f6a575b505050885f52602260205260405f20835f52602052600160405f200154865111155f14612f4a578551895f52602260205260405f20845f52602052612dec600160405f2001918254611e65565b90555b5f83815260256020526040902060010154865111612f34578551835f526025602052612e23600160405f2001918254611e65565b90555b8a5f52602960205260405f20895f5260205260405f20975f5b8954811015612ee957806001612e5681938d611cd2565b500154612e63828d611cd2565b5054908d5f52602360205260405f20815f526020528160405f20541015612ec1575b805f5260266020528160405f20541015612ea2575b505001612e3f565b5f526026602052612eb860405f20918254611e65565b90555f80612e9a565b8d5f52602360205260405f20815f5260205260405f20612ee2838254611e65565b9055612e85565b50919395989750919395988a5f52602960205260405f20885f52602052612f1260405f20611f50565b518a5f52602a602052612f2a60405f20918254611e65565b90555f808061283c565b825f5260256020525f6001604082200155612e26565b885f52602260205260405f20835f526020525f6001604082200155612def565b612f7792610f9091611e65565b895f52602260205260405f20845f5260205260405f20612f98828254611e65565b9055835f526025602052612fb160405f20918254611e65565b9055825f80612d9f565b63823c7e3560e01b5f5260045ffd5b506020813d602011613000575b81612fe460209383611e42565b810103126116c157612ffb64ffffffffff916126a4565b6127e4565b3d9150612fd7565b9093506020813d602011613035575b8161302460209383611e42565b810103126116c157519260206127ae565b3d9150613017565b63c6d038c160e01b5f5260045ffd5b9150506060813d60601161309b575b8161306860609383611e42565b810103126116c1578064ffffffffff80613093604061308c602061277097016126a4565b94016126a4565b93505061275c565b3d915061305b565b6001600160a01b03165f8181526024602052604090205480156125e357815f52602260205260405f20815f5260205260405f20916001604051936130e685611e27565b805485520154602084019081525f905b6101f48210613112575b50505f52602460205260405f20555190565b90924281116131e45762093a808101809111611d5b578093835f52602360205260405f20825f5260205260405f20549183519262093a8084029380850462093a801490151715611d5b578751600194808211156131dc5761317291611e65565b8852845181116131d457613187818651611e65565b85525b855f52602260205260405f20825f526020526131a98860405f206126b6565b6131b6575b5001906130f6565b845f52602360205260405f20905f526020525f60408120555f6131ae565b5f855261318a565b50505f613172565b92613100565b6027548015611df357805f52602560205260405f209060016040519261320f84611e27565b805484520154602083019081525f905b6101f48210613232575b50506027555190565b90914281116132e55762093a808101809111611d5b578092815f52602660205260405f20549183519262093a8084029380850462093a801490151715611d5b578651600194808211156132dd5761328891611e65565b8752845181116132d55761329d818651611e65565b85525b815f5260256020526132b58760405f206126b6565b6132c2575b50019061321f565b5f5260266020525f60408120555f6132ba565b5f85526132a0565b50505f613288565b91613229565b608083015190811590818015613417575b61340c5767058d15e17628000083029183830467058d15e176280000141715611d5b57670de0b6b3a76400008402908415948204670de0b6b3a764000014851715611d5b575f948115159081613403575b506133ae575b505061337f92670de0b6b3a764000061336c9204611ea3565b8181116133a7575b835161299e91611d48565b90602081015180831061339f575b505180821161339a575090565b905090565b91505f61338d565b5080613374565b6133be9194506060860151611d48565b90670853a0d2313c0000820291808304670853a0d2313c00001490151715611d5b57670de0b6b3a76400006133f961337f9561336c94611d2a565b9450819250613353565b9050155f61334d565b505050506020015190565b5083156132fc56feba96fb19972930bda84dd5c49e835c4975aedb6dd8664e174c08d072662f518fed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fbfda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014a2646970667358221220d94c8cbb0ac15c78754a289fe610db8f2341a3750a1967f46811a709b40f96ba64736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0dbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00cac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668dad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5";
17
+ static readonly bytecode = "0x6080806040523461016957602081614d15803803809161001f8285610180565b83398101031261016957516001600160a01b0381168103610169576001805560028054610100600160a81b031916600892831b610100600160a81b0316179081905560405163f1380ea960e01b815291606091839160049183911c6001600160a01b03165afa908115610175575f905f9261011e575b5064ffffffffff918216911681810291811591830414171561010a576301dfe200036100fb576100c4336101c9565b506100ce3361023f565b506100d8336102d2565b506161a8600c55612710600d5562093a80600e5560405161492f90816103668239f35b63c6d038c160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b9150506060813d60601161016d575b8161013a60609383610180565b810103126101695764ffffffffff80610161604061015a602086016101b7565b94016101b7565b929150610095565b5f80fd5b3d915061012d565b6040513d5f823e3d90fd5b601f909101601f19168101906001600160401b038211908210176101a357604052565b634e487b7160e01b5f52604160045260245ffd5b519064ffffffffff8216820361016957565b6001600160a01b0381165f9081525f516020614cf55f395f51905f52602052604090205460ff1661023a576001600160a01b03165f8181525f516020614cf55f395f51905f5260205260408120805460ff191660011790553391905f516020614c955f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f516020614cb55f395f51905f52602052604090205460ff1661023a576001600160a01b03165f8181525f516020614cb55f395f51905f5260205260408120805460ff191660011790553391907ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014905f516020614c955f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020614cd55f395f51905f52602052604090205460ff1661023a576001600160a01b03165f8181525f516020614cd55f395f51905f5260205260408120805460ff191660011790553391907f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb905f516020614c955f395f51905f529080a460019056fe610120806040526004361015610013575f80fd5b5f905f3560e01c90816301ffc9a7146122a75750806306aba0e1146122855780630a7486c714611bd75780630c4232011461225b578063103490f9146121b95780631c3ebaeb14611bd7578063248a9ca31461219b578063289f338f146121635780632f2ff15d14612132578063308ee3051461204a578063315865df1461202e57806336568abe14611fe85780633b92eb2314611fbc5780634826499714611f9f5780634e7968e314611f4f5780634f6ffd0714611f32578063507ba5e214611f0b5780635baa02be14611ee85780635c679f7b14611da45780635c975abb14611d825780635f74bbde14611cd45780636635155714611cb95780636861059a14611c9c5780636ca32ae714611c6d5780636e890abb14611bdc5780637001f4bb14611bd757806372be527614611b9157806375619ab514611b0c578063776c01c414611acf5780637913867814611aa757806380c0ca4514611a54578063821ea928146115bf57806391d148541461157757806396c55175146112615780639c31c8fb146111f25780639d175053146111bf5780639da882ac14610f375780639eeb400714610ee4578063a217fddf14610ec8578063a795b66014610e68578063a85bde9d14610e42578063b187bd2614610e1f578063b4bb008514610d4a578063b97dd9e214610d2f578063b9a09fd514610ccc578063bb3d832f14610c6c578063c3a6ca1314610c1e578063cffd31dd14610b35578063d547741f14610afa578063d6585ecf14610ad2578063d8d1a657146109e5578063d93c6ede146109a2578063dcda162c1461097a578063de95a4b9146108fd578063e340838b14610714578063e75ec699146106ad578063eb7ad58e1461068f578063ec73d90614610656578063efe97d0514610633578063f0164ca01461041d578063f3086064146102e95763f4359ce5146102c9575f80fd5b346102e657806003193601126102e657602060405162093a808152f35b80fd5b50346102e6576102f836612381565b929091610303612f50565b83810361040e57845b818110610317578580f35b61032a610325828486612637565b612654565b90610336818787612637565b35918215159081840361040a576001600160a01b03169283159081156103e2575b506103d357823b156103c45787604051639d0ab89f60e01b8152826004820152818160248183895af180156103c8576103af575b50506001926040519182525f51602061487a5f395f51905f5260203393a30161030c565b816103b991612516565b6103c457875f61038b565b8780fd5b6040513d84823e3d90fd5b6365da5bb960e11b8852600488fd5b848a52601560205260408a205460ff1615915081610402575b505f610357565b90505f6103fb565b8880fd5b63512509d360e11b8552600485fd5b50346102e65760203660031901126102e657610437612316565b61043f613362565b61044761337d565b6001600160a01b03168082526015602052604082205460ff1661062457338252601d60205260408220815f5260205260405f2090604051610487816124e0565b8254815260018301549060406002602083019584875201549101521561061557338352601d60205260408320815f526020525f6002604082208281558260018201550155338352602160205260408320815f526020526104e960405f206127bb565b338352601e60205261050160408420549251836125f4565b338452601e6020526040842055338352602080526040832091835b8354808210156105fa5783610531838761248c565b905460039190911b1c6001600160a01b031614610551575060010161051c565b929391925f1981019081116105e657826105c35f51602061489a5f395f51905f52959361059f6105866105c89560409861248c565b905460039190911b1c6001600160a01b0316918461248c565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b6126f8565b338552601e6020528185205482519182526020820152a26001805580f35b634e487b7160e01b86526011600452602486fd5b50505f51602061489a5f395f51905f529192506040906105c8565b632ada3b3f60e21b8352600483fd5b63e7e28cd960e01b8252600482fd5b50346102e657806003193601126102e657602061064e612b0e565b604051908152f35b50346102e65760203660031901126102e6576020906040906001600160a01b0361067e612316565b168152601e83522054604051908152f35b50346102e657806003193601126102e6576020601354604051908152f35b50346102e65760403660031901126102e65760406106c9612316565b916106d261232c565b9260018060a01b03168152601d602052209060018060a01b03165f5260205260405f20805461071060026001840154930154604051938493846124a1565b0390f35b50346102e65760203660031901126102e65761072e612316565b6001600160a01b031680825260208080526040808420905181548082529185528285209093859390928591820190855b8181106108db57505061077392500384612516565b61077d8351612adc565b610785612b0e565b928593865b86518110156108ba576001600160a01b036107a582896127a7565b511685895260216020526040892060018060a01b0382165f5260205260405f20868a52601d60205260408a2060018060a01b0383165f5260205260405f20906040516107f0816124e0565b82548152604060026001850154946020840195865201549101528054908b908c905b83821061086f5750501461082b575b505060010161078a565b9361083b91949792975190612647565b9261084682866127a7565b526001810180911161085b579460015f610821565b634e487b7160e01b88526011600452602488fd5b909187600161087e8585612447565b500154116108b1576001810180911161089d57600190925b0190610812565b634e487b7160e01b8e52601160045260248efd5b91600190610896565b505083825261071060405192839283526040602084015260408301906123d1565b84546001600160a01b031683526001948501948894506020909301920161075e565b50346102e65760203660031901126102e65760043561091a612ef4565b600181148015610970575b610961577f31eed88a3406e683789affe91262f34c5c8ab7c5cb106cbc76c5b8fa3cc6f1dd60406022548151908152836020820152a160225580f35b63585b926360e01b8252600482fd5b5060408111610925565b50346102e657806003193601126102e65760206040515f5160206148da5f395f51905f528152f35b50346102e65760403660031901126102e6576020906040906001600160a01b036109ca612316565b16815260188352818120602435825283522054604051908152f35b50346102e65760203660031901126102e65760043580151590818103610ace57610a0d612f50565b15610a6c5760205f51602061485a5f395f51905f5291610a2b613362565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25882604051338152a15b604051908152a180f35b60025460ff811615610abf575f51602061485a5f395f51905f529160209160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa82604051338152a1610a62565b638dfc202b60e01b8352600483fd5b8280fd5b50346102e657806003193601126102e65760206040515f5160206148ba5f395f51905f528152f35b50346102e65760403660031901126102e657610b31600435610b1a61232c565b90610b2c610b27826124cf565b612fac565b61306c565b5080f35b50346102e657806003193601126102e65780601354610b5381612adc565b91610b5d82612adc565b91610b66612b0e565b9085915b818310610bce57505050610b89604051936060855260608501906123d1565b93838503602085015260208084519687815201930190945b808610610bb657505082935060408301520390f35b90926020806001928651815201940195019490610ba1565b909192506001610c15610c0383610be487612474565b858060a01b0391549060031b1c1680610bfd898c6127a7565b526130f6565b91610c0e888a6127a7565b5284612d24565b93019190610b6a565b50346102e65760403660031901126102e65760409081906001600160a01b03610c45612316565b16815260176020528181206024358252602052206001815491015482519182526020820152f35b50346102e65760403660031901126102e657610c86612316565b6001600160a01b031681526020805260408120805460243592908310156102e6576020610cb3848461248c565b905460405160039290921b1c6001600160a01b03168152f35b50346102e65760203660031901126102e6576080906040906001600160a01b03610cf4612316565b168152601560205220805490600260018201549101549060ff604051938181161515855260081c161515602084015260408301526060820152f35b50346102e657806003193601126102e657602061064e612abc565b50346102e65760403660031901126102e657610d64612316565b610d6c612342565b90610d75612f50565b6001600160a01b031680158015610e00575b610df157803b15610ace578260405192639d0ab89f60e01b8452151592836004820152818160248183875af180156103c857610ddc575b50506040519182525f51602061487a5f395f51905f5260203393a380f35b81610de691612516565b610ace57825f610dbe565b6365da5bb960e11b8352600483fd5b50808352601560205260ff604084205416158015610d87575081610d87565b50346102e657806003193601126102e657602060ff600254166040519015158152f35b50346102e6576040610e5c610e563661240d565b9161281c565b82519182526020820152f35b50346102e657610e773661240d565b929160018060a01b031682526021602052604082209060018060a01b03165f5260205260405f209081548310156102e6576040610eb48484612447565b506001815491015482519182526020820152f35b50346102e657806003193601126102e657602090604051908152f35b50346102e65760403660031901126102e6576040610f00612316565b91610f0961232c565b9260018060a01b031681526016602052209060018060a01b03165f52602052602060405f2054604051908152f35b503461110657602036600319011261110657610f51612316565b610f59613362565b610f61612ef4565b6001600160a01b0381169081158015611165575b801561114f575b61114057604051608081016001600160401b0381118282101761112c576040526001815260026020820160018152604083015f8152610fe16060850192428452875f52601560205260405f209551151560ff80198854169116178655511515856124b7565b51600184015551910155610ff3612abc565b825f52601960205260405f205415611119575b6003546001600160a01b0316801561110a57803b15611106575f8091602460405180948193633d95763960e11b83528960048401525af180156110fb576110e6575b50601c54156110dd575b50818352601460205260408320541561108e575b507f9808313031a8f4caa534c417adad16800af7317516eff29a2d37cec0ffb244db8280a280f35b601354600160401b8110156110c9579061059f8260016110b39401601355601361248c565b601354818352601460205260408320555f611066565b634e487b7160e01b84526041600452602484fd5b601c555f611052565b6110f39194505f90612516565b5f925f611048565b6040513d5f823e3d90fd5b5f80fd5b63e6c4247b60e01b5f5260045ffd5b825f5260196020528060405f2055611006565b634e487b7160e01b5f52604160045260245ffd5b6365da5bb960e11b5f5260045ffd5b50815f52601560205260ff60405f205416610f7c565b506040516358c3de9360e11b8152602081600481865afa9081156110fb575f91611190575b50610f75565b6111b2915060203d6020116111b8575b6111aa8183612516565b810190612804565b5f61118a565b503d6111a0565b34611106576020366003190112611106576004355f52601a6020526040805f206001815491015482519182526020820152f35b346111065760203660031901126111065761120b612316565b611213613362565b6001600160a01b0381165f9081526015602052604090205460ff16156112525761123f611246916139a6565b9150613bf6565b50602060405160018152f35b63d4220bed60e01b5f5260045ffd5b346111065760203660031901126111065761127a612316565b611282613362565b61128a61337d565b600254604051621e403d60e21b81526001600160a01b0383811660048301819052939260081c169060a081602481855afa9081156110fb575f91611548575b50511561153957825f526020805260405f2092604051808560208297549384815201905f5260205f20925f5b81811061151757505061130a92500385612516565b60046060611316612b0e565b936040519283809263f1380ea960e01b82525afa9081156110fb5761134f915f915f916114d9575b5064ffffffffff809116911661256e565b925f5b8551811015611462576001906001600160a01b0361137082896127a7565b511661137e61123f826139a6565b50845f52601d60205260405f20838060a01b0382165f5260205260405f20541561145c57845f52601d60205260405f20838060a01b0382165f526020526040805f2060028251916113ce836124e0565b8054835286810154602084015201549182910152815f52602360205260405f20541061144b575b845f52602160205260405f20838060a01b0382165f5260205261141a60405f206127bb565b845f52601d60205260405f2090838060a01b03165f526020525f600260408220828155828582015501555b01611352565b61145787878387613e30565b6113f5565b50611445565b8286815f526020805260405f208054905f8155816114bb575b837feaafa67bd3aa4bb44bce0c035314029d39227a502ac081269bdd5989e1aa592b602085835f52601e82525f604081205551604051908152a260018055005b5f5260205f20908101905b8181101561147b575f81556001016114c6565b64ffffffffff92508291506115059060603d606011611510575b6114fd8183612516565b81019061277e565b93915092915061133e565b503d6114f3565b84546001600160a01b03168352600194850194899450602090930192016112f5565b630139629360e11b5f5260045ffd5b61156a915060a03d60a011611570575b6115628183612516565b810190612714565b846112c9565b503d611558565b346111065760403660031901126111065761159061232c565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34611106576040366003190112611106576115d8612316565b6115e061232c565b906115e9612ef4565b6001600160a01b0381169182158015611a43575b8015611a2c575b6111405761161461123f836139a6565b5061161d612b0e565b5f84815260176020908152604080832084845282528083208054600190910154601a909352922054919290918311611a1957805f52601a60205260405f206116668482546125f4565b90555b5f818152601a60205260409020600101548211611a0357805f52601a602052600160405f200161169a8382546125f4565b90555b805f52601a602052600160405f200154155f146119dc57805f52601a6020525f60408120555b5f86815260176020908152604080832084845290915280822082815560010191909155600254905163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa80156110fb5764ffffffffff915f916119ba575b501662093a8081029080820462093a80149015171561190e57906117498794939282612647565b905b818111156119225750507fce362b7a1360d8d2e178b7890ae09c938033b09f9c074ca57b4660b032a3daeb91604091845f52602360205242835f205582519182526020820152a25f838152601560209081526040808320805460ff191681554260029091015560149091529020546013545f1981019080821161190e5782036118c8575b50506013549081156118b457611841926020925f19016118086117f382601361248c565b81549060018060a01b039060031b1b19169055565b601355845f52601483525f604081205560018060a01b0360035416905f60405180968195829463acf6da4d60e01b8452600484016126de565b03925af19081156110fb575f91611881575b5060207f4a5b80bc6b61c4bfbdf199326466e5b10e8406f4466d683a90d98ae91f4e1f4291604051908152a2005b90506020813d6020116118ac575b8161189c60209383612516565b8101031261110657516020611853565b3d915061188f565b634e487b7160e01b5f52603160045260245ffd5b6118d190612474565b905460039190911b1c6001600160a01b03165f19820182811161190e578161059f6118fb92612474565b5f52601460205260405f205583806117cf565b634e487b7160e01b5f52601160045260245ffd5b909192935f52601860205260405f20815f5260205260405f20548061195a575b5062093a80810180911161190e57908693929161174b565b5f828152601b602052604090205481116119a657815f52601b60205261198560405f209182546125f4565b90555b865f52601860205260405f20815f526020525f604081205587611942565b50805f52601b6020525f6040812055611988565b6119d3915060603d606011611510576114fd8183612516565b50905088611722565b805f52601a60205260405f20546116c357805f52601a6020525f60016040822001556116c3565b805f52601a6020525f600160408220015561169d565b805f52601a6020525f6040812055611669565b50825f52601560205260ff60405f20541615611604565b506001600160a01b038116156115fd565b3461110657604036600319011261110657611a6d612316565b611a7561232c565b6001600160a01b039182165f908152601d60209081526040808320949093168252928352819020600101549051908152f35b34611106575f366003190112611106576003546040516001600160a01b039091168152602090f35b34611106576020366003190112611106576001600160a01b03611af0612316565b165f526015602052602060ff60405f2054166040519015158152f35b3461110657602036600319011261110657611b25612316565b611b2d612ef4565b6001600160a01b0316801561110a57600380546001600160a01b0319811683179091556040517f4c0676acca55b8ccd85e7dd5b4bcff581e82454e0667820c536d370a3b3115909290918291611b8c916001600160a01b0316836126de565b0390a1005b3461110657602036600319011261110657611baa612316565b6001600160a01b0381161561114057611bcd602091611bc7612b0e565b906130f6565b5050604051908152f35b6122fa565b34611106575f36600319011261110657604051601380548083525f91825260208301917f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09091905b818110611c4e5761071085611c3a81870382612516565b6040519182916020835260208301906123d1565b82546001600160a01b0316845260209093019260019283019201611c23565b34611106576040366003190112611106576040610e5c611c8b612316565b611c93613362565b60243590612668565b34611106575f366003190112611106576020602254604051908152f35b34611106575f36600319011261110657602060405160648152f35b3461110657604036600319011261110657611ced612316565b611cf5613362565b611cfd61337d565b335f52601f60205260405f2060018060a01b0382165f5260205260405f2054620d2f00810180911161190e574210611d7357611d48611d3b3361339d565b60249291923585336134f9565b335f908152601f602090815260408083206001600160a01b0390941683529290522042905560018055005b630618259b60e11b5f5260045ffd5b34611106575f36600319011261110657602060ff600254166040519015158152f35b3461110657611db236612381565b919290611dbd613362565b611dc561337d565b83158015611ede575b611ecf575f805b858210611eaf57612710915011611ea057611def3361339d565b919290955f5b818110611e025760018055005b335f52601f60205260405f20611e1c61032583858a612637565b60018060a01b03165f5260205260405f2054620d2f00810180911161190e574210611d735780611e6d8987878b611e6586611e5e6103258f9a8c60019c612637565b928b612637565b3590336134f9565b335f52601f60205260405f20611e8761032583868b612637565b838060a01b03165f5260205260405f2042905501611df5565b63585b926360e01b5f5260045ffd5b611ec7600191611ec0848887612637565b3590612647565b910190611dd5565b63512509d360e11b5f5260045ffd5b5082841415611dce565b3461110657602036600319011261110657602061064e611f06612316565b612601565b34611106576040366003190112611106576040610e5c611f29612316565b6024359061259f565b34611106575f366003190112611106576020604051620d2f008152f35b3461110657604036600319011261110657611f68612316565b611f7061232c565b6001600160a01b039182165f908152601f60209081526040808320949093168252928352819020549051908152f35b34611106575f366003190112611106576020601c54604051908152f35b34611106575f3660031901126111065760025460405160089190911c6001600160a01b03168152602090f35b346111065760403660031901126111065761200161232c565b336001600160a01b0382160361201f5761201d9060043561306c565b005b63334bd91960e11b5f5260045ffd5b34611106575f3660031901126111065760206040516161a88152f35b3461110657604036600319011261110657612063612316565b61206b61232c565b9060018060a01b03165f52602160205260405f209060018060a01b03165f5260205260405f2080549061209d82612539565b916120ab6040519384612516565b8083526020830180925f5260205f205f915b838310612114578486604051918291602083019060208452518091526040830191905f5b8181106120ef575050500390f35b82518051855260209081015181860152869550604090940193909201916001016120e1565b6002602060019261212485612550565b8152019201920191906120bd565b346111065760403660031901126111065761201d60043561215161232c565b9061215e610b27826124cf565b612fe4565b34611106576020366003190112611106576001600160a01b03612184612316565b165f526019602052602060405f2054604051908152f35b3461110657602036600319011261110657602061064e6004356124cf565b34611106576040366003190112611106576121d2612316565b6121da612342565b906121e3612ef4565b6001600160a01b031690811561114057815f52601560205260ff60405f205416156112525760207f07829327d364c8af8ea5af9c81cac2a7ec3ec6a9879d2154b4a65e2c623d79db91835f52601582526122408160405f206124b7565b835f526015825242600260405f2001556040519015158152a2005b34611106576020366003190112611106576004355f52601b602052602060405f2054604051908152f35b34611106575f36600319011261110657602061064e6122a2612b0e565b612b5f565b34611106576020366003190112611106576004359063ffffffff60e01b821680920361110657602091637965db0b60e01b81149081156122e9575b5015158152f35b6301ffc9a760e01b149050836122e2565b34611106575f3660031901126111065760206040516127108152f35b600435906001600160a01b038216820361110657565b602435906001600160a01b038216820361110657565b60243590811515820361110657565b9181601f84011215611106578235916001600160401b038311611106576020808501948460051b01011161110657565b6040600319820112611106576004356001600160401b03811161110657816123ab91600401612351565b90929091602435906001600160401b038211611106576123cd91600401612351565b9091565b90602080835192838152019201905f5b8181106123ee5750505090565b82516001600160a01b03168452602093840193909201916001016123e1565b6060906003190112611106576004356001600160a01b038116810361110657906024356001600160a01b0381168103611106579060443590565b8054821015612460575f5260205f209060011b01905f90565b634e487b7160e01b5f52603260045260245ffd5b6013548110156124605760135f5260205f2001905f90565b8054821015612460575f5260205f2001905f90565b6040919493926060820195825260208201520152565b9061ff00825491151560081b169061ff001916179055565b5f525f602052600160405f20015490565b606081019081106001600160401b0382111761112c57604052565b604081019081106001600160401b0382111761112c57604052565b601f909101601f19168101906001600160401b0382119082101761112c57604052565b6001600160401b03811161112c5760051b60200190565b9060405161255d816124fb565b602060018294805484520154910152565b8181029291811591840414171561190e57565b811561258b570490565b634e487b7160e01b5f52601260045260245ffd5b6125af826125b6929493946130f6565b9194612d24565b9182156125ec57670de0b6b3a7640000810290808204670de0b6b3a7640000149015171561190e57826125e891612581565b9190565b505f91508190565b9190820391821161190e57565b6001600160a01b03165f908152601e60205260409020546127108110156126325761271003612710811161190e5790565b505f90565b91908110156124605760051b0190565b9190820180921161190e57565b356001600160a01b03811681036111065790565b9091906001600160a01b0381169081156111405761123f612688916139a6565b505f52601760205260405f20825f5260205260405f2054915f52601a60205260405f20549182156125ec57670de0b6b3a7640000810290808204670de0b6b3a7640000149015171561190e57826125e891612581565b6001600160a01b0391821681529116602082015260400190565b805480156118b4575f1901906127116117f3838361248c565b55565b908160a0910312611106576040519060a08201906001600160401b0382118383101761112c57608091604052805183526020810151602084015260408101516040840152606081015160608401520151608082015290565b519064ffffffffff8216820361110657565b90816060910312611106578051916127a4604061279d6020850161276c565b930161276c565b90565b80518210156124605760209160051b010190565b8054905f8155816127ca575050565b6001600160ff1b038216820361190e575f5260205f209060011b8101905b8181106127f3575050565b5f80825560018201556002016127e8565b90816020910312611106575180151581036111065790565b9192916001600160a01b031690811561110a576001600160a01b031690811561114057815f52601560205260ff60405f20541615611252578315612ab057815f52601560205260ff60405f205460081c1615612a93576002546040516370a0823160e01b8152600481019290925260081c6001600160a01b031691602082602481865afa80156110fb575f90612a60575b6004925060208194604051948580926318160ddd60e01b82525afa9283156110fb575f93612a2c575b508210612a23575b81158015612a1b575b6129fd57604051635a38556f60e11b815290602082600481845afa9182156110fb575f926129c8575b50602060049160405192838092632964b67b60e21b82525afa9081156110fb575f91612996575b50600c5492600d54946040519260c084019484861060018060401b0387111761112c576161a8976129929761298b9760405286526020860152604085015260608401528760808401525f60a0840152614705565b809461256e565b0490565b90506020813d6020116129c0575b816129b160209383612516565b8101031261110657515f612937565b3d91506129a4565b9091506020813d6020116129f5575b816129e460209383612516565b810103126111065751906020612910565b3d91506129d7565b50505061271082029182046127100361190e576161a8612710920490565b5082156128e7565b915080916128de565b9092506020813d602011612a58575b81612a4860209383612516565b810103126111065751915f6128d6565b3d9150612a3b565b506020823d602011612a8b575b81612a7a60209383612516565b8101031261110657600491516128ad565b3d9150612a6d565b505061271082029182046127100361190e576161a8612710920490565b50509050612710905f90565b62093a80420462093a8081029080820462093a80149015171561190e5790565b90612ae682612539565b612af36040519182612516565b8281528092612b04601f1991612539565b0190602036910137565b62093a8042046001810180911161190e5762093a8081029080820462093a80149015171561190e5790565b5f19811461190e5760010190565b81810392915f13801582851316918412161761190e57565b90601c54918215612d1e5780831015612d0c5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa9081156110fb57612bc4915f915f91612cde575b5064ffffffffff80919694959616911661256e565b92815f52601a602052612bd960405f20612550565b905f9060208301935b6101f4831080612cd5575b15612cca5762093a80810180911161190e578092815f52601b60205260405f20549186519262093a8084029380850462093a80149015171561190e57612c368a612c8295612581565b87519080821115612cc257612c4a916125f4565b875287518111612cb957612c5f9088516125f4565b87525b1580612cb2575b80612ca8575b612c96575b8551612c88575f8552612b39565b91612be2565b8451612b39575f8652612b39565b612ca15f8651612b47565b8552612c74565b5084511515612c6f565b505f612c69565b505f8752612c62565b50505f612c4a565b509450509150505190565b50858110612bed565b64ffffffffff9250829150612d019060603d606011611510576114fd8183612516565b939150929150612baf565b9091505f52601a60205260405f205490565b505f9150565b909291601c54938415612eec5782851015612ed85760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa9081156110fb57612d8b915f915f91612eaa575b5064ffffffffff80919896979816911661256e565b94835f52601a602052612da060405f20612550565b925f9160208501955b6101f4841080612ea1575b15612e945762093a80810180911161190e578093815f52601b60205260405f20549188519262093a8084029380850462093a80149015171561190e57612dfd8c612e4a95612581565b89519080821115612e8c57612e11916125f4565b895289518111612e8357612e26908a516125f4565b89525b841480612e7a575b80612e70575b612e5e575b8751612e50575f8752612b39565b92612da9565b8651612b39575f8852612b39565b612e69868851612b47565b8752612e3c565b5086511515612e37565b505f8612612e31565b505f8952612e29565b50505f612e11565b5096505050509150505190565b50878110612db4565b64ffffffffff9250829150612ecd9060603d606011611510576114fd8183612516565b939150929150612d76565b50509091505f52601a60205260405f205490565b505f93505050565b335f9081527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c602052604090205460ff1615612f2c57565b63e2517d3f60e01b5f52336004525f5160206148da5f395f51905f5260245260445ffd5b335f9081527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d602052604090205460ff1615612f8857565b63e2517d3f60e01b5f52336004525f5160206148ba5f395f51905f5260245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615612fce5750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16613066575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615613066575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b811561258b570690565b6001600160a01b03165f81815260196020526040902054929190831561335757818410156133365760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa9081156110fb57613171915f915f91613308575b5064ffffffffff8091979495969716911661256e565b93825f52601760205260405f20825f5260205261319060405f20612550565b915f935f945f9360208601965b6101f48610806132ff575b156132f0575062093a80840180941161190e578394835f52601860205260405f20855f5260205260405f205490885162093a8081029080820462093a80149015171561190e578b6131f8916130ec565b6132b75788519162093a8083029280840462093a80149015171561190e576132238c61328194612581565b945b858a518181105f146132af5761323b9250612b47565b965b5f8812156132a8575b89519095808211156132a05761325b916125f4565b89528951811161329757613270908a516125f4565b89525b8851613289575f8852612b39565b94939161319d565b8751612b39575f8952612b39565b505f8952613273565b50505f61325b565b505f613246565b50509661323d565b885162093a8081029080820462093a80149015171561190e578b6132da91612581565b916001830180931161190e576132819294613225565b97509550965050505051929190565b508885106131a8565b64ffffffffff925082915061332b9060603d606011611510576114fd8183612516565b93915092915061315b565b909192505f52601760205260405f20905f5260205260405f2054905f905f90565b505f92508291829150565b60ff6002541661336e57565b63d93c066560e01b5f5260045ffd5b60026001541461338e576002600155565b633ee5aeb560e01b5f5260045ffd5b60025460405163f1380ea960e01b815260089190911c6001600160a01b03169290606081600481875afa9081156110fb576133eb915f915f916114d9575064ffffffffff809116911661256e565b925f6133f5612b0e565b60405163719f308960e01b81526001600160a01b0390951660048601529391829060249082905afa9081156110fb575f9161342e575090565b90503d805f833e61343f8183612516565b810190602081830312611106578051906001600160401b038211611106570181601f820112156111065780519061347582612539565b926134836040519485612516565b82845260208085019360061b8301019181831161110657602001925b8284106134ad575050505090565b60408483031261110657604051906134c4826124fb565b8451906001600160701b03821682036111065782602092604094526134ea83880161276c565b8382015281520193019261349f565b6001600160a01b03821695909490929190861561114057865f52601560205260ff60405f205416156112525782151594858061394b575b61393c576127108411611ea0578580613932575b613923576135889561355861123f856139a6565b508860018060a01b03891698895f52601d60205260405f20825f526020528488876040805f209581519d8e6124e0565b8d875490818152600260018a015499602083019a8b52015493849101526138b7575b505050505050505f5f915f146137eb575050865f52601e6020526127106135d58560405f2054612647565b11611ea057600254604051621e403d60e21b8152600481018990529060a0908290602490829060081c6001600160a01b03165afa9081156110fb575f916137cc575b50516137a65761364091848692895f52602160205260405f208b5f5260205260405f2086614229565b95919094858297156137bd57821580156137b5575b6137a657895f52601760205260405f20825f5260205260405f2061367a828254612647565b9055895f52601760205260405f20825f52602052600160405f20016136a0848254612647565b9055815f52601a6020526136b960405f20918254612647565b90555f52601a602052600160405f20016136d4828254612647565b9055604051906136e3826124e0565b81526002602082018581526040830190428252895f52601d60205260405f208b5f5260205260405f209351845551600184015551910155855f52601e60205260405f20613731848254612647565b9055511561375f575b5061375a5f51602061483a5f395f51905f52935b604051938493846124a1565b0390a3565b92845f526020805260405f20908154600160401b81101561112c575f51602061483a5f395f51905f529561059f8261375a95600161379f9501815561248c565b935061373a565b635ee9d34160e01b5f5260045ffd5b508015613655565b63823c7e3560e01b5f5260045ffd5b6137e5915060a03d60a011611570576115628183612516565b5f613617565b94955097969550505050825f52601d60205260405f20845f526020525f6002604082208281558260018201550155825f526020805260405f20915f5b835480821015613899578661383c838761248c565b905460039190911b1c6001600160a01b03161461385c5750600101613827565b919293949596905f19830192831161190e57856105c36138949261059f61058661375a975f51602061483a5f395f51905f529b61248c565b61374e565b505090915061375a5f51602061483a5f395f51905f5293949561374e565b5f52602360205260405f205410613911575b50505050885f52602160205260405f208a5f526020526138eb60405f206127bb565b51885f52601e60205261390360405f209182546125f4565b90555f80848887838e6135aa565b61391a93613e30565b5f8488876138c9565b6315c1487560e31b5f5260045ffd5b5060648410613544565b6325aa339760e21b5f5260045ffd5b506040516358c3de9360e11b81526020816004818c5afa9081156110fb575f91613976575b50613530565b61398f915060203d6020116111b8576111aa8183612516565b5f613970565b906020600191805184550151910155565b6001600160a01b03165f8181526019602052604090205490918115613bec5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa9081156110fb57613a12915f915f916114d9575064ffffffffff809116911661256e565b91835f52601760205260405f20815f52602052613a3160405f20612550565b905f945f945f90602085015b6101f48310613a5c575b5050505f52601960205260405f205551929190565b90919796428511613be5575062093a80840180941161190e5783835f52601860205260405f20815f5260205260405f205498825162093a8081029080820462093a80149015171561190e5784613ab1916130ec565b613bad5782519162093a8083029280840462093a80149015171561190e57613adb85600194612581565b995b8a89518181105f14613ba557613af39250612b47565b9a5b5f8c1215613b9f57815b8951909b80821115613b9757613b14916125f4565b895284518111613b8f57613b298186516125f4565b85525b8451613b81575f89525b865f52601760205260405f20825f52602052613b558960405f20613995565b613b63575b50019190613a3d565b855f52601860205260405f20905f526020525f60408120555f613b5a565b8851613b36575f8552613b36565b5f8552613b2c565b50505f613b14565b5f613aff565b50509a613af5565b825162093a8081029080820462093a80149015171561190e5784613bd091612581565b916001830180931161190e5760019299613add565b9697613a47565b5f92508291508190565b90601c54908115613e29578181111580613e20575b80613e0b575b613de3575b60025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa9081156110fb57613c67915f915f91613db5575b5064ffffffffff809196949616911661256e565b92825f52601a602052613c7c60405f20612550565b935f9260208601915b6101f48510613c9b575b5050505050601c555190565b9091929394428111613daf5762093a80810180911161190e578095815f52601b60205260405f20549185519262093a8084029380850462093a80149015171561190e57613cea85600195612581565b8a519080821115613da757613cfe916125f4565b8a5286518111613d9f57613d138188516125f4565b87525b81881480613d96575b80613d8c575b613d7a575b8651613d6c575f8a525b815f52601a602052613d498a60405f20613995565b613d59575b500193929190613c85565b5f52601b6020525f60408120555f613d4e565b8951613d34575f8752613d34565b613d85868b51612b47565b8a52613d2a565b5089511515613d25565b505f8612613d1f565b5f8752613d16565b50505f613cfe565b94613c8f565b64ffffffffff9250829150613dd89060603d606011611510576114fd8183612516565b939150929150613c53565b805f52601a602052613df98360405f2054612b47565b815f52601a60205260405f2055613c16565b50805f52601a60205260405f20541515613c11565b505f8312613c0b565b5050505f90565b9290919260018060a01b03165f52602160205260405f2060018060a01b0383165f5260205260405f2090815480156141e0575f92839290835b8381106140c657505050509080614016575b5080613f54575b506001600160a01b03165f818152601760209081526040808320858452909152902060010154613f11575f52601760205260405f20815f526020525f60408120555b805f52601a602052600160405f200154155f14613eea575f52601a6020525f6040812055565b805f52601a60205260405f205415613eff5750565b5f52601a6020525f6001604082200155565b805f52601760205260405f20825f5260205260405f205415613f34575b50613ec4565b5f52601760205260405f20815f526020525f60016040822001555f613f2e565b6001600160a01b0382165f8181526017602090815260408083208784529091529020600101548211613ff7575f52601760205260405f20835f52602052600160405f2001613fa38282546125f4565b90555b5f838152601a60205260409020600101548111613fe057825f52601a602052613fd7600160405f20019182546125f4565b90555b5f613e82565b50815f52601a6020525f6001604082200155613fda565b5f52601760205260405f20835f526020525f6001604082200155613fa6565b6001600160a01b0383165f81815260176020908152604080832088845290915290205482116140aa575f52601760205260405f20845f5260205260405f2061405f8282546125f4565b90555b5f848152601a6020526040902054811161409657835f52601a60205261408d60405f209182546125f4565b90555b5f613e7b565b50825f52601a6020525f6040812055614090565b5f52601760205260405f20845f526020525f6040812055614062565b60016140d28284612447565b500154956140e08284612447565b50549089808911156141d3578261411b60019594936141158961411061410a8f97614121986125f4565b8661256e565b612581565b90612647565b98612647565b97838060a01b038a16805f52601860205260405f20825f526020528260405f205410155f146141b7575f52601860205260405f20815f5260205260405f2061416a8382546125f4565b90555b5f818152601b602052604090205482116141a3575f52601b60205261419760405f209182546125f4565b90555b01949394613e69565b90505f52601b6020525f604081205561419a565b5f52601860205260405f20815f526020525f604081205561416d565b509596505060019061419a565b5050505050565b8054600160401b81101561112c5761420491600182018155612447565b9190916142165761421491613995565b565b634e487b7160e01b5f525f60045260245ffd5b95949190929560c05260a05260805260045f925f935f9460225460e052602060018060a01b0360025460081c166040519586809263089cc3b760e31b82525afa9384156110fb575f946146d1575b5060e0511580156146c2575b6145a1575f955f5b60a051518110156142c85764ffffffffff60206142aa8360a0516127a7565b510151168881116142bf575b5060010161428b565b975060016142b6565b50919395969092949660805181115f14614599576080516142e8916125f4565b945b6142f560e051612adc565b9661430160e051612adc565b610100525f935b60a0515185101561441c5764ffffffffff60206143278760a0516127a7565b5101511690608051821115614412575060019461271061435c8d60018060701b036143548560a0516127a7565b51511661256e565b0491821561440857896143e7575f905b8b8260e05111156143ca575b6143aa6143c19286836143a48761439e60019b614398836143b79a6127a7565b51612647565b926127a7565b5261256e565b61439884610100516127a7565b91610100516127a7565b525b0193614308565b5060e0519091505f1981011161190e5760e0515f1901908b614378565b6144028a61411060e0516143fd608051866125f4565b61256e565b9061436c565b50600191506143c3565b94600191506143c3565b97959950925092969094505f5b60e0518110614439575050505050565b61444381866127a7565b51838110614590576144628161445c84610100516127a7565b51612581565b62049d40810180911161190e5762093a8090049062093a8082029180830462093a80149015171561190e57608051829081116144a5575050506001905b01614429565b6144b68760809d93949c9d51612647565b10614575575b816144c691612647565b99856080516144d5908c6125f4565b6144df908461256e565b906144e991612581565b6144f291612647565b98600160a01b6001900360c051165f52601860205260405f20815f5260205260405f208281549061452291612647565b9055805f52601b60205260405f208281549061453d91612647565b90556040519161454c836124fb565b6001600160801b0316825264ffffffffff16602082015261456d90836141e7565b60019061449f565b98506144c68161458787608051612647565b9a9150506144bc565b5060019061449f565b505f946142ea565b9691905f9695969493945b60a051518110156146b75764ffffffffff60206145cb8360a0516127a7565b51015116976080518911156146ab57506001916127106145f88660018060701b036143548660a0516127a7565b049087821061469f578161462e8b9c614115886141109d9e9d61410a61462460019a9961469599612647565b9f608051906125f4565b9b848060a01b0360c051165f52601860205260405f20815f5260205260405f20614659838254612647565b9055805f52601b60205260405f20614672838254612647565b905560405191614681836124fb565b858060801b031682526020820152876141e7565b01969590966145ac565b97985050600190614695565b91969750600190614695565b509350505050929190565b5060e05160a051511115614283565b9093506020813d6020116146fd575b816146ed60209383612516565b810103126111065751925f614277565b3d91506146e0565b608083015190811590818015614831575b6148265767058d15e17628000083029183830467058d15e17628000014171561190e57670de0b6b3a76400008402908415948204670de0b6b3a76400001485171561190e575f94811515908161481d575b506147c8575b505061479992670de0b6b3a76400006147869204612647565b8181116147c1575b83516141109161256e565b9060208101518083106147b9575b50518082116147b4575090565b905090565b91505f6147a7565b508061478e565b6147d8919450606086015161256e565b90670853a0d2313c0000820291808304670853a0d2313c0000149015171561190e57670de0b6b3a76400006148136147999561478694612581565b945081925061476d565b9050155f614767565b505050506020015190565b50831561471656feba96fb19972930bda84dd5c49e835c4975aedb6dd8664e174c08d072662f518fed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2fed7f15007d2fa386f7b65d4b77efa7ef6422cc126225238b14ab707ce5dcc3a1f4f26a807a94b528f4b1525e7409e5f8a61de5ab075eade452ecbad32436e3955c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fbfda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014a264697066735822122067cc7e086e1fadd69784b1e1651c386095dc3fd31cc30fc31cec75cafebe90b564736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0dbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00cac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668dad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -41,11 +41,11 @@ export declare class GaugeController__factory extends ContractFactory {
41
41
  readonly type: "error";
42
42
  }, {
43
43
  readonly inputs: readonly [];
44
- readonly name: "ArrayLengthMismatch";
44
+ readonly name: "ActiveGauge";
45
45
  readonly type: "error";
46
46
  }, {
47
47
  readonly inputs: readonly [];
48
- readonly name: "EmergencyPaused";
48
+ readonly name: "ArrayLengthMismatch";
49
49
  readonly type: "error";
50
50
  }, {
51
51
  readonly inputs: readonly [];
@@ -55,10 +55,6 @@ export declare class GaugeController__factory extends ContractFactory {
55
55
  readonly inputs: readonly [];
56
56
  readonly name: "ExpectedPause";
57
57
  readonly type: "error";
58
- }, {
59
- readonly inputs: readonly [];
60
- readonly name: "GaugeAlreadyActive";
61
- readonly type: "error";
62
58
  }, {
63
59
  readonly inputs: readonly [];
64
60
  readonly name: "GaugeAlreadyExists";
@@ -69,7 +65,7 @@ export declare class GaugeController__factory extends ContractFactory {
69
65
  readonly type: "error";
70
66
  }, {
71
67
  readonly inputs: readonly [];
72
- readonly name: "GaugeNotFound";
68
+ readonly name: "GaugePaused";
73
69
  readonly type: "error";
74
70
  }, {
75
71
  readonly inputs: readonly [];
@@ -95,6 +91,10 @@ export declare class GaugeController__factory extends ContractFactory {
95
91
  readonly inputs: readonly [];
96
92
  readonly name: "LockExpiresSoon";
97
93
  readonly type: "error";
94
+ }, {
95
+ readonly inputs: readonly [];
96
+ readonly name: "NoPower";
97
+ readonly type: "error";
98
98
  }, {
99
99
  readonly inputs: readonly [];
100
100
  readonly name: "NoVeTokenBalance";
@@ -115,6 +115,14 @@ export declare class GaugeController__factory extends ContractFactory {
115
115
  readonly inputs: readonly [];
116
116
  readonly name: "VoteDelayNotElapsed";
117
117
  readonly type: "error";
118
+ }, {
119
+ readonly inputs: readonly [];
120
+ readonly name: "VoteWeightTooLow";
121
+ readonly type: "error";
122
+ }, {
123
+ readonly inputs: readonly [];
124
+ readonly name: "ZeroLocked";
125
+ readonly type: "error";
118
126
  }, {
119
127
  readonly anonymous: false;
120
128
  readonly inputs: readonly [{
@@ -130,6 +138,26 @@ export declare class GaugeController__factory extends ContractFactory {
130
138
  }];
131
139
  readonly name: "BoostAmplificationToggled";
132
140
  readonly type: "event";
141
+ }, {
142
+ readonly anonymous: false;
143
+ readonly inputs: readonly [{
144
+ readonly indexed: true;
145
+ readonly internalType: "address";
146
+ readonly name: "gauge";
147
+ readonly type: "address";
148
+ }, {
149
+ readonly indexed: false;
150
+ readonly internalType: "bool";
151
+ readonly name: "paused";
152
+ readonly type: "bool";
153
+ }, {
154
+ readonly indexed: true;
155
+ readonly internalType: "address";
156
+ readonly name: "triggeredBy";
157
+ readonly type: "address";
158
+ }];
159
+ readonly name: "EmergencyGaugePauseUpdated";
160
+ readonly type: "event";
133
161
  }, {
134
162
  readonly anonymous: false;
135
163
  readonly inputs: readonly [{
@@ -147,13 +175,8 @@ export declare class GaugeController__factory extends ContractFactory {
147
175
  readonly internalType: "address";
148
176
  readonly name: "gauge";
149
177
  readonly type: "address";
150
- }, {
151
- readonly indexed: true;
152
- readonly internalType: "address";
153
- readonly name: "triggeredBy";
154
- readonly type: "address";
155
178
  }];
156
- readonly name: "EmergencyShutdown";
179
+ readonly name: "GaugeAdded";
157
180
  readonly type: "event";
158
181
  }, {
159
182
  readonly anonymous: false;
@@ -162,8 +185,18 @@ export declare class GaugeController__factory extends ContractFactory {
162
185
  readonly internalType: "address";
163
186
  readonly name: "gauge";
164
187
  readonly type: "address";
188
+ }, {
189
+ readonly indexed: false;
190
+ readonly internalType: "uint256";
191
+ readonly name: "bias";
192
+ readonly type: "uint256";
193
+ }, {
194
+ readonly indexed: false;
195
+ readonly internalType: "uint256";
196
+ readonly name: "slope";
197
+ readonly type: "uint256";
165
198
  }];
166
- readonly name: "GaugeAdded";
199
+ readonly name: "GaugeKicked";
167
200
  readonly type: "event";
168
201
  }, {
169
202
  readonly anonymous: false;
@@ -172,23 +205,43 @@ export declare class GaugeController__factory extends ContractFactory {
172
205
  readonly internalType: "address";
173
206
  readonly name: "gauge";
174
207
  readonly type: "address";
208
+ }, {
209
+ readonly indexed: false;
210
+ readonly internalType: "uint256";
211
+ readonly name: "totalWithdrawn";
212
+ readonly type: "uint256";
175
213
  }];
176
214
  readonly name: "GaugeRemoved";
177
215
  readonly type: "event";
178
216
  }, {
179
217
  readonly anonymous: false;
180
218
  readonly inputs: readonly [{
181
- readonly indexed: true;
219
+ readonly indexed: false;
182
220
  readonly internalType: "address";
183
- readonly name: "gauge";
221
+ readonly name: "oldDistributor";
184
222
  readonly type: "address";
185
223
  }, {
186
224
  readonly indexed: false;
187
- readonly internalType: "bool";
188
- readonly name: "isActive";
189
- readonly type: "bool";
225
+ readonly internalType: "address";
226
+ readonly name: "newDistributor";
227
+ readonly type: "address";
190
228
  }];
191
- readonly name: "GaugeStatusUpdated";
229
+ readonly name: "GaugeRewardsDistributorUpdated";
230
+ readonly type: "event";
231
+ }, {
232
+ readonly anonymous: false;
233
+ readonly inputs: readonly [{
234
+ readonly indexed: false;
235
+ readonly internalType: "uint256";
236
+ readonly name: "oldValue";
237
+ readonly type: "uint256";
238
+ }, {
239
+ readonly indexed: false;
240
+ readonly internalType: "uint256";
241
+ readonly name: "newValue";
242
+ readonly type: "uint256";
243
+ }];
244
+ readonly name: "MaxVoteBucketsUpdated";
192
245
  readonly type: "event";
193
246
  }, {
194
247
  readonly anonymous: false;
@@ -305,7 +358,7 @@ export declare class GaugeController__factory extends ContractFactory {
305
358
  }, {
306
359
  readonly indexed: false;
307
360
  readonly internalType: "uint256";
308
- readonly name: "slope";
361
+ readonly name: "locked";
309
362
  readonly type: "uint256";
310
363
  }];
311
364
  readonly name: "VoteWeightUpdated";
@@ -326,15 +379,25 @@ export declare class GaugeController__factory extends ContractFactory {
326
379
  readonly name: "VotesKicked";
327
380
  readonly type: "event";
328
381
  }, {
329
- readonly inputs: readonly [];
330
- readonly name: "CHECKPOINT_INTERVAL";
331
- readonly outputs: readonly [{
382
+ readonly anonymous: false;
383
+ readonly inputs: readonly [{
384
+ readonly indexed: true;
385
+ readonly internalType: "address";
386
+ readonly name: "gauge";
387
+ readonly type: "address";
388
+ }, {
389
+ readonly indexed: false;
332
390
  readonly internalType: "uint256";
333
- readonly name: "";
391
+ readonly name: "oldVP";
392
+ readonly type: "uint256";
393
+ }, {
394
+ readonly indexed: false;
395
+ readonly internalType: "uint256";
396
+ readonly name: "newVotingPower";
334
397
  readonly type: "uint256";
335
398
  }];
336
- readonly stateMutability: "view";
337
- readonly type: "function";
399
+ readonly name: "VotingPowerRemovedInactiveGauge";
400
+ readonly type: "event";
338
401
  }, {
339
402
  readonly inputs: readonly [];
340
403
  readonly name: "DEFAULT_ADMIN_ROLE";
@@ -377,7 +440,7 @@ export declare class GaugeController__factory extends ContractFactory {
377
440
  readonly type: "function";
378
441
  }, {
379
442
  readonly inputs: readonly [];
380
- readonly name: "MAX_CHECKPOINT_ITERATIONS";
443
+ readonly name: "MAX_VOTE_WEIGHT";
381
444
  readonly outputs: readonly [{
382
445
  readonly internalType: "uint256";
383
446
  readonly name: "";
@@ -387,7 +450,7 @@ export declare class GaugeController__factory extends ContractFactory {
387
450
  readonly type: "function";
388
451
  }, {
389
452
  readonly inputs: readonly [];
390
- readonly name: "MAX_VOTE_WEIGHT";
453
+ readonly name: "MIN_BOOST";
391
454
  readonly outputs: readonly [{
392
455
  readonly internalType: "uint256";
393
456
  readonly name: "";
@@ -397,7 +460,7 @@ export declare class GaugeController__factory extends ContractFactory {
397
460
  readonly type: "function";
398
461
  }, {
399
462
  readonly inputs: readonly [];
400
- readonly name: "MIN_BOOST";
463
+ readonly name: "MIN_VOTE_WEIGHT";
401
464
  readonly outputs: readonly [{
402
465
  readonly internalType: "uint256";
403
466
  readonly name: "";
@@ -407,7 +470,7 @@ export declare class GaugeController__factory extends ContractFactory {
407
470
  readonly type: "function";
408
471
  }, {
409
472
  readonly inputs: readonly [];
410
- readonly name: "MIN_VOTE_WEIGHT";
473
+ readonly name: "WEEK";
411
474
  readonly outputs: readonly [{
412
475
  readonly internalType: "uint256";
413
476
  readonly name: "";
@@ -417,7 +480,7 @@ export declare class GaugeController__factory extends ContractFactory {
417
480
  readonly type: "function";
418
481
  }, {
419
482
  readonly inputs: readonly [];
420
- readonly name: "WEEK";
483
+ readonly name: "WEIGHT_PRECISION";
421
484
  readonly outputs: readonly [{
422
485
  readonly internalType: "uint256";
423
486
  readonly name: "";
@@ -427,7 +490,7 @@ export declare class GaugeController__factory extends ContractFactory {
427
490
  readonly type: "function";
428
491
  }, {
429
492
  readonly inputs: readonly [];
430
- readonly name: "WEIGHT_PRECISION";
493
+ readonly name: "WEIGHT_VOTE_DELAY";
431
494
  readonly outputs: readonly [{
432
495
  readonly internalType: "uint256";
433
496
  readonly name: "";
@@ -437,10 +500,10 @@ export declare class GaugeController__factory extends ContractFactory {
437
500
  readonly type: "function";
438
501
  }, {
439
502
  readonly inputs: readonly [];
440
- readonly name: "WEIGHT_VOTE_DELAY";
503
+ readonly name: "activeGaugeCount";
441
504
  readonly outputs: readonly [{
442
505
  readonly internalType: "uint256";
443
- readonly name: "";
506
+ readonly name: "count";
444
507
  readonly type: "uint256";
445
508
  }];
446
509
  readonly stateMutability: "view";
@@ -527,56 +590,6 @@ export declare class GaugeController__factory extends ContractFactory {
527
590
  }];
528
591
  readonly stateMutability: "view";
529
592
  readonly type: "function";
530
- }, {
531
- readonly inputs: readonly [{
532
- readonly internalType: "address";
533
- readonly name: "";
534
- readonly type: "address";
535
- }];
536
- readonly name: "currentGaugePoint";
537
- readonly outputs: readonly [{
538
- readonly internalType: "int128";
539
- readonly name: "bias";
540
- readonly type: "int128";
541
- }, {
542
- readonly internalType: "int128";
543
- readonly name: "slope";
544
- readonly type: "int128";
545
- }, {
546
- readonly internalType: "uint256";
547
- readonly name: "timestamp";
548
- readonly type: "uint256";
549
- }];
550
- readonly stateMutability: "view";
551
- readonly type: "function";
552
- }, {
553
- readonly inputs: readonly [];
554
- readonly name: "currentTotalPoint";
555
- readonly outputs: readonly [{
556
- readonly internalType: "int128";
557
- readonly name: "bias";
558
- readonly type: "int128";
559
- }, {
560
- readonly internalType: "int128";
561
- readonly name: "slope";
562
- readonly type: "int128";
563
- }, {
564
- readonly internalType: "uint256";
565
- readonly name: "timestamp";
566
- readonly type: "uint256";
567
- }];
568
- readonly stateMutability: "view";
569
- readonly type: "function";
570
- }, {
571
- readonly inputs: readonly [{
572
- readonly internalType: "address";
573
- readonly name: "gauge";
574
- readonly type: "address";
575
- }];
576
- readonly name: "emergencyShutdown";
577
- readonly outputs: readonly [];
578
- readonly stateMutability: "nonpayable";
579
- readonly type: "function";
580
593
  }, {
581
594
  readonly inputs: readonly [{
582
595
  readonly internalType: "address";
@@ -591,6 +604,16 @@ export declare class GaugeController__factory extends ContractFactory {
591
604
  }];
592
605
  readonly stateMutability: "nonpayable";
593
606
  readonly type: "function";
607
+ }, {
608
+ readonly inputs: readonly [];
609
+ readonly name: "gaugeDistributor";
610
+ readonly outputs: readonly [{
611
+ readonly internalType: "contract IGaugeRewardsDistributor";
612
+ readonly name: "";
613
+ readonly type: "address";
614
+ }];
615
+ readonly stateMutability: "view";
616
+ readonly type: "function";
594
617
  }, {
595
618
  readonly inputs: readonly [{
596
619
  readonly internalType: "address";
@@ -645,6 +668,24 @@ export declare class GaugeController__factory extends ContractFactory {
645
668
  }];
646
669
  readonly stateMutability: "view";
647
670
  readonly type: "function";
671
+ }, {
672
+ readonly inputs: readonly [{
673
+ readonly internalType: "address";
674
+ readonly name: "user";
675
+ readonly type: "address";
676
+ }];
677
+ readonly name: "getExpiredGaugeVotePower";
678
+ readonly outputs: readonly [{
679
+ readonly internalType: "uint256";
680
+ readonly name: "expiredGaugePower";
681
+ readonly type: "uint256";
682
+ }, {
683
+ readonly internalType: "address[]";
684
+ readonly name: "";
685
+ readonly type: "address[]";
686
+ }];
687
+ readonly stateMutability: "view";
688
+ readonly type: "function";
648
689
  }, {
649
690
  readonly inputs: readonly [{
650
691
  readonly internalType: "address";
@@ -660,6 +701,10 @@ export declare class GaugeController__factory extends ContractFactory {
660
701
  readonly internalType: "uint256";
661
702
  readonly name: "";
662
703
  readonly type: "uint256";
704
+ }, {
705
+ readonly internalType: "uint256";
706
+ readonly name: "";
707
+ readonly type: "uint256";
663
708
  }];
664
709
  readonly stateMutability: "nonpayable";
665
710
  readonly type: "function";
@@ -678,6 +723,10 @@ export declare class GaugeController__factory extends ContractFactory {
678
723
  readonly internalType: "uint256";
679
724
  readonly name: "";
680
725
  readonly type: "uint256";
726
+ }, {
727
+ readonly internalType: "uint256";
728
+ readonly name: "";
729
+ readonly type: "uint256";
681
730
  }];
682
731
  readonly stateMutability: "view";
683
732
  readonly type: "function";
@@ -690,7 +739,7 @@ export declare class GaugeController__factory extends ContractFactory {
690
739
  readonly name: "getGaugeWeight";
691
740
  readonly outputs: readonly [{
692
741
  readonly internalType: "uint256";
693
- readonly name: "";
742
+ readonly name: "w";
694
743
  readonly type: "uint256";
695
744
  }];
696
745
  readonly stateMutability: "view";
@@ -705,6 +754,16 @@ export declare class GaugeController__factory extends ContractFactory {
705
754
  }];
706
755
  readonly stateMutability: "view";
707
756
  readonly type: "function";
757
+ }, {
758
+ readonly inputs: readonly [];
759
+ readonly name: "getRegisteredGaugeList";
760
+ readonly outputs: readonly [{
761
+ readonly internalType: "address[]";
762
+ readonly name: "";
763
+ readonly type: "address[]";
764
+ }];
765
+ readonly stateMutability: "view";
766
+ readonly type: "function";
708
767
  }, {
709
768
  readonly inputs: readonly [{
710
769
  readonly internalType: "bytes32";
@@ -724,7 +783,7 @@ export declare class GaugeController__factory extends ContractFactory {
724
783
  readonly name: "getTotalWeight";
725
784
  readonly outputs: readonly [{
726
785
  readonly internalType: "uint256";
727
- readonly name: "";
786
+ readonly name: "w";
728
787
  readonly type: "uint256";
729
788
  }];
730
789
  readonly stateMutability: "view";
@@ -739,7 +798,7 @@ export declare class GaugeController__factory extends ContractFactory {
739
798
  readonly name: "gauge";
740
799
  readonly type: "address";
741
800
  }];
742
- readonly name: "getUserGaugeVoteWeight";
801
+ readonly name: "getUserGaugeVotePower";
743
802
  readonly outputs: readonly [{
744
803
  readonly internalType: "uint256";
745
804
  readonly name: "";
@@ -761,6 +820,33 @@ export declare class GaugeController__factory extends ContractFactory {
761
820
  }];
762
821
  readonly stateMutability: "view";
763
822
  readonly type: "function";
823
+ }, {
824
+ readonly inputs: readonly [{
825
+ readonly internalType: "address";
826
+ readonly name: "user";
827
+ readonly type: "address";
828
+ }, {
829
+ readonly internalType: "address";
830
+ readonly name: "gauge";
831
+ readonly type: "address";
832
+ }];
833
+ readonly name: "getVoteUserLocks";
834
+ readonly outputs: readonly [{
835
+ readonly components: readonly [{
836
+ readonly internalType: "uint256";
837
+ readonly name: "locked";
838
+ readonly type: "uint256";
839
+ }, {
840
+ readonly internalType: "uint256";
841
+ readonly name: "unlockTime";
842
+ readonly type: "uint256";
843
+ }];
844
+ readonly internalType: "struct IGaugeController.LockVoteEntry[]";
845
+ readonly name: "";
846
+ readonly type: "tuple[]";
847
+ }];
848
+ readonly stateMutability: "view";
849
+ readonly type: "function";
764
850
  }, {
765
851
  readonly inputs: readonly [{
766
852
  readonly internalType: "bytes32";
@@ -799,7 +885,7 @@ export declare class GaugeController__factory extends ContractFactory {
799
885
  readonly name: "gauge";
800
886
  readonly type: "address";
801
887
  }];
802
- readonly name: "isGauge";
888
+ readonly name: "isGaugeActive";
803
889
  readonly outputs: readonly [{
804
890
  readonly internalType: "bool";
805
891
  readonly name: "";
@@ -808,12 +894,8 @@ export declare class GaugeController__factory extends ContractFactory {
808
894
  readonly stateMutability: "view";
809
895
  readonly type: "function";
810
896
  }, {
811
- readonly inputs: readonly [{
812
- readonly internalType: "address";
813
- readonly name: "gauge";
814
- readonly type: "address";
815
- }];
816
- readonly name: "isGaugeActive";
897
+ readonly inputs: readonly [];
898
+ readonly name: "isPaused";
817
899
  readonly outputs: readonly [{
818
900
  readonly internalType: "bool";
819
901
  readonly name: "";
@@ -831,44 +913,6 @@ export declare class GaugeController__factory extends ContractFactory {
831
913
  readonly outputs: readonly [];
832
914
  readonly stateMutability: "nonpayable";
833
915
  readonly type: "function";
834
- }, {
835
- readonly inputs: readonly [{
836
- readonly internalType: "address";
837
- readonly name: "";
838
- readonly type: "address";
839
- }];
840
- readonly name: "lastCheckpoint";
841
- readonly outputs: readonly [{
842
- readonly internalType: "uint256";
843
- readonly name: "";
844
- readonly type: "uint256";
845
- }];
846
- readonly stateMutability: "view";
847
- readonly type: "function";
848
- }, {
849
- readonly inputs: readonly [{
850
- readonly internalType: "address";
851
- readonly name: "";
852
- readonly type: "address";
853
- }];
854
- readonly name: "lastGaugeUpdate";
855
- readonly outputs: readonly [{
856
- readonly internalType: "uint256";
857
- readonly name: "";
858
- readonly type: "uint256";
859
- }];
860
- readonly stateMutability: "view";
861
- readonly type: "function";
862
- }, {
863
- readonly inputs: readonly [];
864
- readonly name: "lastTotalCheckpoint";
865
- readonly outputs: readonly [{
866
- readonly internalType: "uint256";
867
- readonly name: "";
868
- readonly type: "uint256";
869
- }];
870
- readonly stateMutability: "view";
871
- readonly type: "function";
872
916
  }, {
873
917
  readonly inputs: readonly [{
874
918
  readonly internalType: "address";
@@ -879,7 +923,7 @@ export declare class GaugeController__factory extends ContractFactory {
879
923
  readonly name: "";
880
924
  readonly type: "address";
881
925
  }];
882
- readonly name: "lastUserVoteTime";
926
+ readonly name: "lastVoteTime";
883
927
  readonly outputs: readonly [{
884
928
  readonly internalType: "uint256";
885
929
  readonly name: "";
@@ -888,12 +932,8 @@ export declare class GaugeController__factory extends ContractFactory {
888
932
  readonly stateMutability: "view";
889
933
  readonly type: "function";
890
934
  }, {
891
- readonly inputs: readonly [{
892
- readonly internalType: "address";
893
- readonly name: "";
894
- readonly type: "address";
895
- }];
896
- readonly name: "lastVoteTime";
935
+ readonly inputs: readonly [];
936
+ readonly name: "maxVoteBuckets";
897
937
  readonly outputs: readonly [{
898
938
  readonly internalType: "uint256";
899
939
  readonly name: "";
@@ -924,7 +964,7 @@ export declare class GaugeController__factory extends ContractFactory {
924
964
  readonly type: "uint256";
925
965
  }, {
926
966
  readonly internalType: "uint256";
927
- readonly name: "slope";
967
+ readonly name: "locked";
928
968
  readonly type: "uint256";
929
969
  }];
930
970
  readonly stateMutability: "view";
@@ -946,7 +986,7 @@ export declare class GaugeController__factory extends ContractFactory {
946
986
  readonly type: "uint256";
947
987
  }, {
948
988
  readonly internalType: "uint256";
949
- readonly name: "slope";
989
+ readonly name: "locked";
950
990
  readonly type: "uint256";
951
991
  }];
952
992
  readonly stateMutability: "view";
@@ -956,11 +996,25 @@ export declare class GaugeController__factory extends ContractFactory {
956
996
  readonly internalType: "address";
957
997
  readonly name: "gaugeAddress";
958
998
  readonly type: "address";
999
+ }, {
1000
+ readonly internalType: "address";
1001
+ readonly name: "recipient";
1002
+ readonly type: "address";
959
1003
  }];
960
1004
  readonly name: "removeGauge";
961
1005
  readonly outputs: readonly [];
962
1006
  readonly stateMutability: "nonpayable";
963
1007
  readonly type: "function";
1008
+ }, {
1009
+ readonly inputs: readonly [{
1010
+ readonly internalType: "address";
1011
+ readonly name: "gauge";
1012
+ readonly type: "address";
1013
+ }];
1014
+ readonly name: "removePowerFromGauge";
1015
+ readonly outputs: readonly [];
1016
+ readonly stateMutability: "nonpayable";
1017
+ readonly type: "function";
964
1018
  }, {
965
1019
  readonly inputs: readonly [{
966
1020
  readonly internalType: "bytes32";
@@ -1005,31 +1059,61 @@ export declare class GaugeController__factory extends ContractFactory {
1005
1059
  readonly type: "function";
1006
1060
  }, {
1007
1061
  readonly inputs: readonly [{
1062
+ readonly internalType: "address";
1063
+ readonly name: "_gaugeDistributor";
1064
+ readonly type: "address";
1065
+ }];
1066
+ readonly name: "setDistributor";
1067
+ readonly outputs: readonly [];
1068
+ readonly stateMutability: "nonpayable";
1069
+ readonly type: "function";
1070
+ }, {
1071
+ readonly inputs: readonly [{
1072
+ readonly internalType: "address";
1073
+ readonly name: "gauge";
1074
+ readonly type: "address";
1075
+ }, {
1008
1076
  readonly internalType: "bool";
1009
1077
  readonly name: "paused";
1010
1078
  readonly type: "bool";
1011
1079
  }];
1012
- readonly name: "setEmergencyPause";
1080
+ readonly name: "setEmergencyGaugePause";
1013
1081
  readonly outputs: readonly [];
1014
1082
  readonly stateMutability: "nonpayable";
1015
1083
  readonly type: "function";
1016
1084
  }, {
1017
1085
  readonly inputs: readonly [{
1018
- readonly internalType: "address";
1019
- readonly name: "";
1020
- readonly type: "address";
1086
+ readonly internalType: "address[]";
1087
+ readonly name: "gaugeList";
1088
+ readonly type: "address[]";
1021
1089
  }, {
1090
+ readonly internalType: "bool[]";
1091
+ readonly name: "status";
1092
+ readonly type: "bool[]";
1093
+ }];
1094
+ readonly name: "setEmergencyGaugePauseBatch";
1095
+ readonly outputs: readonly [];
1096
+ readonly stateMutability: "nonpayable";
1097
+ readonly type: "function";
1098
+ }, {
1099
+ readonly inputs: readonly [{
1100
+ readonly internalType: "bool";
1101
+ readonly name: "paused";
1102
+ readonly type: "bool";
1103
+ }];
1104
+ readonly name: "setEmergencyPause";
1105
+ readonly outputs: readonly [];
1106
+ readonly stateMutability: "nonpayable";
1107
+ readonly type: "function";
1108
+ }, {
1109
+ readonly inputs: readonly [{
1022
1110
  readonly internalType: "uint256";
1023
- readonly name: "";
1111
+ readonly name: "_k";
1024
1112
  readonly type: "uint256";
1025
1113
  }];
1026
- readonly name: "slopeChanges";
1027
- readonly outputs: readonly [{
1028
- readonly internalType: "int128";
1029
- readonly name: "";
1030
- readonly type: "int128";
1031
- }];
1032
- readonly stateMutability: "view";
1114
+ readonly name: "setMaxVoteBuckets";
1115
+ readonly outputs: readonly [];
1116
+ readonly stateMutability: "nonpayable";
1033
1117
  readonly type: "function";
1034
1118
  }, {
1035
1119
  readonly inputs: readonly [{
@@ -1069,30 +1153,6 @@ export declare class GaugeController__factory extends ContractFactory {
1069
1153
  }];
1070
1154
  readonly stateMutability: "view";
1071
1155
  readonly type: "function";
1072
- }, {
1073
- readonly inputs: readonly [{
1074
- readonly internalType: "address";
1075
- readonly name: "gaugeAddress";
1076
- readonly type: "address";
1077
- }];
1078
- readonly name: "toggleGaugeStatus";
1079
- readonly outputs: readonly [];
1080
- readonly stateMutability: "nonpayable";
1081
- readonly type: "function";
1082
- }, {
1083
- readonly inputs: readonly [{
1084
- readonly internalType: "uint256";
1085
- readonly name: "";
1086
- readonly type: "uint256";
1087
- }];
1088
- readonly name: "totalSlopeChanges";
1089
- readonly outputs: readonly [{
1090
- readonly internalType: "int128";
1091
- readonly name: "";
1092
- readonly type: "int128";
1093
- }];
1094
- readonly stateMutability: "view";
1095
- readonly type: "function";
1096
1156
  }, {
1097
1157
  readonly inputs: readonly [{
1098
1158
  readonly internalType: "address";
@@ -1111,50 +1171,6 @@ export declare class GaugeController__factory extends ContractFactory {
1111
1171
  }];
1112
1172
  readonly stateMutability: "view";
1113
1173
  readonly type: "function";
1114
- }, {
1115
- readonly inputs: readonly [{
1116
- readonly internalType: "address";
1117
- readonly name: "";
1118
- readonly type: "address";
1119
- }, {
1120
- readonly internalType: "address";
1121
- readonly name: "";
1122
- readonly type: "address";
1123
- }];
1124
- readonly name: "userVotePoint";
1125
- readonly outputs: readonly [{
1126
- readonly internalType: "int128";
1127
- readonly name: "bias";
1128
- readonly type: "int128";
1129
- }, {
1130
- readonly internalType: "int128";
1131
- readonly name: "slope";
1132
- readonly type: "int128";
1133
- }, {
1134
- readonly internalType: "uint256";
1135
- readonly name: "timestamp";
1136
- readonly type: "uint256";
1137
- }, {
1138
- readonly internalType: "uint256";
1139
- readonly name: "expiryWeek";
1140
- readonly type: "uint256";
1141
- }];
1142
- readonly stateMutability: "view";
1143
- readonly type: "function";
1144
- }, {
1145
- readonly inputs: readonly [{
1146
- readonly internalType: "address";
1147
- readonly name: "";
1148
- readonly type: "address";
1149
- }];
1150
- readonly name: "userVotePowerUsed";
1151
- readonly outputs: readonly [{
1152
- readonly internalType: "uint256";
1153
- readonly name: "";
1154
- readonly type: "uint256";
1155
- }];
1156
- readonly stateMutability: "view";
1157
- readonly type: "function";
1158
1174
  }, {
1159
1175
  readonly inputs: readonly [{
1160
1176
  readonly internalType: "address";
@@ -1211,10 +1227,10 @@ export declare class GaugeController__factory extends ContractFactory {
1211
1227
  readonly name: "";
1212
1228
  readonly type: "uint256";
1213
1229
  }];
1214
- readonly name: "voteUserLockSlopes";
1230
+ readonly name: "voteUserLockEntries";
1215
1231
  readonly outputs: readonly [{
1216
1232
  readonly internalType: "uint256";
1217
- readonly name: "slope";
1233
+ readonly name: "locked";
1218
1234
  readonly type: "uint256";
1219
1235
  }, {
1220
1236
  readonly internalType: "uint256";
@@ -1250,7 +1266,7 @@ export declare class GaugeController__factory extends ContractFactory {
1250
1266
  readonly name: "voteUserSlopes";
1251
1267
  readonly outputs: readonly [{
1252
1268
  readonly internalType: "uint256";
1253
- readonly name: "slope";
1269
+ readonly name: "locked";
1254
1270
  readonly type: "uint256";
1255
1271
  }, {
1256
1272
  readonly internalType: "uint256";
@@ -1258,7 +1274,7 @@ export declare class GaugeController__factory extends ContractFactory {
1258
1274
  readonly type: "uint256";
1259
1275
  }, {
1260
1276
  readonly internalType: "uint256";
1261
- readonly name: "end";
1277
+ readonly name: "voteTs";
1262
1278
  readonly type: "uint256";
1263
1279
  }];
1264
1280
  readonly stateMutability: "view";