0 txs
0 calls
constructor
constructor(address _rewardToken, uint256 _depositFundsInterval)
functions
depositFundsInterval
viewfunction depositFundsInterval() view returns (uint256)
DIVIDER
viewfunction DIVIDER() view returns (uint256)
getGeneratedReward
viewfunction getGeneratedReward(uint256 _fromTime, uint256 _toTime) view returns (uint256)
isHandler
viewfunction isHandler(address) view returns (bool)
nextDepositFundsTime
viewfunction nextDepositFundsTime() view returns (uint256)
onERC1155BatchReceived
purefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) pure returns (bytes4)
onERC1155Received
purefunction onERC1155Received(address, address, uint256, uint256, bytes) pure returns (bytes4)
operator
viewfunction operator() view returns (address)
pendingShare
viewfunction pendingShare(uint256 _pid, address _user) view returns (uint256)
poolEndTime
viewfunction poolEndTime() view returns (uint256)
poolInfo
viewfunction poolInfo(uint256) view returns (address token, bool isNFTBonds, uint256 allocPoint, uint256 lastRewardTime, uint256 accRewardSharePerShare, bool isStarted)
poolStartTime
viewfunction poolStartTime() view returns (uint256)
rewardToken
viewfunction rewardToken() view returns (address)
sharesPerSecond
viewfunction sharesPerSecond() view returns (uint256)
totalAllocPoint
viewfunction totalAllocPoint() view returns (uint256)
totalPendingShare
viewfunction totalPendingShare() view returns (uint256)
userInfo
viewfunction userInfo(uint256, address) view returns (uint256 amount, uint256 rewardDebt)
add
nonpayablefunction add(uint256 _allocPoint, address _token, bool _isNFTBonds, bool _withUpdate, uint256 _lastRewardTime)
deposit
nonpayablefunction deposit(uint256 _pid, uint256 _amount) returns (bool)
depositForAccount
nonpayablefunction depositForAccount(address _account, uint256 _pid, uint256 _amount) returns (bool)
depositFundsForInterval
nonpayablefunction depositFundsForInterval(uint256 _amount) returns (uint256)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(uint256 _pid)
governanceRecoverUnsupported
nonpayablefunction governanceRecoverUnsupported(address _token, uint256 amount, address to)
initialize
nonpayablefunction initialize(uint256 _poolStartTime, uint256 _poolEndTime) returns (bool)
massUpdatePools
nonpayablefunction massUpdatePools()
set
nonpayablefunction set(uint256 _pid, uint256 _allocPoint)
setDepositFundsInterval
nonpayablefunction setDepositFundsInterval(uint256 _depositFundsInterval)
setHandler
nonpayablefunction setHandler(address _handler, bool _isActive)
setOperator
nonpayablefunction setOperator(address _operator)
setPoolEndTime
nonpayablefunction setPoolEndTime(uint256 _poolEndTime)
setSharesPerSecond
nonpayablefunction setSharesPerSecond(uint256 _sharesPerSecond)
updatePool
nonpayablefunction updatePool(uint256 _pid)
withdraw
nonpayablefunction withdraw(uint256 _pid, uint256 _amount)
events
Deposit
event Deposit(address indexed sender, address indexed user, uint256 indexed pid, uint256 amount)
DepositedFunds
event DepositedFunds(address indexed sender, uint256 amount, uint256 sharesPerSecond)
EmergencyWithdraw
event EmergencyWithdraw(address indexed user, uint256 indexed pid, uint256 amount)
Initialized
event Initialized(uint64 version)
RewardPaid
event RewardPaid(address indexed user, uint256 amount)
Withdraw
event Withdraw(address indexed user, uint256 indexed pid, uint256 amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
CallerNotOperator
error CallerNotOperator(address caller, address operator)
DistributeAmountZero
error DistributeAmountZero()
EndTimeLteStartTime
error EndTimeLteStartTime(uint256 endTime, uint256 startTime)
FailedInnerCall
error FailedInnerCall()
InsufficientAvailableAmount
error InsufficientAvailableAmount(uint256 amount, uint256 availableAmount)
InsufficientBalanceToken
error InsufficientBalanceToken(address token)
InvalidInitialization
error InvalidInitialization()
InvalidPoolEndTime
error InvalidPoolEndTime(uint256 endTime)
NotInitializing
error NotInitializing()
OperatorIsZero
error OperatorIsZero()
PoolAlreadyExists
error PoolAlreadyExists(address pool)
RecoverTokenEqPoolToken
error RecoverTokenEqPoolToken(address token)
RecoverTokenEqReward
error RecoverTokenEqReward(address token)
RewardTokenZero
error RewardTokenZero()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
StartTimeLteCurrentTime
error StartTimeLteCurrentTime(uint256 startTime, uint256 currentTime)
creation bytecode
0x608034609857601f61215438819003918201601f19168301916001600160401b03831184841017609c57808492604094855283398101031260985780516001600160a01b03811691908290036098576020015190801560895760018060a01b03195f5416175f55600b553360018060a01b031960015416176001556040516120a390816100b18239f35b639aa01fa760e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f803560e01c80630216a2b71461153f5780631526fe27146114c457806315f74a4d1461144e57806317caf6f1146114315780631ab06ee5146113cc578063231f0c6a146113b35780634299ecaf1461113d578063441a3e7014610ec957806346ea87af14610e8c57806351eb05a614610e6f5780635312ea8e14610ce757806354575af414610aa5578063570ca73514610a7e5780635f96dc1114610a6057806362043bd814610a3d578063630b5ba114610a245780636db64d06146109d25780636e271dd5146109b4578063889806fd14610996578063896abe3e1461096357806393f1a40b146109145780639cb7de4b146108ad578063acfb24b71461088f578063b3ab15fb1461080c578063bbd5e3f4146107d9578063bc197c8114610725578063cf4b55cb146104a0578063d6ad828214610482578063e2bbb15814610469578063e4a301161461023f578063f12e8c3e14610221578063f23a6e61146101ad5763f7c618c114610185575f80fd5b346101aa57806003193601126101aa576001600160a01b036020915416604051908152f35b80fd5b50346101aa5760a03660031901126101aa576101c7611728565b506101d0611712565b5060843567ffffffffffffffff811161021d576101f190369060040161176f565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346101aa57806003193601126101aa576020600b54604051908152f35b50346101aa5761024e366116fc565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549260ff8460401c16159367ffffffffffffffff811680159081610461575b6001149081610457575b15908161044e575b506104265767ffffffffffffffff1981166001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055846103e7575b50428311156103b75782821115610388575081600255600355600a55610308575b602060405160018152f35b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a16102fd565b826044927f77908cf6000000000000000000000000000000000000000000000000000000008352600452602452fd5b80837f2d9e82c9000000000000000000000000000000000000000000000000000000006044935260045242602452fd5b68ffffffffffffffffff191668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00555f6102dc565b6004827ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b9050155f6102a0565b303b159150610298565b86915061028e565b50346101aa576102fd61047b366116fc565b9033611c58565b50346101aa57806003193601126101aa576020600a54604051908152f35b50346101aa5760403660031901126101aa57600435906104be611712565b6104c7836116cc565b5092825260096020526001600160a01b036040832091165f5260205260405f20916003810154916001600160a01b03825460ff8160a01c165f146106bf57166040516344d4480160e11b8152602081600481855afa9081156106b4578391610680575b50604051627eeac760e11b815230600482015260248101919091529060209082908180604481015b03915afa90811561067557829161063f575b50915b600281015480421180610636575b6105a8575b60206105a0876001670de0b6b3a76400006105968a84546117fb565b04910154906117e1565b604051908152f35b6105ce9160016105bc6105c593429061180e565b910154906117fb565b600454906118e7565b90670de0b6b3a7640000820291808304670de0b6b3a764000014901517156106225750670de0b6b3a76400006105966106186105a095610613602098966001966118e7565b6117ee565b945083955061057a565b80634e487b7160e01b602492526011600452fd5b50831515610575565b90506020813d60201161066d575b8161065a6020938361188e565b8101031261066957515f610564565b5f80fd5b3d915061064d565b6040513d84823e3d90fd5b90506020813d6020116106ac575b8161069b6020938361188e565b81010312610669575161055261052a565b3d915061068e565b6040513d85823e3d90fd5b6020906024604051809481936370a0823160e01b8352306004840152165afa9081156106755782916106f3575b5091610567565b90506020813d60201161071d575b8161070e6020938361188e565b8101031261066957515f6106ec565b3d9150610701565b50346101aa5760a03660031901126101aa5761073f611728565b50610748611712565b5060443567ffffffffffffffff811161021d5761076990369060040161173e565b505060643567ffffffffffffffff811161021d5761078b90369060040161173e565b505060843567ffffffffffffffff811161021d576107ad90369060040161176f565b505060206040517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b50346101aa5760203660031901126101aa576108036001600160a01b03600154163333821461179d565b600435600b5580f35b50346101aa5760203660031901126101aa57610826611728565b6001600160a01b03600154916108418284163333821461179d565b169081156108675773ffffffffffffffffffffffffffffffffffffffff19161760015580f35b6004837fe1b13f2a000000000000000000000000000000000000000000000000000000008152fd5b50346101aa57806003193601126101aa576020600554604051908152f35b50346101aa5760403660031901126101aa576108c7611728565b6024358015158103610910576001600160a01b0361090d926108f082600154163333821461179d565b1683526008602052604083209060ff801983541691151516179055565b80f35b8280fd5b50346101aa5760403660031901126101aa576001600160a01b036040610938611712565b92600435815260096020522091165f526020526040805f206001815491015482519182526020820152f35b50346101aa5760203660031901126101aa5761098d6001600160a01b03600154163333821461179d565b60043560055580f35b50346101aa57806003193601126101aa576020600654604051908152f35b50346101aa57806003193601126101aa576020600354604051908152f35b50346101aa5760603660031901126101aa576102fd90610a1760ff60406109f7611728565b9333815260086020522054166001600160a01b036001541690339061179d565b6044359060243590611c58565b50346101aa57806003193601126101aa5761090d611b2b565b50346101aa57806003193601126101aa576020604051670de0b6b3a76400008152f35b50346101aa57806003193601126101aa576020600254604051908152f35b50346101aa57806003193601126101aa5760206001600160a01b0360015416604051908152f35b50346101aa5760603660031901126101aa57610abf611728565b906024356044356001600160a01b038116810361091057610aee6001600160a01b03600154163333821461179d565b610af6611b2b565b600754600354620697808101809111610cd357421015610bc5576001600160a01b038454166001600160a01b038616908114610b9a57845b828110610b4c575050506001600160a01b0361090d93945b16611bfc565b6001600160a01b03610b5d826116cc565b5054168214610b6e57600101610b2e565b602486837fe6b51b0f000000000000000000000000000000000000000000000000000000008252600452fd5b7f4bdc1769000000000000000000000000000000000000000000000000000000008552600452602484fd5b506001600160a01b038354166001600160a01b03851690808214610bf8575b50506001600160a01b0361090d9394610b46565b906020602492604051938480926370a0823160e01b82523060048301525afa918215610cc8578592610c94575b506006549081831115610c69575094610c628285610c5c89610c5361090d9a9b6001600160a01b03986117e1565b831115936117e1565b916118b0565b9493610be4565b7ff37c2648000000000000000000000000000000000000000000000000000000008652600452602485fd5b9091506020813d602011610cc0575b81610cb06020938361188e565b810103126106695751905f610c25565b3d9150610ca3565b6040513d87823e3d90fd5b602485634e487b7160e01b81526011600452fd5b50346101aa5760203660031901126101aa57600435610d05816116cc565b508183526009602052604083206001600160a01b0333165f526020528260405f2091816001845494828155015582815460ff8160a01c165f14610e52575050546040516344d4480160e11b8152906001600160a01b0316602082600481845afa9182156106b4578392610e1b575b50803b1561091057604051637921219560e11b815230600482015233602482015260448101929092526064820184905260a06084830152600260a483015261060f60f31b60c48301528290829060e490829084905af1801561067557610e06575b50505b6040519081527fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae059560203392a380f35b81610e109161188e565b61091057825f610dd4565b925090506020823d602011610e4a575b81610e386020938361188e565b8101031261066957849151905f610d73565b3d9150610e2b565b909150610e6a92506001600160a01b03339116611bfc565b610dd7565b50346101aa5760203660031901126101aa5761090d600435611905565b50346101aa5760203660031901126101aa5760ff60406020926001600160a01b03610eb5611728565b168152600884522054166040519015158152f35b503461066957610ed8366116fc565b610ee1826116cc565b50825f52600960205260405f206001600160a01b0333165f5260205260405f20610f10815484808210156118b0565b610f1984611905565b805490670de0b6b3a7640000610f3560038501938454906117fb565b0492610f4760018301948554906117e1565b806110f2575b5084610f9e575b50670de0b6b3a764000091610f6c91549054906117fb565b0490556040519081527ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56860203392a380f35b610fa98583546117e1565b825584815460ff8160a01c165f146110c8575050546040516344d4480160e11b8152906001600160a01b0316602082600481845afa918215611089575f92611094575b50803b1561066957604051637921219560e11b815230600482015233602482015260448101929092526064820186905260a06084830152600260a483015261060f60f31b60c48301525f90829060e490829084905af1801561108957611065575b50670de0b6b3a764000091610f6c915b915091610f54565b610f6c9196509161107f5f670de0b6b3a76400009461188e565b5f9691509161104d565b6040513d5f823e3d90fd5b9091506020813d6020116110c0575b816110b06020938361188e565b810103126106695751905f610fec565b3d91506110a3565b670de0b6b3a7640000949250610f6c93916110ed916001600160a01b03339116611bfc565b61105d565b6110fe816006546117e1565b60065561110b8133611b4d565b6040519081527fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048660203392a25f610f4d565b346106695760a036600319011261066957600435611159611712565b6044358015158091036106695760643580151581036106695760843561118d6001600160a01b03600154163333821461179d565b80916007546001600160a01b035f9616955b818110611365575050611358575b600254908142105f14611336575090806113255750805b81119283159361131a575b6040519060c0820182811067ffffffffffffffff82111761130657604052815260208101928352604081019185835260608201908152608082015f815260a08301918615158352600754680100000000000000008110156113065780600161123a92016007556116cc565b9590956112f3576112dc966001600160a01b03600496511673ffffffffffffffffffffffffffffffffffffffff198854161787555115157fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000088549260a01b16911617865551600186015551600285015551600384015551151591019060ff801983541691151516179055565b6112e257005b6112ee906004546117ee565b600455005b634e487b7160e01b5f525f60045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b4282111593506111cf565b90808210156111c4579050806111c4565b801590811561134e575b50156111c4574291506111c4565b9050421186611340565b611360611b2b565b6111ad565b866001600160a01b03611377836116cc565b505416146113875760010161119f565b867ffb8debc1000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346106695760206105a06113c6366116fc565b9061180e565b346106695761140560016113df366116fc565b92906113f86001600160a01b038454163333821461179d565b611400611b2b565b6116cc565b5060ff600482015416611416570155005b61142a8361061360045485850154906117e1565b6004550155005b34610669575f366003190112610669576020600454604051908152f35b346106695760203660031901126106695760043561147a6001600160a01b03600154163333821461179d565b42811015806114b9575b1561148e57600355005b7fe92198f0000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b506002548111611484565b3461066957602036600319011261066957600435600754811015610669576114ed60c0916116cc565b50805490600181015490600281015460ff60046003840154930154169260ff604051956001600160a01b038116875260a01c1615156020860152604085015260608401526080830152151560a0820152f35b346106695760203660031901126106695760043561156b6001600160a01b03600154163333821461179d565b80156116a457611589816001600160a01b035f541630903390611ebd565b600554600a544281116116275750906115e86115bb6115b56020946115b0600a54426117e1565b6117fb565b836117e1565b6115e26115d7600b546115b0816115d281426117ee565b6118e7565b80600a5542906117e1565b906118e7565b905b8160055560405190815281838201527f9624cc4c1fccbc2cf6d61d0f98e2db70f376ad4079ae0b3e2ef2cd31b162eba560403392a2604051908152f35b61163f916115b06116399242906117e1565b826117ee565b90600b547f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81168103611690576020926115e26115d7836115b0816115d261168a9760011b426117ee565b906115ea565b634e487b7160e01b5f52601160045260245ffd5b7f2f8c891f000000000000000000000000000000000000000000000000000000005f5260045ffd5b6007548110156116e85760075f52600560205f20910201905f90565b634e487b7160e01b5f52603260045260245ffd5b6040906003190112610669576004359060243590565b602435906001600160a01b038216820361066957565b600435906001600160a01b038216820361066957565b9181601f840112156106695782359167ffffffffffffffff8311610669576020808501948460051b01011161066957565b9181601f840112156106695782359167ffffffffffffffff8311610669576020838186019501011161066957565b156117a6575050565b906001600160a01b0380927f89b4997f000000000000000000000000000000000000000000000000000000005f52166004521660245260445ffd5b9190820391821161169057565b9190820180921161169057565b8181029291811591840414171561169057565b908082101561185e576003549081811061186457508082101561185e5760025480831115611850575061184d91611844916117e1565b600554906117fb565b90565b61184d9250611844916117e1565b50505f90565b9050600254808211156118875780831115611850575061184d91611844916117e1565b5050505f90565b90601f8019910116810190811067ffffffffffffffff82111761130657604052565b156118b9575050565b7fb6ff41bb000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b81156118f1570490565b634e487b7160e01b5f52601260045260245ffd5b61190e906116cc565b5060028101908154421115611b27576001600160a01b03815460ff8160a01c165f14611ac257166040516344d4480160e11b8152602081600481855afa908115611089575f91611a8e575b50604051627eeac760e11b815230600482015260248101919091529060209082908180604481015b03915afa908115611089575f91611a5c575b505b8015611a555760048201805460ff811615611a30575b5050600454806119be575b505050429055565b6119db906115d26119d042875461180e565b6001860154906117fb565b906119e8826006546117ee565b600655670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561169057611a1b600391611a26936118e7565b9201918254906117ee565b90555f80806119b6565b60019060ff1916179055611a4b6004546001840154906117ee565b6004555f806119ab565b5050429055565b90506020813d602011611a86575b81611a776020938361188e565b8101031261066957515f611993565b3d9150611a6a565b90506020813d602011611aba575b81611aa96020938361188e565b810103126106695751611981611959565b3d9150611a9c565b6020906024604051809481936370a0823160e01b8352306004840152165afa908115611089575f91611af5575b50611995565b90506020813d602011611b1f575b81611b106020938361188e565b8101031261066957515f611aef565b3d9150611b03565b5050565b6007545f5b818110611b3b575050565b80611b47600192611905565b01611b30565b6001600160a01b035f541690604051916370a0823160e01b8352306004840152602083602481845afa928315611089575f93611bc8575b5082611b91575b50505050565b82841115611bb85750611baf92506001600160a01b035f5416611bfc565b5f808080611b8b565b611bc3939250611bfc565b611baf565b9092506020813d602011611bf4575b81611be46020938361188e565b810103126106695751915f611b84565b3d9150611bd7565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000060208201526001600160a01b03929092166024830152604480830193909352918152611c5691611c5160648361188e565b611f17565b565b919091611c64836116cc565b5090835f52600960205260405f206001600160a01b0382165f5260205260405f20611c8e85611905565b805480611e3c575b5083611cf5575b6001670de0b6b3a7640000611cc16001600160a01b039560038554910154906117fb565b0491015560405192835216907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d760203392a4565b83835460ff8160a01c165f14611e105750506001600160a01b0383541692604051936344d4480160e11b8552602085600481845afa948515611089575f95611ddc575b50803b1561066957604051637921219560e11b815233600482015230602482015260448101959095526064850186905260a06084860152600260a486015261060f60f31b60c48601525f90859060e490829084905af193841561108957611cc1600192670de0b6b3a7640000926001600160a01b0397611dcc575b505b611dc08886546117ee565b85559550505050611c9d565b5f611dd69161188e565b5f611db3565b9094506020813d602011611e08575b81611df86020938361188e565b810103126106695751935f611d38565b3d9150611deb565b611cc16001600160a01b0395611e37600194670de0b6b3a76400009430908a339116611ebd565b611db5565b670de0b6b3a7640000611e57611e63926003870154906117fb565b046001830154906117e1565b8015611c9657611e75816006546117e1565b600655611e828184611b4d565b6040519081527fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048660206001600160a01b03851692a25f611c96565b9091926001600160a01b03611c569481604051957f23b872dd000000000000000000000000000000000000000000000000000000006020880152166024860152166044840152606483015260648252611c5160848361188e565b5f6001600160a01b038192169260208151910182855af13d15611fd5573d67ffffffffffffffff811161130657611f709160405191611f606020601f19601f840116018461188e565b82523d5f602084013e5b83611fe1565b8051908115159182611fb1575b5050611f865750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b81925090602091810103126106695760200151801590811503610669575f80611f7d565b611f7090606090611f6a565b9061201e5750805115611ff657805190602001fd5b7f1425ea42000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580612064575b61202f575090565b6001600160a01b03907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561202756fea264697066735822122008dc476afd91f130da8a043711e9a180b5bdc78a34797e6e5c338d48c045123364736f6c634300081a0033000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000000000000000000000000000000000000000093a80