2.7k txs
4.7k calls
constructor
constructor(address _owner, address _timelock_address, address _curator_address, address _reward_token_address, address _gauge_controller_address)
functions
curator_address
viewfunction curator_address() view returns (address)
currentReward
viewfunction currentReward(address gauge_address) view returns (uint256 reward_amount)
distributionsOn
viewfunction distributionsOn() view returns (bool)
gauge_whitelist
viewfunction gauge_whitelist(address) view returns (bool)
is_middleman
viewfunction is_middleman(address) view returns (bool)
last_time_gauge_paid
viewfunction last_time_gauge_paid(address) view returns (uint256)
nominatedOwner
viewfunction nominatedOwner() view returns (address)
owner
viewfunction owner() view returns (address)
timelock_address
viewfunction timelock_address() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
distributeReward
nonpayablefunction distributeReward(address gauge_address) returns (uint256 weeks_elapsed, uint256 reward_tally)
nominateNewOwner
nonpayablefunction nominateNewOwner(address _owner)
recoverERC20
nonpayablefunction recoverERC20(address tokenAddress, uint256 tokenAmount)
setCurator
nonpayablefunction setCurator(address _new_curator_address)
setGaugeController
nonpayablefunction setGaugeController(address _gauge_controller_address)
setGaugeState
nonpayablefunction setGaugeState(address _gauge_address, bool _is_middleman, bool _is_active)
setTimelock
nonpayablefunction setTimelock(address _new_timelock)
toggleDistributions
nonpayablefunction toggleDistributions()
events
DistributionsToggled
event DistributionsToggled(bool distibutions_state)
GaugeStateChanged
event GaugeStateChanged(address gauge_address, bool is_middleman, bool is_active)
OwnerChanged
event OwnerChanged(address oldOwner, address newOwner)
OwnerNominated
event OwnerNominated(address newOwner)
RecoveredERC20
event RecoveredERC20(address token, uint256 amount)
RewardDistributed
event RewardDistributed(address indexed gauge_address, uint256 reward_amount)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162001bc138038062001bc1833981016040819052620000349162000164565b846001600160a01b038116620000905760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b03831690811782556040805192835260208301919091527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a150600580546001600160a01b03199081166001600160a01b03958616179091556004805482169585169590951790945560028054851692841692909217909155600380549093169116179055506009805460ff19166001179055620001d3565b80516001600160a01b03811681146200015f57600080fd5b919050565b600080600080600060a086880312156200017c578081fd5b620001878662000147565b9450620001976020870162000147565b9350620001a76040870162000147565b9250620001b76060870162000147565b9150620001c76080870162000147565b90509295509295909350565b6119de80620001e36000396000f3fe608060405234801561001057600080fd5b50600436106101355760003560e01c806379ba5097116100b2578063bdacb30311610081578063dc6663c711610066578063dc6663c7146102e1578063e81e17c614610301578063e90956cf1461032157600080fd5b8063bdacb303146102ae578063c92073c1146102c157600080fd5b806379ba5097146102525780638980f11f1461025a5780638da5cb5b1461026d5780639d18e4b01461028d57600080fd5b80632fd37b081161010957806353a47bb7116100ee57806353a47bb7146101d7578063570b1e991461021c5780636ca81c1c1461022f57600080fd5b80632fd37b08146101ac578063305d6d5f146101cf57600080fd5b806291d2b81461013a578063092193ab1461014f5780631627540c1461017c5780631f8a7edf1461018f575b600080fd5b61014d61014836600461172e565b610334565b005b61016261015d36600461172e565b610423565b604080519283526020830191909152015b60405180910390f35b61014d61018a36600461172e565b610a27565b60095461019c9060ff1681565b6040519015158152602001610173565b61019c6101ba36600461172e565b60066020526000908152604090205460ff1681565b61014d610b47565b6001546101f79073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610173565b61014d61022a366004611748565b610c77565b61019c61023d36600461172e565b60076020526000908152604090205460ff1681565b61014d610dc4565b61014d610268366004611790565b610f0f565b6000546101f79073ffffffffffffffffffffffffffffffffffffffff1681565b6102a061029b36600461172e565b61102a565b604051908152602001610173565b61014d6102bc36600461172e565b61116a565b6005546101f79073ffffffffffffffffffffffffffffffffffffffff1681565b6004546101f79073ffffffffffffffffffffffffffffffffffffffff1681565b6102a061030f36600461172e565b60086020526000908152604090205481565b61014d61032f36600461172e565b611254565b60005473ffffffffffffffffffffffffffffffffffffffff16331480610371575060045473ffffffffffffffffffffffffffffffffffffffff1633145b6103dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b000000000000000000000060448201526064015b60405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600954600090819060ff161515600114610499576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f446973747269627574696f6e7320617265206f6666000000000000000000000060448201526064016103d3565b73ffffffffffffffffffffffffffffffffffffffff831660009081526006602052604090205460ff16610528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4761756765206e6f742077686974656c6973746564000000000000000000000060448201526064016103d3565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600860205260409020548061055c57600192506105af565b73ffffffffffffffffffffffffffffffffffffffff841660009081526008602052604090205462093a809061059290429061133e565b61059c9190611872565b9250826105af5750600093849350915050565b6000915060005b8381101561083f57600081610677576003546040517f6472eee100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015242602483015290911690636472eee190604401602060405180830381600087803b15801561063857600080fd5b505af115801561064c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067091906117d5565b9050610751565b60035473ffffffffffffffffffffffffffffffffffffffff1663d3078c94876106ad6106a68662093a806118ab565b429061133e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9092166004830152602482015260440160206040518083038186803b15801561071657600080fd5b505afa15801561072a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074e91906117d5565b90505b600061080f670de0b6b3a764000061080984600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a3be7576040518163ffffffff1660e01b815260040160206040518083038186803b1580156107cb57600080fd5b505afa1580156107df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080391906117d5565b90611389565b9061143e565b90506108286108218262093a80611389565b8690611480565b9450505080806108379061192f565b9150506105b6565b5073ffffffffffffffffffffffffffffffffffffffff84166000908152600860209081526040808320429055600790915290205460ff16156109ad576002546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152602482018590529091169063095ea7b390604401602060405180830381600087803b1580156108ef57600080fd5b505af1158015610903573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092791906117b9565b506040517f4ae3decf0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff851690634ae3decf90602401600060405180830381600087803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b505050506109d1565b6002546109d19073ffffffffffffffffffffffffffffffffffffffff1685846114f9565b8373ffffffffffffffffffffffffffffffffffffffff167fe34918ff1c7084970068b53fd71ad6d8b04e9f15d3886cbf006443e6cdc52ea683604051610a1991815260200190565b60405180910390a250915091565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e000000000000000000000000000000000060648201526084016103d3565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229060200160405180910390a150565b60005473ffffffffffffffffffffffffffffffffffffffff16331480610b84575060055473ffffffffffffffffffffffffffffffffffffffff1633145b80610ba6575060045473ffffffffffffffffffffffffffffffffffffffff1633145b610c0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f74206f776e65722c2063757261746f722c206f722074696d656c6f636b0060448201526064016103d3565b6009805460ff808216157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090921682179092556040519116151581527fa47e236370e478b9d163098c7c1f4f67b6efbb6683eeb0a669f04f302653779d9060200160405180910390a1565b60005473ffffffffffffffffffffffffffffffffffffffff16331480610cb4575060045473ffffffffffffffffffffffffffffffffffffffff1633145b610d1a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b000000000000000000000060448201526064016103d3565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260076020908152604080832080548715157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009182168117909255600684529382902080548715159516851790558151948552918401919091528201527f404f22d93b56a7e73713d7bbe543b016084d4d75b4d9177e8b8ab251f6e877d09060600160405180910390a1505050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610e6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e657273686970000000000000000000000060648201526084016103d3565b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff93841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b60005473ffffffffffffffffffffffffffffffffffffffff16331480610f4c575060045473ffffffffffffffffffffffffffffffffffffffff1633145b610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b000000000000000000000060448201526064016103d3565b600054610fd790839073ffffffffffffffffffffffffffffffffffffffff16836114f9565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f55350610fe57096d8c0ffa30beede987326bccfcb0b4415804164d0dd50ce8b1910160405180910390a15050565b6003546040517fd3078c9400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152426024830152600092839291169063d3078c949060440160206040518083038186803b15801561109f57600080fd5b505afa1580156110b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d791906117d5565b90506000611153670de0b6b3a764000061080984600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a3be7576040518163ffffffff1660e01b815260040160206040518083038186803b1580156107cb57600080fd5b90506111628162093a80611389565b949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314806111a7575060045473ffffffffffffffffffffffffffffffffffffffff1633145b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b000000000000000000000060448201526064016103d3565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff16331480611291575060045473ffffffffffffffffffffffffffffffffffffffff1633145b6112f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b000000000000000000000060448201526064016103d3565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600061138083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611669565b90505b92915050565b60008261139857506000611383565b60006113a483856118ab565b9050826113b18583611872565b14611380576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016103d3565b600061138083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116bd565b60008061148d838561185a565b905083811015611380576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d3565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052915160009283929087169161159091906117ed565b6000604051808303816000865af19150503d80600081146115cd576040519150601f19603f3d011682016040523d82523d6000602084013e6115d2565b606091505b50915091508180156115fc5750805115806115fc5750808060200190518101906115fc91906117b9565b611662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c45440060448201526064016103d3565b5050505050565b600081848411156116a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d39190611809565b5060006116b484866118e8565b95945050505050565b600081836116f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d39190611809565b5060006116b48486611872565b803573ffffffffffffffffffffffffffffffffffffffff8116811461172957600080fd5b919050565b60006020828403121561173f578081fd5b61138082611705565b60008060006060848603121561175c578182fd5b61176584611705565b9250602084013561177581611997565b9150604084013561178581611997565b809150509250925092565b600080604083850312156117a2578182fd5b6117ab83611705565b946020939093013593505050565b6000602082840312156117ca578081fd5b815161138081611997565b6000602082840312156117e6578081fd5b5051919050565b600082516117ff8184602087016118ff565b9190910192915050565b60208152600082518060208401526118288160408501602087016118ff565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000821982111561186d5761186d611968565b500190565b6000826118a6577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156118e3576118e3611968565b500290565b6000828210156118fa576118fa611968565b500390565b60005b8381101561191a578181015183820152602001611902565b83811115611929576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561196157611961611968565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80151581146119a557600080fd5b5056fea2646970667358221220a26a038e3b6187a26ab936fb43cab72516ed5af4a3d935602cd5cbba8a4cd36a64736f6c63430008040033000000000000000000000000234d953a9404bf9dbc3b526271d440cd2870bcd20000000000000000000000008412ebf45bac1b340bbe8f318b928c466c4e39ca00000000000000000000000073f9f84b04584227b4f0baffd8b37d6d0c11a23c0000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d000000000000000000000000044ade9aa409b0c29463ff7fcf07c9d3c939166ce