@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
@@ -5,21 +5,25 @@ import type { GaugeRewardsDistributor, GaugeRewardsDistributorInterface } from "
5
5
  type GaugeRewardsDistributorConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
6
  export declare class GaugeRewardsDistributor__factory extends ContractFactory {
7
7
  constructor(...args: GaugeRewardsDistributorConstructorParams);
8
- getDeployTransaction(_gaugeController: AddressLike, overrides?: NonPayableOverrides & {
8
+ getDeployTransaction(_gaugeController: AddressLike, _rewardToken: AddressLike, overrides?: NonPayableOverrides & {
9
9
  from?: string;
10
10
  }): Promise<ContractDeployTransaction>;
11
- deploy(_gaugeController: AddressLike, overrides?: NonPayableOverrides & {
11
+ deploy(_gaugeController: AddressLike, _rewardToken: AddressLike, overrides?: NonPayableOverrides & {
12
12
  from?: string;
13
13
  }): Promise<GaugeRewardsDistributor & {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): GaugeRewardsDistributor__factory;
17
- static readonly bytecode = "0x60a0346100f057601f611d7138819003918201601f19168301916001600160401b038311848410176100f4578084926020946040528339810103126100f057516001600160a01b038116908190036100f0576001805580156100e15760805262093a80420462093a8081029080820462093a8014901517156100cd57600a5561008733610108565b506100913361017e565b50604051611aff908161021282396080518181816101ea0152818161064301528181610a4601528181610db2015281816110ab01526113f30152f35b634e487b7160e01b5f52601160045260245ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381165f9081525f516020611d515f395f51905f52602052604090205460ff16610179576001600160a01b03165f8181525f516020611d515f395f51905f5260205260408120805460ff191660011790553391905f516020611d115f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f516020611d315f395f51905f52602052604090205460ff16610179576001600160a01b03165f8181525f516020611d315f395f51905f5260205260408120805460ff191660011790553391907f558b8b52c3853e363deb11e956344c7265b888f237854af58383f805fcdf4001905f516020611d115f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146116c75750806307f8a1d21461168f57806309149322146116685780630d93eda9146109f45780631c03e6cc146115945780631c674025146114e45780631e2de0d114611398578063248a9ca314611372578063267b5852146112005780632f2ff15d146111cf57806333101abd146108af5780633556d8481461104657806336568abe146110025780633d509c9714610e9b57806347e7ef2414610d19578063551512de14610c615780635f96a04e14610c1d5780636558954f14610c005780636c24a76f14610b765780637bb7bed114610b3457806382e5d07314610b1757806391d1485414610acf5780639379c14e14610a7557806399eecb3b14610a315780639d93d352146109f4578063a217fddf146109da578063a2c8b177146109bd578063b2989f5d14610906578063b54e2b14146108af578063c4f59f9b14610822578063d08832d31461060f578063d398b425146105b0578063d547741f14610578578063d9c12e7b146105285763fd1a0e9f1461019d575f80fd5b34610488576040366003190112610488576101b661171a565b6101be611730565b906101c76118ed565b60405163aa79979b60e01b81526001600160a01b03808316600483018190525f937f000000000000000000000000000000000000000000000000000000000000000090921692909190602081602481875afa908115610494575f916104f9575b50156104ea57815f52600560205260405f2060018060a01b0386165f5260205260ff60405f205416156104db57604051635cbeecf160e11b8152602081600481875afa908115610494575f916104a9575b50825f52600760205260405f2060018060a01b0387165f5260205260405f205495861561049f575b93956001600160a01b03909416935b81811115610360575060209550825f526007865260405f20845f52865260405f205583806102e6575b859060018055604051908152f35b61032591845f5260038752600260405f206001810161030685825461181e565b9055018054838082106103575761031c91611811565b905b5584611a15565b7f4634ecdf654a6f266749291b25bdd00963ec5fe7262fb458f390d94b670558ee84604051858152a35f8080836102d8565b50505f9061031e565b845f52600660205260405f20815f5260205260405f2054806103a1575b5062093a808101809111156102af575b634e487b7160e01b5f52601160045260245ffd5b604051636ca32ae760e01b815290602082806103c186896004840161182b565b03815f8d5af1918215610494575f9261045d575b50816103e2575b5061037d565b670de0b6b3a7640000916103f591611846565b04845f52600860205260405f20865f5260205260405f20825f5260205260405f2054808211156103dc579661042e610455939883611811565b91865f52600860205260405f20885f5260205260405f20895f5260205260405f205561181e565b945f806103dc565b9091506020813d821161048c575b81610478602093836117a0565b810103126104885751905f6103d5565b5f80fd5b3d915061046b565b6040513d5f823e3d90fd5b600a5496506102a0565b90506020813d6020116104d3575b816104c4602093836117a0565b8101031261048857515f610278565b3d91506104b7565b6332da96a360e01b5f5260045ffd5b6325d939f560e01b5f5260045ffd5b61051b915060203d602011610521575b61051381836117a0565b8101906117c3565b5f610227565b503d610509565b346104885760403660031901126104885761054161171a565b610549611730565b6001600160a01b039182165f908152600760209081526040808320949093168252928352819020549051908152f35b34610488576040366003190112610488576105ae600435610597611730565b906105a96105a4826117db565b6118b5565b611995565b005b34610488576020366003190112610488576001600160a01b036105d161171a565b165f526003602052608060405f2080549060018101549060ff6003600283015492015416916040519384526020840152604083015215156060820152f35b346104885760403660031901126104885761062861171a565b610630611730565b604051635cbeecf160e11b815290915f917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602082600481845afa918215610494575f926107ee575b5060018060a01b03831692835f52600760205260405f2060018060a01b0387165f5260205260405f20549586156107e4575b92956001600160a01b03909316925b868111156106d657602086604051908152f35b835f52600660205260405f20815f5260205260405f205480610716575b5062093a808101809111156106c357634e487b7160e01b5f52601160045260245ffd5b60405163283dd2f160e11b8152906020828061073686886004840161182b565b0381885afa918215610494575f926107b1575b5081610756575b506106f3565b670de0b6b3a76400009161076991611846565b04855f52600860205260405f20855f5260205260405f20825f5260205260405f20549081811115610750576107a99297916107a391611811565b9061181e565b948780610750565b9091506020813d82116107dc575b816107cc602093836117a0565b8101031261048857519089610749565b3d91506107bf565b600a5496506106b4565b9091506020813d60201161081a575b8161080a602093836117a0565b8101031261048857519085610682565b3d91506107fd565b34610488575f36600319011261048857604051600280548083525f91825260208301917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace91905b8181106108905761088c85610880818703826117a0565b60405191829182611746565b0390f35b82546001600160a01b0316845260209093019260019283019201610869565b34610488576040366003190112610488576108c861171a565b6108d0611730565b9060018060a01b03165f52600560205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346104885760203660031901126104885760246001600160a01b0361092961171a565b16805f52600360205260405f2080549160206002600184015493015491604051958680926370a0823160e01b82523060048301525afa918215610494575f92610988575b60809450604051938452602084015260408301526060820152f35b91506020843d6020116109b5575b816109a3602093836117a0565b8101031261048857608093519161096d565b3d9150610996565b34610488575f366003190112610488576020600a54604051908152f35b34610488575f3660031901126104885760206040515f8152f35b34610488576020366003190112610488576001600160a01b03610a1561171a565b165f526004602052602060ff60405f2054166040519015158152f35b34610488575f366003190112610488576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461048857606036600319011261048857610a8e61171a565b610a96611730565b6001600160a01b039182165f90815260086020908152604080832094909316825292835281812060443582528352819020549051908152f35b3461048857604036600319011261048857610ae8611730565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610488575f366003190112610488576020600254604051908152f35b346104885760203660031901126104885760043560025481101561048857610b5d602091611788565b905460405160039290921b1c6001600160a01b03168152f35b3461048857602036600319011261048857602460206001600160a01b03610b9b61171a565b16604051928380926370a0823160e01b82523060048301525afa8015610494575f90610bcd575b602090604051908152f35b506020813d602011610bf8575b81610be7602093836117a0565b810103126104885760209051610bc2565b3d9150610bda565b34610488575f36600319011261048857602060405162093a808152f35b34610488576040366003190112610488576001600160a01b03610c3e61171a565b165f52600660205260405f206024355f52602052602060405f2054604051908152f35b3461048857606036600319011261048857610c7a61171a565b6024356044356001600160a01b03811680820361048857335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615610d025715610cf3578115610ce4576105ae926001600160a01b0316611a15565b63162908e360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b63e2517d3f60e01b5f52336004525f60245260445ffd5b3461048857604036600319011261048857610d3261171a565b60243590610d3e6118ed565b6001600160a01b03165f8181526004602052604090205460ff16156104db578115610ce457610d9d6040516323b872dd60e01b602082015233602482015230604482015283606482015260648152610d976084826117a0565b82611a51565b604051635cbeecf160e11b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610494575f91610e69575b50815f52600660205260405f20905f5260205260405f20610e0c83825461181e565b9055805f526003602052600260405f20610e2784825461181e565b815501610e3583825461181e565b90556040519182527fecc7fa2c9c08fa68f2c2942d64a9c92b602004694d2a128c2a034cff48990f5160203393a360018055005b90506020813d602011610e93575b81610e84602093836117a0565b81010312610488575183610dea565b3d9150610e77565b3461048857602036600319011261048857610eb461171a565b610ebc611859565b6001600160a01b03165f8181526004602052604090205460ff16156104db575f5b6002549081811015610ffb5782610ef382611788565b905460039190911b1c6001600160a01b031614610f14576001915001610edd565b5f19820191821161038d57610f46610f2e610f6a93611788565b905460039190911b1c6001600160a01b031691611788565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b6002548015610fe7575f1901610f7f81611788565b81549060018060a01b039060031b1b191690556002555b805f52600460205260405f2060ff198154169055805f526003602052600360405f200160ff1981541690557f66257bcef574219c04f7c05f7a1c78d599da10491294c92a5805c48b4cdf50095f80a2005b634e487b7160e01b5f52603160045260245ffd5b5050610f96565b346104885760403660031901126104885761101b611730565b336001600160a01b03821603611037576105ae90600435611995565b63334bd91960e11b5f5260045ffd5b346104885760403660031901126104885761105f61171a565b611067611730565b61106f611859565b6001600160a01b0316908115610cf35760405163aa79979b60e01b81526001600160a01b039182166004820181905291602090829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa908115610494575f916111b0575b50156104ea57815f52600460205260ff60405f205416156104db57805f52600560205260405f20825f5260205260ff60405f2054166111a157805f52600560205260405f20825f5260205260405f20600160ff19825416179055803b156104885760405163ecc68a2960e01b8152600481018390523060248201525f8160448183865af1801561049457611191575b507fcffa3d5cf4b061f61869933356c62e4ef383d412f4f370937ce056d465b8efc85f80a3005b5f61119b916117a0565b8261116a565b6389f2a03b60e01b5f5260045ffd5b6111c9915060203d6020116105215761051381836117a0565b836110db565b34610488576040366003190112610488576105ae6004356111ee611730565b906111fb6105a4826117db565b61190d565b346104885760203660031901126104885761121961171a565b6002546001600160a01b03909116905f90815b818110611318575061123d826117fa565b9161124b60405193846117a0565b80835261125a601f19916117fa565b013660208401375f925f5b82811061127a576040518061088c8682611746565b815f52600560205260405f2061128f82611788565b905460039190911b1c6001600160a01b03165f908152602091909152604090205460ff166112c0575b600101611265565b936112ca85611788565b9054855160039290921b1c6001600160a01b03169082101561130457816112fc91602060019460051b880101526117ec565b9490506112b8565b634e487b7160e01b5f52603260045260245ffd5b835f52600560205260405f2061132d82611788565b905460039190911b1c6001600160a01b03165f908152602091909152604090205460ff1661135e575b60010161122c565b9161136a6001916117ec565b929050611356565b346104885760203660031901126104885760206113906004356117db565b604051908152f35b34610488576020366003190112610488576004356001600160401b0381116104885736602382011215610488576004810135906001600160401b038211610488573660248360051b8301011161048857906113f16118ed565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316915f5b828110156114de576024600582901b830101356001600160a01b03811691908290036104885760405163aa79979b60e01b815260048101839052602081602481895afa908115610494575f916114c0575b50156104ea57813b15610488575f8092602460405180958193631ac6d19d60e01b83523360048401525af1918215610494576001926114b0575b500161141e565b5f6114ba916117a0565b856114a9565b6114d8915060203d81116105215761051381836117a0565b8661146f565b60018055005b34610488576040366003190112610488576114fd61171a565b611505611730565b9061150e611859565b60018060a01b031690815f52600560205260405f2060018060a01b0382165f5260205260ff60405f205416156104db575f8281526005602090815260408083206001600160a01b0394909416808452939091528120805460ff191690559091907f3059906eaa8b08fdd2e4730ae3e1a124d7abaa15e07f84a533aa12749d6525549080a3005b34610488576020366003190112610488576115ad61171a565b6115b5611859565b6001600160a01b038116908115610cf357815f52600460205260ff60405f2054166111a157815f52600460205260405f20600160ff19825416179055815f526003602052600360405f2001600160ff1982541617905560025490600160401b82101561165457610f4682600161162e9401600255611788565b7ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf8265f80a2005b634e487b7160e01b5f52604160045260245ffd5b34610488575f3660031901126104885760206040515f516020611aaa5f395f51905f528152f35b34610488576020366003190112610488576001600160a01b036116b061171a565b165f526009602052602060405f2054604051908152f35b34610488576020366003190112610488576004359063ffffffff60e01b821680920361048857602091637965db0b60e01b8114908115611709575b5015158152f35b6301ffc9a760e01b14905083611702565b600435906001600160a01b038216820361048857565b602435906001600160a01b038216820361048857565b60206040818301928281528451809452019201905f5b8181106117695750505090565b82516001600160a01b031684526020938401939092019160010161175c565b6002548110156113045760025f5260205f2001905f90565b601f909101601f19168101906001600160401b0382119082101761165457604052565b90816020910312610488575180151581036104885790565b5f525f602052600160405f20015490565b5f19811461038d5760010190565b6001600160401b0381116116545760051b60200190565b9190820391821161038d57565b9190820180921161038d57565b6001600160a01b039091168152602081019190915260400190565b8181029291811591840414171561038d57565b335f9081527fcfbfd7fa01e9333d856bafe1b9e90ac37fcc5c0f421ae6be5a422dfe68ba3e87602052604090205460ff161561189157565b63e2517d3f60e01b5f52336004525f516020611aaa5f395f51905f5260245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156118d75750565b63e2517d3f60e01b5f523360045260245260445ffd5b6002600154146118fe576002600155565b633ee5aeb560e01b5f5260045ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff1661198f575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff161561198f575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b611a4a611a4f9392611a3c60405194859263a9059cbb60e01b60208501526024840161182b565b03601f1981018452836117a0565b611a51565b565b905f602091828151910182855af115610494575f513d611aa057506001600160a01b0381163b155b611a805750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415611a7956fe558b8b52c3853e363deb11e956344c7265b888f237854af58383f805fcdf4001a26469706673582212209522a7f12b04320dc3dcbe271485a40ec610f2c7123c7ef886e4150e7490979364736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0dcfbfd7fa01e9333d856bafe1b9e90ac37fcc5c0f421ae6be5a422dfe68ba3e87ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5";
17
+ static readonly bytecode = "0x60a0806040523461014e576040816122d5803803809161001f8285610174565b83398101031261014e5761003e6020610037836101ab565b92016101ab565b60018055906001600160a01b03811615610165576001600160a01b038216156101655760028054610100600160a81b031916600883811b610100600160a81b03169190911791829055608093909352604051635cbeecf160e11b815292602091849160049183911c6001600160a01b03165afa801561015a575f90610122575b6100df92506008556100cf336101bf565b506100d933610235565b506102c8565b50604051611ef9908161035c82396080518181816101830152818161031a0152818161066501528181610c8e015281816110310152818161115b015261173d0152f35b506020823d602011610152575b8161013c60209383610174565b8101031261014e576100df91516100be565b5f80fd5b3d915061012f565b6040513d5f823e3d90fd5b63e6c4247b60e01b5f5260045ffd5b601f909101601f19168101906001600160401b0382119082101761019757604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361014e57565b6001600160a01b0381165f9081525f5160206122b55f395f51905f52602052604090205460ff16610230576001600160a01b03165f8181525f5160206122b55f395f51905f5260205260408120805460ff191660011790553391905f5160206122555f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206122955f395f51905f52602052604090205460ff16610230576001600160a01b03165f8181525f5160206122955f395f51905f5260205260408120805460ff191660011790553391907f558b8b52c3853e363deb11e956344c7265b888f237854af58383f805fcdf4001905f5160206122555f395f51905f529080a4600190565b6001600160a01b0381165f9081525f5160206122755f395f51905f52602052604090205460ff16610230576001600160a01b03165f8181525f5160206122755f395f51905f5260205260408120805460ff191660011790553391907f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357905f5160206122555f395f51905f529080a460019056fe60806040526004361015610011575f80fd5b5f3560e01c806301b99eba1461161b57806301ffc9a7146115c557806307f8a1d21461158d5780630914932214611566578063092c5b3b1461153f5780631e2de0d11461141a578063248a9ca3146113f45780632f2ff15d146113c357806336568abe1461137f5780633fcf64be1461133b57806347e7ef24146111285780635f96a04e146110e4578063647428b9146110165780636558954f14610ff957806367ef64bb14610fdc57806371f2f57b14610c095780637b2aec7214610b0d57806391d1485414610ac557806392eefe9b14610a2857806399eecb3b146109fc5780639a982f2f14610948578063a217fddf1461092e578063a407dee11461090c578063acf6da4d14610576578063b3846c9f14610532578063c8b72f8f14610517578063cc2ca03c14610275578063d398b42514610226578063d547741f146101ee578063f41c33e9146101b65763f7c618c11461016e575f80fd5b346101b2575f3660031901126101b2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b346101b25760203660031901126101b2576001600160a01b036101d76119b3565b165f526005602052602060405f2054604051908152f35b346101b25760403660031901126101b25761022460043561020d6119c9565b9061021f61021a82611a58565b611b52565b611d3e565b005b346101b25760203660031901126101b2576001600160a01b036102476119b3565b165f526003602052606060405f20805490600260018201549101549060405192835260208301526040820152f35b346101b25760203660031901126101b25761028e6119b3565b600254604051635cbeecf160e11b8152600882901c6001600160a01b0316925f92909190602082600481885afa918215610494575f926104e2575b5060ff16806104b9575b156104b357506001600160a01b0381165f908152600560205260409020546102fa90611a15565b925b6001600160a01b038281165f818152600560205260409020549093917f000000000000000000000000000000000000000000000000000000000000000016905b8681111561034f57602086604051908152f35b815f52600460205260405f20815f5260205260405f205480610396575b5062093a80810180911161038257955b9561033c565b634e487b7160e01b5f52601160045260245ffd5b855f52600960205260405f20825f5260205260405f205481111561049f576040805163283dd2f160e11b8152919082806103d4868960048401611a7f565b0381895afa8015610494575f925f91610460575b501561044b57816103fa575b5061036c565b670de0b6b3a76400009161040d91611a02565b04855f52600660205260405f20825f5260205260405f205490818111156103f45761044392979161043d91611a33565b90611a26565b9487806103f4565b505062093a808101809111610382579561037c565b905061048491925060403d811161048d575b61047c81836119df565b810190611a69565b9190918a6103e8565b503d610472565b6040513d5f823e3d90fd5b5062093a808101809111610382579561037c565b926102fc565b506001600160a01b0382165f908152600560205260409020546104db90611a15565b81116102d3565b9091506020813d60201161050f575b816104fe602093836119df565b810103126101b257519060ff6102c9565b3d91506104f1565b346101b2575f3660031901126101b257602060405160348152f35b346101b25760403660031901126101b2576001600160a01b036105536119b3565b165f52600660205260405f206024355f52602052602060405f2054604051908152f35b346101b25760403660031901126101b25761058f6119b3565b6105976119c9565b906105a0611a9a565b6105a8611b09565b5f906001600160a01b03831680156108ce57600254604051631ddb007160e21b81526001600160a01b038481166004830181905292600881901c90911691602081602481865afa908115610494575f916108dd575b506108ce57602060049260405193848092635cbeecf160e11b82525afa918215610494575f92610899575b5060ff168061087c575b1561087657815f52600560205261064c60405f2054611a15565b905b825f52600560205260405f20549160018060a01b037f00000000000000000000000000000000000000000000000000000000000000001695865f52600360205260405f20935b828111156107425750505062093a808101809111610382576020968691845f526005895260405f2055816106d1575b878260018055604051908152f35b600283600161070595016106e6858254611a26565b905501805483808210610739576106fc91611a33565b905b5585611b8a565b7ffe50c0ef90fef359267d64c190add4fb8ef2ca73fc455d9606ef38e2f943092485604051868152a48280808084816106c3565b50505f906106fe565b875f52600460205260405f20815f5260205260405f205480610782575b5062093a8081018091111561069457634e487b7160e01b5f52601160045260245ffd5b6002546040805163283dd2f160e11b81529291839060081c6001600160a01b031681806107b3888a60048401611a7f565b03915afa918215610494575f92610855575b50816107d2575b5061075f565b670de0b6b3a7640000916107e591611a02565b04865f52600660205260405f20825f5260205260405f205490818111156107cc576108136108329282611a33565b9a8b91895f52600660205260405f20855f5260205260405f2055611a26565b98815f526003860160205261084c60405f20918254611a26565b90558a806107cc565b61086e91925060403d811161048d5761047c81836119df565b50908c6107c5565b8061064e565b50815f52600560205261089260405f2054611a15565b8111610632565b9091506020813d6020116108c6575b816108b5602093836119df565b810103126101b257519060ff610628565b3d91506108a8565b63e6c4247b60e01b5f5260045ffd5b6108ff915060203d602011610905575b6108f781836119df565b810190611a40565b886105fd565b503d6108ed565b346101b2575f3660031901126101b257602060ff600254166040519015158152f35b346101b2575f3660031901126101b25760206040515f8152f35b346101b25760203660031901126101b2576004358015158091036101b257335f9081527fcfbfd7fa01e9333d856bafe1b9e90ac37fcc5c0f421ae6be5a422dfe68ba3e87602052604090205460ff16156109d85760207f3e1cc01dd8c0719c8d34ff5e45e481434b3116cecb90c595d7539c496d1aac7a9160ff196002541660ff821617600255604051908152a1005b63e2517d3f60e01b5f52336004525f516020611e645f395f51905f5260245260445ffd5b346101b2575f3660031901126101b25760025460405160089190911c6001600160a01b03168152602090f35b346101b25760203660031901126101b257610a416119b3565b610a49611aba565b6001600160a01b0381169081156108ce5760025460081c6001600160a01b031690610a9e90610a7783611cc0565b5060028054610100600160a81b031916600883901b610100600160a81b0316179055611bc6565b507f1c87e2bbc4e5fa5d7f6f8c44d66cb241dff224b8602eb5435ca2076d2a5c6fc25f80a3005b346101b25760403660031901126101b257610ade6119c9565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101b25760203660031901126101b257610b266119b3565b610b2e611a9a565b610b36611b09565b6001600160a01b0381165f8181526005602052604090205415610b5a575b60018055005b600254604051635cbeecf160e11b815292906020908490600490829060081c6001600160a01b03165afa918215610494575f92610bc8575b5f516020611e845f395f51905f5293505f5260056020528160405f2055610bbe60405192839283611a7f565b0390a18080610b54565b91506020833d602011610c01575b81610be3602093836119df565b810103126101b2575f516020611e845f395f51905f52925191610b92565b3d9150610bd6565b346101b25760203660031901126101b257610c226119b3565b610c2a611a9a565b5f6001600160a01b03821633819003610fce57600254604051631ddb007160e21b815260048101839052909190600883901c6001600160a01b031690602081602481855afa908115610494575f91610faf575b5015610fa057600460018060a01b037f00000000000000000000000000000000000000000000000000000000000000001693845f526003602052602060405f209360405193848092635cbeecf160e11b82525afa918215610494575f92610f6b575b5060ff1680610f4e575b15610f485750815f526005602052610d0460405f2054611a15565b945b825f52600560205260405f20545b86811115610dd957508490602096845f52600588528060405f2054115f14610dd45750835f526005875260405f20545b845f526005885260405f205581610d64575b868260018055604051908152f35b6002836001610d989501610d79858254611a26565b905501805483808210610dcb57610d8f91611a33565b905b5584611b8a565b7f4634ecdf654a6f266749291b25bdd00963ec5fe7262fb458f390d94b670558ee84604051858152a38280808381610d56565b50505f90610d91565b610d44565b845f52600460205260405f20815f5260205260405f205480610e19575b5062093a80810180911115610d1457634e487b7160e01b5f52601160045260245ffd5b845f52600960205260405f20825f5260205260405f2054811115610df65760025460408051636ca32ae760e01b815291829060081c6001600160a01b0316815f81610e68898b60048401611a7f565b03925af1908115610494575f91610f29575b5080610e87575b50610df6565b610e9a670de0b6b3a76400009183611a02565b0490855f52600660205260405f20835f5260205260405f2054808311610ec1575b50610e81565b90610ed1610f2094999284611a33565b92875f52600660205260405f208a5f5260205260405f2055865f52600960205260405f20895f5260205260405f2055875f526003850160205260405f20610f19838254611a26565b9055611a26565b94878080610ebb565b610f41915060403d811161048d5761047c81836119df565b5089610e7a565b94610d06565b50825f526005602052610f6460405f2054611a15565b8111610ce9565b9091506020813d602011610f98575b81610f87602093836119df565b810103126101b257519060ff610cdf565b3d9150610f7a565b63d4220bed60e01b5f5260045ffd5b610fc8915060203d602011610905576108f781836119df565b86610c7d565b6282b42960e81b5f5260045ffd5b346101b2575f3660031901126101b2576020600854604051908152f35b346101b2575f3660031901126101b257602060405162093a808152f35b346101b2575f3660031901126101b257602460018060a01b037f000000000000000000000000000000000000000000000000000000000000000016805f52600360205260405f2080549160206002600184015493015491604051958680926370a0823160e01b82523060048301525afa918215610494575f926110af575b60809450604051938452602084015260408301526060820152f35b91506020843d6020116110dc575b816110ca602093836119df565b810103126101b2576080935191611094565b3d91506110bd565b346101b25760403660031901126101b2576001600160a01b036111056119b3565b165f52600460205260405f206024355f52602052602060405f2054604051908152f35b346101b25760403660031901126101b2576111416119b3565b6024359061114d611a9a565b6001600160a01b03908116907f000000000000000000000000000000000000000000000000000000000000000016810361132c57811561131d576002546040516375bd6ac760e11b8152906020908290600490829060081c6001600160a01b03165afa908115610494575f916112eb575b5015610fce576111fe6040516323b872dd60e01b6020820152336024820152306044820152836064820152606481526111f86084826119df565b82611dab565b600254604051635cbeecf160e11b8152906020908290600490829060081c6001600160a01b03165afa908115610494575f916112b9575b50815f52600460205260405f20815f5260205260405f20611257848254611a26565b9055815f526003602052600260405f20611272858254611a26565b815501611280848254611a26565b905560405192835260208301527f0a2fc4b3cc5d7010a978169a85e8febafcd3980b85de4f8d75c16b79ee3fad6a60403393a360018055005b90506020813d6020116112e3575b816112d4602093836119df565b810103126101b2575183611235565b3d91506112c7565b90506020813d602011611315575b81611306602093836119df565b810103126101b25751836111be565b3d91506112f9565b63162908e360e11b5f5260045ffd5b6332da96a360e01b5f5260045ffd5b346101b25760403660031901126101b2576001600160a01b0361135c6119b3565b165f52600960205260405f206024355f52602052602060405f2054604051908152f35b346101b25760403660031901126101b2576113986119c9565b336001600160a01b038216036113b45761022490600435611d3e565b63334bd91960e11b5f5260045ffd5b346101b25760403660031901126101b2576102246004356113e26119c9565b906113ef61021a82611a58565b611c4b565b346101b25760203660031901126101b2576020611412600435611a58565b604051908152f35b346101b25760203660031901126101b2576004356001600160401b0381116101b257366023820112156101b2576004810135906001600160401b0382116101b2573660248360051b830101116101b2575f5b82811015610224576024600582901b830101356001600160a01b03811691908290036101b257600254604051631ddb007160e21b815260048101849052906020908290602490829060081c6001600160a01b03165afa908115610494575f91611521575b5015610fa057813b156101b2575f8092602460405180958193631ac6d19d60e01b83523360048401525af191821561049457600192611511575b500161146c565b5f61151b916119df565b8461150a565b611539915060203d8111610905576108f781836119df565b856114d0565b346101b2575f3660031901126101b25760206040515f516020611e445f395f51905f528152f35b346101b2575f3660031901126101b25760206040515f516020611e645f395f51905f528152f35b346101b25760203660031901126101b2576001600160a01b036115ae6119b3565b165f526007602052602060405f2054604051908152f35b346101b25760203660031901126101b25760043563ffffffff60e01b81168091036101b257602090637965db0b60e01b811490811561160a575b506040519015158152f35b6301ffc9a760e01b149050826115ff565b346101b25760203660031901126101b2576116346119b3565b61163c611a9a565b611644611aba565b600254604051636e890abb60e01b81529091600883901c6001600160a01b031691905f908183600481875afa928315610494575f936118f4575b505f945f195b84518710156116d65760018060a01b0360208860051b870101511690815f5260056020528060405f2054105f146116cd57505f526005602052600160405f20545b960195611684565b600191506116c5565b604051635cbeecf160e11b815290945090602082600481895afa918215610494575f926118bf575b5060ff16806118ac575b156118a65750611719600854611a15565b905b60085493808514801561189c575b8015611894575b610fce5760018060a01b037f00000000000000000000000000000000000000000000000000000000000000001692835f52600360205260405f209160038301965b828111156118135750602096508082101561180c57505b600855836117a0575b50505060018055604051908152f35b806001600292016117b2868254611a26565b9055016117c0848254611a33565b90556117cd838284611b8a565b6040518381526001600160a01b03909116907f911c129d1619d2f66c102793b2d91c440413b9bfc0cb501959ebf66f869c5b3a908590a3828080611791565b9050611788565b855f52600460205260405f20815f5260205260405f2054815f528860205260405f20548115158061188b575b611868575b505062093a8081018091111561177157634e487b7160e01b5f52601160045260245ffd5b9761043d829961187793611a33565b96815f528860205260405f20558880611844565b5083831061183f565b508015611730565b505f198114611729565b9061171b565b506118b8600854611a15565b8111611708565b9091506020813d6020116118ec575b816118db602093836119df565b810103126101b257519060ff6116fe565b3d91506118ce565b9092503d805f833e61190681836119df565b8101906020818303126101b2578051906001600160401b0382116101b2570181601f820112156101b2578051916001600160401b03831161199f578260051b916040519361195760208501866119df565b84526020808501938201019182116101b257602001915b81831061197f57505050918561167e565b82516001600160a01b03811681036101b25781526020928301920161196e565b634e487b7160e01b5f52604160045260245ffd5b600435906001600160a01b03821682036101b257565b602435906001600160a01b03821682036101b257565b601f909101601f19168101906001600160401b0382119082101761199f57604052565b8181029291811591840414171561038257565b906301dfe200820180921161038257565b9190820180921161038257565b9190820391821161038257565b908160209103126101b2575180151581036101b25790565b5f525f602052600160405f20015490565b91908260409103126101b2576020825192015190565b6001600160a01b039091168152602081019190915260400190565b600260015414611aab576002600155565b633ee5aeb560e01b5f5260045ffd5b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615611af257565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081525f516020611e245f395f51905f52602052604090205460ff1615611b2e57565b63e2517d3f60e01b5f52336004525f516020611e445f395f51905f5260245260445ffd5b5f8181526020818152604080832033845290915290205460ff1615611b745750565b63e2517d3f60e01b5f523360045260245260445ffd5b611bbf611bc49392611bb160405194859263a9059cbb60e01b602085015260248401611a7f565b03601f1981018452836119df565b611dab565b565b6001600160a01b0381165f9081525f516020611e245f395f51905f52602052604090205460ff16611c46576001600160a01b03165f8181525f516020611e245f395f51905f5260205260408120805460ff191660011790553391905f516020611e445f395f51905f52905f516020611e045f395f51905f529080a4600190565b505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16611cba575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291905f516020611e045f395f51905f529080a4600190565b50505f90565b6001600160a01b0381165f9081525f516020611e245f395f51905f52602052604090205460ff1615611c46576001600160a01b03165f8181525f516020611e245f395f51905f5260205260408120805460ff191690553391905f516020611e445f395f51905f52905f516020611ea45f395f51905f529080a4600190565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615611cba575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291905f516020611ea45f395f51905f529080a4600190565b905f602091828151910182855af115610494575f513d611dfa57506001600160a01b0381163b155b611dda5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415611dd356fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0dd4b1ef424fcb83dce82b8e6790fbd9bbcd76978bd34427cec18daa7ab21675437b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357558b8b52c3853e363deb11e956344c7265b888f237854af58383f805fcdf400164cdf78d8a4bc701bec848bea5f1b118a920a2277673d2361d663b8cc2357979f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171ba2646970667358221220d3db0313439805f9b74d0b857e510c525fd95a7157951051a97a16714e44060864736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0dd4b1ef424fcb83dce82b8e6790fbd9bbcd76978bd34427cec18daa7ab2167543cfbfd7fa01e9333d856bafe1b9e90ac37fcc5c0f421ae6be5a422dfe68ba3e87ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
21
21
  readonly name: "_gaugeController";
22
22
  readonly type: "address";
23
+ }, {
24
+ readonly internalType: "address";
25
+ readonly name: "_rewardToken";
26
+ readonly type: "address";
23
27
  }];
24
28
  readonly stateMutability: "nonpayable";
25
29
  readonly type: "constructor";
@@ -41,19 +45,11 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
41
45
  readonly type: "error";
42
46
  }, {
43
47
  readonly inputs: readonly [];
44
- readonly name: "AlreadyClaimed";
45
- readonly type: "error";
46
- }, {
47
- readonly inputs: readonly [];
48
- readonly name: "GaugeNotFound";
48
+ readonly name: "GaugeNotActive";
49
49
  readonly type: "error";
50
50
  }, {
51
51
  readonly inputs: readonly [];
52
- readonly name: "InsufficientBalance";
53
- readonly type: "error";
54
- }, {
55
- readonly inputs: readonly [];
56
- readonly name: "InsufficientClaimableBalance";
52
+ readonly name: "GaugeStillActive";
57
53
  readonly type: "error";
58
54
  }, {
59
55
  readonly inputs: readonly [];
@@ -63,10 +59,6 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
63
59
  readonly inputs: readonly [];
64
60
  readonly name: "InvalidAmount";
65
61
  readonly type: "error";
66
- }, {
67
- readonly inputs: readonly [];
68
- readonly name: "NoGaugesWeight";
69
- readonly type: "error";
70
62
  }, {
71
63
  readonly inputs: readonly [];
72
64
  readonly name: "ReentrancyGuardReentrantCall";
@@ -79,10 +71,6 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
79
71
  }];
80
72
  readonly name: "SafeERC20FailedOperation";
81
73
  readonly type: "error";
82
- }, {
83
- readonly inputs: readonly [];
84
- readonly name: "TokenAlreadyApproved";
85
- readonly type: "error";
86
74
  }, {
87
75
  readonly inputs: readonly [];
88
76
  readonly name: "TokenNotApproved";
@@ -96,60 +84,85 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
96
84
  readonly inputs: readonly [{
97
85
  readonly indexed: true;
98
86
  readonly internalType: "address";
99
- readonly name: "gauge";
87
+ readonly name: "oldController";
100
88
  readonly type: "address";
101
89
  }, {
102
90
  readonly indexed: true;
103
91
  readonly internalType: "address";
104
- readonly name: "token";
92
+ readonly name: "newController";
105
93
  readonly type: "address";
106
94
  }];
107
- readonly name: "GaugeRewardTokenAdded";
95
+ readonly name: "ControllerUpdated";
108
96
  readonly type: "event";
109
97
  }, {
110
98
  readonly anonymous: false;
111
99
  readonly inputs: readonly [{
112
100
  readonly indexed: true;
113
101
  readonly internalType: "address";
114
- readonly name: "gauge";
102
+ readonly name: "recipient";
115
103
  readonly type: "address";
116
104
  }, {
117
105
  readonly indexed: true;
118
106
  readonly internalType: "address";
119
107
  readonly name: "token";
120
108
  readonly type: "address";
109
+ }, {
110
+ readonly indexed: false;
111
+ readonly internalType: "uint256";
112
+ readonly name: "amount";
113
+ readonly type: "uint256";
121
114
  }];
122
- readonly name: "GaugeRewardTokenRemoved";
115
+ readonly name: "DustWithdrawn";
123
116
  readonly type: "event";
124
117
  }, {
125
118
  readonly anonymous: false;
126
119
  readonly inputs: readonly [{
127
- readonly indexed: true;
128
- readonly internalType: "address";
129
- readonly name: "token";
130
- readonly type: "address";
131
- }, {
132
- readonly indexed: true;
120
+ readonly indexed: false;
133
121
  readonly internalType: "address";
134
- readonly name: "depositor";
122
+ readonly name: "gauge";
135
123
  readonly type: "address";
136
124
  }, {
137
125
  readonly indexed: false;
138
126
  readonly internalType: "uint256";
139
- readonly name: "amount";
127
+ readonly name: "currentEpoch";
140
128
  readonly type: "uint256";
141
129
  }];
142
- readonly name: "RewardDeposited";
130
+ readonly name: "GaugeLastClaimedEpochUpdated";
131
+ readonly type: "event";
132
+ }, {
133
+ readonly anonymous: false;
134
+ readonly inputs: readonly [{
135
+ readonly indexed: false;
136
+ readonly internalType: "bool";
137
+ readonly name: "enabled";
138
+ readonly type: "bool";
139
+ }];
140
+ readonly name: "MaxClaimBoundUpdated";
143
141
  readonly type: "event";
144
142
  }, {
145
143
  readonly anonymous: false;
146
144
  readonly inputs: readonly [{
145
+ readonly indexed: true;
146
+ readonly internalType: "address";
147
+ readonly name: "gauge";
148
+ readonly type: "address";
149
+ }, {
150
+ readonly indexed: true;
151
+ readonly internalType: "address";
152
+ readonly name: "recipient";
153
+ readonly type: "address";
154
+ }, {
147
155
  readonly indexed: true;
148
156
  readonly internalType: "address";
149
157
  readonly name: "token";
150
158
  readonly type: "address";
159
+ }, {
160
+ readonly indexed: false;
161
+ readonly internalType: "uint256";
162
+ readonly name: "amount";
163
+ readonly type: "uint256";
151
164
  }];
152
- readonly name: "RewardTokenAdded";
165
+ readonly name: "RemovedGaugeRewardsWithdrawn";
153
166
  readonly type: "event";
154
167
  }, {
155
168
  readonly anonymous: false;
@@ -158,8 +171,23 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
158
171
  readonly internalType: "address";
159
172
  readonly name: "token";
160
173
  readonly type: "address";
174
+ }, {
175
+ readonly indexed: true;
176
+ readonly internalType: "address";
177
+ readonly name: "depositor";
178
+ readonly type: "address";
179
+ }, {
180
+ readonly indexed: false;
181
+ readonly internalType: "uint256";
182
+ readonly name: "amount";
183
+ readonly type: "uint256";
184
+ }, {
185
+ readonly indexed: false;
186
+ readonly internalType: "uint256";
187
+ readonly name: "depositedEpoch";
188
+ readonly type: "uint256";
161
189
  }];
162
- readonly name: "RewardTokenRemoved";
190
+ readonly name: "RewardDeposited";
163
191
  readonly type: "event";
164
192
  }, {
165
193
  readonly anonymous: false;
@@ -241,6 +269,16 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
241
269
  }];
242
270
  readonly name: "RoleRevoked";
243
271
  readonly type: "event";
272
+ }, {
273
+ readonly inputs: readonly [];
274
+ readonly name: "CONTROLLER_ROLE";
275
+ readonly outputs: readonly [{
276
+ readonly internalType: "bytes32";
277
+ readonly name: "";
278
+ readonly type: "bytes32";
279
+ }];
280
+ readonly stateMutability: "view";
281
+ readonly type: "function";
244
282
  }, {
245
283
  readonly inputs: readonly [];
246
284
  readonly name: "DEFAULT_ADMIN_ROLE";
@@ -263,7 +301,7 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
263
301
  readonly type: "function";
264
302
  }, {
265
303
  readonly inputs: readonly [];
266
- readonly name: "PERIOD_DURATION";
304
+ readonly name: "MAX_EPOCHS";
267
305
  readonly outputs: readonly [{
268
306
  readonly internalType: "uint256";
269
307
  readonly name: "";
@@ -272,28 +310,14 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
272
310
  readonly stateMutability: "view";
273
311
  readonly type: "function";
274
312
  }, {
275
- readonly inputs: readonly [{
276
- readonly internalType: "address";
277
- readonly name: "gauge";
278
- readonly type: "address";
279
- }, {
280
- readonly internalType: "address";
281
- readonly name: "token";
282
- readonly type: "address";
283
- }];
284
- readonly name: "addGaugeRewardToken";
285
- readonly outputs: readonly [];
286
- readonly stateMutability: "nonpayable";
287
- readonly type: "function";
288
- }, {
289
- readonly inputs: readonly [{
290
- readonly internalType: "address";
291
- readonly name: "token";
292
- readonly type: "address";
313
+ readonly inputs: readonly [];
314
+ readonly name: "PERIOD_DURATION";
315
+ readonly outputs: readonly [{
316
+ readonly internalType: "uint256";
317
+ readonly name: "";
318
+ readonly type: "uint256";
293
319
  }];
294
- readonly name: "addRewardToken";
295
- readonly outputs: readonly [];
296
- readonly stateMutability: "nonpayable";
320
+ readonly stateMutability: "view";
297
321
  readonly type: "function";
298
322
  }, {
299
323
  readonly inputs: readonly [{
@@ -310,10 +334,6 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
310
334
  readonly internalType: "address";
311
335
  readonly name: "gauge";
312
336
  readonly type: "address";
313
- }, {
314
- readonly internalType: "address";
315
- readonly name: "token";
316
- readonly type: "address";
317
337
  }];
318
338
  readonly name: "claimForGauge";
319
339
  readonly outputs: readonly [{
@@ -328,10 +348,6 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
328
348
  readonly internalType: "address";
329
349
  readonly name: "";
330
350
  readonly type: "address";
331
- }, {
332
- readonly internalType: "address";
333
- readonly name: "";
334
- readonly type: "address";
335
351
  }, {
336
352
  readonly internalType: "uint256";
337
353
  readonly name: "";
@@ -359,20 +375,6 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
359
375
  readonly outputs: readonly [];
360
376
  readonly stateMutability: "nonpayable";
361
377
  readonly type: "function";
362
- }, {
363
- readonly inputs: readonly [{
364
- readonly internalType: "address";
365
- readonly name: "";
366
- readonly type: "address";
367
- }];
368
- readonly name: "depositableRewardTokens";
369
- readonly outputs: readonly [{
370
- readonly internalType: "bool";
371
- readonly name: "";
372
- readonly type: "bool";
373
- }];
374
- readonly stateMutability: "view";
375
- readonly type: "function";
376
378
  }, {
377
379
  readonly inputs: readonly [{
378
380
  readonly internalType: "address";
@@ -394,38 +396,24 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
394
396
  }, {
395
397
  readonly inputs: readonly [{
396
398
  readonly internalType: "address";
397
- readonly name: "token";
399
+ readonly name: "";
398
400
  readonly type: "address";
399
401
  }, {
400
402
  readonly internalType: "uint256";
401
- readonly name: "amount";
403
+ readonly name: "";
402
404
  readonly type: "uint256";
403
- }, {
404
- readonly internalType: "address";
405
- readonly name: "recipient";
406
- readonly type: "address";
407
405
  }];
408
- readonly name: "emergencyWithdraw";
409
- readonly outputs: readonly [];
410
- readonly stateMutability: "nonpayable";
411
- readonly type: "function";
412
- }, {
413
- readonly inputs: readonly [];
414
- readonly name: "gaugeController";
406
+ readonly name: "depositedSnapshotAtLastClaim";
415
407
  readonly outputs: readonly [{
416
- readonly internalType: "contract IGaugeController";
408
+ readonly internalType: "uint256";
417
409
  readonly name: "";
418
- readonly type: "address";
410
+ readonly type: "uint256";
419
411
  }];
420
412
  readonly stateMutability: "view";
421
413
  readonly type: "function";
422
414
  }, {
423
- readonly inputs: readonly [{
424
- readonly internalType: "address";
425
- readonly name: "";
426
- readonly type: "address";
427
- }];
428
- readonly name: "gaugeLastClaimedEpoch";
415
+ readonly inputs: readonly [];
416
+ readonly name: "dustLastProcessedEpoch";
429
417
  readonly outputs: readonly [{
430
418
  readonly internalType: "uint256";
431
419
  readonly name: "";
@@ -434,16 +422,8 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
434
422
  readonly stateMutability: "view";
435
423
  readonly type: "function";
436
424
  }, {
437
- readonly inputs: readonly [{
438
- readonly internalType: "address";
439
- readonly name: "";
440
- readonly type: "address";
441
- }, {
442
- readonly internalType: "address";
443
- readonly name: "";
444
- readonly type: "address";
445
- }];
446
- readonly name: "gaugeRewardTokens";
425
+ readonly inputs: readonly [];
426
+ readonly name: "enableMaxClaimBound";
447
427
  readonly outputs: readonly [{
448
428
  readonly internalType: "bool";
449
429
  readonly name: "";
@@ -452,33 +432,25 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
452
432
  readonly stateMutability: "view";
453
433
  readonly type: "function";
454
434
  }, {
455
- readonly inputs: readonly [{
456
- readonly internalType: "address";
457
- readonly name: "token";
458
- readonly type: "address";
459
- }];
460
- readonly name: "getAvailableBalance";
435
+ readonly inputs: readonly [];
436
+ readonly name: "gaugeController";
461
437
  readonly outputs: readonly [{
462
- readonly internalType: "uint256";
438
+ readonly internalType: "contract IGaugeController";
463
439
  readonly name: "";
464
- readonly type: "uint256";
440
+ readonly type: "address";
465
441
  }];
466
442
  readonly stateMutability: "view";
467
443
  readonly type: "function";
468
444
  }, {
469
445
  readonly inputs: readonly [{
470
446
  readonly internalType: "address";
471
- readonly name: "gauge";
472
- readonly type: "address";
473
- }, {
474
- readonly internalType: "address";
475
- readonly name: "token";
447
+ readonly name: "";
476
448
  readonly type: "address";
477
449
  }];
478
- readonly name: "getClaimableForGauge";
450
+ readonly name: "gaugeLastClaimedEpoch";
479
451
  readonly outputs: readonly [{
480
452
  readonly internalType: "uint256";
481
- readonly name: "claimable";
453
+ readonly name: "";
482
454
  readonly type: "uint256";
483
455
  }];
484
456
  readonly stateMutability: "view";
@@ -489,30 +461,16 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
489
461
  readonly name: "gauge";
490
462
  readonly type: "address";
491
463
  }];
492
- readonly name: "getGaugeRewardTokens";
493
- readonly outputs: readonly [{
494
- readonly internalType: "address[]";
495
- readonly name: "";
496
- readonly type: "address[]";
497
- }];
498
- readonly stateMutability: "view";
499
- readonly type: "function";
500
- }, {
501
- readonly inputs: readonly [];
502
- readonly name: "getRewardTokenCount";
464
+ readonly name: "getClaimableForGauge";
503
465
  readonly outputs: readonly [{
504
466
  readonly internalType: "uint256";
505
- readonly name: "";
467
+ readonly name: "claimable";
506
468
  readonly type: "uint256";
507
469
  }];
508
470
  readonly stateMutability: "view";
509
471
  readonly type: "function";
510
472
  }, {
511
- readonly inputs: readonly [{
512
- readonly internalType: "address";
513
- readonly name: "token";
514
- readonly type: "address";
515
- }];
473
+ readonly inputs: readonly [];
516
474
  readonly name: "getRewardTokenInfo";
517
475
  readonly outputs: readonly [{
518
476
  readonly internalType: "uint256";
@@ -533,16 +491,6 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
533
491
  }];
534
492
  readonly stateMutability: "view";
535
493
  readonly type: "function";
536
- }, {
537
- readonly inputs: readonly [];
538
- readonly name: "getRewardTokens";
539
- readonly outputs: readonly [{
540
- readonly internalType: "address[]";
541
- readonly name: "";
542
- readonly type: "address[]";
543
- }];
544
- readonly stateMutability: "view";
545
- readonly type: "function";
546
494
  }, {
547
495
  readonly inputs: readonly [{
548
496
  readonly internalType: "bytes32";
@@ -591,42 +539,6 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
591
539
  readonly type: "function";
592
540
  }, {
593
541
  readonly inputs: readonly [{
594
- readonly internalType: "address";
595
- readonly name: "gauge";
596
- readonly type: "address";
597
- }, {
598
- readonly internalType: "address";
599
- readonly name: "token";
600
- readonly type: "address";
601
- }];
602
- readonly name: "isRewardTokenApproved";
603
- readonly outputs: readonly [{
604
- readonly internalType: "bool";
605
- readonly name: "";
606
- readonly type: "bool";
607
- }];
608
- readonly stateMutability: "view";
609
- readonly type: "function";
610
- }, {
611
- readonly inputs: readonly [{
612
- readonly internalType: "address";
613
- readonly name: "token";
614
- readonly type: "address";
615
- }];
616
- readonly name: "isTokenApproved";
617
- readonly outputs: readonly [{
618
- readonly internalType: "bool";
619
- readonly name: "";
620
- readonly type: "bool";
621
- }];
622
- readonly stateMutability: "view";
623
- readonly type: "function";
624
- }, {
625
- readonly inputs: readonly [{
626
- readonly internalType: "address";
627
- readonly name: "";
628
- readonly type: "address";
629
- }, {
630
542
  readonly internalType: "address";
631
543
  readonly name: "";
632
544
  readonly type: "address";
@@ -639,30 +551,6 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
639
551
  }];
640
552
  readonly stateMutability: "view";
641
553
  readonly type: "function";
642
- }, {
643
- readonly inputs: readonly [{
644
- readonly internalType: "address";
645
- readonly name: "gauge";
646
- readonly type: "address";
647
- }, {
648
- readonly internalType: "address";
649
- readonly name: "token";
650
- readonly type: "address";
651
- }];
652
- readonly name: "removeGaugeRewardToken";
653
- readonly outputs: readonly [];
654
- readonly stateMutability: "nonpayable";
655
- readonly type: "function";
656
- }, {
657
- readonly inputs: readonly [{
658
- readonly internalType: "address";
659
- readonly name: "token";
660
- readonly type: "address";
661
- }];
662
- readonly name: "removeRewardToken";
663
- readonly outputs: readonly [];
664
- readonly stateMutability: "nonpayable";
665
- readonly type: "function";
666
554
  }, {
667
555
  readonly inputs: readonly [{
668
556
  readonly internalType: "bytes32";
@@ -691,6 +579,16 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
691
579
  readonly outputs: readonly [];
692
580
  readonly stateMutability: "nonpayable";
693
581
  readonly type: "function";
582
+ }, {
583
+ readonly inputs: readonly [];
584
+ readonly name: "rewardToken";
585
+ readonly outputs: readonly [{
586
+ readonly internalType: "address";
587
+ readonly name: "";
588
+ readonly type: "address";
589
+ }];
590
+ readonly stateMutability: "view";
591
+ readonly type: "function";
694
592
  }, {
695
593
  readonly inputs: readonly [{
696
594
  readonly internalType: "address";
@@ -710,36 +608,38 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
710
608
  readonly internalType: "uint256";
711
609
  readonly name: "totalClaimable";
712
610
  readonly type: "uint256";
713
- }, {
714
- readonly internalType: "bool";
715
- readonly name: "isActive";
716
- readonly type: "bool";
717
611
  }];
718
612
  readonly stateMutability: "view";
719
613
  readonly type: "function";
720
614
  }, {
721
615
  readonly inputs: readonly [{
722
- readonly internalType: "uint256";
723
- readonly name: "";
724
- readonly type: "uint256";
616
+ readonly internalType: "address";
617
+ readonly name: "_controller";
618
+ readonly type: "address";
725
619
  }];
726
- readonly name: "rewardTokens";
727
- readonly outputs: readonly [{
620
+ readonly name: "setController";
621
+ readonly outputs: readonly [];
622
+ readonly stateMutability: "nonpayable";
623
+ readonly type: "function";
624
+ }, {
625
+ readonly inputs: readonly [{
728
626
  readonly internalType: "address";
729
- readonly name: "";
627
+ readonly name: "gauge";
730
628
  readonly type: "address";
731
629
  }];
732
- readonly stateMutability: "view";
630
+ readonly name: "setLastClaimedEpoch";
631
+ readonly outputs: readonly [];
632
+ readonly stateMutability: "nonpayable";
733
633
  readonly type: "function";
734
634
  }, {
735
- readonly inputs: readonly [];
736
- readonly name: "startEpoch";
737
- readonly outputs: readonly [{
738
- readonly internalType: "uint256";
739
- readonly name: "";
740
- readonly type: "uint256";
635
+ readonly inputs: readonly [{
636
+ readonly internalType: "bool";
637
+ readonly name: "enable";
638
+ readonly type: "bool";
741
639
  }];
742
- readonly stateMutability: "view";
640
+ readonly name: "setMaxClaimBound";
641
+ readonly outputs: readonly [];
642
+ readonly stateMutability: "nonpayable";
743
643
  readonly type: "function";
744
644
  }, {
745
645
  readonly inputs: readonly [{
@@ -755,6 +655,38 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
755
655
  }];
756
656
  readonly stateMutability: "view";
757
657
  readonly type: "function";
658
+ }, {
659
+ readonly inputs: readonly [{
660
+ readonly internalType: "address";
661
+ readonly name: "recipient";
662
+ readonly type: "address";
663
+ }];
664
+ readonly name: "withdrawDust";
665
+ readonly outputs: readonly [{
666
+ readonly internalType: "uint256";
667
+ readonly name: "totalDustWithdrawn";
668
+ readonly type: "uint256";
669
+ }];
670
+ readonly stateMutability: "nonpayable";
671
+ readonly type: "function";
672
+ }, {
673
+ readonly inputs: readonly [{
674
+ readonly internalType: "address";
675
+ readonly name: "gauge";
676
+ readonly type: "address";
677
+ }, {
678
+ readonly internalType: "address";
679
+ readonly name: "recipient";
680
+ readonly type: "address";
681
+ }];
682
+ readonly name: "withdrawRemovedGaugeRewards";
683
+ readonly outputs: readonly [{
684
+ readonly internalType: "uint256";
685
+ readonly name: "totalWithdrawn";
686
+ readonly type: "uint256";
687
+ }];
688
+ readonly stateMutability: "nonpayable";
689
+ readonly type: "function";
758
690
  }];
759
691
  static createInterface(): GaugeRewardsDistributorInterface;
760
692
  static connect(address: string, runner?: ContractRunner | null): GaugeRewardsDistributor;