413 txs
753 calls
constructor
constructor(address _nxd)
functions
averageFeesPerBlockEpoch
viewfunction averageFeesPerBlockEpoch() view returns (uint256 averagePerBlock)
averageFeesPerBlockSinceStart
viewfunction averageFeesPerBlockSinceStart() view returns (uint256 averagePerBlock)
contractStartBlock
viewfunction contractStartBlock() view returns (uint256)
cumulativeRewardsSinceStart
viewfunction cumulativeRewardsSinceStart() view returns (uint256)
epoch
viewfunction epoch() view returns (uint256)
epochCalculationStartBlock
viewfunction epochCalculationStartBlock() view returns (uint256)
epochRewards
viewfunction epochRewards(uint256) view returns (uint256)
locked
viewfunction locked() view returns (bool)
numPools
viewfunction numPools() view returns (uint256)
nxd
viewfunction nxd() view returns (address)
nxdPenaltyBurned
viewfunction nxdPenaltyBurned() view returns (uint256)
nxdProtocol
viewfunction nxdProtocol() view returns (address)
ourETHBalance
viewfunction ourETHBalance() view returns (uint256)
pendingETH
viewfunction pendingETH(uint256 _pid, address _user) view returns (uint256)
pendingRewards
viewfunction pendingRewards() view returns (uint256)
poolInfo
viewfunction poolInfo(uint256) view returns (address token, uint256 allocPoint, uint256 accEthPerShare, bool withdrawable)
rewardsInThisEpoch
viewfunction rewardsInThisEpoch() view returns (uint256)
totalAllocPoint
viewfunction totalAllocPoint() view returns (uint256)
totalStaked
viewfunction totalStaked() view returns (uint256)
userInfo
viewfunction userInfo(uint256, address) view returns (uint256 amount, uint256 rewardDebt)
WITHDRAWAL_COOLDOWN
viewfunction WITHDRAWAL_COOLDOWN() view returns (uint256)
withdrawalRequests
viewfunction withdrawalRequests(uint256, address) view returns (uint256 amount, uint256 canWithdrawAfterTimestamp)
addPendingRewards
nonpayablefunction addPendingRewards()
deposit
nonpayablefunction deposit(uint256 _pid, uint256 _amount)
depositFor
nonpayablefunction depositFor(address _depositFor, uint256 _pid, uint256 _amount)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(uint256 _pid)
massUpdatePools
nonpayablefunction massUpdatePools()
startNewEpochIfReady
nonpayablefunction startNewEpochIfReady()
withdraw
nonpayablefunction withdraw(uint256 _pid, uint256 _amount, bool acceptsPenalty)
withdrawCooldown
nonpayablefunction withdrawCooldown(uint256 _pid)
events
Add
event Add(address indexed token, uint256 indexed pid, uint256 allocPoint, bool withdrawable)
Approval
event Approval(address indexed owner, address indexed spender, uint256 _pid, uint256 value)
Deposit
event Deposit(address indexed user, uint256 indexed pid, uint256 amount)
EmergencyWithdraw
event EmergencyWithdraw(address indexed user, uint256 indexed pid, uint256 amount)
Withdraw
event Withdraw(address indexed user, uint256 indexed pid, uint256 amount)
WithdrawRequested
event WithdrawRequested(address indexed user, uint256 amount, uint256 canWithdrawAfterTimestamp)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
Cooldown
error Cooldown()
FailedInnerCall
error FailedInnerCall()
InvalidAmount
error InvalidAmount()
Locked
error Locked()
NoRequest
error NoRequest()
PoolAlreadyAdded
error PoolAlreadyAdded()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SendETHFail
error SendETHFail()
Underflow
error Underflow()
WithdrawDisabled
error WithdrawDisabled()
creation bytecode
0x60c06040523480156200001157600080fd5b50604051620019d2380380620019d28339810160408190526200003491620002e6565b6001600160a01b0381166080523360a05262000056606482600060016200006b565b43600a55620000646200019c565b50620003b9565b81156200007c576200007c6200020a565b60008054905b81811015620000d9576000818152600160205260409020546001600160a01b03808716911603620000c657604051633caf458560e01b815260040160405180910390fd5b620000d1816200032e565b905062000082565b5084600354620000ea91906200034a565b60039081556000828152600160208190526040822080546001600160a01b0319166001600160a01b03891617815580820189905560028101839055928301805460ff191686151517905581549091908190620001489084906200034a565b909155505060408051878152841515602082015283916001600160a01b038816917ffb49f04496a66162267fb2119fa017c4d20ff5129a4bb8bc17ceac786a5d5d5b910160405180910390a3505050505050565b43600b5461c350620001af91906200034a565b10156200020857600d54600e546000908152600f60205260408120829055600c8054909190620001e19084906200034a565b90915550506000600d81905543600b55600e805490919062000203906200032e565b909155505b565b6000805490805b82811015620002465762000225816200025e565b6200023190836200034a565b91506200023e816200032e565b905062000211565b508060055462000257919062000366565b6005555050565b600081815260016020526040812060095482036200027f5750600092915050565b60035481600101546005546200029691906200037c565b620002a2919062000396565b600954909250620002b98364e8d4a510006200037c565b620002c5919062000396565b816002016000828254620002da91906200034a565b90915550919392505050565b600060208284031215620002f957600080fd5b81516001600160a01b03811681146200031157600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b60006001820162000343576200034362000318565b5060010190565b8082018082111562000360576200036062000318565b92915050565b8181038181111562000360576200036062000318565b808202811582820484141762000360576200036062000318565b600082620003b457634e487b7160e01b600052601260045260246000fd5b500490565b60805160a0516115de620003f46000396000818161054301528181610fac015261101f0152600081816102c90152610e8b01526115de6000f3fe6080604052600436106101d15760003560e01c8063817b1cd2116100f7578063d2a5276b11610095578063e6f0d1e911610064578063e6f0d1e9146105ba578063eded3fda146105d0578063ef3b9dd1146105e6578063feedab00146105fb57600080fd5b8063d2a5276b14610531578063e07335aa14610565578063e0b006951461057a578063e2bbb1581461059a57600080fd5b806393f1a40b116100d157806393f1a40b1461049d5780639dbc2d90146104dc578063c8ffb873146104f1578063cf3090121461050757600080fd5b8063817b1cd214610451578063841d9ac214610467578063900cf0cf1461048757600080fd5b80633f791deb1161016f5780635312ea8e1161013e5780635312ea8e146103f05780635d577c1814610410578063608c8d3a14610426578063630b5ba11461043c57600080fd5b80633f791deb1461033957806349c5468d1461038d5780634cf5fbf5146103a35780634dc47d34146103c357600080fd5b806317caf6f1116101ab57806317caf6f1146102a157806331b703db146102b757806333cfcd3b1461030357806335c62bc21461032357600080fd5b806303dec009146101e55780630ff350851461020d5780631526fe271461022357600080fd5b366101e0576101de610612565b005b600080fd5b3480156101f157600080fd5b506101fa610665565b6040519081526020015b60405180910390f35b34801561021957600080fd5b506101fa60085481565b34801561022f57600080fd5b5061027561023e3660046113d1565b600160208190526000918252604090912080549181015460028201546003909201546001600160a01b039093169290919060ff1684565b604080516001600160a01b03909516855260208501939093529183015215156060820152608001610204565b3480156102ad57600080fd5b506101fa60035481565b3480156102c357600080fd5b506102eb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610204565b34801561030f57600080fd5b506101de61031e3660046113f8565b610687565b34801561032f57600080fd5b506101fa60005481565b34801561034557600080fd5b5061037861035436600461144d565b60046020908152600092835260408084209091529082529020805460019091015482565b60408051928352602083019190915201610204565b34801561039957600080fd5b506101fa600a5481565b3480156103af57600080fd5b506101de6103be366004611479565b6106d4565b3480156103cf57600080fd5b506101fa6103de3660046113d1565b600f6020526000908152604090205481565b3480156103fc57600080fd5b506101de61040b3660046113d1565b610808565b34801561041c57600080fd5b506101fa600b5481565b34801561043257600080fd5b506101fa600d5481565b34801561044857600080fd5b506101de6108f5565b34801561045d57600080fd5b506101fa60095481565b34801561047357600080fd5b506101de6104823660046113d1565b61093f565b34801561049357600080fd5b506101fa600e5481565b3480156104a957600080fd5b506103786104b836600461144d565b60026020908152600092835260408084209091529082529020805460019091015482565b3480156104e857600080fd5b506101fa610a14565b3480156104fd57600080fd5b506101fa600c5481565b34801561051357600080fd5b506007546105219060ff1681565b6040519015158152602001610204565b34801561053d57600080fd5b506102eb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561057157600080fd5b506101de610612565b34801561058657600080fd5b506101fa61059536600461144d565b610a3e565b3480156105a657600080fd5b506101de6105b53660046114ac565b610aa8565b3480156105c657600080fd5b506101fa60065481565b3480156105dc57600080fd5b506101fa60055481565b3480156105f257600080fd5b506101de610bc9565b34801561060757600080fd5b506101fa6201518081565b61061a610bc9565b60006006544761062a91906114e4565b9050801561066257476006556005546106449082906114f7565b60058190555080600d600082825461065c91906114f7565b90915550505b50565b6000600b544361067591906114e4565b600d54610682919061150a565b905090565b60075460ff16156106ab576040516303cb96db60e21b815260040160405180910390fd5b6007805460ff191660011790556106c58383338085610c30565b50506007805460ff1916905550565b60075460ff16156106f8576040516303cb96db60e21b815260040160405180910390fd5b6007805460ff19166001908117909155600083815260209182526040808220600284528183206001600160a01b038816845290935290206107376108f5565b6107418486610f8c565b821561079157815461075e906001600160a01b0316333086611095565b8281600001600082825461077291906114f7565b92505081905550826009600082825461078b91906114f7565b90915550505b6002820154815464e8d4a51000916107a89161152c565b6107b2919061150a565b600182015560405183815284906001600160a01b038716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a350506007805460ff19169055505050565b60075460ff161561082c576040516303cb96db60e21b815260040160405180910390fd5b6007805460ff19166001908117909155600082815260209190915260409020600381015460ff16610870576040516337ae717b60e01b815260040160405180910390fd5b60008281526002602090815260408083203380855292529091208054835491926108a3926001600160a01b031691611102565b8054604051908152839033907fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae05959060200160405180910390a3600080825560019091015550506007805460ff19169055565b6000805490805b828110156109295761090d81611138565b61091790836114f7565b915061092281611543565b90506108fc565b508060055461093891906114e4565b6005555050565b60008181526001602081815260408084206004835281852033865290925290922090810154158061096f57508054155b1561098d576040516333ff64eb60e21b815260040160405180910390fd5b80600101544210156109b25760405163b0782df760e01b815260040160405180910390fd5b8054600060018301819055825582546109d5906001600160a01b03163383611102565b8154604051908152849033907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689060200160405180910390a350505050565b6000600a5443610a2491906114e4565b600d54600c54610a3491906114f7565b610682919061150a565b600082815260016020818152604080842060028084528286206001600160a01b03881687529093529084209181015492820154825491939164e8d4a5100090610a8890849061152c565b610a92919061150a565b610a9c91906114e4565b93505050505b92915050565b60075460ff1615610acc576040516303cb96db60e21b815260040160405180910390fd5b6007805460ff19166001908117909155600083815260209182526040808220600284528183203384529093529020610b026108f5565b610b0c8433610f8c565b8215610b5c578154610b29906001600160a01b0316333086611095565b82816000016000828254610b3d91906114f7565b925050819055508260096000828254610b5691906114f7565b90915550505b6002820154815464e8d4a5100091610b739161152c565b610b7d919061150a565b6001820155604051838152849033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a350506007805460ff191690555050565b43600b5461c350610bda91906114f7565b1015610c2e57600d54600e546000908152600f60205260408120829055600c8054909190610c099084906114f7565b90915550506000600d81905543600b55600e8054909190610c2990611543565b909155505b565b6000858152600160205260409020600381015460ff16610c63576040516337ae717b60e01b815260040160405180910390fd5b60008681526002602090815260408083206001600160a01b038816845290915290208054861115610ca75760405163caccb6d960e01b815260040160405180910390fd5b85610cb06108f5565b610cba8887610f8c565b600088815260046020908152604080832033845290915290208715610f1a5780600101544210158015610cf05750600181015415155b15610cfe57610cfe8961093f565b8254610d0b9089906114e4565b835560098054899190600090610d229084906114e4565b90915550508415610d4d57612710610d3c89611d4c61152c565b610d46919061150a565b9150610e2e565b8060010154600003610e15576000610d6862015180426114f7565b6040805180820182528b8152602080820184815260008f8152600483528481203382529092529290209051815590516001909101556002860154855491925064e8d4a5100091610db8919061152c565b610dc2919061150a565b6001850155604080518a8152602081018390526001600160a01b038a16917fd72eb5d043f24a0168ae744d5c44f9596fd673a26bf74d9646bff4b844882d14910160405180910390a25050505050610f85565b60405163b0782df760e01b815260040160405180910390fd5b8354610e44906001600160a01b03168784611102565b87821015610f1a576000610e58838a6114e4565b60405163a9059cbb60e01b815273deadbeefdeadbeefdeadbeefdeadbeefdeadbeef6004820152602481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f00919061155c565b508060086000828254610f1391906114f7565b9091555050505b6002840154835464e8d4a5100091610f319161152c565b610f3b919061150a565b600184015560405188815289906001600160a01b038816907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689060200160405180910390a3505050505b5050505050565b6000610f988383610a3e565b90508015610faa57610faa82826111b5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c87965726040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561100557600080fd5b505af1158015611019573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663930ffbe36040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107857600080fd5b505af115801561108c573d6000803e3d6000fd5b50505050505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526110fc9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611232565b50505050565b6040516001600160a01b0383811660248301526044820183905261113391859182169063a9059cbb906064016110ca565b505050565b600081815260016020526040812060095482036111585750600092915050565b600354816001015460055461116d919061152c565b611177919061150a565b60095490925061118c8364e8d4a5100061152c565b611196919061150a565b8160020160008282546111a991906114f7565b90915550919392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611202576040519150601f19603f3d011682016040523d82523d6000602084013e611207565b606091505b5050905080611229576040516350490ba960e01b815260040160405180910390fd5b50504760065550565b60006112476001600160a01b0384168361129a565b9050805160001415801561126c57508080602001905181019061126a919061155c565b155b1561113357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606112a8838360006112af565b9392505050565b6060814710156112d45760405163cd78605960e01b8152306004820152602401611291565b600080856001600160a01b031684866040516112f09190611579565b60006040518083038185875af1925050503d806000811461132d576040519150601f19603f3d011682016040523d82523d6000602084013e611332565b606091505b509150915061134286838361134c565b9695505050505050565b6060826113615761135c826113a8565b6112a8565b815115801561137857506001600160a01b0384163b155b156113a157604051639996b31560e01b81526001600160a01b0385166004820152602401611291565b50806112a8565b8051156113b85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000602082840312156113e357600080fd5b5035919050565b801515811461066257600080fd5b60008060006060848603121561140d57600080fd5b83359250602084013591506040840135611426816113ea565b809150509250925092565b80356001600160a01b038116811461144857600080fd5b919050565b6000806040838503121561146057600080fd5b8235915061147060208401611431565b90509250929050565b60008060006060848603121561148e57600080fd5b61149784611431565b95602085013595506040909401359392505050565b600080604083850312156114bf57600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b81810381811115610aa257610aa26114ce565b80820180821115610aa257610aa26114ce565b60008261152757634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610aa257610aa26114ce565b600060018201611555576115556114ce565b5060010190565b60006020828403121561156e57600080fd5b81516112a8816113ea565b6000825160005b8181101561159a5760208186018101518583015201611580565b50600092019182525091905056fea2646970667358221220f135a5b16279139ce9c2124f2e1290083f264d8df3c60a063f7f32b1d25d71d464736f6c6343000814003300000000000000000000000070536d44820fe3ddd4a2e3eedbc937b8b9d566c7