5 txs
9 calls
constructor
constructor(address _pool, address _gearStaking)
functions
acl
viewfunction acl() view returns (address)
controller
viewfunction controller() view returns (address)
epochFrozen
viewfunction epochFrozen() view returns (bool)
epochLastUpdate
viewfunction epochLastUpdate() view returns (uint16)
getRates
viewfunction getRates(address[] tokens) view returns (uint16[] rates)
isTokenAdded
viewfunction isTokenAdded(address token) view returns (bool)
paused
viewfunction paused() view returns (bool)
pool
viewfunction pool() view returns (address)
quotaRateParams
viewfunction quotaRateParams(address) view returns (uint16 minRate, uint16 maxRate, uint96 totalVotesLpSide, uint96 totalVotesCaSide)
userTokenVotes
viewfunction userTokenVotes(address, address) view returns (uint96 votesLpSide, uint96 votesCaSide)
version
viewfunction version() view returns (uint256)
voter
viewfunction voter() view returns (address)
addQuotaToken
nonpayablefunction addQuotaToken(address token, uint16 minRate, uint16 maxRate)
changeQuotaMaxRate
nonpayablefunction changeQuotaMaxRate(address token, uint16 maxRate)
changeQuotaMinRate
nonpayablefunction changeQuotaMinRate(address token, uint16 minRate)
pause
nonpayablefunction pause()
setController
nonpayablefunction setController(address newController)
setFrozenEpoch
nonpayablefunction setFrozenEpoch(bool status)
unpause
nonpayablefunction unpause()
unvote
nonpayablefunction unvote(address user, uint96 votes, bytes extraData)
updateEpoch
nonpayablefunction updateEpoch()
vote
nonpayablefunction vote(address user, uint96 votes, bytes extraData)
events
AddQuotaToken
event AddQuotaToken(address indexed token, uint16 minRate, uint16 maxRate)
NewController
event NewController(address indexed newController)
Paused
event Paused(address account)
SetFrozenEpoch
event SetFrozenEpoch(bool status)
SetQuotaTokenParams
event SetQuotaTokenParams(address indexed token, uint16 minRate, uint16 maxRate)
Unpaused
event Unpaused(address account)
Unvote
event Unvote(address indexed user, address indexed token, uint96 votes, bool lpSide)
UpdateEpoch
event UpdateEpoch(uint16 epochNow)
Vote
event Vote(address indexed user, address indexed token, uint96 votes, bool lpSide)
errors
CallerNotConfiguratorException
error CallerNotConfiguratorException()
CallerNotControllerException
error CallerNotControllerException()
CallerNotPausableAdminException
error CallerNotPausableAdminException()
CallerNotUnpausableAdminException
error CallerNotUnpausableAdminException()
CallerNotVoterException
error CallerNotVoterException()
IncorrectParameterException
error IncorrectParameterException()
InsufficientVotesException
error InsufficientVotesException()
TokenNotAllowedException
error TokenNotAllowedException()
ZeroAddressException
error ZeroAddressException()
creation bytecode
0x60e06040526000805461ff0019166101001790553480156200002057600080fd5b5060405162001db738038062001db7833981810160405260408110156200004657600080fd5b50805160209182015160408051630a55006360e21b81529051929391926001600160a01b03851692632954018c92600480820193918290030181865afa15801562000095573d6000803e3d6000fd5b505050506040513d6020811015620000ac57600080fd5b50518080620000bb81620002a9565b604051632bdad0e360e11b8152621050d360ea1b6004820152600060248201526001600160a01b038316906357b5a1c690604401602060405180830381865afa1580156200010d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001339190620002d4565b6001600160a01b031660808190526000805460ff1916905560408051638da5cb5b60e01b81529051919350638da5cb5b92506004808201926020929091908290030181865afa1580156200018b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b19190620002d4565b600080546001600160a01b0392909216620100000262010000600160b01b03199092169190911790555080620001e781620002a9565b6001600160a01b0380841660a052821660c081905260408051635cbeecf160e11b8152905163b97dd9e2916004808201926020929091908290030181865afa15801562000238573d6000803e3d6000fd5b505050506040513d60208110156200024f57600080fd5b50516003805462ffffff191661ffff9092169190911762010000179055604080516001815290517fa60fade018f4d462a5daa5f95377789f4577d1e71865ab6f46e65c8bcfd91d5b9181900360200190a150505062000306565b6001600160a01b038116620002d157604051635919af9760e11b815260040160405180910390fd5b50565b600060208284031215620002e757600080fd5b81516001600160a01b0381168114620002ff57600080fd5b9392505050565b60805160a05160c051611a5062000367600039600081816103fb01528181610dad01526112f00152600081816102b20152818161079b0152611273015260008181610645015281816117840152818161183301526118f60152611a506000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806367bd79a2116100d8578063cc10ad861161008c578063f77c479111610066578063f77c479114610686578063f95348281461069f578063fb832c71146106b257600080fd5b8063cc10ad86146105b0578063de28735914610640578063ed5194741461066757600080fd5b806392eefe9b116100bd57806392eefe9b1461051b578063a36532b214610541578063b28635291461058057600080fd5b806367bd79a2146104535780638456cb591461051357600080fd5b806336f4fb021161013a57806346c96aac1161011457806346c96aac146103f657806354fd4d501461041d5780635c975abb1461043857600080fd5b806336f4fb02146103585780633c4f98ac146103605780633f4ba83a146103ee57600080fd5b806316f0115b1161016b57806316f0115b146102ad57806332f8e50c146102f0578063359cd5bf1461032057600080fd5b80630b64762214610187578063102418f31461021d575b600080fd5b6101e76004803603602081101561019d57600080fd5b5060016020526001600160a01b039035166000908152604090205461ffff80821691620100008104909116906001600160601b036401000000008204811691600160801b90041684565b6040805161ffff95861681529390941660208401526001600160601b039182168385015216606082015290519081900360800190f35b6102ab6004803603606081101561023357600080fd5b6001600160a01b03823516916001600160601b036020820135169181019060608101604082013564010000000081111561026c57600080fd5b82018360208201111561027e57600080fd5b803590602001918460018302840111640100000000831117156102a057600080fd5b5090925090506106d7565b005b6102d47f000000000000000000000000000000000000000000000000000000000000000081565b604080516001600160a01b039092168252519081900360200190f35b6102ab6004803603604081101561030657600080fd5b5080356001600160a01b0316906020013561ffff1661071c565b6102ab6004803603606081101561033657600080fd5b506001600160a01b038135169061ffff6020820135811691604001351661075c565b6102ab610a46565b6102ab6004803603606081101561037657600080fd5b6001600160a01b03823516916001600160601b03602082013516918101906060810160408201356401000000008111156103af57600080fd5b8201836020820111156103c157600080fd5b803590602001918460018302840111640100000000831117156103e357600080fd5b509092509050610a50565b6102ab610a8d565b6102d47f000000000000000000000000000000000000000000000000000000000000000081565b61042661012c81565b60408051918252519081900360200190f35b60005460ff165b604080519115158252519081900360200190f35b6104c36004803603602081101561046957600080fd5b81019060208101813564010000000081111561048457600080fd5b82018360208201111561049657600080fd5b803590602001918460208302840111640100000000831117156104b857600080fd5b509092509050610a9d565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104ff5781810151838201526020016104e7565b505050509050019250505060405180910390f35b6102ab610c51565b6102ab6004803603602081101561053157600080fd5b50356001600160a01b0316610c61565b61043f6004803603602081101561055757600080fd5b50356001600160a01b031660009081526001602052604090205462010000900461ffff16151590565b6102ab6004803603604081101561059657600080fd5b5080356001600160a01b0316906020013561ffff16610ced565b610611600480360360408110156105c657600080fd5b50600260209081526001600160a01b038235811660009081526040808220845292909301351682529020546001600160601b03808216916c0100000000000000000000000090041682565b60405180836001600160601b03168152602001826001600160601b031681526020019250505060405180910390f35b6102d47f000000000000000000000000000000000000000000000000000000000000000081565b6102ab6004803603602081101561067d57600080fd5b50351515610d2f565b6000546102d4906201000090046001600160a01b031681565b60035461043f9062010000900460ff1681565b6003546106c09061ffff1681565b6040805161ffff9092168252519081900360200190f35b6106df610da2565b600080838360408110156106f257600080fd5b506001600160a01b038135169250602001351515905061071486868484610e04565b505050505050565b8161072681611043565b61072e611083565b6001600160a01b03831660009081526001602052604090205461075790849061ffff16846110e1565b505050565b8261076681611043565b61076e6111dd565b6001600160a01b03841660009081526001602052604090205462010000900461ffff1615158061081e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632495a5996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f7573d6000803e3d6000fd5b505050506040513d602081101561080d57600080fd5b50516001600160a01b038581169116145b1561083c5760405163700ca0af60e01b815260040160405180910390fd5b610846838361121c565b6040805160808101825261ffff858116825284811660208084019182526000848601818152606086018281526001600160a01b038c16835260019093529581209451855493519651925190851663ffffffff1990941693909317620100009690941695909502929092177fffffffff000000000000000000000000000000000000000000000000ffffffff166401000000006001600160601b03938416027fffffffff000000000000000000000000ffffffffffffffffffffffffffffffff1617600160801b929091169190910217905561091f61126f565b9050806001600160a01b031663d9b94b06866040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381865afa158015610973573d6000803e3d6000fd5b505050506040513d602081101561098957600080fd5b50516109f757806001600160a01b031663364395ee866040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156109de57600080fd5b505af11580156109f2573d6000803e3d6000fd5b505050505b6040805161ffff80871682528516602082015281516001600160a01b038816927f26ed208f71237782f945612371d1e179300898e965c647fd1d23c97bdc973812928290030190a25050505050565b610a4e6112ec565b565b610a58610da2565b60008083836040811015610a6b57600080fd5b506001600160a01b03813516925060200135151590506107148686848461142e565b610a9561163c565b610a4e61167b565b6060818067ffffffffffffffff811115610ab957610ab961197a565b604051908082528060200260200182016040528015610ae2578160200160208202803683370190505b50915060005b81811015610c49576000858583818110610b0457610b04611990565b905060200201356001600160a01b03169050610b42816001600160a01b031660009081526001602052604090205461ffff6201000090910416151590565b610b5f5760405163700ca0af60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600160209081526040918290208251608081018452905461ffff808216835262010000820416928201929092526001600160601b0364010000000083048116938201849052600160801b909204821660608201819052909291818301168015610c0e5780836001600160601b0316856020015161ffff1602836001600160601b0316866000015161ffff16020181610c0857610c086119a6565b04610c11565b83515b888781518110610c2357610c23611990565b602002602001019061ffff16908161ffff16815250505050505050806001019050610ae8565b505092915050565b610c596116cd565b610a4e61170c565b610c696111dd565b6000546001600160a01b03828116620100009092041614610cea57600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff16620100006001600160a01b03841690810291909117825560405190917fe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c691a25b50565b81610cf781611043565b610cff611083565b6001600160a01b038316600090815260016020526040902054610757908490849062010000900461ffff166110e1565b610d376111dd565b600360029054906101000a900460ff16151581151514610cea576003805482151562010000810262ff0000199092169190911790915560408051918252517fa60fade018f4d462a5daa5f95377789f4577d1e71865ab6f46e65c8bcfd91d5b9181900360200190a150565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a4e576040517fed9cd2af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03821660009081526001602052604090205462010000900461ffff16610e445760405163700ca0af60e01b815260040160405180910390fd5b610e4c6112ec565b6001600160a01b038083166000818152600160209081526040808320948916835260028252808320938352929052208215610f175780546001600160601b0380871691161015610eaf576040516398be5b8160e01b815260040160405180910390fd5b81547fffffffffffffffffffffffffffffffff000000000000000000000000ffffffff8116640100000000918290046001600160601b03908116889003811690920217835581546bffffffffffffffffffffffff198116908216879003909116178155610fdd565b80546001600160601b038087166c01000000000000000000000000909204161015610f55576040516398be5b8160e01b815260040160405180910390fd5b81547fffffffff000000000000000000000000ffffffffffffffffffffffffffffffff8116600160801b918290046001600160601b03908116889003811690920217835581547fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff81166c01000000000000000000000000918290048316889003909216021781555b836001600160a01b0316866001600160a01b03167fb4cfba462215396ee513d049a336a7a90798f99a4c100a605f6f5b76c9f47d21878660405180836001600160601b0316815260200182151581526020019250505060405180910390a3505050505050565b6001600160a01b038116610cea576040517fb2335f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546201000090046001600160a01b031633148015906110aa57506110a833611749565b155b15610a4e576040517f0129bb9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03831660009081526001602052604090205462010000900461ffff166111215760405163700ca0af60e01b815260040160405180910390fd5b61112b828261121c565b6001600160a01b0383166000908152600160205260409020805461ffff84811691161480156111675750805461ffff8381166201000090920416145b156111725750505050565b805461ffff84811663ffffffff1990921682176201000091851691820217835560408051928352602083019190915280516001600160a01b038716927fce0a212664f433711432d2fcd73ba6b7395bc67a540150eecf21c37b71c26b0092908290030190a250505050565b6111e633611749565b610a4e576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8216158061123457508061ffff168261ffff16115b1561126b576040517f47fbaa9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663be8da14b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112cf573d6000803e3d6000fd5b505050506040513d60208110156112e557600080fd5b5051919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561134c573d6000803e3d6000fd5b505050506040513d602081101561136257600080fd5b505160035490915061ffff9081169082161115610cea576003805461ffff191661ffff8316179081905562010000900460ff166113f4576113a161126f565b6001600160a01b0316633c3821f46040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156113db57600080fd5b505af11580156113ef573d6000803e3d6000fd5b505050505b6040805161ffff8316815290517f44301d5732d11f39569dd7cfde533dacce079da5aa37171ab8a9cbf098818b529181900360200190a150565b6001600160a01b03821660009081526001602052604090205462010000900461ffff1661146e5760405163700ca0af60e01b815260040160405180910390fd5b6114766112ec565b6001600160a01b038083166000818152600160209081526040808320948916835260028252808320938352929052208215611543578154859083906004906114d090849064010000000090046001600160601b03166119bc565b92506101000a8154816001600160601b0302191690836001600160601b03160217905550848160000160008282829054906101000a90046001600160601b031661151a91906119bc565b92506101000a8154816001600160601b0302191690836001600160601b031602179055506115d6565b815485908390601090611567908490600160801b90046001600160601b03166119bc565b92506101000a8154816001600160601b0302191690836001600160601b031602179055508481600001600c8282829054906101000a90046001600160601b03166115b191906119bc565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b836001600160a01b0316866001600160a01b03167f720dd6f175f68c73fb470a1d57e611c555e7f963fba76f6b9fa7f75daa59d176878660405180836001600160601b0316815260200182151581526020019250505060405180910390a3505050505050565b611645336117f8565b610a4e576040517f16e29ab700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611683611864565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6116d6336118bb565b610a4e576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611714611927565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586116b03390565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690635f259aba906024015b602060405180830381865afa1580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f291906119f1565b92915050565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063d4eb5db0906024016117b1565b60005460ff16610a4e5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690633a41ec64906024016117b1565b60005460ff1615610a4e5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016118b2565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6001600160601b038181168382160190808211156119ea57634e487b7160e01b600052601160045260246000fd5b5092915050565b600060208284031215611a0357600080fd5b81518015158114611a1357600080fd5b939250505056fea26469706673582212209220732f130f5980f32a5d54708c086369a6f336499c443a02846e7d98df9c9464736f6c63430008110033000000000000000000000000ff94993fa7ea27efc943645f95adb36c1b81244b0000000000000000000000002fcbd02d5b1d52fc78d4c02890d7f4f47a459c33