@raac/rpc 1.2.0-beta.10 → 1.2.0-beta.12
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.
- package/dist/RPCLibrary.js +2 -0
- package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +113 -20
- package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +259 -31
- package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +159 -31
- package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +115 -22
- package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +115 -22
- package/dist/configs/chains/1.json +22 -25
- package/dist/configs/chains/11155111.json +76 -112
- package/dist/configs/chains/17000.json +22 -25
- package/dist/configs/chains/18453.json +22 -25
- package/dist/configs/chains/8453.json +61 -31
- package/dist/contracts/findContract.js +11 -4
- package/dist/contracts/getContractAddress.js +0 -1
- package/dist/contracts/governance/distributor/claimAll.js +18 -11
- package/dist/contracts/governance/distributor/claimForGauge.js +18 -12
- package/dist/contracts/governance/distributor/deposit.js +17 -12
- package/dist/contracts/governance/distributor/getClaimableForGauge.js +10 -9
- package/dist/contracts/governance/distributor/getClaimedAtEpoch.js +11 -10
- package/dist/contracts/governance/distributor/getDepositedAtEpoch.js +8 -8
- package/dist/contracts/governance/distributor/getDustLastProcessedEpoch.js +28 -0
- package/dist/contracts/governance/distributor/getGaugeController.js +7 -7
- package/dist/contracts/governance/distributor/getLastClaimedEpoch.js +10 -9
- package/dist/contracts/governance/distributor/getMaxClaimBound.js +29 -0
- package/dist/contracts/governance/distributor/getPeriodDuration.js +7 -7
- package/dist/contracts/governance/distributor/getRewardToken.js +7 -7
- package/dist/contracts/governance/distributor/getRewardTokenInfo.js +7 -7
- package/dist/contracts/governance/distributor/getRewardTokenStats.js +7 -7
- package/dist/contracts/governance/distributor/index.js +5 -2
- package/dist/contracts/governance/distributor/setController.js +17 -12
- package/dist/contracts/governance/distributor/setLastClaimedEpoch.js +32 -0
- package/dist/contracts/governance/distributor/setMaxClaimBound.js +31 -0
- package/dist/contracts/governance/distributor/withdrawDust.js +31 -0
- package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +19 -13
- package/dist/contracts/governance/gauge/_apy.js +122 -0
- package/dist/contracts/governance/gauge/_tokens.js +36 -0
- package/dist/contracts/governance/gauge/addRewardToken.js +2 -12
- package/dist/contracts/governance/gauge/approveGaugeToken.js +31 -0
- package/dist/contracts/governance/gauge/claimExtraReward.js +2 -12
- package/dist/contracts/governance/gauge/claimExtraRewards.js +2 -12
- package/dist/contracts/governance/gauge/claimOnBehalfOf.js +2 -12
- package/dist/contracts/governance/gauge/claimRewardToken.js +3 -13
- package/dist/contracts/governance/gauge/claimRewardsFor.js +2 -12
- package/dist/contracts/governance/gauge/depositRewardToken.js +2 -12
- package/dist/contracts/governance/gauge/getAllPendingExtraRewards.js +2 -9
- package/dist/contracts/governance/gauge/getApy.js +44 -0
- package/dist/contracts/governance/gauge/getBalanceOf.js +2 -15
- package/dist/contracts/governance/gauge/getControllerAddress.js +2 -9
- package/dist/contracts/governance/gauge/getDecimalAdjustment.js +2 -9
- package/dist/contracts/governance/gauge/getDepositRAACOnClaim.js +2 -9
- package/dist/contracts/governance/gauge/getDistributorData.js +2 -9
- package/dist/contracts/governance/gauge/getDistributors.js +2 -9
- package/dist/contracts/governance/gauge/getEarnedExtraReward.js +30 -0
- package/dist/contracts/governance/gauge/getEarnedReward.js +8 -14
- package/dist/contracts/governance/gauge/getExtraRewardTokens.js +2 -9
- package/dist/contracts/governance/gauge/getGaugeData.js +39 -0
- package/dist/contracts/governance/gauge/getGaugeRewardTokenData.js +2 -9
- package/dist/contracts/governance/gauge/getPauseStatus.js +31 -0
- package/dist/contracts/governance/gauge/getPendingExtraRewards.js +2 -9
- package/dist/contracts/governance/gauge/getPendingRewards.js +8 -14
- package/dist/contracts/governance/gauge/getPeriodBoundaries.js +2 -15
- package/dist/contracts/governance/gauge/getPeriodDuration.js +2 -15
- package/dist/contracts/governance/gauge/getRaacAutolockMin.js +2 -9
- package/dist/contracts/governance/gauge/getRawBalanceOf.js +2 -15
- package/dist/contracts/governance/gauge/getRawTotalSupply.js +2 -15
- package/dist/contracts/governance/gauge/getRewardTokens.js +28 -0
- package/dist/contracts/governance/gauge/getTotalSupply.js +2 -15
- package/dist/contracts/governance/gauge/getUserApy.js +71 -0
- package/dist/contracts/governance/gauge/getUserClaimableRewards.js +21 -73
- package/dist/contracts/governance/gauge/getUserGaugeState.js +44 -0
- package/dist/contracts/governance/gauge/getUserRewardTokenData.js +2 -9
- package/dist/contracts/governance/gauge/getUserWeight.js +2 -9
- package/dist/contracts/governance/gauge/index.js +11 -1
- package/dist/contracts/governance/gauge/isPaused.js +4 -11
- package/dist/contracts/governance/gauge/manageDistributor.js +2 -12
- package/dist/contracts/governance/gauge/pullRewardsFromDistributor.js +30 -0
- package/dist/contracts/governance/gauge/setController.js +2 -12
- package/dist/contracts/governance/gauge/setDepositRAACOnClaim.js +2 -12
- package/dist/contracts/governance/gauge/setEmergencyPaused.js +2 -12
- package/dist/contracts/governance/gauge/setGaugeRewardDistributor.js +2 -12
- package/dist/contracts/governance/gauge/setRaacAutolockMin.js +2 -12
- package/dist/contracts/governance/gauge/stake.js +2 -18
- package/dist/contracts/governance/gauge/unwrapStakingToken.js +28 -0
- package/dist/contracts/governance/gauge/updateUserRewards.js +2 -18
- package/dist/contracts/governance/gauge/withdraw.js +2 -18
- package/dist/contracts/governance/gauge/wrapStakingToken.js +28 -0
- package/dist/contracts/governance/gaugeController/addGauge.js +19 -11
- package/dist/contracts/governance/gaugeController/batchVote.js +20 -12
- package/dist/contracts/governance/gaugeController/calculateBoost.js +20 -23
- package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +19 -11
- package/dist/contracts/governance/gaugeController/getActiveGaugeCount.js +28 -0
- package/dist/contracts/governance/gaugeController/getActiveGauges.js +10 -13
- package/dist/contracts/governance/gaugeController/getConstants.js +10 -18
- package/dist/contracts/governance/gaugeController/getCurrentEpoch.js +8 -7
- package/dist/contracts/governance/gaugeController/getExpiredGaugeVotePower.js +30 -0
- package/dist/contracts/governance/gaugeController/getGauge.js +11 -9
- package/dist/contracts/governance/gaugeController/getGaugeDistributor.js +28 -0
- package/dist/contracts/governance/gaugeController/getGaugeEmissions.js +15 -9
- package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +19 -15
- package/dist/contracts/governance/gaugeController/getGaugeRelativeWeightView.js +12 -10
- package/dist/contracts/governance/gaugeController/getGaugeWeight.js +10 -8
- package/dist/contracts/governance/gaugeController/getLastVoteTime.js +11 -9
- package/dist/contracts/governance/gaugeController/getMaxVoteBuckets.js +28 -0
- package/dist/contracts/governance/gaugeController/getNextEpoch.js +8 -7
- package/dist/contracts/governance/gaugeController/getRegisteredGaugeList.js +28 -0
- package/dist/contracts/governance/gaugeController/getTotalWeight.js +8 -7
- package/dist/contracts/governance/gaugeController/getUserGaugeVotePower.js +11 -9
- package/dist/contracts/governance/gaugeController/getUserVotePowerRemaining.js +10 -9
- package/dist/contracts/governance/gaugeController/getVeToken.js +8 -7
- package/dist/contracts/governance/gaugeController/getVoteUserLocks.js +32 -0
- package/dist/contracts/governance/gaugeController/getVoteUserPower.js +8 -7
- package/dist/contracts/governance/gaugeController/getVoteUserSlope.js +12 -10
- package/dist/contracts/governance/gaugeController/index.js +10 -1
- package/dist/contracts/governance/gaugeController/isGaugeActive.js +11 -9
- package/dist/contracts/governance/gaugeController/isPaused.js +9 -8
- package/dist/contracts/governance/gaugeController/kick.js +17 -10
- package/dist/contracts/governance/gaugeController/removeGauge.js +20 -11
- package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +19 -11
- package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +20 -12
- package/dist/contracts/governance/gaugeController/setDistributor.js +31 -0
- package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +20 -12
- package/dist/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.js +33 -0
- package/dist/contracts/governance/gaugeController/setEmergencyPause.js +18 -11
- package/dist/contracts/governance/gaugeController/setMaxVoteBuckets.js +31 -0
- package/dist/contracts/governance/gaugeController/vote.js +15 -16
- package/dist/contracts/governance/gaugeSystems/_helpers.js +123 -0
- package/dist/contracts/governance/gaugeSystems/findGauge.js +14 -0
- package/dist/contracts/governance/gaugeSystems/getGaugeSystem.js +14 -0
- package/dist/contracts/governance/gaugeSystems/getGaugeSystems.js +13 -0
- package/dist/contracts/governance/gaugeSystems/getGauges.js +15 -0
- package/dist/contracts/governance/gaugeSystems/index.js +21 -0
- package/dist/types/RPCLibrary.d.ts +2 -0
- package/dist/types/configs/chains/index.d.ts +36 -46
- package/dist/types/configs/index.d.ts +18 -23
- package/dist/types/contracts/governance/distributor/claimAll.d.ts +7 -5
- package/dist/types/contracts/governance/distributor/claimForGauge.d.ts +7 -6
- package/dist/types/contracts/governance/distributor/deposit.d.ts +7 -6
- package/dist/types/contracts/governance/distributor/getClaimableForGauge.d.ts +6 -4
- package/dist/types/contracts/governance/distributor/getClaimedAtEpoch.d.ts +7 -5
- package/dist/types/contracts/governance/distributor/getDepositedAtEpoch.d.ts +6 -4
- package/dist/types/contracts/governance/distributor/getDustLastProcessedEpoch.d.ts +12 -0
- package/dist/types/contracts/governance/distributor/getGaugeController.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/getLastClaimedEpoch.d.ts +6 -4
- package/dist/types/contracts/governance/distributor/getMaxClaimBound.d.ts +15 -0
- package/dist/types/contracts/governance/distributor/getPeriodDuration.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/getRewardToken.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/getRewardTokenInfo.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/getRewardTokenStats.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/index.d.ts +5 -2
- package/dist/types/contracts/governance/distributor/setController.d.ts +7 -6
- package/dist/types/contracts/governance/distributor/setLastClaimedEpoch.d.ts +13 -0
- package/dist/types/contracts/governance/distributor/setMaxClaimBound.d.ts +13 -0
- package/dist/types/contracts/governance/distributor/withdrawDust.d.ts +13 -0
- package/dist/types/contracts/governance/distributor/withdrawRemovedGaugeRewards.d.ts +8 -7
- package/dist/types/contracts/governance/gauge/_apy.d.ts +61 -0
- package/dist/types/contracts/governance/gauge/_tokens.d.ts +14 -0
- package/dist/types/contracts/governance/gauge/approveGaugeToken.d.ts +14 -0
- package/dist/types/contracts/governance/gauge/claimRewardToken.d.ts +1 -1
- package/dist/types/contracts/governance/gauge/getApy.d.ts +41 -0
- package/dist/types/contracts/governance/gauge/getEarnedExtraReward.d.ts +13 -0
- package/dist/types/contracts/governance/gauge/getEarnedReward.d.ts +3 -2
- package/dist/types/contracts/governance/gauge/getGaugeData.d.ts +23 -0
- package/dist/types/contracts/governance/gauge/getPauseStatus.d.ts +19 -0
- package/dist/types/contracts/governance/gauge/getPendingRewards.d.ts +3 -2
- package/dist/types/contracts/governance/gauge/getRewardTokens.d.ts +11 -0
- package/dist/types/contracts/governance/gauge/getUserApy.d.ts +44 -0
- package/dist/types/contracts/governance/gauge/getUserClaimableRewards.d.ts +14 -12
- package/dist/types/contracts/governance/gauge/getUserGaugeState.d.ts +31 -0
- package/dist/types/contracts/governance/gauge/index.d.ts +11 -1
- package/dist/types/contracts/governance/gauge/isPaused.d.ts +1 -1
- package/dist/types/contracts/governance/gauge/pullRewardsFromDistributor.d.ts +11 -0
- package/dist/types/contracts/governance/gauge/unwrapStakingToken.d.ts +12 -0
- package/dist/types/contracts/governance/gauge/wrapStakingToken.d.ts +13 -0
- package/dist/types/contracts/governance/gaugeController/addGauge.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/batchVote.d.ts +9 -6
- package/dist/types/contracts/governance/gaugeController/calculateBoost.d.ts +10 -8
- package/dist/types/contracts/governance/gaugeController/forceCompleteCheckpoint.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/getActiveGaugeCount.d.ts +12 -0
- package/dist/types/contracts/governance/gaugeController/getActiveGauges.d.ts +7 -3
- package/dist/types/contracts/governance/gaugeController/getConstants.d.ts +6 -4
- package/dist/types/contracts/governance/gaugeController/getCurrentEpoch.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getExpiredGaugeVotePower.d.ts +16 -0
- package/dist/types/contracts/governance/gaugeController/getGauge.d.ts +7 -4
- package/dist/types/contracts/governance/gaugeController/getGaugeDistributor.d.ts +12 -0
- package/dist/types/contracts/governance/gaugeController/getGaugeEmissions.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeight.d.ts +8 -9
- package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeightView.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/getGaugeWeight.d.ts +6 -4
- package/dist/types/contracts/governance/gaugeController/getLastVoteTime.d.ts +7 -4
- package/dist/types/contracts/governance/gaugeController/getMaxVoteBuckets.d.ts +12 -0
- package/dist/types/contracts/governance/gaugeController/getNextEpoch.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getRegisteredGaugeList.d.ts +12 -0
- package/dist/types/contracts/governance/gaugeController/getTotalWeight.d.ts +5 -3
- package/dist/types/contracts/governance/gaugeController/getUserGaugeVotePower.d.ts +7 -4
- package/dist/types/contracts/governance/gaugeController/getUserVotePowerRemaining.d.ts +6 -4
- package/dist/types/contracts/governance/gaugeController/getVeToken.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getVoteUserLocks.d.ts +17 -0
- package/dist/types/contracts/governance/gaugeController/getVoteUserPower.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getVoteUserSlope.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/index.d.ts +10 -1
- package/dist/types/contracts/governance/gaugeController/isGaugeActive.d.ts +6 -4
- package/dist/types/contracts/governance/gaugeController/isPaused.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/kick.d.ts +7 -4
- package/dist/types/contracts/governance/gaugeController/removeGauge.d.ts +9 -5
- package/dist/types/contracts/governance/gaugeController/removePowerFromGauge.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/setBoostAmplificationEnabled.d.ts +9 -6
- package/dist/types/contracts/governance/gaugeController/setDistributor.d.ts +13 -0
- package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePause.d.ts +9 -6
- package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.d.ts +14 -0
- package/dist/types/contracts/governance/gaugeController/setEmergencyPause.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/setMaxVoteBuckets.d.ts +13 -0
- package/dist/types/contracts/governance/gaugeController/vote.d.ts +9 -7
- package/dist/types/contracts/governance/gaugeSystems/_helpers.d.ts +71 -0
- package/dist/types/contracts/governance/gaugeSystems/findGauge.d.ts +11 -0
- package/dist/types/contracts/governance/gaugeSystems/getGaugeSystem.d.ts +11 -0
- package/dist/types/contracts/governance/gaugeSystems/getGaugeSystems.d.ts +10 -0
- package/dist/types/contracts/governance/gaugeSystems/getGauges.d.ts +13 -0
- package/dist/types/contracts/governance/gaugeSystems/index.d.ts +5 -0
- package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +176 -105
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +260 -213
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +173 -212
- package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +176 -105
- package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +176 -105
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +111 -108
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +210 -34
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor.d.ts +112 -151
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +174 -95
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +243 -227
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +164 -232
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +185 -98
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +185 -98
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +104 -95
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +241 -22
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor__factory.d.ts +72 -158
- package/dist/types/utils/artifacts.d.ts +40 -0
- package/dist/types/utils/contracts.d.ts +34 -44
- package/dist/utils/contracts.js +1 -1
- package/package.json +1 -1
- package/dist/contracts/governance/distributor/getStartEpoch.js +0 -28
- package/dist/contracts/governance/distributor/withdrawUnallocatedRewards.js +0 -26
- package/dist/contracts/governance/gauge/setDistributorApproval.js +0 -35
- package/dist/types/contracts/governance/distributor/getStartEpoch.d.ts +0 -10
- package/dist/types/contracts/governance/distributor/withdrawUnallocatedRewards.d.ts +0 -12
- package/dist/types/contracts/governance/gauge/setDistributorApproval.d.ts +0 -11
|
@@ -5,16 +5,16 @@ import type { RAACGauge, RAACGaugeInterface } from "../../../../../contracts/cor
|
|
|
5
5
|
type RAACGaugeConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
|
|
6
6
|
export declare class RAACGauge__factory extends ContractFactory {
|
|
7
7
|
constructor(...args: RAACGaugeConstructorParams);
|
|
8
|
-
getDeployTransaction(_stakingToken: AddressLike, _controller: AddressLike, _raacLiquidLocker: AddressLike, _raacToken: AddressLike, overrides?: NonPayableOverrides & {
|
|
8
|
+
getDeployTransaction(_stakingToken: AddressLike, _controller: AddressLike, _raacLiquidLocker: AddressLike, _raacToken: AddressLike, _rewardToken: AddressLike, _rewardDistributor: AddressLike, overrides?: NonPayableOverrides & {
|
|
9
9
|
from?: string;
|
|
10
10
|
}): Promise<ContractDeployTransaction>;
|
|
11
|
-
deploy(_stakingToken: AddressLike, _controller: AddressLike, _raacLiquidLocker: AddressLike, _raacToken: AddressLike, overrides?: NonPayableOverrides & {
|
|
11
|
+
deploy(_stakingToken: AddressLike, _controller: AddressLike, _raacLiquidLocker: AddressLike, _raacToken: AddressLike, _rewardToken: AddressLike, _rewardDistributor: AddressLike, overrides?: NonPayableOverrides & {
|
|
12
12
|
from?: string;
|
|
13
13
|
}): Promise<RAACGauge & {
|
|
14
14
|
deploymentTransaction(): ContractTransactionResponse;
|
|
15
15
|
}>;
|
|
16
16
|
connect(runner: ContractRunner | null): RAACGauge__factory;
|
|
17
|
-
static readonly bytecode = "0x60c0604052346102c5576146326080813803918261001c816102c9565b9384928339810103126102c557610032816102ee565b9061003f602082016102ee565b6100576060610050604085016102ee565b93016102ee565b61006042610302565b60015f556011805460ff60a01b1916600160a01b1790556001600160a01b0383169485156102b6576001600160a01b03169081156102b6576001600160a01b0385169283156102b6576001600160a01b03169384156102b6576100cc906100c633610391565b50610407565b506100d63361049a565b5060035562093a806004555f60055560018060a01b031960065416176006555f6007555f600855602093610109856102c9565b5f81525f3681378051906001600160401b03821161025e5768010000000000000000821161025e5786906009548360095580841061028d575b500160095f52865f205f5b8381106102725750505050610161856102c9565b5f81525f3681378051906001600160401b03821161025e5768010000000000000000821161025e578690600c5483600c55808410610235575b5001600c5f52865f205f5b83811061021a5742600e5560a08590526080869052601180546001600160a01b031916881790556101d58861052d565b50604051613fd190816105c182396080518181816114380152613677015260a0518181816115810152818161171501528181611a840152818161357601526137770152f35b82516001600160a01b031682820155918801916001016101a5565b600c5f5283835f2091820191015b818110610250575061019a565b5f8155899350600101610243565b634e487b7160e01b5f52604160045260245ffd5b82516001600160a01b0316828201559188019160010161014d565b60095f5283835f2091820191015b8181106102a85750610142565b5f815589935060010161029b565b63e6c4247b60e01b5f5260045ffd5b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761025e57604052565b51906001600160a01b03821682036102c557565b6201518081049060078206908115908180610384575b61037d57501561035d575060075b810180911161034957620151808102908082046201518014901517156103495790565b634e487b7160e01b5f52601160045260245ffd5b600703600781111561032657634e487b7160e01b5f52601160045260245ffd5b9250505090565b5062015180810615610318565b6001600160a01b0381165f9081525f5160206145b25f395f51905f52602052604090205460ff16610402576001600160a01b03165f8181525f5160206145b25f395f51905f5260205260408120805460ff191660011790553391905f5160206145925f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206145f25f395f51905f52602052604090205460ff16610402576001600160a01b03165f8181525f5160206145f25f395f51905f5260205260408120805460ff191660011790553391907f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357905f5160206145925f395f51905f529080a4600190565b6001600160a01b0381165f9081525f5160206145d25f395f51905f52602052604090205460ff16610402576001600160a01b03165f8181525f5160206145d25f395f51905f5260205260408120805460ff191660011790553391907f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb905f5160206145925f395f51905f529080a4600190565b6001600160a01b0381165f9081525f5160206146125f395f51905f52602052604090205460ff16610402576001600160a01b03165f8181525f5160206146125f395f51905f5260205260408120805460ff191660011790553391907f24927c918ee933e498c4f4704c8c8c5997712350624a2ab5df3edca55f9ac033905f5160206145925f395f51905f529080a460019056fe60806040526004361015610011575f80fd5b5f3560e01c806301ad758e1461039f57806301ffc9a71461039a578063092c5b3b1461039557806312064c341461039057806318160ddd1461038b5780631ac6d19d1461038657806323cb239014610381578063248a9ca31461037c5780632b1b9a21146103775780632d5ce3e6146103725780632e1a7d4d1461036d5780632f2ff15d1461036857806332d86ded1461036357806336568abe1461035e578063372500ab1461035957806339f26f4b146103545780633b946c711461034f5780633e2e52401461034a578063489bd367146103455780635c975abb146103405780635ea3f4fa1461033b578063616a53121461033657806365547c2b1461033157806370a082311461032c57806379d6abbe1461032757806380ac82281461032257806382fd8e5d1461031d57806388327d5014610318578063906a56701461031357806390e879861461030e57806391d148541461030957806395ccea671461030457806399eecb3b146102dc5780639d0ab89f146102ff578063a217fddf146102fa578063a592d9ec146102f5578063a694fc3a146102f0578063b470aade146102eb578063c0e1c59e146102e6578063c4f59f9b146102e1578063c57380a2146102dc578063c5a3ca46146102d7578063c925c680146102d2578063ca37271b146102cd578063cdbcaf18146102c8578063ce60089d146102c3578063d547741f146102be578063d6585ecf146102b9578063db517212146102b4578063dbc99775146102af578063dd4b1fb1146102aa578063dd89b736146102a5578063e40963f2146102a0578063ecc68a291461029b578063f06e22b814610296578063f4359ce5146102915763fda80b551461028c575f80fd5b6121e7565b6121ca565b6120ee565b611f5d565b611f35565b611eb6565b611de4565b611d1c565b611c0d565b611be6565b611bb2565b611b97565b611b54565b611aea565b611a4c565b6118e3565b61156c565b611866565b6117fd565b6117e0565b6116c0565b6116a3565b611689565b6115b0565b611530565b6114ee565b611478565b611423565b6112eb565b6112aa565b611291565b61123f565b611201565b6111c6565b61119f565b6110cd565b6110ab565b611086565b610fdf565b610e29565b610db1565b610d38565b610cf0565b610bfb565b610b38565b610ac0565b610a35565b6107b6565b610790565b6105c0565b6104d2565b6104b5565b61047a565b610442565b6103ec565b6103b2565b5f9103126103ae57565b5f80fd5b346103ae575f3660031901126103ae576103d46005546003546004549161282a565b604080519283526020830191909152819081015b0390f35b346103ae5760203660031901126103ae5760043563ffffffff60e01b81168091036103ae57602090637965db0b60e01b8114908115610431575b506040519015158152f35b6301ffc9a760e01b1490505f610426565b346103ae575f3660031901126103ae5760206040515f516020613edc5f395f51905f528152f35b6001600160a01b038116036103ae57565b346103ae5760203660031901126103ae5760043561049781610469565b60018060a01b03165f526010602052602060405f2054604051908152f35b346103ae575f3660031901126103ae576020600854604051908152f35b346103ae5760203660031901126103ae576004356104ef81610469565b6104f761284d565b60035442106105895761050861286b565b6001600160a01b0381161561057a5761051f612a40565b610527612b1a565b61053081612b5a565b5f5b60095481101561056f5760095f525f516020613f3c5f395f51905f5281015460019190610568906001600160a01b031684612b7b565b5001610532565b61057860015f55565b005b63e6c4247b60e01b5f5260045ffd5b6302455a9b60e11b5f5260045ffd5b60409060031901126103ae576004356105b081610469565b906024356105bd81610469565b90565b346103ae576105ce36610598565b6105d661286b565b6001600160a01b038216918215801561077f575b61057a576008600a5410156107705760405163313ce56760e01b8152602081600481875afa5f918161074f575b5061062b5763552b2fcd60e01b5f5260045ffd5b61063d9061063883610f66565b612336565b61064d61064982612c7a565b1590565b610741575b60405163313ce56760e01b815291602083600481875afa92831561073c577f46e16ae007fe8fc34f1a55933582e40b6ddcf62e168b5c5dd32fa927b4664f3893610702936106f6925f92610707575b506106f1906106c16106b161242e565b60018152935b60ff166020850152565b5f60408401526106d4856060850161244d565b5f60808401524260a08401525f60c08401525f60e0840152610f66565b61247b565b604051918291826118d0565b0390a2005b6106f191925061072e9060203d602011610735575b61072681836122ef565b810190612312565b91906106a1565b503d61071c565b61232b565b61074a8161236f565b610652565b61076991925060203d6020116107355761072681836122ef565b905f610617565b635024a38f60e01b5f5260045ffd5b506001600160a01b038216156105ea565b346103ae5760203660031901126103ae5760206107ae6004356124fb565b604051908152f35b346103ae5760403660031901126103ae576004356107d381610469565b602435906107df61284d565b6107e881610f66565b6002810154909190336001600160a01b03909116036109f75761080d61064982612c7a565b6109e85782156109d95761081f612c97565b6040516370a0823160e01b81526001600160a01b0391909116926020828061084a30600483016118d0565b0381875afa91821561073c575f926109b4575b5061086a90303386612e77565b6040516370a0823160e01b8152916020838061088930600483016118d0565b0381875afa801561073c576108cd610942936006927ffecaab358bdc05070c1a3688285e1fcea6591abad3ac197a35c589f26ace38d4965f91610985575b50612543565b916108e66108e0825460ff9060081c1690565b84612eb2565b60038201908154804210155f1461094e575061090461090d91612550565b62093a80900490565b60018301555b61091c42612587565b905542600482015501610930828254612597565b90556040519081529081906020820190565b0390a261057860015f55565b61090461095f61097e924290612543565b926109796109736001880195865490612574565b91612550565b612597565b9055610913565b6109a7915060203d6020116109ad575b61099f81836122ef565b81019061250d565b5f6108c7565b503d610995565b61086a9192506109d29060203d6020116109ad5761099f81836122ef565b919061085d565b63162908e360e11b5f5260045ffd5b63c8a08d6f60e01b5f5260045ffd5b635c187b8d60e01b5f5260045ffd5b801515036103ae57565b60409060031901126103ae57600435610a2881610469565b906024356105bd81610a06565b346103ae57610a4336610a10565b90610a4c61286b565b6001600160a01b039081165f818152600d60205260409020549092911615610ab15760207fd0c9b7d29c9d78752c4c849829be427bcd906db1676631e06ffeb91590df929391835f52600d8252610aa68160405f206125c2565b6040519015158152a2005b6312a3d7e760e31b5f5260045ffd5b346103ae5760203660031901126103ae57600435610adc61284d565b60035442106105895780156109d957610af3612a40565b610afc33612b5a565b610b068133612ebe565b6040519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d560203392a260015f55005b346103ae5760403660031901126103ae57610578602435600435610b5b82610469565b610b6c610b67826124fb565b612a09565b612f88565b90602080835192838152019201905f5b818110610b8e5750505090565b82516001600160a01b0316845260209384019390920191600101610b81565b90610bc090604083526040830190610b71565b906020818303910152602080835192838152019201905f5b818110610be55750505090565b8251845260209384019390920191600101610bd8565b346103ae5760203660031901126103ae57600435610c1881610469565b600954610c24816125f6565b90610c2e816125f6565b925f5b828110610c4a575050506103e860405192839283610bad565b80610c73610c64610c5d610cab94612253565b9054611f22565b610c6e8388612628565b61244d565b602083610c90610c838489612628565b516001600160a01b031690565b6040516365547c2b60e01b815294859283926004840161263c565b0381305afa801561073c576001925f91610cd2575b50610ccb8288612628565b5201610c31565b610cea915060203d81116109ad5761099f81836122ef565b5f610cc0565b346103ae5760403660031901126103ae57600435602435610d1081610469565b336001600160a01b03821603610d295761057891613000565b63334bd91960e11b5f5260045ffd5b346103ae575f3660031901126103ae57610d5061284d565b600354421061058957610d61612a40565b610d69612b1a565b610d7233612b5a565b5f5b60095481101561056f5760095f525f516020613f3c5f395f51905f5281015460019190610daa906001600160a01b031633612b7b565b5001610d74565b346103ae5760203660031901126103ae577f778c97e44d5672cf4e47c61c5d19aedece6e59debf5c9c9193f669cffe548c786020600435610df181610a06565b610df96128d9565b6011805460ff60a01b191691151560a090811b60ff60a01b169290921790819055604051911c60ff1615158152a1005b346103ae57610e3736610a10565b90610e4061286b565b8115610e7d5761070281610e615f516020613f5c5f395f51905f52936130d7565b60405193151584526001600160a01b0316929081906020820190565b6001600160a01b03610e9e610e9183610f7f565b546001600160a01b031690565b1615610ab157610ebd610eb082610f7f565b805460ff60a01b19169055565b6001600160a01b038116905f5b600c5480821015610f4b5783610ef4610ee284612270565b90546001600160a01b03929190611f22565b1614610f035750600101610eca565b5f516020613f5c5f395f51905f5293506107029291610f38610f32610c5d610f2d610f3e95612530565b612270565b91612270565b9061234c565b610f46613070565b610e61565b50505f516020613f5c5f395f51905f52915061070290610e61565b6001600160a01b03165f908152600f6020526040902090565b6001600160a01b03165f908152600d6020526040902090565b6001600160a01b03165f90815260106020526040902090565b6001600160a01b03165f908152600b6020526040902090565b9060018060a01b03165f5260205260405f2090565b346103ae5760203660031901126103ae57600435610ffc81610469565b6001600160a01b039081165f908152600f6020908152604091829020805460018201546002830154600384015460048501546005860154600690960154885160ff8088161515825260089790971c90961697860197909752968401929092529095166060820152608081019490945260a084019290925260c083019190915260e082015261010090f35b346103ae575f3660031901126103ae57602060ff60115460a01c166040519015158152f35b346103ae575f3660031901126103ae57602060ff600254166040519015158152f35b346103ae5760203660031901126103ae576004356110ea81610469565b6009546110f6816125f6565b90611100816125f6565b925f5b82811061111c575050506103e860405192839283610bad565b8061112f610c64610c5d61115a94612253565b60208361113f610c838489612628565b604051631015904560e31b815294859283926004840161263c565b0381305afa801561073c576001925f91611181575b5061117a8288612628565b5201611103565b611199915060203d81116109ad5761099f81836122ef565b5f61116f565b346103ae575f3660031901126103ae5760206040515f516020613efc5f395f51905f528152f35b346103ae57602060036111f76111db36610598565b6001600160a01b03165f90815260108552604090208301610fca565b0154604051908152f35b346103ae5760203660031901126103ae5760043561121e81610469565b60018060a01b03165f5260106020526020600160405f200154604051908152f35b346103ae5760203660031901126103ae5760043561125c81610469565b60018060a01b03165f526010602052606060405f20805490600260018201549101549060405192835260208301526040820152f35b346103ae5760206107ae6112a436610598565b90612656565b346103ae5760203660031901126103ae576004356112c781610469565b60018060a01b03165f52600b60205260206107ae60ff60405f205460081c1661323e565b346103ae576103e861138961138461130236610598565b61130d829392610f66565b805460081c60ff169360038201548042115f1461141b57915b60058101549260048201548082115f146114125761134391612543565b905b81151580611407575b6113d6575b505061136a90600461136485610f98565b01610fca565b905f92825490818311611399575b50505060010154612597565b613274565b6040519081529081906020820190565b6001939450916113b96113bf926113b26113cd95610f98565b5492612543565b90612574565b670de0b6b3a7640000900490565b91905f80611378565b926113f96113f06113ff93600161136a9697015490612574565b600754906125a4565b90612597565b91905f611353565b50600754151561134e565b50505f90611345565b504291611326565b346103ae575f3660031901126103ae576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9060206105bd928181520190610b71565b346103ae575f3660031901126103ae57604051600c80548083525f91825260208301915f516020613e7c5f395f51905f5291905b8181106114cf576103e8856114c3818703826122ef565b60405191829182611467565b82546001600160a01b03168452602090930192600192830192016114ac565b346103ae5760403660031901126103ae57602060ff61152460243560043561151582610469565b5f526001845260405f20610fca565b54166040519015158152f35b346103ae5760403660031901126103ae5761057860043561155081610469565b6024359061155c6128d9565b33906001600160a01b031661329b565b346103ae575f3660031901126103ae576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346103ae5760203660031901126103ae576004356115cd81610a06565b6115d561292d565b80156116255760025460ff16611616576116115f516020613ebc5f395f51905f52916115ff6132c2565b60405190151581529081906020820190565b0390a1005b631785c68160e01b5f5260045ffd5b60025460ff81161561167a575f516020613ebc5f395f51905f52916116119160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a16115ff565b636cd6020160e01b5f5260045ffd5b346103ae575f3660031901126103ae5760206040515f8152f35b346103ae575f3660031901126103ae576020600754604051908152f35b346103ae5760203660031901126103ae576004356116dc61284d565b6116e4613303565b60035442106105895780156109d95760405163aa79979b60e01b81526020818061171130600483016118d0565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561073c575f916117b1575b50156117a25761175b612a40565b61176433612b5a565b61176e8133612f30565b60405190815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d908060208101610942565b63d4220bed60e01b5f5260045ffd5b6117d3915060203d6020116117d9575b6117cb81836122ef565b8101906126d3565b5f61174d565b503d6117c1565b346103ae575f3660031901126103ae576020600454604051908152f35b346103ae575f3660031901126103ae5761181561284d565b60035442106105895761182733612d45565b5f5b600a5481101561056f57600a5f525f516020613e9c5f395f51905f528101546001919061185f906001600160a01b03163361331e565b5001611829565b346103ae575f3660031901126103ae57604051600980548083525f91825260208301915f516020613f3c5f395f51905f5291905b8181106118b1576103e8856114c3818703826122ef565b82546001600160a01b031684526020909301926001928301920161189a565b6001600160a01b03909116815260200190565b346103ae5760603660031901126103ae5760043561190081610469565b602435906044359061191182610469565b60035442106105895761192261299b565b82156109d9576001600160a01b03821690811561057a57611941612a40565b61194b8133613467565b6119543361353f565b61196381600361136433610f98565b60028101908154948587116109d9576040516370a0823160e01b8152966001600160a01b03851694906020898061199d30600483016118d0565b0381895afa90811561073c576103e8995f92611a2b575b5081811115611a2157509687935b846119d6575b60405185815280602081018c565b6119fb956119e686600394612543565b9055016119f4848254612597565b9055613647565b6040518381525f516020613f7c5f395f51905f5290602090a35f808083818080806119c8565b90509687936119c2565b611a4591925060203d6020116109ad5761099f81836122ef565b905f6119b4565b346103ae5760203660031901126103ae57600435611a6981610469565b60405163395f293b60e11b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561073c576103e892611389925f92611ac9575b50613760565b611ae391925060203d6020116109ad5761099f81836122ef565b905f611ac3565b346103ae5760203660031901126103ae57600435611b0781610469565b611b0f61284d565b600354421061058957611b48602091611b26612a40565b611b2f81613841565b611b398133613467565b611b423361353f565b33612b7b565b60015f55604051908152f35b346103ae5760203660031901126103ae57600435611b7181610469565b611b7961284d565b600354421061058957611b48602091611b9133612d45565b3361331e565b346103ae575f3660031901126103ae57602060405160088152f35b346103ae5760403660031901126103ae57610578602435600435611bd582610469565b611be1610b67826124fb565b613000565b346103ae575f3660031901126103ae5760206040515f516020613f1c5f395f51905f528152f35b346103ae5760203660031901126103ae57600435611c2a81610469565b5f60c0604051611c39816122b4565b8281528260208201528260408201528260608201528260808201528260a0820152015260018060a01b03165f52600b6020526103e860405f20600560405191611c81836122b4565b805460ff80821615158552611c999160081c166106b7565b600181015460408401526002810154606084015260038101546080840152600481015460a0840152015460c08201526040519182918291909160c08060e083019480511515845260ff602082015116602085015260408101516040850152606081015160608501526080810151608085015260a081015160a08501520151910152565b346103ae576103e8611d71611d3036610598565b5f6080604051611d3f816122d4565b828152826020820152826040820152826060820152015260018060a01b03165f526010602052600360405f2001610fca565b600460405191611d80836122d4565b80548352600181015460208401526002810154604084015260038101546060840152015460808201526040519182918291909160808060a0830194805184526020810151602085015260408101516040850152606081015160608501520151910152565b346103ae5760203660031901126103ae57600435611e0181610469565b600a54611e0d816125f6565b90611e17816125f6565b925f5b828110611e33575050506103e860405192839283610bad565b80611e46610c64610c5d611e7194612288565b602083611e56610c838489612628565b60405163088327d560e41b815294859283926004840161263c565b0381305afa801561073c576001925f91611e98575b50611e918288612628565b5201611e1a565b611eb0915060203d81116109ad5761099f81836122ef565b5f611e86565b346103ae575f3660031901126103ae57611ece61284d565b600354421061058957611edf612a40565b611ee833612b5a565b611ef133612d45565b6040514281527e745e876c45796ea32ef5ef1bcbf9cef81cfd16666c9364caa1cb8a6ddbd67660203392a260015f55005b60039190911b1c6001600160a01b031690565b346103ae575f3660031901126103ae576011546040516001600160a01b039091168152602090f35b346103ae57611f6b36610598565b611f7361286b565b611f86611f7f83610fb1565b5460ff1690565b6120df576001600160a01b0316156109f75760405163313ce56760e01b81526001600160a01b0382169190602081600481865afa5f91816120be575b50611fd65763552b2fcd60e01b5f5260045ffd5b611fe39061063883610fb1565b6001600160a01b0381165f908152600b602052604090205460ff16156120b0575b60405163313ce56760e01b815290602082600481865afa90811561073c57612065925f9261208b575b506120609061203d6106b161243e565b5f60408401525f60608401524260808401525f60a08401525f60c0840152610fb1565b612748565b7ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf8265f80a2005b6120609192506120a99060203d6020116107355761072681836122ef565b919061202d565b6120b9816123b0565b612004565b6120d891925060203d6020116107355761072681836122ef565b905f611fc2565b63185add2960e11b5f5260045ffd5b346103ae575f3660031901126103ae5761210661284d565b600354421061058957612117612a40565b5f5b600c548110156121c15761212f610c5d82612270565b60405163133dac2960e11b815291905f838061214e30600483016118d0565b03816001600160a01b0385165afa801561073c576001935f9161219f575b505f5b815181101561219657806121908461218b610c83899587612628565b6138f0565b0161216f565b50505001612119565b6121bb91503d805f833e6121b381836122ef565b8101906127a7565b5f61216c565b61056f42600e55565b346103ae575f3660031901126103ae57602060405162093a808152f35b346103ae575f3660031901126103ae5760e060035460045460055460018060a01b03600654166007549060085492600e5494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b634e487b7160e01b5f52603260045260245ffd5b60095481101561226b5760095f5260205f2001905f90565b61223f565b600c5481101561226b57600c5f5260205f2001905f90565b600a5481101561226b57600a5f5260205f2001905f90565b634e487b7160e01b5f52604160045260245ffd5b60e081019081106001600160401b038211176122cf57604052565b6122a0565b60a081019081106001600160401b038211176122cf57604052565b601f909101601f19168101906001600160401b038211908210176122cf57604052565b908160209103126103ae575160ff811681036103ae5790565b6040513d5f823e3d90fd5b9061ff0082549160081b169061ff001916179055565b80546001600160a01b0360039390931b83811b199091169290931690921b179055565b600a5490600160401b8210156122cf5760018201600a55600a5482101561226b57600a5f9081526123ae925f516020613e9c5f395f51905f520161234c565b565b60095490600160401b8210156122cf576001820160095560095482101561226b5760095f9081526123ae925f516020613f3c5f395f51905f520161234c565b600c5490600160401b8210156122cf5760018201600c55600c5482101561226b57600c5f9081526123ae925f516020613e7c5f395f51905f520161234c565b604051906123ae610100836122ef565b604051906123ae60e0836122ef565b6001600160a01b039091169052565b80546001600160a01b0319166001600160a01b03909216919091179055565b9060e060069161249a81511515859060ff801983541691151516179055565b6124b16124ab602083015160ff1690565b85612336565b6040810151600185015560608101516124d6906001600160a01b03166002860161245c565b6080810151600385015560a0810151600485015560c081015160058501550151910155565b5f526001602052600160405f20015490565b908160209103126103ae575190565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161253e57565b61251c565b9190820391821161253e57565b90670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561253e57565b8181029291811591840414171561253e57565b9062093a80820180921161253e57565b9190820180921161253e57565b81156125ae570490565b634e487b7160e01b5f52601260045260245ffd5b805460ff60a01b191691151560a01b60ff60a01b16919091179055565b6001600160401b0381116122cf5760051b60200190565b90612600826125df565b61260d60405191826122ef565b828152809261261e601f19916125df565b0190602036910137565b805182101561226b5760209160051b010190565b6001600160a01b0391821681529116602082015260400190565b60018060a01b0382165f52601060205260405f20916001830154156126cc578160036126b661268a6002956126bd95613165565b91505060018060a01b0384165f52600b6020526126b060ff60405f205460081c1661323e565b906125a4565b9401610fca565b015490810180911161253e5790565b5050505f90565b908160209103126103ae57516105bd81610a06565b906040516126f5816122b4565b60c06005829461271960ff82548181161515875260081c16602086019060ff169052565b600181015460408501526002810154606085015260038101546080850152600481015460a08501520154910152565b9060c060059161276781511515859060ff801983541691151516179055565b61277860ff60208301511685612336565b60408101516001850155606081015160028501556080810151600385015560a081015160048501550151910155565b6020818303126103ae578051906001600160401b0382116103ae57019080601f830112156103ae5781516127da816125df565b926127e860405194856122ef565b81845260208085019260051b8201019283116103ae57602001905b8282106128105750505090565b60208091835161281f81610469565b815201910190612803565b8261283791949394612574565b810180911161253e5791820180831161253e5790565b60025f541461285c5760025f55565b633ee5aeb560e01b5f5260045ffd5b5f516020613edc5f395f51905f525f52600160205260ff6128ac337fc3eac9ead20d697480ab489ced881761c627fd3281937449e4d4d7fbf9faa2cd610fca565b5416156128b557565b63e2517d3f60e01b5f52336004525f516020613edc5f395f51905f5260245260445ffd5b5f8052600160205260ff61290d337fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49610fca565b54161561291657565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f516020613f1c5f395f51905f525f52600160205260ff61296e337f0298389358dc4e56cb082b3bb11d0524b39b30d4fc48a48562a008cd6edee05f610fca565b54161561297757565b63e2517d3f60e01b5f52336004525f516020613f1c5f395f51905f5260245260445ffd5b5f516020613efc5f395f51905f525f52600160205260ff6129dc337f016de9afd02c17cd0ae54c97293c2a2a0d799672f990d1e187070b9998197fdb610fca565b5416156129e557565b63e2517d3f60e01b5f52336004525f516020613efc5f395f51905f5260245260445ffd5b805f52600160205260ff612a203360405f20610fca565b541615612a2a5750565b63e2517d3f60e01b5f523360045260245260445ffd5b612a526005546003546004549161282a565b809150421015612a5f5750565b5f5b600954811015612b005780826003612a85612a80610c5d600196612253565b610fb1565b60085480151580612af4575b612aaa575b505f858201555f6005820155015501612a61565b8183015480851115612aec57612ac09085612543565b905b81612ace575b50612a96565b612ae390600284019283548986015490613a20565b90555f80612ac8565b505f90612ac2565b50858201541515612a91565b50506123ae612b156003546004549042613a75565b600555565b5f5b600954811015612b575760095f525f516020613f3c5f395f51905f5281015460019190612b51906001600160a01b0316613841565b01612b1c565b50565b6001600160a01b03811615612b575780612b766123ae92613a90565b61353f565b905f91612b8d82600361136484610f98565b90600282019182549384612ba4575b505050505090565b6040516370a0823160e01b815294955092936001600160a01b0384169391929060208180612bd530600483016118d0565b0381885afa90811561073c575f91612c5b575b5080871115612c5357945b612bfe868098612543565b90558415612b9c57612c2c8582612c469460035f516020613f7c5f395f51905f5297016119f4848254612597565b6040519485526001600160a01b0316939081906020820190565b0390a35f80808080612b9c565b508594612bf3565b612c74915060203d6020116109ad5761099f81836122ef565b5f612be8565b6001600160a01b03165f908152600f602052604090205460ff1690565b5f5b600a54811015612b575780612cba612cb5610c5d600194612288565b610f66565b60038101548042115f14612d3d57905b6005810191825490600483019081548082115f14612d3557612cec9082612543565b915b82612d00575b50505050505001612c99565b5560075480612d10575b80612cf4565b612d246113f99288612d2996015490612574565b6125a4565b90555f80808080612d0a565b505f91612cee565b504290612cca565b5f5b600a54811015612e515780612d60610c5d600193612288565b612d6981610f66565b9060038201548042115f14612e4957915b6005810190815493600482019081548082115f14612e4157612d9c9082612543565b915b82612e0d575b5050505050838060a01b038516612dbe575b505001612d47565b612dcd90600461136487610f98565b908154808211612dde575b50612db6565b612df96113bf836113b98894612e039688556113b28b610f98565b9201918254612597565b90555f8080612dd8565b556007549182612e1e575b80612da4565b91612d246113f99289612e35969895015490612574565b8092555f808080612e18565b505f91612d9e565b504291612d7a565b5050565b6001600160a01b03918216815291166020820152604081019190915260600190565b90612ead90612e9f6123ae956040519586936323b872dd60e01b602086015260248501612e55565b03601f1981018452836122ef565b613ade565b6113b96105bd9261323e565b612ec781610f98565b612ed082612d45565b80548311612f215760075483810390811161253e5760075580549280840393841161253e579290556006546123ae92612f139183906001600160a01b031661329b565b612f1c8161353f565b613a90565b6345a5c39960e11b5f5260045ffd5b612f3981610f98565b91612f4382612d45565b600654612f5e908290309085906001600160a01b0316612e77565b60075481810180911161253e57600755825490810180911161253e576123ae9255612f1c8161353f565b805f52600160205260ff612f9f8360405f20610fca565b5416612ffa57805f526001602052612fba8260405f20610fca565b805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f52600160205260ff6130178360405f20610fca565b541615612ffa57805f5260016020526130338260405f20610fca565b805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b600c5480156130c3575f19810190600c5482101561226b57600c5f8190527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c690910180546001600160a01b031916905555565b634e487b7160e01b5f52603160045260245ffd5b6001600160a01b038181165f818152600d6020526040902054909291166131565760408051908101906001600160401b038211818310176122cf576123ae93613151926040528082525f60208301525f52600d602052602060405f209161314760018060a01b038251168461245c565b01511515906125c2565b6123ef565b633d873e1f60e01b5f5260045ffd5b919061317861317382610fb1565b6126e8565b9261318b6005546003546004549161282a565b429150808211613236575b5060808501518082111561322e576131ad91612543565b60608501519481151580613223575b613202575b50509081846131f760016131d76131fe96610f98565b015493600361136460016131ef84846113648a610f98565b015495610f98565b5492613b36565b9091565b9461321a9160406131fe959497015160085492613a20565b9390915f6131c1565b5060085415156131bc565b50505f6131ad565b90505f613196565b60ff168015801561326a575b6109e85760120360ff811161253e5760ff16604d811161253e57600a0a90565b506012811161324a565b6126b06105bd9261323e565b6001600160a01b039091168152602081019190915260400190565b612ead6123ae9392612e9f60405194859263a9059cbb60e01b602085015260248401613280565b6132ca613303565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1565b60ff6002541661330f57565b63d93c066560e01b5f5260045ffd5b91905f9261333182600461136484610f98565b9061334861333e84610f66565b5460081c60ff1690565b600183019283549261336261335c8461323e565b856125a4565b9586613372575b50505050505050565b909192939495975060018060a01b0316936040516370a0823160e01b8152602081806133a130600483016118d0565b0381895afa90811561073c575f91613448575b508089111561344057955b6133ca87809a612543565b81558615613369576002613431946134249261341961341261340c7ff378efe1103309c7c4ac2b55ac99569131ab2aa8aee6be174ea37474197bb3529a61323e565b8c612574565b8096612543565b905501918254612597565b9055612c2c85828661329b565b0390a35f808080808080613369565b5087956133bf565b613461915060203d6020116109ad5761099f81836122ef565b5f6133b4565b90600161347383610f98565b0154906001600160a01b0383161561353a5761348e81610fb1565b916134a8826134a281600361136489610f98565b95613165565b92909194856002820180548203613505575b5050506134d2575b5050506001820155600442910155565b6134e761333e6134ec946126b0938855610fb1565b61323e565b6134fb60028401918254612597565b90555f80806134c2565b556135186005546003546004549161282a565b42929150808311613531575b50600301555f85816134ba565b91506003613524565b505050565b61354881610f98565b600181019182549082549261355d8483613760565b60405163315865df60e01b8152959093906020876004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa95861561073c576135e57f3042bda52a74ddb3e9f32af4781d52bf053f705dba3c9e09f402f6fb9446474d97613621976135fe936135f99b5f93613626575b50613b84565b9788936135f485600854612597565b612543565b600855565b5542600291909101556040519384526001600160a01b0316929081906020820190565b0390a2565b61364091935060203d6020116109ad5761099f81836122ef565b915f6135df565b6011546001600160a01b03918216939181168414908161373c575b50156137325760405163095ea7b360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316936020908290815f816136b6888b60048401613280565b03925af1801561073c57613715575b50823b156103ae576136f0925f9283604051809681958294630f29367d60e21b845260048401613280565b03925af1801561073c576137015750565b8061370f5f6123ae936122ef565b806103a4565b61372d9060203d6020116117d9576117cb81836122ef565b6136c5565b906123ae9261329b565b60a01c60ff1690505f613662565b91908260409103126103ae576020825192015190565b908015612ffa576040805163a85bde9d60e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316939092839182916137b591309060048501612e55565b0381855afa5f918161380f575b5061380a5750602060049160405192838092630a7486c760e01b82525afa90811561073c575f916137f1575090565b6105bd915060203d6020116109ad5761099f81836122ef565b905090565b61383291925060403d60401161383a575b61382a81836122ef565b81019061374a565b50905f6137c2565b503d613820565b9060ff61385061333e84610fb1565b16156138ec575f5b600c548110156138e75761386e610c5d82612270565b604051632d538ac560e21b815291906020838061388f88306004840161263c565b03816001600160a01b0385165afa801561073c576001935f916138c9575b50156138c3576138bd9085613bb1565b01613858565b506138bd565b6138e1915060203d81116117d9576117cb81836122ef565b5f6138ad565b509050565b9050565b906138fa82610fb1565b91825460ff61390d8260ff9060081c1690565b166139c55750825460ff1916600117835560405163313ce56760e01b8152926001600160a01b03821690602085600481855afa5f95816139a4575b5061395c5763552b2fcd60e01b5f5260045ffd5b60ff8516156109e8576123ae9461397291612336565b61397b826123b0565b7fce34593ca634648919e160816626a2dac47222f33d18bd1c49154fc50b929c175f80a2613bb1565b6139be91965060203d6020116107355761072681836122ef565b945f613948565b926139d66106496123ae9560ff1690565b6139e1575b50613bb1565b805460ff191660011790556001600160a01b0381167f4b4d15aa7b18b06d57b6c468bef7e8fba250a69227a78f19a622b7dd87dc81d45f80a25f6139db565b92909181158015613a6d575b8015613a65575b613a5f57613a47613a4d91613a5394613d5b565b91613d95565b90613dac565b810180911161253e5790565b50505090565b508015613a33565b508215613a2c565b91908083106126cc57820391821161253e576105bd916125a4565b906001600160a01b038216156138ec575f5b6009548110156138e75760095f525f516020613f3c5f395f51905f5281015460019190613ad8906001600160a01b031685613467565b01613aa2565b905f602091828151910182855af11561232b575f513d613b2d57506001600160a01b0381163b155b613b0d5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415613b06565b909193929381158015613b7a575b6126cc57820391821161253e57613b6b91613b61613b6692613d95565b613d5b565b613ddc565b9182810180911161253e579190565b5080831115613b44565b9291908315613baa5790612d24613b9b9285612574565b91808311613ba65750565b9150565b505f925050565b6020604051809363fd1a0e9f60e01b8252815f81613bd387306004840161263c565b03926001600160a01b03165af191821561073c575f92613d3a575b508115612e5157613c29613c0182610fb1565b9260085480151580613d2d575b613ce0575b504260038501556113b96134e761333e85610fb1565b6004613c3483613dfb565b93846005820155613c77600554613c5260035491855492839161282a565b905042811115613cda57613c6891504290612543565b613c728786612597565b613e54565b600182015501613c88828254612597565b905582613c9457505050565b6040805193845260208401919091526001600160a01b03909116917f5710c657a345f3bf2b24aa91da64582691e7b10198bad5a0ecd2096b33bbe1619181908101613621565b50613c68565b60038501548042115f14613d2557613cf89042612543565b905b81613d06575b50613c13565b613d1c9060028701928354600189015490613a20565b90555f80613d00565b505f90613cfa565b5060018501541515613c0e565b613d5491925060203d6020116109ad5761099f81836122ef565b905f613bee565b8115676765c793fa10079d601a1b1983900482111517156103ae57676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b90633b9aca00820291633b9aca008304036103ae57565b600182901c908215676765c793fa10079d601b1b8319048211176103ae57676765c793fa10079d601b1b02010490565b90631dcd6500633b9aca0080840493061015613df457565b9060010190565b6001600160a01b03165f908152600b60205260409020600101548015613e4f57613e2d6005546003546004549161282a565b80929150421015612ffa5742820391821161253e576105bd91613b6691613d5b565b505f90565b9080158015613e73575b612ffa57613e6e6105bd92613d95565b613dac565b508115613e5e56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8ed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c57022335724927c918ee933e498c4f4704c8c8c5997712350624a2ab5df3edca55f9ac0335c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af19e1fee2e38695e60ad3ef8c81759c22d6d7ee56f9b8805363820a50da468a184634ecdf654a6f266749291b25bdd00963ec5fe7262fb458f390d94b670558eea2646970667358221220621f60260eea69513252438cdd1f93298c8e4b24a6199405386dd02d56b4f3d864736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0da6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb490298389358dc4e56cb082b3bb11d0524b39b30d4fc48a48562a008cd6edee05fc3eac9ead20d697480ab489ced881761c627fd3281937449e4d4d7fbf9faa2cd016de9afd02c17cd0ae54c97293c2a2a0d799672f990d1e187070b9998197fdb";
|
|
17
|
+
static readonly bytecode = "0x60a0806040523461035f5760c081614bf4803803809161001f8285610404565b83398101031261035f5761003281610427565b61003e60208301610427565b9061004b60408401610427565b9161005860608501610427565b9261007160a061006a60808801610427565b9601610427565b61007a4261043b565b60015f55662386f26fc100006003556014805460ff60a01b1916600160a01b1790556001600160a01b0384169490939085156103b9576001600160a01b031680156103b9576001600160a01b0384169687156103b9576001600160a01b03169788156103b9576001600160a01b03169485156103b9576001600160a01b0384169283156103b9576004956101306101369261012a60209861011a336104ca565b5061012433610540565b506105d3565b50610666565b506106f9565b5060055562093a806006555f600755600880546001600160a01b0319908116929092179055600c8054821686179055600b80549091168217905560405163f7c618c160e01b815292839182905afa801561036a5782915f916103c8575b506001600160a01b0316036103b9575f6009555f600a556020906040516101ba8382610404565b5f81525f3681378051906001600160401b03821161031957680100000000000000008211610319578390600f5483600f55808410610390575b5001600f5f52835f205f5b83811061037557505042601155505060405163313ce56760e01b8152908282600481845afa91821561036a575f9261032d575b506040519260e08401926001600160401b03841185851017610319576005936040526001855260ff82860191168152604085015f815260608601905f82526080870192428452600e60a08901955f875260c08a01975f89525f525260405f209751151560ff80198a541691161788555161ff0088549160081b169061ff0019161787555160018701555160028601555160038501555160048401555191015560018060a01b0319600454161760045560805260018060a01b031960145416176014556040516143a7908161078d823960805181818161140301528181612aa50152613d430152f35b634e487b7160e01b5f52604160045260245ffd5b9091508281813d8311610363575b6103458183610404565b8101031261035f575160ff8116810361035f57905f610231565b5f80fd5b503d61033b565b6040513d5f823e3d90fd5b82516001600160a01b031682820155918501916001016101fe565b600f5f5283835f2091820191015b8181106103ab57506101f3565b5f815586935060010161039e565b63e6c4247b60e01b5f5260045ffd5b9150506020813d6020116103fc575b816103e460209383610404565b8101031261035f576103f68291610427565b5f610193565b3d91506103d7565b601f909101601f19168101906001600160401b0382119082101761031957604052565b51906001600160a01b038216820361035f57565b62015180810490600782069081159081806104bd575b6104b6575015610496575060075b810180911161048257620151808102908082046201518014901517156104825790565b634e487b7160e01b5f52601160045260245ffd5b600703600781111561045f57634e487b7160e01b5f52601160045260245ffd5b9250505090565b5062015180810615610451565b6001600160a01b0381165f9081525f516020614b545f395f51905f52602052604090205460ff1661053b576001600160a01b03165f8181525f516020614b545f395f51905f5260205260408120805460ff191660011790553391905f516020614b345f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f516020614bb45f395f51905f52602052604090205460ff1661053b576001600160a01b03165f8181525f516020614bb45f395f51905f5260205260408120805460ff191660011790553391907ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014905f516020614b345f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020614b745f395f51905f52602052604090205460ff1661053b576001600160a01b03165f8181525f516020614b745f395f51905f5260205260408120805460ff191660011790553391907ffbd454f36a7e1a388bd6fc3ab10d434aa4578f811acbbcf33afb1c697486313c905f516020614b345f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020614b945f395f51905f52602052604090205460ff1661053b576001600160a01b03165f8181525f516020614b945f395f51905f5260205260408120805460ff191660011790553391907f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357905f516020614b345f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020614bd45f395f51905f52602052604090205460ff1661053b576001600160a01b03165f8181525f516020614bd45f395f51905f5260205260408120805460ff191660011790553391907f24927c918ee933e498c4f4704c8c8c5997712350624a2ab5df3edca55f9ac033905f516020614b345f395f51905f529080a460019056fe60806040526004361015610011575f80fd5b5f3560e01c806301ad758e146103ca57806301ffc9a7146103c5578063092c5b3b146103c05780630e34750e146103bb57806312064c34146103b6578063161d5c1b146103b157806318160ddd146103ac5780631ac6d19d146103a75780631c03e6cc146103a2578063248a9ca31461039d5780632b1b9a21146103985780632b4fde00146103935780632e1a7d4d1461038e5780632f2ff15d1461038957806336568abe1461038457806339f26f4b1461037f5780633b946c711461037a5780633e2e524014610375578063489bd367146103705780635c975abb14610307578063616a53121461036b57806365547c2b14610366578063680730041461036157806370a082311461035c578063736157081461035757806379d6abbe1461035257806380ac82281461034d57806382fd8e5d14610348578063864c29b91461034357806388327d501461033e578063906a56701461033957806390e879861461033457806391d148541461032f57806392eefe9b1461032a57806399eecb3b146102f35780639d0ab89f14610325578063a217fddf14610320578063a592d9ec1461031b578063a694fc3a14610316578063a710d3ba14610311578063afd189161461030c578063b187bd2614610307578063b470aade14610302578063c0e1c59e146102fd578063c4f59f9b146102f8578063c57380a2146102f3578063c5a3ca46146102ee578063c925c680146102e9578063cdbcaf18146102e4578063ce60089d146102df578063d547741f146102da578063db517212146102d5578063dbc99775146102d0578063dcda162c146102cb578063dd4b1fb1146102c6578063e40963f2146102c1578063f0bd87cc146102bc578063f31878ae146102b7578063f4359ce5146102b25763fda80b55146102ad575f80fd5b612082565b612065565b611fd1565b611faa565b611f82565b611e88565b611e13565b611d38565b611c2d565b611bfc565b611be1565b611b4a565b611ab0565b6119fb565b6115d5565b611953565b6118c9565b6118ac565b610f46565b611817565b6117ad565b61170d565b6116f0565b6116d6565b6115fd565b611537565b6114f8565b611482565b6113ee565b6112c3565b611234565b6111f6565b61115f565b611110565b6110c4565b611089565b610fdb565b610f8f565b610f68565b610f21565b610e8f565b610cc8565b610c50565b610c02565b610bcc565b610b3c565b610b10565b61083b565b610815565b610664565b6105aa565b61058d565b610537565b6104ff565b610494565b61046d565b610417565b6103dd565b5f9103126103d957565b5f80fd5b346103d9575f3660031901126103d9576103ff60075460055460065491612b34565b604080519283526020830191909152819081015b0390f35b346103d95760203660031901126103d95760043563ffffffff60e01b81168091036103d957602090637965db0b60e01b811490811561045c575b506040519015158152f35b6301ffc9a760e01b1490505f610451565b346103d9575f3660031901126103d95760206040515f5160206142325f395f51905f528152f35b346103d9575f3660031901126103d9576020600354604051908152f35b6001600160a01b031690565b600435906001600160a01b03821682036103d957565b602435906001600160a01b03821682036103d957565b604435906001600160a01b03821682036103d957565b346103d95760203660031901126103d9576001600160a01b036105206104bd565b165f526013602052602060405f2054604051908152f35b346103d95760203660031901126103d95760406001600160a01b0361055a6104bd565b165f90815260106020908152908290205482516001600160a01b038216815260a09190911c60ff16151591810191909152f35b346103d9575f3660031901126103d9576020600a54604051908152f35b346103d95760203660031901126103d9576105c36104bd565b60ff6002541680156105ee575b6105df576105dd906121a6565b005b63d93c066560e01b5f5260045ffd5b5060048054602090610608906001600160a01b03166104b1565b6040516358c3de9360e11b815292839182905afa90811561065f575f91610630575b506105d0565b610652915060203d602011610658575b61064a8183612163565b810190612186565b5f61062a565b503d610640565b61219b565b346103d95760203660031901126103d95761067d6104bd565b610685612b75565b6001600160a01b0381169081156108065761069f8161319f565b6107f7576008600d5410156107e85760405163313ce56760e01b8152602081600481865afa5f91816107c7575b506106e05763552b2fcd60e01b5f5260045ffd5b6106f2906106ed83610e16565b612285565b6106fb81612302565b60405163313ce56760e01b815290602082600481865afa90811561065f5761076c925f92610792575b5061076790610744610734612380565b60018152935b60ff166020850152565b5f60408401525f60608401524260808401525f60a08401525f60c0840152610e16565b61238f565b7fe8a8fe2740576ea7353a02468cc63be9b391ca8f67842e6c10350ea8742e49b15f80a2005b6107679192506107b99060203d6020116107c0575b6107b18183612163565b81019061226c565b9190610724565b503d6107a7565b6107e191925060203d6020116107c0576107b18183612163565b905f6106cc565b635024a38f60e01b5f5260045ffd5b63185add2960e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b346103d95760203660031901126103d95760206108336004356123e7565b604051908152f35b346103d95760403660031901126103d9576108546104bd565b60243590610860612b57565b61086981610e16565b906001600160a01b0361088461087e33610e2f565b546104b1565b1615610b01576108a76108a361089933610e2f565b5460a01c60ff1690565b1590565b610af2576108b76108a38261319f565b610ae3578215610ad4576108c96131bc565b6040516370a0823160e01b81526001600160a01b039190911692602082806108f430600483016119e8565b0381875afa91821561065f575f92610aaf575b50610914903033866133c6565b6040516370a0823160e01b8152916020838061093330600483016119e8565b0381875afa801561065f57610977610a06936005927ffecaab358bdc05070c1a3688285e1fcea6591abad3ac197a35c589f26ace38d4965f91610a80575b5061242a565b9161099061098a825460ff9060081c1690565b84613401565b60028201908154804210155f14610a45576109c36109c8916109d1935f91600388015490808210610a12575b505061248c565b612437565b62093a80900490565b60018301555b6109e04261246e565b9055426003820155016109f482825461248c565b90556040519081529081906020820190565b0390a26105dd60015f55565b610a3d929350610a2f91610a259161242a565b600189015461245b565b670de0b6b3a7640000900490565b905f806109bc565b6109c8610a5a610a799260038701549061242a565b92610a74610a6e600188019586549061245b565b91612437565b61248c565b90556109d7565b610aa2915060203d602011610aa8575b610a9a8183612163565b8101906123f9565b5f610971565b503d610a90565b610914919250610acd9060203d602011610aa857610a9a8183612163565b9190610907565b63162908e360e11b5f5260045ffd5b63c8a08d6f60e01b5f5260045ffd5b6330dbc71960e11b5f5260045ffd5b6312a3d7e760e31b5f5260045ffd5b346103d95760403660031901126103d9576020610833610b2e6104bd565b610b366104d3565b906124b7565b346103d95760203660031901126103d957600435610b58612b57565b6005544210610bbd578015610ad457610b6f612d92565b610b78336140aa565b610b8133613b2a565b610b8b813361340d565b6040519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d560203392a260015f55005b6302455a9b60e11b5f5260045ffd5b346103d95760403660031901126103d9576105dd600435610beb6104d3565b90610bfd610bf8826123e7565b612d5b565b61360b565b346103d95760403660031901126103d957600435610c1e6104d3565b336001600160a01b03821603610c37576105dd916137a0565b63334bd91960e11b5f5260045ffd5b801515036103d957565b346103d95760203660031901126103d9577f778c97e44d5672cf4e47c61c5d19aedece6e59debf5c9c9193f669cffe548c786020600435610c9081610c46565b610c98612be3565b6014805460ff60a01b191691151560a090811b60ff60a01b169290921790819055604051911c60ff1615158152a1005b346103d95760403660031901126103d957610ce16104bd565b60243590610cee82610c46565b610cf6612b75565b8115610d3857610d3381610d175f5160206142d25f395f51905f5293613864565b60405193151584526001600160a01b0316929081906020820190565b0390a2005b6001600160a01b03610d4c61087e83610e2f565b1615610b01575f610d5c82610e2f565b556001600160a01b038116905f5b600f5480821015610dfb5783610d94610d82846122af565b90546001600160a01b039291906115c2565b1614610da35750600101610d6a565b5f5160206142d25f395f51905f529350610d339291610ddf610dd9610dd2610dcd610de59561241c565b6122af565b90546115c2565b916122af565b906122df565b610ded6137fd565b610df642601155565b610d17565b50505f5160206142d25f395f51905f529150610d3390610ded565b6001600160a01b03165f90815260126020526040902090565b6001600160a01b03165f90815260106020526040902090565b6001600160a01b03165f90815260136020526040902090565b6001600160a01b03165f908152600e6020526040902090565b9060018060a01b03165f5260205260405f2090565b346103d95760203660031901126103d9576001600160a01b03610eb06104bd565b165f52601260205260405f20805461041360018301549260028101549060038101546005600483015492015492604051968660ff808a9960081c1691168893909796959260ff60c0969360e087019a1515875216602086015260408501526060840152608083015260a08201520152565b346103d9575f3660031901126103d957602060ff60145460a01c166040519015158152f35b346103d9575f3660031901126103d957602060ff600254166040519015158152f35b346103d9575f3660031901126103d95760206040515f5160206142725f395f51905f528152f35b346103d95760403660031901126103d95760206003610fd1610faf6104bd565b6001600160a01b03610fbf6104d3565b165f52601384528260405f2001610e7a565b0154604051908152f35b346103d9575f3660031901126103d957610ff3612b57565b60ff600254168015611028575b6105df5761041361100f612516565b61101860015f55565b6040519081529081906020820190565b5060048054602090611042906001600160a01b03166104b1565b6040516358c3de9360e11b815292839182905afa90811561065f575f9161106a575b50611000565b611083915060203d6020116106585761064a8183612163565b5f611064565b346103d95760203660031901126103d9576001600160a01b036110aa6104bd565b165f5260136020526020600160405f200154604051908152f35b346103d95760203660031901126103d9577f7bee376135eb903bead0fd2a4c16c13bd1b51125d0cd3016c9c40137f8bfb0496020600435611103612be3565b80600355604051908152a1005b346103d95760203660031901126103d9576001600160a01b036111316104bd565b165f526013602052606060405f20805490600260018201549101549060405192835260208301526040820152f35b346103d95760403660031901126103d9576111786104bd565b6111806104d3565b9060018060a01b0382165f52601360205260026111b18260036111a78260405f209761390b565b9791505001610e7a565b01549182018092116111f1576001600160a01b03165f908152600e602052604090205461041391611018916111eb9060081c60ff166139e4565b90612499565b612408565b346103d95760203660031901126103d9576001600160a01b036112176104bd565b165f52600e602052602061083360ff60405f205460081c166139e4565b346103d95760203660031901126103d95761124d6104bd565b611255612be3565b6001600160a01b03811690811561080657600b546112989190611280906001600160a01b0316613670565b50600b80546001600160a01b031916841790556134d7565b50426011557fc25467daddca749c7ea27c70132640189f3c1a2ec9f10083dcf248cee139d34c5f80a2005b346103d95760403660031901126103d9576104136110186112e26104bd565b61136d6112ed6104d3565b6112f683610e16565b805460081c60ff169360028201548042115f146113e657915b60048101549260038201548082115f146113dd5761132c9161242a565b905b811515806113d2575b6113a1575b505061135390600461134d85610e48565b01610e7a565b905f92825490818311611372575b5050506001015461248c565b613a1a565b600193945091611392610a2f9261138b61139895610e48565b549261242a565b9061245b565b91905f80611361565b926113c46113bb6113ca936001611353969701549061245b565b60095490612499565b9061248c565b91905f61133c565b506009541515611337565b50505f9061132e565b50429161130f565b346103d9575f3660031901126103d9576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b90602080835192838152019201905f5b81811061144f5750505090565b82516001600160a01b0316845260209384019390920191600101611442565b90602061147f928181520190611432565b90565b346103d9575f3660031901126103d957604051600f80548083525f91825260208301915f5160206143525f395f51905f5291905b8181106114d957610413856114cd81870382612163565b6040519182918261146e565b82546001600160a01b03168452602090930192600192830192016114b6565b346103d95760403660031901126103d957602060ff61152b60043561151b6104d3565b905f526001845260405f20610e7a565b54166040519015158152f35b346103d95760203660031901126103d9576115506104bd565b611558612b75565b6001600160a01b038116908115610806576004546001600160a01b03169061159b9061158383613708565b50600480546001600160a01b03191685179055613571565b507f1c87e2bbc4e5fa5d7f6f8c44d66cb241dff224b8602eb5435ca2076d2a5c6fc25f80a3005b60039190911b1c6001600160a01b031690565b346103d9575f3660031901126103d9576004546040516001600160a01b039091168152602090f35b346103d95760203660031901126103d95760043561161a81610c46565b611622612c37565b80156116725760025460ff166116635761165e5f5160206141f25f395f51905f529161164c613a26565b60405190151581529081906020820190565b0390a1005b631785c68160e01b5f5260045ffd5b60025460ff8116156116c7575f5160206141f25f395f51905f529161165e9160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a161164c565b636cd6020160e01b5f5260045ffd5b346103d9575f3660031901126103d95760206040515f8152f35b346103d9575f3660031901126103d9576020600954604051908152f35b346103d95760203660031901126103d957600435611729612b57565b60ff60025416801561174c575b6105df576117439061258f565b6105dd60015f55565b5060048054602090611766906001600160a01b03166104b1565b6040516358c3de9360e11b815292839182905afa90811561065f575f9161178e575b50611736565b6117a7915060203d6020116106585761064a8183612163565b5f611788565b346103d9575f3660031901126103d957604051600d80548083525f91825260208301915f5160206142525f395f51905f5291905b8181106117f857610413856114cd81870382612163565b82546001600160a01b03168452602090930192600192830192016117e1565b346103d9575f3660031901126103d95761182f612b57565b60ff60025416801561184b575b6105df5761041361100f612662565b5060048054602090611865906001600160a01b03166104b1565b6040516358c3de9360e11b815292839182905afa90811561065f575f9161188d575b5061183c565b6118a6915060203d6020116106585761064a8183612163565b5f611887565b346103d9575f3660031901126103d9576020600654604051908152f35b346103d9575f3660031901126103d95760ff6002541680156118f2575b6105df576105dd6126fe565b506004805460209061190c906001600160a01b03166104b1565b6040516358c3de9360e11b815292839182905afa90811561065f575f91611934575b506118e6565b61194d915060203d6020116106585761064a8183612163565b5f61192e565b346103d9575f3660031901126103d957600d5480600101806001116111f15761197b90612775565b9060018060a01b03600c54168251156119e35760208301525f5b8181106119aa5760405180610413858261146e565b806119dd6119bc610dd26001946122c7565b6119ce6119c88461247e565b876127a7565b6001600160a01b039091169052565b01611995565b61229b565b6001600160a01b03909116815260200190565b346103d95760603660031901126103d957611a146104bd565b60243590611a206104e9565b6005544210610bbd57611a31612c92565b60ff600254168015611a4f575b6105df5761041392611018926127bb565b5060048054602090611a69906001600160a01b03166104b1565b6040516358c3de9360e11b815292839182905afa90811561065f575f91611a91575b50611a3e565b611aaa915060203d6020116106585761064a8183612163565b5f611a8b565b346103d95760203660031901126103d957611ac96104bd565b60018060a01b0381165f5260136020526004611aea60405f20548093613e50565b815460405163315865df60e01b81529260209184919082906001600160a01b03165afa90811561065f5761041393611018935f93611b29575b50613f14565b611b4391935060203d602011610aa857610a9a8183612163565b915f611b23565b346103d95760203660031901126103d957611b636104bd565b60ff600254168015611b80575b6105df57611018610413916129f6565b5060048054602090611b9a906001600160a01b03166104b1565b6040516358c3de9360e11b815292839182905afa90811561065f575f91611bc2575b50611b70565b611bdb915060203d6020116106585761064a8183612163565b5f611bbc565b346103d9575f3660031901126103d957602060405160088152f35b346103d95760403660031901126103d9576105dd600435611c1b6104d3565b90611c28610bf8826123e7565b6137a0565b346103d95760203660031901126103d957611c466104bd565b5f60c0604051611c558161210d565b8281528260208201528260408201528260608201528260808201528260a0820152015260018060a01b03165f52600e60205261041360405f20600560405191611c9d8361210d565b805460ff80821615158552611cb59160081c1661073a565b600181015460408401526002810154606084015260038101546080840152600481015460a0840152015460c08201526040519182918291909160c08060e083019480511515845260ff602082015116602085015260408101516040850152606081015160608501526080810151608085015260a081015160a08501520151910152565b346103d95760403660031901126103d957610413611da0611d576104bd565b611d5f6104d3565b5f6080604051611d6e8161212d565b828152826020820152826040820152826060820152015260018060a01b03165f526013602052600360405f2001610e7a565b600460405191611daf8361212d565b80548352600181015460208401526002810154604084015260038101546060840152015460808201526040519182918291909160808060a0830194805184526020810151602085015260408101516040850152606081015160608501520151910152565b346103d9575f3660031901126103d95760206040515f5160206142f25f395f51905f528152f35b90611e4d90604083526040830190611432565b906020818303910152602080835192838152019201905f5b818110611e725750505090565b8251845260209384019390920191600101611e65565b346103d95760203660031901126103d957611ea16104bd565b600d54611ead81612775565b90611eb781612775565b925f5b828110611ed35750505061041360405192839283611e3a565b80611ef0611ee6610dd2611f3d946122c7565b6119ce83886127a7565b602083611f0d611f0084896127a7565b516001600160a01b031690565b60405163088327d560e41b81526001600160a01b0391821660048201529116602482015292839081906044820190565b0381305afa801561065f576001925f91611f64575b50611f5d82886127a7565b5201611eba565b611f7c915060203d8111610aa857610a9a8183612163565b5f611f52565b346103d9575f3660031901126103d9576014546040516001600160a01b039091168152602090f35b346103d9575f3660031901126103d95760206040515f5160206142125f395f51905f528152f35b346103d95760203660031901126103d957611fea6104bd565b60ff600254168015612004575b6105df576105dd90612a81565b506004805460209061201e906001600160a01b03166104b1565b6040516358c3de9360e11b815292839182905afa90811561065f575f91612046575b50611ff7565b61205f915060203d6020116106585761064a8183612163565b5f612040565b346103d9575f3660031901126103d957602060405162093a808152f35b346103d9575f3660031901126103d957600554600654600754600854600954600a54600b54600c5460115460408051998a5260208a0198909852968801959095526001600160a01b039384166060880152608087019290925260a0860152811660c08501521660e083015261010082015261012090f35b634e487b7160e01b5f52604160045260245ffd5b60e081019081106001600160401b0382111761212857604052565b6120f9565b60a081019081106001600160401b0382111761212857604052565b608081019081106001600160401b0382111761212857604052565b601f909101601f19168101906001600160401b0382119082101761212857604052565b908160209103126103d9575161147f81610c46565b6040513d5f823e3d90fd5b6121ae612b57565b6005544210610bbd576121bf612d00565b6001600160a01b03811615610806576121d6612d92565b6121e96121e46004546104b1565b6104b1565b9060206040518093631ddb007160e21b8252818061220a30600483016119e8565b03915afa801561065f57612233925f9161224d575b5061223f575b61222e81613072565b613084565b5061223d60015f55565b565b612247612e8e565b50612225565b612266915060203d6020116106585761064a8183612163565b5f61221f565b908160209103126103d9575160ff811681036103d95790565b9061ff0082549160081b169061ff001916179055565b634e487b7160e01b5f52603260045260245ffd5b600f548110156119e357600f5f5260205f2001905f90565b600d548110156119e357600d5f5260205f2001905f90565b80546001600160a01b0360039390931b83811b199091169290931690921b179055565b600d5490600160401b8210156121285760018201600d55600d548210156119e357600d5f90815261223d925f5160206142525f395f51905f52016122df565b600f5490600160401b8210156121285760018201600f55600f548210156119e357600f5f90815261223d925f5160206143525f395f51905f52016122df565b6040519061223d60e083612163565b9060c06005918051151560ff8019865416911515161784556123b860ff60208301511685612285565b60408101516001850155606081015160028501556080810151600385015560a081015160048501550151910155565b5f526001602052600160405f20015490565b908160209103126103d9575190565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116111f157565b919082039182116111f157565b90670de0b6b3a7640000820291808304670de0b6b3a764000014901517156111f157565b818102929181159184041417156111f157565b9062093a8082018092116111f157565b90600182018092116111f157565b919082018092116111f157565b81156124a3570490565b634e487b7160e01b5f52601260045260245ffd5b6124c08161319f565b15610806576124e49160018060a01b03165f526013602052600460405f2001610e7a565b6040516124f081612148565b815481526001820154602082015260606003600284015493846040850152015491015290565b6005544210610bbd57612527612d92565b61252f612e8e565b600b546040517f025f2adac97e780ff094c6f4f9a98558f1b779380df0ffc917c03374b88fa7b091819061256e9085906001600160a01b031683612574565b0390a190565b6001600160a01b039091168152602081019190915260400190565b6005544210610bbd578015610ad4576125ac6121e46004546104b1565b60206040518092631ddb007160e21b825281806125cc30600483016119e8565b03915afa90811561065f575f91612643575b5015612634576125ec612d92565b6125f533613072565b6125ff813361347f565b60405190815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d9080602081015b0390a2565b63d4220bed60e01b5f5260045ffd5b61265c915060203d6020116106585761064a8183612163565b5f6125de565b6005544210610bbd57612673612d92565b60018060a01b036004541660206040518092631ddb007160e21b8252818061269e30600483016119e8565b03915afa90811561065f575f916126df575b506126d1575b6126bf33613a68565b6126c833613b2a565b61147f33613084565b6126d9612e8e565b506126b6565b6126f8915060203d6020116106585761064a8183612163565b5f6126b0565b612706612b57565b6005544210610bbd5761271833613280565b5f5b600d5481101561275757600d5f525f5160206142525f395f51905f5281015460019190612750906001600160a01b031633613bf7565b500161271a565b5060015f55565b6001600160401b0381116121285760051b60200190565b9061277f8261275e565b61278c6040519182612163565b828152809261279d601f199161275e565b0190602036910137565b80518210156119e35760209160051b010190565b90918215610ad4576001600160a01b038116918215610806576127e26121e4600c546104b1565b6001600160a01b03821692908303612925576127fc612d92565b61280533613a68565b61281482600361134d33610e48565b600281019586549661284361283d61283861282e88610e61565b5460081c60ff1690565b6139e4565b89612499565b926040516370a0823160e01b81526020818061286230600483016119e8565b03818b5afa91821561065f576128b2926003925f91612906575b50808611156128fe57935b6128a7859c6128a161289b61282e8d610e61565b88613401565b9061242a565b90550191825461248c565b90556128bd33613b2a565b11610ad4578490816128d2575b505050505090565b6128db92613cfd565b6040518381525f5160206143325f395f51905f5290602090a35f808083816128ca565b508493612887565b61291f915060203d602011610aa857610a9a8183612163565b5f61287c565b61292e8261319f565b156108065761293c33613280565b61294b82600461134d33610e48565b61295761282e84610e16565b95600182018054906129698983613a1a565b6040516370a0823160e01b815290946020828061298930600483016119e8565b03818c5afa92831561065f576129c5936002935f916129d7575b50808711156129cc576128a790955b6128a16129bf889f6139e4565b8861245b565b90556128bd565b506128a786956129b2565b6129f0915060203d602011610aa857610a9a8183612163565b5f6129a3565b6129fe612b57565b6005544210610bbd57612a1a90612a1433613280565b33613bf7565b9060015f55565b90604051612a2e8161210d565b60c060058294612a5260ff82548181161515875260081c16602086019060ff169052565b600181015460408501526002810154606085015260038101546080850152600481015460a08501520154910152565b612a89612b57565b6005544210610bbd576001600160a01b038116908115610806577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168214612b2557612af690612adf612d92565b612ae8816140aa565b612af181613b2a565b613280565b7e745e876c45796ea32ef5ef1bcbf9cef81cfd16666c9364caa1cb8a6ddbd6766020604051428152a260015f55565b631c3df11960e11b5f5260045ffd5b82612b419194939461245b565b81018091116111f1579182018083116111f15790565b60025f5414612b665760025f55565b633ee5aeb560e01b5f5260045ffd5b5f5160206142f25f395f51905f525f52600160205260ff612bb6337fbb55feefbbeeb450791a2805b5c4f111914a5147fd3ab1f161e7773d871abcc3610e7a565b541615612bbf57565b63e2517d3f60e01b5f52336004525f5160206142f25f395f51905f5260245260445ffd5b5f8052600160205260ff612c17337fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49610e7a565b541615612c2057565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f5160206142325f395f51905f525f52600160205260ff612c65335f5160206143125f395f51905f52610e7a565b541615612c6e57565b63e2517d3f60e01b5f52336004525f5160206142325f395f51905f5260245260445ffd5b5f5160206142725f395f51905f525f52600160205260ff612cd3337f016de9afd02c17cd0ae54c97293c2a2a0d799672f990d1e187070b9998197fdb610e7a565b541615612cdc57565b63e2517d3f60e01b5f52336004525f5160206142725f395f51905f5260245260445ffd5b5f5160206142125f395f51905f525f52600160205260ff612d2e335f5160206142b25f395f51905f52610e7a565b541615612d3757565b63e2517d3f60e01b5f52336004525f5160206142125f395f51905f5260245260445ffd5b805f52600160205260ff612d723360405f20610e7a565b541615612d7c5750565b63e2517d3f60e01b5f523360045260245260445ffd5b612da460075460055460065491612b34565b809150421015612db15750565b5f612dc5612dc0600c546104b1565b610e61565b91600183019081549081612e12575b505055612def612dea6005546006549042613fe9565b600755565b612df842601155565b6003612e0c60075460055460065491612b34565b50910155565b60038501548082118514612e8557612e299161242a565b905b8115612dd457600a5415158414612e5d5750612e5360028501918254908454600a5492613f9a565b90555b5f80612dd4565b612e6f91612e6a91613f41565b613f7b565b612e7e6005850191825461248c565b9055612e56565b50508290612e2b565b612e9f6121e46121e4600b546104b1565b602060405180926371f2f57b60e01b8252815f81612ec030600483016119e8565b03925af190811561065f575f91613053575b50801561304e57612ee4600c546104b1565b612eed81610e61565b90600a5480151580613041575b612ff4575b50600a54612fe9575b612f20612f1a61283861282e84610e61565b8461245b565b6004612f2b8361400b565b935f612f3d600583019687549061248c565b9555612f7c600754612f5760055491600654928391612b34565b905042811115612fe357612f6d9150429061242a565b612f77878661248c565b614083565b600182015501612f8d85825461248c565b905582612f9b575b50505090565b6040805193845260208401919091526001600160a01b0391909116917f5710c657a345f3bf2b24aa91da64582691e7b10198bad5a0ecd2096b33bbe1619190a25f8080612f95565b50612f6d565b426003830155612f08565b60038301548042115f146130395761300c904261242a565b905b8161301a575b50612eff565b6130309060028501928354600187015490613f9a565b90555f80613014565b505f9061300e565b5060018301541515612efa565b505f90565b61306c915060203d602011610aa857610a9a8183612163565b5f612ed2565b61223d9061307f816140aa565b613b2a565b5f90613091600c546104b1565b906130a182600361134d84610e48565b9160028301926130bb84546111eb61283861282e86610e61565b91826130c957505050505090565b6040516370a0823160e01b815294955092936001600160a01b038416939192602082806130f930600483016119e8565b0381885afa91821561065f575f9261317e575b50818111156131765750935b5f85965584156128ca5761314f85826131699460035f5160206143325f395f51905f52970161314884825461248c565b9055613cfd565b6040519485526001600160a01b0316939081906020820190565b0390a35f808080806128ca565b905093613118565b61319891925060203d602011610aa857610a9a8183612163565b905f61310c565b6001600160a01b03165f9081526012602052604090205460ff1690565b5f5b600d5481101561327d57806131df6131da610dd26001946122c7565b610e16565b60028101548042115f1461327557905b60048101805491600381019283548086115f1461326e57613210908661242a565b62093a808111613264575b8061322d575b505050505050016131be565b6009548061323c575b50613221565b6132506113c4928a6132559601549061245b565b612499565b9055555f808080808080613236565b5062093a8061321b565b505f613210565b5042906131ef565b50565b5f5b600d548110156133a0578061329b610dd26001936122c7565b6132a481610e16565b9060028201548042115f14613399575b6004830190815493600381019081548084115f14613392576132d6908461242a565b62093a808111613388575b80613350575b5050505050838060a01b038516613301575b505001613282565b61331090600461134d87610e48565b908154808211613321575b506132f9565b61333c610a2f83611392889461334696885561138b8b610e48565b920191825461248c565b90555f808061331b565b6009549182613360575b506132e7565b916132506113c4928b6133799697989a9501549061245b565b809455555f808080808061335a565b5062093a806132e1565b505f6132d6565b50426132b4565b5050565b6001600160a01b03918216815291166020820152604081019190915260600190565b906133fc906133ee61223d956040519586936323b872dd60e01b6020860152602485016133a4565b03601f198101845283612163565b6140c2565b61139261147f926139e4565b61341681610e48565b61341f82613280565b80548311613470576009548381039081116111f1576009558054928084039384116111f15792905560085461223d926134629183906001600160a01b031661411a565b61346b81613b2a565b613a68565b6345a5c39960e11b5f5260045ffd5b61348881610e48565b9161349282613280565b6008546134ad908290309085906001600160a01b03166133c6565b6009548181018091116111f15760095582549081018091116111f15761223d925561346b81613b2a565b5f5160206142125f395f51905f525f52600160205260ff613505825f5160206142b25f395f51905f52610e7a565b541661304e575f5160206142125f395f51905f525f526001602052613537815f5160206142b25f395f51905f52610e7a565b805460ff1916600117905533906001600160a01b03165f5160206142125f395f51905f525f5160206141d25f395f51905f525f80a4600190565b5f5160206142325f395f51905f525f52600160205260ff61359f825f5160206143125f395f51905f52610e7a565b541661304e575f5160206142325f395f51905f525f5260016020526135d1815f5160206143125f395f51905f52610e7a565b805460ff1916600117905533906001600160a01b03165f5160206142325f395f51905f525f5160206141d25f395f51905f525f80a4600190565b805f52600160205260ff6136228360405f20610e7a565b541661366a57805f52600160205261363d8260405f20610e7a565b805460ff1916600117905533916001600160a01b0316905f5160206141d25f395f51905f525f80a4600190565b50505f90565b5f5160206142125f395f51905f525f52600160205260ff61369e825f5160206142b25f395f51905f52610e7a565b54161561304e575f5160206142125f395f51905f525f5260016020526136d1815f5160206142b25f395f51905f52610e7a565b805460ff1916905533906001600160a01b03165f5160206142125f395f51905f525f5160206142925f395f51905f525f80a4600190565b5f5160206142325f395f51905f525f52600160205260ff613736825f5160206143125f395f51905f52610e7a565b54161561304e575f5160206142325f395f51905f525f526001602052613769815f5160206143125f395f51905f52610e7a565b805460ff1916905533906001600160a01b03165f5160206142325f395f51905f525f5160206142925f395f51905f525f80a4600190565b805f52600160205260ff6137b78360405f20610e7a565b54161561366a57805f5260016020526137d38260405f20610e7a565b805460ff1916905533916001600160a01b0316905f5160206142925f395f51905f525f80a4600190565b600f548015613850575f19810190600f548210156119e357600f5f8190527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80190910180546001600160a01b031916905555565b634e487b7160e01b5f52603160045260245ffd5b6001600160a01b038181165f81815260106020526040902054909291166138fc5760408051908101926001600160401b03841182851017612128576138f39360405281526001602082015260206138ba83610e2f565b8251815492909301516001600160a81b03199092166001600160a01b03939093169290921790151560a01b60ff60a01b16179055612341565b61223d42601155565b633d873e1f60e01b5f5260045ffd5b919061391e61391982610e61565b612a21565b9261393160075460055460065491612b34565b4291508082116139dc575b506080850151808211156139d4576139539161242a565b606085015194811515806139c9575b6139a8575b505090818461399d600161397d6139a496610e48565b015493600361134d6001613995848461134d8a610e48565b015495610e48565b5492614141565b9091565b946139c09160406139a49594970151600a5492613f9a565b9390915f613967565b50600a541515613962565b50505f613953565b90505f61393c565b60ff1680158015613a10575b610ae35760120360ff81116111f15760ff16604d81116111f157600a0a90565b50601281116139f0565b6111eb61147f926139e4565b60025460ff81166105df5760019060ff1916176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1565b6001613a7382610e48565b01546001600160a01b038216156133a057613a8f600c546104b1565b90613ab2613a9c83610e61565b92613aac81600361134d88610e48565b9461390b565b92909193846002820180548203613af5575b505050613adb575b50506001820155600442910155565b8355613aec6002840191825461248c565b90555f80613acc565b55613b0860075460055460065491612b34565b42929150808311613b21575b50600301555f8481613ac4565b91506003613b14565b600490613b3681610e48565b906001820190815492805493613b4c8584613e50565b936020613b5c6121e489546104b1565b60405163315865df60e01b815298899182905afa95861561065f57613bb47f3042bda52a74ddb3e9f32af4781d52bf053f705dba3c9e09f402f6fb9446474d9761262f97613bcd93613bc89b5f93611b295750613f14565b978893613bc385600a5461248c565b61242a565b600a55565b55600242910155613bdd42601155565b6040519384526001600160a01b0316929081906020820190565b91905f92613c0a82600461134d84610e48565b91613c1761282e82610e16565b92613c2760018201948554613a1a565b9182613c35575b5050505050565b6040516370a0823160e01b815294965092936001600160a01b03841693919260208280613c6530600483016119e8565b0381885afa91821561065f575f92613cdc575b5081811115613cd45750935b5f8597558415613c2e5761314f8582613cc79460027ff378efe1103309c7c4ac2b55ac99569131ab2aa8aee6be174ea37474197bb352970161314884825461248c565b0390a35f80808080613c2e565b905093613c84565b613cf691925060203d602011610aa857610a9a8183612163565b905f613c78565b91601454613d0d6121e4826104b1565b6001600160a01b039094169384149081613e22575b81613e14575b5080613e08575b15613dfe5760405163095ea7b360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316936020908290815f81613d82888b60048401612574565b03925af1801561065f57613de1575b50823b156103d957613dbc925f9283604051809681958294630f29367d60e21b845260048401612574565b03925af1801561065f57613dcd5750565b80613ddb5f61223d93612163565b806103cf565b613df99060203d6020116106585761064a8183612163565b613d91565b9061223d9261411a565b50600354811015613d2f565b60a01c60ff1690505f613d28565b9050613e326121e4600c546104b1565b841490613d22565b91908260409103126103d9576020825192015190565b90801561366a576040613e8891613e6b6121e46004546104b1565b938251938492839263a85bde9d60e01b84523090600485016133a4565b0381855afa5f9181613ee2575b50613edd5750602060049160405192838092630a7486c760e01b82525afa90811561065f575f91613ec4575090565b61147f915060203d602011610aa857610a9a8183612163565b905090565b613f0591925060403d604011613f0d575b613efd8183612163565b810190613e3a565b50905f613e95565b503d613ef3565b9291908315613f3a5790613250613f2b928561245b565b91808311613f365750565b9150565b505f925050565b8115676765c793fa10079d601a1b1983900482111517156103d957676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b90631dcd6500633b9aca0080840493061015613f9357565b9060010190565b92909181158015613fe1575b8015613fd9575b612f9557613fc1613fc791613fcd94613f41565b9161418a565b906141a1565b81018091116111f15790565b508015613fad565b508215613fa6565b91908083106140045782039182116111f15761147f91612499565b5050505f90565b6001600160a01b03165f908152600e602052604090206001810154801561407857600361404060075460055460065491612b34565b9390500190828254101561406f57815483039283116111f15761147f9261406691613f41565b90429055613f7b565b50429055505f90565b506003429101555f90565b90801580156140a2575b61366a5761409d61147f9261418a565b6141a1565b50811561408d565b6001600160a01b0381161561327d5761223d90613a68565b905f602091828151910182855af11561219b575f513d61411157506001600160a01b0381163b155b6140f15750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b600114156140ea565b6133fc61223d93926133ee60405194859263a9059cbb60e01b602085015260248401612574565b909193929381158015614180575b6140045782039182116111f1576141719161416c612e6a9261418a565b613f41565b918281018091116111f1579190565b508083111561414f565b90633b9aca00820291633b9aca008304036103d957565b600182901c908215676765c793fa10079d601b1b8319048211176103d957676765c793fa10079d601b1b0201049056fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0ded1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2ffbd454f36a7e1a388bd6fc3ab10d434aa4578f811acbbcf33afb1c697486313c7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb524927c918ee933e498c4f4704c8c8c5997712350624a2ab5df3edca55f9ac033f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b210932760c18fe8bc12f9d1bd245c25c0f21fa2541f289eb5b159588ce1f7b3f19e1fee2e38695e60ad3ef8c81759c22d6d7ee56f9b8805363820a50da468a18fda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014c3eac9ead20d697480ab489ced881761c627fd3281937449e4d4d7fbf9faa2cd4634ecdf654a6f266749291b25bdd00963ec5fe7262fb458f390d94b670558ee8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802a264697066735822122028cc012d4c237c695426944d07ebe10fb65a30134a736a7145710445249cf7c464736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0da6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49210932760c18fe8bc12f9d1bd245c25c0f21fa2541f289eb5b159588ce1f7b3fc3eac9ead20d697480ab489ced881761c627fd3281937449e4d4d7fbf9faa2cdbb55feefbbeeb450791a2805b5c4f111914a5147fd3ab1f161e7773d871abcc3016de9afd02c17cd0ae54c97293c2a2a0d799672f990d1e187070b9998197fdb";
|
|
18
18
|
static readonly abi: readonly [{
|
|
19
19
|
readonly inputs: readonly [{
|
|
20
20
|
readonly internalType: "address";
|
|
@@ -32,6 +32,14 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
32
32
|
readonly internalType: "address";
|
|
33
33
|
readonly name: "_raacToken";
|
|
34
34
|
readonly type: "address";
|
|
35
|
+
}, {
|
|
36
|
+
readonly internalType: "address";
|
|
37
|
+
readonly name: "_rewardToken";
|
|
38
|
+
readonly type: "address";
|
|
39
|
+
}, {
|
|
40
|
+
readonly internalType: "address";
|
|
41
|
+
readonly name: "_rewardDistributor";
|
|
42
|
+
readonly type: "address";
|
|
35
43
|
}];
|
|
36
44
|
readonly stateMutability: "nonpayable";
|
|
37
45
|
readonly type: "constructor";
|
|
@@ -63,6 +71,10 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
63
71
|
readonly inputs: readonly [];
|
|
64
72
|
readonly name: "DistributorNotAdded";
|
|
65
73
|
readonly type: "error";
|
|
74
|
+
}, {
|
|
75
|
+
readonly inputs: readonly [];
|
|
76
|
+
readonly name: "DistributorNotApproved";
|
|
77
|
+
readonly type: "error";
|
|
66
78
|
}, {
|
|
67
79
|
readonly inputs: readonly [];
|
|
68
80
|
readonly name: "EnforcedPause";
|
|
@@ -103,6 +115,10 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
103
115
|
readonly inputs: readonly [];
|
|
104
116
|
readonly name: "MaxExtraRewardsReached";
|
|
105
117
|
readonly type: "error";
|
|
118
|
+
}, {
|
|
119
|
+
readonly inputs: readonly [];
|
|
120
|
+
readonly name: "NotKickable";
|
|
121
|
+
readonly type: "error";
|
|
106
122
|
}, {
|
|
107
123
|
readonly inputs: readonly [];
|
|
108
124
|
readonly name: "NotPaused";
|
|
@@ -127,6 +143,21 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
127
143
|
readonly inputs: readonly [];
|
|
128
144
|
readonly name: "TokenAlreadyInitialized";
|
|
129
145
|
readonly type: "error";
|
|
146
|
+
}, {
|
|
147
|
+
readonly anonymous: false;
|
|
148
|
+
readonly inputs: readonly [{
|
|
149
|
+
readonly indexed: true;
|
|
150
|
+
readonly internalType: "address";
|
|
151
|
+
readonly name: "oldController";
|
|
152
|
+
readonly type: "address";
|
|
153
|
+
}, {
|
|
154
|
+
readonly indexed: true;
|
|
155
|
+
readonly internalType: "address";
|
|
156
|
+
readonly name: "newController";
|
|
157
|
+
readonly type: "address";
|
|
158
|
+
}];
|
|
159
|
+
readonly name: "ControllerUpdated";
|
|
160
|
+
readonly type: "event";
|
|
130
161
|
}, {
|
|
131
162
|
readonly anonymous: false;
|
|
132
163
|
readonly inputs: readonly [{
|
|
@@ -219,13 +250,18 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
219
250
|
readonly internalType: "address";
|
|
220
251
|
readonly name: "token";
|
|
221
252
|
readonly type: "address";
|
|
222
|
-
}
|
|
223
|
-
|
|
253
|
+
}];
|
|
254
|
+
readonly name: "ExtraRewardTokenAdded";
|
|
255
|
+
readonly type: "event";
|
|
256
|
+
}, {
|
|
257
|
+
readonly anonymous: false;
|
|
258
|
+
readonly inputs: readonly [{
|
|
259
|
+
readonly indexed: true;
|
|
224
260
|
readonly internalType: "address";
|
|
225
|
-
readonly name: "
|
|
261
|
+
readonly name: "rewardDistributor";
|
|
226
262
|
readonly type: "address";
|
|
227
263
|
}];
|
|
228
|
-
readonly name: "
|
|
264
|
+
readonly name: "GaugeRewardDistributorUpdated";
|
|
229
265
|
readonly type: "event";
|
|
230
266
|
}, {
|
|
231
267
|
readonly anonymous: false;
|
|
@@ -257,6 +293,16 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
257
293
|
}];
|
|
258
294
|
readonly name: "Paused";
|
|
259
295
|
readonly type: "event";
|
|
296
|
+
}, {
|
|
297
|
+
readonly anonymous: false;
|
|
298
|
+
readonly inputs: readonly [{
|
|
299
|
+
readonly indexed: false;
|
|
300
|
+
readonly internalType: "uint256";
|
|
301
|
+
readonly name: "newRaacAutolockMin";
|
|
302
|
+
readonly type: "uint256";
|
|
303
|
+
}];
|
|
304
|
+
readonly name: "RaacAutolockMinUpdated";
|
|
305
|
+
readonly type: "event";
|
|
260
306
|
}, {
|
|
261
307
|
readonly anonymous: false;
|
|
262
308
|
readonly inputs: readonly [{
|
|
@@ -292,12 +338,12 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
292
338
|
readonly inputs: readonly [{
|
|
293
339
|
readonly indexed: true;
|
|
294
340
|
readonly internalType: "address";
|
|
295
|
-
readonly name: "
|
|
341
|
+
readonly name: "token";
|
|
296
342
|
readonly type: "address";
|
|
297
343
|
}, {
|
|
298
344
|
readonly indexed: true;
|
|
299
345
|
readonly internalType: "address";
|
|
300
|
-
readonly name: "
|
|
346
|
+
readonly name: "user";
|
|
301
347
|
readonly type: "address";
|
|
302
348
|
}, {
|
|
303
349
|
readonly indexed: false;
|
|
@@ -307,6 +353,21 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
307
353
|
}];
|
|
308
354
|
readonly name: "RewardTransferred";
|
|
309
355
|
readonly type: "event";
|
|
356
|
+
}, {
|
|
357
|
+
readonly anonymous: false;
|
|
358
|
+
readonly inputs: readonly [{
|
|
359
|
+
readonly indexed: false;
|
|
360
|
+
readonly internalType: "address";
|
|
361
|
+
readonly name: "distributor";
|
|
362
|
+
readonly type: "address";
|
|
363
|
+
}, {
|
|
364
|
+
readonly indexed: false;
|
|
365
|
+
readonly internalType: "uint256";
|
|
366
|
+
readonly name: "transferred";
|
|
367
|
+
readonly type: "uint256";
|
|
368
|
+
}];
|
|
369
|
+
readonly name: "RewardsPulledFromDistributor";
|
|
370
|
+
readonly type: "event";
|
|
310
371
|
}, {
|
|
311
372
|
readonly anonymous: false;
|
|
312
373
|
readonly inputs: readonly [{
|
|
@@ -469,7 +530,17 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
469
530
|
readonly type: "function";
|
|
470
531
|
}, {
|
|
471
532
|
readonly inputs: readonly [];
|
|
472
|
-
readonly name: "
|
|
533
|
+
readonly name: "DISTRIBUTOR_ROLE";
|
|
534
|
+
readonly outputs: readonly [{
|
|
535
|
+
readonly internalType: "bytes32";
|
|
536
|
+
readonly name: "";
|
|
537
|
+
readonly type: "bytes32";
|
|
538
|
+
}];
|
|
539
|
+
readonly stateMutability: "view";
|
|
540
|
+
readonly type: "function";
|
|
541
|
+
}, {
|
|
542
|
+
readonly inputs: readonly [];
|
|
543
|
+
readonly name: "GAUGE_ADMIN";
|
|
473
544
|
readonly outputs: readonly [{
|
|
474
545
|
readonly internalType: "bytes32";
|
|
475
546
|
readonly name: "";
|
|
@@ -502,33 +573,11 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
502
573
|
readonly internalType: "address";
|
|
503
574
|
readonly name: "token";
|
|
504
575
|
readonly type: "address";
|
|
505
|
-
}, {
|
|
506
|
-
readonly internalType: "address";
|
|
507
|
-
readonly name: "distributor";
|
|
508
|
-
readonly type: "address";
|
|
509
576
|
}];
|
|
510
577
|
readonly name: "addRewardToken";
|
|
511
578
|
readonly outputs: readonly [];
|
|
512
579
|
readonly stateMutability: "nonpayable";
|
|
513
580
|
readonly type: "function";
|
|
514
|
-
}, {
|
|
515
|
-
readonly inputs: readonly [{
|
|
516
|
-
readonly internalType: "address";
|
|
517
|
-
readonly name: "account";
|
|
518
|
-
readonly type: "address";
|
|
519
|
-
}];
|
|
520
|
-
readonly name: "allEarnedRewards";
|
|
521
|
-
readonly outputs: readonly [{
|
|
522
|
-
readonly internalType: "address[]";
|
|
523
|
-
readonly name: "";
|
|
524
|
-
readonly type: "address[]";
|
|
525
|
-
}, {
|
|
526
|
-
readonly internalType: "uint256[]";
|
|
527
|
-
readonly name: "";
|
|
528
|
-
readonly type: "uint256[]";
|
|
529
|
-
}];
|
|
530
|
-
readonly stateMutability: "view";
|
|
531
|
-
readonly type: "function";
|
|
532
581
|
}, {
|
|
533
582
|
readonly inputs: readonly [{
|
|
534
583
|
readonly internalType: "address";
|
|
@@ -547,24 +596,6 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
547
596
|
}];
|
|
548
597
|
readonly stateMutability: "view";
|
|
549
598
|
readonly type: "function";
|
|
550
|
-
}, {
|
|
551
|
-
readonly inputs: readonly [{
|
|
552
|
-
readonly internalType: "address";
|
|
553
|
-
readonly name: "account";
|
|
554
|
-
readonly type: "address";
|
|
555
|
-
}];
|
|
556
|
-
readonly name: "allPendingRewards";
|
|
557
|
-
readonly outputs: readonly [{
|
|
558
|
-
readonly internalType: "address[]";
|
|
559
|
-
readonly name: "";
|
|
560
|
-
readonly type: "address[]";
|
|
561
|
-
}, {
|
|
562
|
-
readonly internalType: "uint256[]";
|
|
563
|
-
readonly name: "";
|
|
564
|
-
readonly type: "uint256[]";
|
|
565
|
-
}];
|
|
566
|
-
readonly stateMutability: "view";
|
|
567
|
-
readonly type: "function";
|
|
568
599
|
}, {
|
|
569
600
|
readonly inputs: readonly [{
|
|
570
601
|
readonly internalType: "address";
|
|
@@ -622,11 +653,7 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
622
653
|
readonly stateMutability: "nonpayable";
|
|
623
654
|
readonly type: "function";
|
|
624
655
|
}, {
|
|
625
|
-
readonly inputs: readonly [
|
|
626
|
-
readonly internalType: "address";
|
|
627
|
-
readonly name: "token";
|
|
628
|
-
readonly type: "address";
|
|
629
|
-
}];
|
|
656
|
+
readonly inputs: readonly [];
|
|
630
657
|
readonly name: "claimRewardToken";
|
|
631
658
|
readonly outputs: readonly [{
|
|
632
659
|
readonly internalType: "uint256";
|
|
@@ -635,12 +662,6 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
635
662
|
}];
|
|
636
663
|
readonly stateMutability: "nonpayable";
|
|
637
664
|
readonly type: "function";
|
|
638
|
-
}, {
|
|
639
|
-
readonly inputs: readonly [];
|
|
640
|
-
readonly name: "claimRewards";
|
|
641
|
-
readonly outputs: readonly [];
|
|
642
|
-
readonly stateMutability: "nonpayable";
|
|
643
|
-
readonly type: "function";
|
|
644
665
|
}, {
|
|
645
666
|
readonly inputs: readonly [{
|
|
646
667
|
readonly internalType: "address";
|
|
@@ -685,7 +706,7 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
685
706
|
readonly name: "user";
|
|
686
707
|
readonly type: "address";
|
|
687
708
|
}];
|
|
688
|
-
readonly name: "
|
|
709
|
+
readonly name: "earnedExtraReward";
|
|
689
710
|
readonly outputs: readonly [{
|
|
690
711
|
readonly internalType: "uint256";
|
|
691
712
|
readonly name: "";
|
|
@@ -699,13 +720,17 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
699
720
|
readonly name: "token";
|
|
700
721
|
readonly type: "address";
|
|
701
722
|
}, {
|
|
723
|
+
readonly internalType: "address";
|
|
724
|
+
readonly name: "user";
|
|
725
|
+
readonly type: "address";
|
|
726
|
+
}];
|
|
727
|
+
readonly name: "earnedReward";
|
|
728
|
+
readonly outputs: readonly [{
|
|
702
729
|
readonly internalType: "uint256";
|
|
703
|
-
readonly name: "
|
|
730
|
+
readonly name: "";
|
|
704
731
|
readonly type: "uint256";
|
|
705
732
|
}];
|
|
706
|
-
readonly
|
|
707
|
-
readonly outputs: readonly [];
|
|
708
|
-
readonly stateMutability: "nonpayable";
|
|
733
|
+
readonly stateMutability: "view";
|
|
709
734
|
readonly type: "function";
|
|
710
735
|
}, {
|
|
711
736
|
readonly inputs: readonly [{
|
|
@@ -726,10 +751,6 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
726
751
|
readonly internalType: "uint256";
|
|
727
752
|
readonly name: "rate";
|
|
728
753
|
readonly type: "uint256";
|
|
729
|
-
}, {
|
|
730
|
-
readonly internalType: "address";
|
|
731
|
-
readonly name: "distributor";
|
|
732
|
-
readonly type: "address";
|
|
733
754
|
}, {
|
|
734
755
|
readonly internalType: "uint256";
|
|
735
756
|
readonly name: "periodFinish";
|
|
@@ -786,6 +807,14 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
786
807
|
readonly internalType: "uint256";
|
|
787
808
|
readonly name: "workingSupply";
|
|
788
809
|
readonly type: "uint256";
|
|
810
|
+
}, {
|
|
811
|
+
readonly internalType: "address";
|
|
812
|
+
readonly name: "rewardDistributor";
|
|
813
|
+
readonly type: "address";
|
|
814
|
+
}, {
|
|
815
|
+
readonly internalType: "address";
|
|
816
|
+
readonly name: "rewardToken";
|
|
817
|
+
readonly type: "address";
|
|
789
818
|
}, {
|
|
790
819
|
readonly internalType: "uint256";
|
|
791
820
|
readonly name: "lastUpdateTime";
|
|
@@ -817,6 +846,24 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
817
846
|
}];
|
|
818
847
|
readonly stateMutability: "view";
|
|
819
848
|
readonly type: "function";
|
|
849
|
+
}, {
|
|
850
|
+
readonly inputs: readonly [{
|
|
851
|
+
readonly internalType: "address";
|
|
852
|
+
readonly name: "distributor";
|
|
853
|
+
readonly type: "address";
|
|
854
|
+
}];
|
|
855
|
+
readonly name: "getDistributorData";
|
|
856
|
+
readonly outputs: readonly [{
|
|
857
|
+
readonly internalType: "address";
|
|
858
|
+
readonly name: "distro";
|
|
859
|
+
readonly type: "address";
|
|
860
|
+
}, {
|
|
861
|
+
readonly internalType: "bool";
|
|
862
|
+
readonly name: "approved";
|
|
863
|
+
readonly type: "bool";
|
|
864
|
+
}];
|
|
865
|
+
readonly stateMutability: "view";
|
|
866
|
+
readonly type: "function";
|
|
820
867
|
}, {
|
|
821
868
|
readonly inputs: readonly [];
|
|
822
869
|
readonly name: "getDistributors";
|
|
@@ -827,6 +874,16 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
827
874
|
}];
|
|
828
875
|
readonly stateMutability: "view";
|
|
829
876
|
readonly type: "function";
|
|
877
|
+
}, {
|
|
878
|
+
readonly inputs: readonly [];
|
|
879
|
+
readonly name: "getExtraRewardTokens";
|
|
880
|
+
readonly outputs: readonly [{
|
|
881
|
+
readonly internalType: "address[]";
|
|
882
|
+
readonly name: "";
|
|
883
|
+
readonly type: "address[]";
|
|
884
|
+
}];
|
|
885
|
+
readonly stateMutability: "view";
|
|
886
|
+
readonly type: "function";
|
|
830
887
|
}, {
|
|
831
888
|
readonly inputs: readonly [{
|
|
832
889
|
readonly internalType: "address";
|
|
@@ -994,18 +1051,14 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
994
1051
|
readonly stateMutability: "view";
|
|
995
1052
|
readonly type: "function";
|
|
996
1053
|
}, {
|
|
997
|
-
readonly inputs: readonly [
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
readonly
|
|
1001
|
-
|
|
1002
|
-
readonly
|
|
1003
|
-
readonly name: "distributor";
|
|
1004
|
-
readonly type: "address";
|
|
1054
|
+
readonly inputs: readonly [];
|
|
1055
|
+
readonly name: "isPaused";
|
|
1056
|
+
readonly outputs: readonly [{
|
|
1057
|
+
readonly internalType: "bool";
|
|
1058
|
+
readonly name: "";
|
|
1059
|
+
readonly type: "bool";
|
|
1005
1060
|
}];
|
|
1006
|
-
readonly
|
|
1007
|
-
readonly outputs: readonly [];
|
|
1008
|
-
readonly stateMutability: "nonpayable";
|
|
1061
|
+
readonly stateMutability: "view";
|
|
1009
1062
|
readonly type: "function";
|
|
1010
1063
|
}, {
|
|
1011
1064
|
readonly inputs: readonly [{
|
|
@@ -1077,6 +1130,26 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
1077
1130
|
}];
|
|
1078
1131
|
readonly stateMutability: "view";
|
|
1079
1132
|
readonly type: "function";
|
|
1133
|
+
}, {
|
|
1134
|
+
readonly inputs: readonly [];
|
|
1135
|
+
readonly name: "pullRewardsFromDistributor";
|
|
1136
|
+
readonly outputs: readonly [{
|
|
1137
|
+
readonly internalType: "uint256";
|
|
1138
|
+
readonly name: "transferred";
|
|
1139
|
+
readonly type: "uint256";
|
|
1140
|
+
}];
|
|
1141
|
+
readonly stateMutability: "nonpayable";
|
|
1142
|
+
readonly type: "function";
|
|
1143
|
+
}, {
|
|
1144
|
+
readonly inputs: readonly [];
|
|
1145
|
+
readonly name: "raacAutolockMin";
|
|
1146
|
+
readonly outputs: readonly [{
|
|
1147
|
+
readonly internalType: "uint256";
|
|
1148
|
+
readonly name: "";
|
|
1149
|
+
readonly type: "uint256";
|
|
1150
|
+
}];
|
|
1151
|
+
readonly stateMutability: "view";
|
|
1152
|
+
readonly type: "function";
|
|
1080
1153
|
}, {
|
|
1081
1154
|
readonly inputs: readonly [];
|
|
1082
1155
|
readonly name: "raacLiquidLocker";
|
|
@@ -1151,25 +1224,21 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
1151
1224
|
readonly type: "function";
|
|
1152
1225
|
}, {
|
|
1153
1226
|
readonly inputs: readonly [{
|
|
1154
|
-
readonly internalType: "
|
|
1155
|
-
readonly name: "
|
|
1156
|
-
readonly type: "
|
|
1227
|
+
readonly internalType: "address";
|
|
1228
|
+
readonly name: "_controller";
|
|
1229
|
+
readonly type: "address";
|
|
1157
1230
|
}];
|
|
1158
|
-
readonly name: "
|
|
1231
|
+
readonly name: "setController";
|
|
1159
1232
|
readonly outputs: readonly [];
|
|
1160
1233
|
readonly stateMutability: "nonpayable";
|
|
1161
1234
|
readonly type: "function";
|
|
1162
1235
|
}, {
|
|
1163
1236
|
readonly inputs: readonly [{
|
|
1164
|
-
readonly internalType: "address";
|
|
1165
|
-
readonly name: "distributor";
|
|
1166
|
-
readonly type: "address";
|
|
1167
|
-
}, {
|
|
1168
1237
|
readonly internalType: "bool";
|
|
1169
|
-
readonly name: "
|
|
1238
|
+
readonly name: "newDepositRAACOnClaim";
|
|
1170
1239
|
readonly type: "bool";
|
|
1171
1240
|
}];
|
|
1172
|
-
readonly name: "
|
|
1241
|
+
readonly name: "setDepositRAACOnClaim";
|
|
1173
1242
|
readonly outputs: readonly [];
|
|
1174
1243
|
readonly stateMutability: "nonpayable";
|
|
1175
1244
|
readonly type: "function";
|
|
@@ -1183,6 +1252,26 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
1183
1252
|
readonly outputs: readonly [];
|
|
1184
1253
|
readonly stateMutability: "nonpayable";
|
|
1185
1254
|
readonly type: "function";
|
|
1255
|
+
}, {
|
|
1256
|
+
readonly inputs: readonly [{
|
|
1257
|
+
readonly internalType: "address";
|
|
1258
|
+
readonly name: "rewardDistributor";
|
|
1259
|
+
readonly type: "address";
|
|
1260
|
+
}];
|
|
1261
|
+
readonly name: "setGaugeRewardDistributor";
|
|
1262
|
+
readonly outputs: readonly [];
|
|
1263
|
+
readonly stateMutability: "nonpayable";
|
|
1264
|
+
readonly type: "function";
|
|
1265
|
+
}, {
|
|
1266
|
+
readonly inputs: readonly [{
|
|
1267
|
+
readonly internalType: "uint256";
|
|
1268
|
+
readonly name: "newRaacAutolockMin";
|
|
1269
|
+
readonly type: "uint256";
|
|
1270
|
+
}];
|
|
1271
|
+
readonly name: "setRaacAutolockMin";
|
|
1272
|
+
readonly outputs: readonly [];
|
|
1273
|
+
readonly stateMutability: "nonpayable";
|
|
1274
|
+
readonly type: "function";
|
|
1186
1275
|
}, {
|
|
1187
1276
|
readonly inputs: readonly [{
|
|
1188
1277
|
readonly internalType: "uint256";
|
|
@@ -1207,12 +1296,6 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
1207
1296
|
}];
|
|
1208
1297
|
readonly stateMutability: "view";
|
|
1209
1298
|
readonly type: "function";
|
|
1210
|
-
}, {
|
|
1211
|
-
readonly inputs: readonly [];
|
|
1212
|
-
readonly name: "syncRewardTokens";
|
|
1213
|
-
readonly outputs: readonly [];
|
|
1214
|
-
readonly stateMutability: "nonpayable";
|
|
1215
|
-
readonly type: "function";
|
|
1216
1299
|
}, {
|
|
1217
1300
|
readonly inputs: readonly [];
|
|
1218
1301
|
readonly name: "totalSupply";
|
|
@@ -1224,7 +1307,11 @@ export declare class RAACGauge__factory extends ContractFactory {
|
|
|
1224
1307
|
readonly stateMutability: "view";
|
|
1225
1308
|
readonly type: "function";
|
|
1226
1309
|
}, {
|
|
1227
|
-
readonly inputs: readonly [
|
|
1310
|
+
readonly inputs: readonly [{
|
|
1311
|
+
readonly internalType: "address";
|
|
1312
|
+
readonly name: "user";
|
|
1313
|
+
readonly type: "address";
|
|
1314
|
+
}];
|
|
1228
1315
|
readonly name: "updateUserRewards";
|
|
1229
1316
|
readonly outputs: readonly [];
|
|
1230
1317
|
readonly stateMutability: "nonpayable";
|