2.8k txs
7.8k calls
constructor
constructor(address governor_)
functions
governor
viewfunction governor() view returns (address)
rewardConfig
viewfunction rewardConfig(address) view returns (address token, uint64 rescaleFactor, bool shouldUpscale)
rewardsClaimed
viewfunction rewardsClaimed(address, address) view returns (uint256)
claim
nonpayablefunction claim(address comet, address src, bool shouldAccrue)
claimTo
nonpayablefunction claimTo(address comet, address src, address to, bool shouldAccrue)
getRewardOwed
nonpayablefunction getRewardOwed(address comet, address account) returns (tuple)
setRewardConfig
nonpayablefunction setRewardConfig(address comet, address token)
transferGovernor
nonpayablefunction transferGovernor(address newGovernor)
withdrawToken
nonpayablefunction withdrawToken(address token, address to, uint256 amount)
events
GovernorTransferred
event GovernorTransferred(address indexed oldGovernor, address indexed newGovernor)
RewardClaimed
event RewardClaimed(address indexed src, address indexed recipient, address indexed token, uint256 amount)
errors
AlreadyConfigured
error AlreadyConfigured(address)
InvalidUInt64
error InvalidUInt64(uint256)
NotPermitted
error NotPermitted(address)
NotSupported
error NotSupported(address)
TransferOutFailed
error TransferOutFailed(address, uint256)
creation bytecode
0x6080806040523461007857601f610b9a38819003918201601f19168301916001600160401b0383118484101761007d5780849260209460405283398101031261007857516001600160a01b0381169081900361007857600080546001600160a01b031916919091179055604051610b0690816100948239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816301e33667146106f8575080630c340a24146106d05780632289b6b81461066f57806341e0cad61461050a5780634ff85d941461042457806365e12392146103d257806395e36d2c1461015d578063b7034f7e146101125763b8cc9ce61461008757600080fd5b3461010e57602036600319011261010e5781356001600160a01b038181169291839003610109578454908116938433036100f257506001600160a01b0319168217845551917f6fadb1c244276388aee22be93b919985a18748c021e5d48553957a48101a25608484a3f35b6024908351906319b1d90760e31b82523390820152fd5b600080fd5b8280fd5b50903461010e57606036600319011261010e57356001600160a01b03808216820361010957602435908116810361010957604435908115158203610109578061015a93610824565b51f35b50903461010e578160031936011261010e576001600160a01b03908035828116908190036101095760243592808416809403610109578086541633036103bc578186526020600181528186882054166103a55785516351076acb60e11b815281818681875afa90811561039b57889161036e575b50865163313ce56760e01b8152828187818a5afa8015610364578990610328575b60ff915016604d811161031557600a0a60018060401b03958682116103015750908560019392169081878216116000146102945790610230916107bd565b9487519661023f606089610765565b8752909416848601908152868601888152938852935284862093518454935192516001600160e81b031990941691161760a09190911b600160a01b600160e01b03161790151560e01b60ff60e01b1617905551f35b61029d916107bd565b948751966102ac606089610765565b8752909416848601908152868601828152938852935284862093518454935192516001600160e81b031990941691161760a09190911b600160a01b600160e01b03161790151560e01b60ff60e01b1617905551f35b602491895191624809a360e21b8352820152fd5b634e487b7160e01b895260118652602489fd5b508281813d831161035d575b61033e8183610765565b81010312610359575160ff811681036103595760ff906101f2565b8880fd5b503d610334565b88513d8b823e3d90fd5b61038e9150823d8411610394575b6103868183610765565b81019061079e565b386101d1565b503d61037c565b87513d8a823e3d90fd5b8551633a4406b560e01b8152808501849052602490fd5b84516319b1d90760e31b81523381850152602490fd5b50903461010e578160031936011261010e576001600160a01b03903581811690819003610109576024359182168092036101095783839160209552600285522090600052825280600020549051908152f35b50829034610506576080366003190112610506578235926001600160a01b03808516918286036101095760243590828216938483036101095760443593841684036101095760643594851515860361010957602090604488518094819363cde6804160e01b8352878301523360248301525afa9081156104fc5787916104ce575b50156104b7575061015a939495610824565b6024908551906319b1d90760e31b82523390820152fd5b6104ef915060203d81116104f5575b6104e78183610765565b81019061080c565b886104a5565b503d6104dd565b86513d89823e3d90fd5b5080fd5b50913461066c578260031936011261066c578135906001600160a01b03908183169081840361066c57602435938385169485810361010e5787519561054f8988610765565b83875283602080980152848452600187528884209789519861057260608b610765565b54878116808b5260a082901c6001600160401b03168a8c015260e09190911c60ff1615158b8b01521561065557853b1561065157895163bfe69c8d60e01b81529081018290528481602481838a5af18015610647579089939291610631575b5084956105f29495526002885289862090600052875288600020549361098b565b818111156106295761060492506107eb565b925b5116918184516106168682610765565b8481520190815283519283525190820152f35b505092610606565b94610640816105f29697610765565b94936105d1565b8a513d87823e3d90fd5b8480fd5b8951634e2c71db60e11b8152908101869052602490fd5b80fd5b50903461010e57602036600319011261010e576001600160a01b03919035828116908190036106cc57818460ff9260609652600160205220548251938116845260018060401b038160a01c16602085015260e01c16151590820152f35b8380fd5b838234610506578160031936011261050657905490516001600160a01b039091168152602090f35b91929050346106cc5760603660031901126106cc578035916001600160a01b039182841684036107615760243592808416840361075d5786541633036107485750509061015a9160443591610a49565b6319b1d90760e31b8252339082015260249150fd5b8680fd5b8580fd5b601f909101601f19168101906001600160401b0382119082101761078857604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261010957516001600160401b03811681036101095790565b6001600160401b03918216919082156107d557160490565b634e487b7160e01b600052601260045260246000fd5b8181106107f6570390565b634e487b7160e01b600052601160045260246000fd5b90816020910312610109575180151581036101095790565b600060018060a01b03808316948583526020926001845260409788822090895191610850606084610765565b5485811680845260a082901c6001600160401b03168885015260e09190911c60ff1615158b8401521561097357610922575b878252600285526108a6818a842098868116998a60005288528b600020549861098b565b8681116108ba575b50505050505050505050565b8985936108e87f2422cac5e23c46c890fdcf42d0c64757409df6832174df639337558f09d99c6899846107eb565b9a815260028852208860005286528960002055610909888484845116610a49565b511696519586521693a4388080808080808080806108ae565b90873b1561066c57885163bfe69c8d60e01b815287851660048201528181602481838d5af1801561096957610959575b5090610882565b8161096391610765565b38610952565b8a513d84823e3d90fd5b8951634e2c71db60e11b8152600481018a9052602490fd5b604051632ae6e9fd60e21b81526001600160a01b0392831660048201529160209183916024918391165afa908115610a2257600091610a04575b5060408201516001600160401b0391821692602091156109f6570151169080600019048211811515166107f6570290565b0151169081156107d5570490565b610a1c915060203d8111610394576103868183610765565b386109c5565b6040513d6000823e3d90fd5b6001600160a01b039091168152602081019190915260400190565b6020604051809263a9059cbb60e01b825281600081610a6c898960048401610a2e565b03926001600160a01b03165af1908115610a2257600091610ab2575b5015610a92575050565b610aae60405192839263701ed0db60e01b845260048401610a2e565b0390fd5b610aca915060203d81116104f5576104e78183610765565b38610a8856fea2646970667358221220369589494c2063aa262985e27eb850ed48f2ac1788625cf1d157da1c7aa86c2b64736f6c634300080f0033000000000000000000000000343715fa797b8e9fe48b9efab4b54f01ca860e78