110 txs
789 calls
constructor
constructor(address stakingToken_, address rewardsToken_)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
distributor
viewfunction distributor() view returns (address)
farmed
viewfunction farmed(address account) view returns (uint256)
farmInfo
viewfunction farmInfo() view returns (tuple)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
rewardsToken
viewfunction rewardsToken() view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
claim
nonpayablefunction claim()
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
deposit
nonpayablefunction deposit(uint256 amount)
exit
nonpayablefunction exit()
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
renounceOwnership
nonpayablefunction renounceOwnership()
rescueFunds
nonpayablefunction rescueFunds(address token, uint256 amount)
setDistributor
nonpayablefunction setDistributor(address distributor_)
startFarming
nonpayablefunction startFarming(uint256 amount, uint256 period)
stopFarming
nonpayablefunction stopFarming()
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 amount)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
DistributorChanged
event DistributorChanged(address oldDistributor, address newDistributor)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RewardUpdated
event RewardUpdated(uint256 reward, uint256 duration)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
AccessDenied
error AccessDenied()
AmountTooLarge
error AmountTooLarge()
DurationTooLarge
error DurationTooLarge()
InsufficientFunds
error InsufficientFunds()
MaxBalanceExceeded
error MaxBalanceExceeded()
SafeTransferFailed
error SafeTransferFailed()
SafeTransferFromFailed
error SafeTransferFromFailed()
SameDistributor
error SameDistributor()
SameStakingAndRewardsTokens
error SameStakingAndRewardsTokens()
ZeroDistributorAddress
error ZeroDistributorAddress()
ZeroDuration
error ZeroDuration()
ZeroRewardsTokenAddress
error ZeroRewardsTokenAddress()
ZeroStakingTokenAddress
error ZeroStakingTokenAddress()
creation bytecode
0x60c060409080825234620004eb578181620023db8038038091620000248285620004f0565b833981010312620004eb5780516001600160a01b039182821691829003620004eb576020809101519280841690818503620004eb5785516306fdde0360e01b815260049390600090818187818a5afa908115620004e1578291620004c3575b50620000c6602b8a5180936a02330b936b4b7339037b3160ad1b87830152620000b5815180928986860191016200052a565b810103600b810184520182620004f0565b88516395d89b4160e01b815293828588818b5afa948515620004b957839562000490575b50895190636661726d60e01b858301526200012886519683886200011860249a8b948b86860191016200052a565b8101038a810185520183620004f0565b8354336001600160a01b031982168117865591167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a381516001600160401b03939091908483116200039e578854926001948585811c9516801562000485575b8886101462000473578190601f9586811162000420575b508890868311600114620003bc578492620003b0575b5050600019600383901b1c191690851b1789555b81519485116200039e576005968754908582811c9216801562000393575b888310146200038257508381116200033c575b5085928511600114620002d5579394508492919083620002c9575b50501b916000199060031b1c19161790555b808314620002ba578215620002ab57156200029d575060805260a05251611e179081620005c482396080518181816103bd0152818161086801528181610afe01528181610ed90152611532015260a0518181816102d30152818161094601528181610ce1015281816111d401526116ff0152f35b83516330c1035b60e21b8152fd5b508351633bbbfc7960e01b8152fd5b508351630d21e9d760e41b8152fd5b01519250388062000217565b86815285812093958591601f198316915b8883831062000321575050501062000307575b505050811b01905562000229565b015160001960f88460031b161c19169055388080620002f9565b858701518855909601959485019487935090810190620002e6565b878252868220848088018a1c82019289891062000378575b01891c019085905b8281106200036c575050620001fc565b8381550185906200035c565b9250819262000354565b634e487b7160e01b835260228b5282fd5b91607f1691620001e9565b634e487b7160e01b8152604189528690fd5b015190503880620001b7565b8c85528985208894509190601f198416865b8c828210620004095750508411620003ef575b505050811b018955620001cb565b015160001960f88460031b161c19169055388080620003e1565b8385015186558b97909501949384019301620003ce565b9091508b84528884208680850160051c8201928b861062000469575b918991869594930160051c01915b8281106200045a575050620001a1565b8681558594508991016200044a565b925081926200043c565b634e487b7160e01b835260228b528883fd5b94607f16946200018a565b620004b19195503d8085833e620004a88183620004f0565b8101906200054f565b9338620000ea565b8a513d85823e3d90fd5b620004da91503d8084833e620004a88183620004f0565b3862000083565b89513d84823e3d90fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200051457604052565b634e487b7160e01b600052604160045260246000fd5b60005b8381106200053e5750506000910152565b81810151838201526020016200052d565b602081830312620004eb5780516001600160401b0391828211620004eb57019082601f83011215620004eb5781519081116200051457604051926200059f601f8301601f191660200185620004f0565b81845260208284010111620004eb57620005c091602080850191016200052a565b9056fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461124f57508063095ea7b31461122557806318160ddd146112065780631bfa4c04146110ef5780631d49d66c1461104b57806323b872dd14610f805780632e1a7d4d14610f63578063313ce56714610e935780633950935114610e445780634216f97214610de95780634e71d92d14610dd05780637026122214610bbf57806370a0823114610b88578063715018a614610b2257806372f702f314610ade57806375619ab5146109fd57806378e3214f146107035780638da5cb5b146106dd57806395d89b41146105db578063a457c2d71461051b578063a9059cbb146104ea578063b6b55f251461031f578063bfe10928146102f7578063d1af0c7d146102b3578063dd62ed3e1461026a578063e9fad8ee146102355763f2fde38b1461014c57600080fd5b346102315760203660031901126102315761016561138c565b9061016e6119e9565b6001600160a01b038092169283156101c857505082548273ffffffffffffffffffffffffffffffffffffffff198216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461026657816003193601126102665761025b9033835260016020528220546114b7565b6102636116af565b80f35b5080fd5b5050346102665780600319360112610266578060209261028861138c565b6102906113a7565b6001600160a01b0391821683526002865283832091168252845220549051908152f35b505034610266578160031936011261026657602090516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102665781600319360112610266576020906001600160a01b03600654169051908152f35b503461023157602091826003193601126104e65781359233156104a557831515808061049d575b610407575b5060019061035b85600354611756565b6003553386528181528286208581540190558251858152867fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef833393a3338652526d04ee2d6d415b85acef810000000081852054116103e157836102638430337f00000000000000000000000000000000000000000000000000000000000000006118ae565b517f24691f6b000000000000000000000000000000000000000000000000000000008152fd5b61040f611779565b9061041d8383015192611411565b9080610495575b61042f575b5061034b565b4264ffffffffff16602882901b64ffffffffff19161760028301556003906104579087611848565b9133885201825282862080548783820193841291129080158216911516176104825755600138610429565b602487601187634e487b7160e01b835252fd5b506001610424565b506001610346565b60649291519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b8380fd5b50503461026657806003193601126102665760209061051461050a61138c565b6024359033611a41565b5160018152f35b5082346105d857826003193601126105d85761053561138c565b91836024359233815260026020528181206001600160a01b038616825260205220549082821061056f576020856105148585038733611cad565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610231578260031936011261023157805191836005549060019082821c9282811680156106d3575b60209586861082146106c0575084885290811561069e5750600114610645575b6106418686610637828b03836113ef565b5191829182611343565b0390f35b929550600583527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b82841061068b575050508261064194610637928201019438610626565b805486850188015292860192810161066e565b60ff191687860152505050151560051b83010192506106378261064138610626565b836022602492634e487b7160e01b835252fd5b93607f1693610606565b5050346102665781600319360112610266576001600160a01b0360209254169051908152f35b5090346102315780600319360112610231576001600160a01b038235818116929183820361092c576024938435928260065416918233036109ee578061085c575050506006541681471061081a578580809381935af13d15610815573d67ffffffffffffffff811161080357825190610786601f8201601f1916602001836113ef565b81528560203d92013e5b1561079b5750505080f35b608492916020603a92519362461bcd60e51b85528401528201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b8386604187634e487b7160e01b835252fd5b610790565b606485601d86602087519362461bcd60e51b85528401528201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b909395919492809897987f000000000000000000000000000000000000000000000000000000000000000016908183146000146109425750602091508351928380926370a0823160e01b8252308c8301525afa908115610938578691610903575b506108ca85600354611756565b116108db575061026393945061194f565b8590517f356680b7000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211610930575b8161091d602093836113ef565b8101031261092c5751386108bd565b8580fd5b3d9150610910565b82513d88823e3d90fd5b90507f00000000000000000000000000000000000000000000000000000000000000001680911461097c575b50505061026393945061194f565b6020908351928380926370a0823160e01b8252308c8301525afa9081156109385786916109bd575b506109b185600854611756565b116108db57808061096e565b90506020813d82116109e6575b816109d7602093836113ef565b8101031261092c5751386109a4565b3d91506109ca565b878651634ca8886760e01b8152fd5b50903461023157602036600319011261023157610a1861138c565b90610a216119e9565b6001600160a01b03809216928315610ab75760065492831690818514610a905750817fa9f739537fc57540bed0a44e33e27baa63290d865cc15f0f16cf17d38c998a4d9173ffffffffffffffffffffffffffffffffffffffff19949351908152856020820152a1161760065580f35b82517f8750ee90000000000000000000000000000000000000000000000000000000008152fd5b90517f71702079000000000000000000000000000000000000000000000000000000008152fd5b505034610266578160031936011261026657602090516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b83346105d857806003193601126105d857610b3b6119e9565b806001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461026657602036600319011261026657806020926001600160a01b03610baf61138c565b1681526001845220549051908152f35b5090346102315780600319360112610231578135916024356001600160a01b03600654163303610dc157610bf1611779565b610c20610c02602083015192611411565b4264ffffffffff1660289190911b64ffffffffff1916176002830155565b84928215610d9a5763ffffffff90818411610d735782549064ffffffffff90818316926001860193845495814210610d2c575b5050506d04ee2d6d415b85acef81000000008711610d05575091859391610cad7f3efe2b1ade87153c913a322f09a35c930d7fd699770b8d7cdd294e1debf6e9e4978795610ca66102639c9b9942611756565b1693611756565b905568ffffffffffffffffff198460481b1668ffffffff00000000008460281b161717905582519182526020820152a130337f00000000000000000000000000000000000000000000000000000000000000006118ae565b87517f06250401000000000000000000000000000000000000000000000000000000008152fd5b610d6a939950610d5a85610d538594670de0b6b3a764000094610d649760281c1690611824565b16896117b8565b049060481c61183b565b89611756565b95388080610c53565b85517f426a1073000000000000000000000000000000000000000000000000000000008152fd5b84517f68d5686e000000000000000000000000000000000000000000000000000000008152fd5b509051634ca8886760e01b8152fd5b83346105d857806003193601126105d8576102636116af565b50503461026657602036600319011261026657610e3d602092610e0a61138c565b83610e13611779565b926001600160a01b038316815260018752205490610e376002878501510193611411565b92611874565b9051908152f35b505034610266578060031936011261026657610514602092610e8c610e6761138c565b91338152600286528481206001600160a01b0384168252865284602435912054611756565b9033611cad565b5091346105d857806003193601126105d8576020825180947f313ce567000000000000000000000000000000000000000000000000000000008252816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa928315610f57578193610f16575b60208460ff855191168152f35b9092506020813d8211610f4f575b81610f31602093836113ef565b8101031261023157519160ff831683036105d8575060ff6020610f09565b3d9150610f24565b509051903d90823e3d90fd5b8382346102665760203660031901126102665761026390356114b7565b5082903461026657606036600319011261026657610f9c61138c565b610fa46113a7565b9184604435946001600160a01b038416815260026020528181203382526020522054906000198203610fdf575b602086610514878787611a41565b8482106110085750918391610ffd6020969561051495033383611cad565b919394819350610fd1565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346102665781600319360112610266576080916060825161106d816113bd565b828152826020820152828482015201528051611088816113bd565b6007549176ffffffffffffffffffffffffffffffffffffffffffffff64ffffffffff8416938484526020840163ffffffff90818360281c1681528486019260481c835260606008549601958652845196875251166020860152511690830152516060820152f35b50346102315782600319360112610231576001600160a01b036006541633036111f857507f3efe2b1ade87153c913a322f09a35c930d7fd699770b8d7cdd294e1debf6e9e461113c611779565b9161116c61114e602085015194611411565b4264ffffffffff1660289190911b64ffffffffff1916176002850155565b8254926111a264ffffffffff94670de0b6b3a7640000610d5a8761119b63ffffffff8560281c16828616611824565b16856117b8565b93600182016111b286825461183b565b9055421690558051848152846020820152a1806111cd575080f35b61026390337f000000000000000000000000000000000000000000000000000000000000000061194f565b9051634ca8886760e01b8152fd5b5050346102665781600319360112610266576020906003549051908152f35b50503461026657806003193601126102665760209061051461124561138c565b6024359033611cad565b90508284346105d857806003193601126105d857809380549160019083821c92828516948515611339575b60209586861081146113265785895290811561130257506001146112aa575b6106418787610637828c03836113ef565b81529295507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106112ef57505050826106419461063792820101948680611299565b80548685018801529286019281016112d1565b60ff19168887015250505050151560051b8301019250610637826106418680611299565b602484602285634e487b7160e01b835252fd5b93607f169361127a565b6020808252825181830181905290939260005b82811061137857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501611356565b600435906001600160a01b03821682036113a257565b600080fd5b602435906001600160a01b03821682036113a257565b6080810190811067ffffffffffffffff8211176113d957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176113d957604052565b602081016002815101549064ffffffffff82169160281c92824203611437575b50505090565b61143f61148d565b505160031461145e57634e487b7160e01b600052605160045260246000fd5b600354908115611431576114849261147f9161147861148d565b50516117b8565b611798565b01388080611431565b604051906040820182811067ffffffffffffffff8211176113d95760405260006020838281520152565b331561164557801515808061163d575b6115c2575b503360005260016020526040600020549080821061155857806115569233600052600160205203604060002055806003540360035560006040518281527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3337f000000000000000000000000000000000000000000000000000000000000000061194f565b565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b6115ca611779565b906115d9602083015192611411565b9080611635575b6115eb575b506114cc565b4264ffffffffff16602882901b64ffffffffff19161760028301556003906116139084611848565b91336000520160205261162c604060002091825461185b565b905538806115e5565b5060016115e0565b5060016114c7565b608460405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b6116b7611779565b3360005260016020526040600020546116d4602083015192611411565b6116e381833360028701611874565b928315159283611723575b5050506116f85750565b61155690337f000000000000000000000000000000000000000000000000000000000000000061194f565b60019261172f91611848565b33600052600382016020526040600020550161174c83825461183b565b90553880806116ee565b9190820180921161176357565b634e487b7160e01b600052601160045260246000fd5b61178161148d565b5061178a61148d565b600381526007602082015290565b81156117a2570490565b634e487b7160e01b600052601260045260246000fd5b91906000925464ffffffffff81169063ffffffff8160281c1692836117dd5750505050565b61181394955090670de0b6b3a7640000929182421060001461181e5742925b808210156118165750905b60481c91030202611798565b90565b905090611807565b826117fc565b64ffffffffff918216908216039190821161176357565b9190820391821161176357565b8181029291811591840414171561176357565b8181039291600013801582851316918412161761176357565b6001906001600160a01b03611895670de0b6b3a7640000966118aa96611848565b9316600052016020526040600020549061185b565b0490565b9260209291606491600093604051927f23b872dd00000000000000000000000000000000000000000000000000000000845260048401526024830152604482015282855af1908161192c575b501561190257565b60046040517ff4059071000000000000000000000000000000000000000000000000000000008152fd5b90503d156119475750600160005114601f3d11165b386118fa565b3b1515611941565b916044602092600092604051917fa9059cbb0000000000000000000000000000000000000000000000000000000083526004830152602482015282855af190816119c6575b501561199c57565b60046040517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b90503d156119e15750600160005114601f3d11165b38611994565b3b15156119db565b6001600160a01b036000541633036119fd57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b03809116918215611c435716918215611bd9578015158080611bcf575b611b33575b5060008281526001602052604081205491808310611ac957604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260018652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b611b3b611779565b90611b4a602083015192611411565b9080611bc5575b611b5c575b50611a6a565b611b6860039184611848565b91016000908482528060205260408220611b8384825461185b565b905585825260205260408120908154818482019485129112908015821691151617611bb15750553880611b56565b80634e487b7160e01b602492526011600452fd5b5084841415611b51565b5083831415611a65565b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b6001600160a01b03809116918215611d785716918215611d0e5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260028252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220e973a140b3e70821ae8a3ffcca7ccb8ec05d11da5138e870d938a2894ae587ba64736f6c634300081100330000000000000000000000008ef73f036feec873d0b2fd20892215df5b8bdd72000000000000000000000000ba3335588d9403515223f109edc4eb7269a9ab5d