1.4k txs
2.1k calls
constructor
constructor(address _reward, uint256 _rewardPerBlock)
functions
ETH_PLACEHOLDER_ADDR
viewfunction ETH_PLACEHOLDER_ADDR() view returns (address)
owner
viewfunction owner() view returns (address)
pendingReward
viewfunction pendingReward(uint256 _pid, address _user) view returns (uint256 pendingRewardAmount, uint256 pendingRewarderTokens)
poolInfo
viewfunction poolInfo(uint256) view returns (address weToken, uint256 allocPoint, uint256 lastRewardBlock, uint256 accTokenPerShare, address rewarder)
poolLength
viewfunction poolLength() view returns (uint256)
reward
viewfunction reward() view returns (address)
rewardPerBlock
viewfunction rewardPerBlock() view returns (uint256)
totalAllocPoint
viewfunction totalAllocPoint() view returns (uint256)
userInfo
viewfunction userInfo(uint256, address) view returns (uint256 amount, uint256 rewardDebt)
add
nonpayablefunction add(uint256 _allocPoint, address _weToken, address _rewarder)
deposit
nonpayablefunction deposit(uint256 _pid, uint256 _amount)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(uint256 _pid)
harvest
nonpayablefunction harvest(uint256 _pid)
inCaseTokenGotStuck
nonpayablefunction inCaseTokenGotStuck(address stuckToken)
massUpdatePools
nonpayablefunction massUpdatePools()
renounceOwnership
nonpayablefunction renounceOwnership()
set
nonpayablefunction set(uint256 _pid, uint256 _allocPoint, address _rewarder)
setRewardPerBlock
nonpayablefunction setRewardPerBlock(uint256 _rewardPerBlock)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updatePool
nonpayablefunction updatePool(uint256 _pid)
withdraw
nonpayablefunction withdraw(uint256 _pid, uint256 _amount)
events
Deposit
event Deposit(address indexed user, uint256 indexed pid, uint256 amount)
EmergencyWithdraw
event EmergencyWithdraw(address indexed user, uint256 indexed pid, uint256 amount)
Harvest
event Harvest(address indexed user, uint256 indexed pid, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolAdded
event PoolAdded(uint256 poolId, uint256 allocPoint, address weToken, address rewarder)
PoolSet
event PoolSet(uint256 poolId, uint256 allocPoint, address rewarder)
PoolUpdated
event PoolUpdated(uint256 poolId, uint256 lastRewardBlock, uint256 supply, uint256 accTokenPerShare)
RewardPerBlockUpdated
event RewardPerBlockUpdated(uint256 rewardPerBlock)
Withdraw
event Withdraw(address indexed user, uint256 indexed pid, uint256 amount)
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162002847380380620028478339810160408190526200003491620000aa565b6200003f336200005a565b600180556001600160a01b03909116608052600255620000e6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060408385031215620000be57600080fd5b82516001600160a01b0381168114620000d657600080fd5b6020939093015192949293505050565b60805161273062000117600039600081816101f5015281816105d901528181611476015261188301526127306000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c80638a1017ed116100d8578063ab7de0981161008c578063e1a4e72a11610066578063e1a4e72a1461036f578063e2bbb15814610382578063f2fde38b1461039557600080fd5b8063ab7de09814610336578063bb872b4a14610349578063ddc632621461035c57600080fd5b80638da5cb5b116100bd5780638da5cb5b146102be57806393f1a40b146102dc57806398969e821461032357600080fd5b80638a1017ed146102a25780638ae39cac146102b557600080fd5b806351eb05a61161012f578063630b5ba111610114578063630b5ba114610277578063715018a61461027f57806388c4cb361461028757600080fd5b806351eb05a6146102515780635312ea8e1461026457600080fd5b806317caf6f11161016057806317caf6f1146101e7578063228cb733146101f0578063441a3e701461023c57600080fd5b8063081e3eda1461017c5780631526fe2714610193575b600080fd5b6004545b6040519081526020015b60405180910390f35b6101a66101a13660046123c8565b6103a8565b6040805173ffffffffffffffffffffffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161018a565b61018060035481565b6102177f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161018a565b61024f61024a3660046123e1565b610403565b005b61024f61025f3660046123c8565b610774565b61024f6102723660046123c8565b61090f565b61024f610a9a565b61024f610ac3565b61021773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61024f6102b0366004612425565b610ad7565b61018060025481565b60005473ffffffffffffffffffffffffffffffffffffffff16610217565b61030e6102ea36600461245e565b60056020908152600092835260408084209091529082529020805460019091015482565b6040805192835260208301919091520161018a565b61030e61033136600461245e565b610ca2565b61024f61034436600461248e565b610f30565b61024f6103573660046123c8565b6112be565b61024f61036a3660046123c8565b611373565b61024f61037d3660046124c5565b6115ab565b61024f6103903660046123e1565b611787565b61024f6103a33660046124c5565b611a57565b600481815481106103b857600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015473ffffffffffffffffffffffffffffffffffffffff93841695509193909290911685565b61040b611b0b565b6000811161047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4d43573a20696e76616c69642076616c7565000000000000000000000000000060448201526064015b60405180910390fd5b61048382610774565b600033905060006004848154811061049d5761049d6124e9565b600091825260208083206040805160a0810182526005948502909201805473ffffffffffffffffffffffffffffffffffffffff908116845260018201548486015260028201548484015260038201546060850152600490910154811660808401528986529383528085209387168552929091529120805491925090841115610581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d43573a2021616d6f756e7400000000000000000000000000000000000000006044820152606401610471565b805415610602576000816001015464e8d4a51000846060015184600001546105a99190612547565b6105b39190612584565b6105bd91906125bf565b905061060073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168583611b7e565b505b8381600001600082825461061691906125bf565b90915550506060820151815464e8d4a510009161063291612547565b61063c9190612584565b6001820155608082015173ffffffffffffffffffffffffffffffffffffffff8116156106ef5781546040517f560e39b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015260248201929092529082169063560e39b290604401600060405180830381600087803b1580156106d657600080fd5b505af11580156106ea573d6000803e3d6000fd5b505050505b82516107129073ffffffffffffffffffffffffffffffffffffffff168587611b7e565b858473ffffffffffffffffffffffffffffffffffffffff167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5688760405161075b91815260200190565b60405180910390a35050505061077060018055565b5050565b600060048281548110610789576107896124e9565b9060005260206000209060050201905080600201544311156107705780546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083791906125d6565b905080156108b657600082600201544361085191906125bf565b9050600060035484600101546002548461086b9190612547565b6108759190612547565b61087f9190612584565b9050826108918264e8d4a51000612547565b61089b9190612584565b8460030160008282546108ae91906125ef565b909155505050505b43600283018190556003830154604080518681526020810193909352820183905260608201527fb0a2ded49817748754bcca0474b24011f01d4574dd5c40e14197ffa2e6540fef906080015b60405180910390a1505050565b610917611b0b565b6000339050600060048381548110610931576109316124e9565b600091825260208083208684526005808352604080862073ffffffffffffffffffffffffffffffffffffffff891680885294529485902080549551919094029091019450919286927fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae0595916109a89190815260200190565b60405180910390a3805460008083556001830155600483015473ffffffffffffffffffffffffffffffffffffffff168015610a66576040517f560e39b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526000602483015282169063560e39b290604401600060405180830381600087803b158015610a4d57600080fd5b505af1158015610a61573d6000803e3d6000fd5b505050505b8354610a899073ffffffffffffffffffffffffffffffffffffffff168684611b7e565b5050505050610a9760018055565b50565b60045460005b8181101561077057610ab181610774565b80610abb81612607565b915050610aa0565b610acb611c57565b610ad56000611cd8565b565b610adf611c57565b600060048481548110610af457610af46124e9565b9060005260206000209060050201905082816001015414610b3757806001015483600354610b2291906125ef565b610b2c91906125bf565b600355600181018390555b600481015473ffffffffffffffffffffffffffffffffffffffff838116911614610c425773ffffffffffffffffffffffffffffffffffffffff821615610bff576040517f560e39b2000000000000000000000000000000000000000000000000000000008152600060048201819052602482015273ffffffffffffffffffffffffffffffffffffffff83169063560e39b290604401600060405180830381600087803b158015610be657600080fd5b505af1158015610bfa573d6000803e3d6000fd5b505050505b6004810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790555b6004810154604080518681526020810186905273ffffffffffffffffffffffffffffffffffffffff90921682820152517fff38300b7866933a8f16457ac835b1f4c31c3ac59d4b179b65a044b2d49cd09e9181900360600190a150505050565b600080600060048581548110610cba57610cba6124e9565b600091825260208083206040805160a0810182526005948502909201805473ffffffffffffffffffffffffffffffffffffffff9081168452600182015484860152600282015484840152600382015460608501908152600492830154821660808601528c88529585528287208b821688529094528186209451835192517f70a08231000000000000000000000000000000000000000000000000000000008152309281019290925292965093949193919216906370a0823190602401602060405180830381865afa158015610d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db791906125d6565b9050836040015143118015610dcb57508015155b15610e3b576000846040015143610de291906125bf565b90506000600354866020015160025484610dfc9190612547565b610e069190612547565b610e109190612584565b905082610e228264e8d4a51000612547565b610e2c9190612584565b610e3690856125ef565b935050505b6001830154835464e8d4a5100090610e54908590612547565b610e5e9190612584565b610e6891906125bf565b608085015190965073ffffffffffffffffffffffffffffffffffffffff8116610e92576000610f22565b6040517fc031a66f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015282169063c031a66f90602401602060405180830381865afa158015610efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2291906125d6565b955050505050509250929050565b610f38611c57565b610f43600683611d4d565b15610faa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4d43573a20616c726561647920616464656400000000000000000000000000006044820152606401610471565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015611014573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103891906125d6565b5073ffffffffffffffffffffffffffffffffffffffff8116156110dd576040517f560e39b2000000000000000000000000000000000000000000000000000000008152600060048201819052602482015273ffffffffffffffffffffffffffffffffffffffff82169063560e39b290604401600060405180830381600087803b1580156110c457600080fd5b505af11580156110d8573d6000803e3d6000fd5b505050505b82600360008282546110ef91906125ef565b90915550506040805160a08101825273ffffffffffffffffffffffffffffffffffffffff8085168252602082018681524393830193845260006060840181815286841660808601908152600480546001810182559352945160059092027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b810180549386167fffffffffffffffffffffffff000000000000000000000000000000000000000094851617905592517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c84015594517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19d83015593517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19e82015591517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19f9092018054929091169190921617905561124b600683611d81565b507fe72dff05c5a9817b99753fffdec6b7800cc743c2f4b1fbc3eeb93983712a2a46600161127860045490565b61128291906125bf565b604080519182526020820186905273ffffffffffffffffffffffffffffffffffffffff8086169183019190915283166060820152608001610902565b6112c6611c57565b60008111611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c69642076616c7565000000000000000000000000000000000000006044820152606401610471565b611338610a9a565b60028190556040518181527f5ed0ffa545a9eae0edd36b74378d16454cf385281383c7632ad5b2ebf3ab2b929060200160405180910390a150565b61137b611b0b565b61138481610774565b600081815260056020908152604080832033808552925282206004805492939192859081106113b5576113b56124e9565b600091825260208083206040805160a0810182526005909402909101805473ffffffffffffffffffffffffffffffffffffffff90811685526001820154938501939093526002810154918401919091526003810154606084018190526004909101549091166080830152845491935064e8d4a51000916114359190612547565b61143f9190612584565b9050600083600101548261145391906125bf565b60018501839055905061149d73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168683611b7e565b608083015173ffffffffffffffffffffffffffffffffffffffff81161561154b5784546040517f560e39b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015260248201929092529082169063560e39b290604401600060405180830381600087803b15801561153257600080fd5b505af1158015611546573d6000803e3d6000fd5b505050505b868673ffffffffffffffffffffffffffffffffffffffff167f71bab65ced2e5750775a0613be067df48ef06cf92a496ebf7663ae06609249548460405161159491815260200190565b60405180910390a3505050505050610a9760018055565b6115b3611c57565b73ffffffffffffffffffffffffffffffffffffffff8116611630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4d43573a202161646472657373000000000000000000000000000000000000006044820152606401610471565b61163b600682611d4d565b156116a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4d43573a20217374616b65645f746f6b656e00000000000000000000000000006044820152606401610471565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8216016116e957610a973347611da3565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015611756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177a91906125d6565b9050610770823383611e87565b61178f611b0b565b61179882610774565b60003390506000600484815481106117b2576117b26124e9565b600091825260208083206040805160a0810182526005948502909201805473ffffffffffffffffffffffffffffffffffffffff908116845260018201548486015260028201548484015260038201546060850152600490910154811660808401528986529383528085209387168552929091529120805491925090156118fd576000816001015464e8d4a51000846060015184600001546118539190612547565b61185d9190612584565b61186791906125bf565b90506118aa73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168583611b7e565b858473ffffffffffffffffffffffffffffffffffffffff167f71bab65ced2e5750775a0613be067df48ef06cf92a496ebf7663ae0660924954836040516118f391815260200190565b60405180910390a3505b8381600001600082825461191191906125ef565b90915550506060820151815464e8d4a510009161192d91612547565b6119379190612584565b6001820155608082015173ffffffffffffffffffffffffffffffffffffffff8116156119ea5781546040517f560e39b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015260248201929092529082169063560e39b290604401600060405180830381600087803b1580156119d157600080fd5b505af11580156119e5573d6000803e3d6000fd5b505050505b8251611a0e9073ffffffffffffffffffffffffffffffffffffffff16853088611ff7565b858473ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a158760405161075b91815260200190565b611a5f611c57565b73ffffffffffffffffffffffffffffffffffffffff8116611b02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610471565b610a9781611cd8565b600260015403611b77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610471565b6002600155565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052611c529084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261205b565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ad5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610471565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b90505b92915050565b6000611d788373ffffffffffffffffffffffffffffffffffffffff841661216a565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff8416908390604051611dda919061266b565b60006040518083038185875af1925050503d8060008114611e17576040519150601f19603f3d011682016040523d82523d6000602084013e611e1c565b606091505b5050905080611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f53544500000000000000000000000000000000000000000000000000000000006044820152606401610471565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839290871691611f1e919061266b565b6000604051808303816000865af19150503d8060008114611f5b576040519150601f19603f3d011682016040523d82523d6000602084013e611f60565b606091505b5091509150818015611f8a575080511580611f8a575080806020019051810190611f8a9190612687565b611ff0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f53540000000000000000000000000000000000000000000000000000000000006044820152606401610471565b5050505050565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526120559085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611bd0565b50505050565b60006120bd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121b99092919063ffffffff16565b90508051600014806120de5750808060200190518101906120de9190612687565b611c52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610471565b60008181526001830160205260408120546121b157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611d7b565b506000611d7b565b60606121c884846000856121d0565b949350505050565b606082471015612262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610471565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161228b919061266b565b60006040518083038185875af1925050503d80600081146122c8576040519150601f19603f3d011682016040523d82523d6000602084013e6122cd565b606091505b50915091506122de878383876122e9565b979650505050505050565b6060831561237f5782516000036123785773ffffffffffffffffffffffffffffffffffffffff85163b612378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610471565b50816121c8565b6121c883838151156123945781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047191906126a9565b6000602082840312156123da57600080fd5b5035919050565b600080604083850312156123f457600080fd5b50508035926020909101359150565b73ffffffffffffffffffffffffffffffffffffffff81168114610a9757600080fd5b60008060006060848603121561243a57600080fd5b8335925060208401359150604084013561245381612403565b809150509250925092565b6000806040838503121561247157600080fd5b82359150602083013561248381612403565b809150509250929050565b6000806000606084860312156124a357600080fd5b8335925060208401356124b581612403565b9150604084013561245381612403565b6000602082840312156124d757600080fd5b81356124e281612403565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561257f5761257f612518565b500290565b6000826125ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000828210156125d1576125d1612518565b500390565b6000602082840312156125e857600080fd5b5051919050565b6000821982111561260257612602612518565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361263857612638612518565b5060010190565b60005b8381101561265a578181015183820152602001612642565b838111156120555750506000910152565b6000825161267d81846020870161263f565b9190910192915050565b60006020828403121561269957600080fd5b815180151581146124e257600080fd5b60208152600082518060208401526126c881604085016020870161263f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220f9213e566d71171576c98705314df42d0fd95cd115ce2205c3b2eadf4aebff5e64736f6c634300080e0033000000000000000000000000f3df0a31ec5ea438150987805e841f960b9471b60000000000000000000000000000000000000000000000000000000000000001