12 txs
22.7k calls
constructor
constructor(address nftTokenAddress, address teamRecipient, uint256 teamReward)
functions
_teamOverrideRewardRecipientForToken
viewfunction _teamOverrideRewardRecipientForToken(uint256) view returns (address recipient, uint256 reward, uint256 lpTokenId)
_teamRecipient
viewfunction _teamRecipient() view returns (address)
_teamReward
viewfunction _teamReward() view returns (uint256)
_userRewardRecipientForToken
viewfunction _userRewardRecipientForToken(uint256) view returns (address recipient, uint256 lpTokenId)
_userTokenIds
viewfunction _userTokenIds(address, uint256) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getLpTokenIdsForUser
viewfunction getLpTokenIdsForUser(address user) view returns (uint256[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
positionManager
viewfunction positionManager() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
version
viewfunction version() view returns (string)
addUserRewardRecipient
nonpayablefunction addUserRewardRecipient(tuple recipient)
collectRewards
nonpayablefunction collectRewards(uint256 _tokenId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
onERC721Received
nonpayablefunction onERC721Received(address, address from, uint256 id, bytes) returns (bytes4)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
replaceUserRewardRecipient
nonpayablefunction replaceUserRewardRecipient(tuple recipient)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setOverrideTeamRewardsForToken
nonpayablefunction setOverrideTeamRewardsForToken(uint256 tokenId, address newTeamRecipient, uint256 newTeamReward)
updateTeamRecipient
nonpayablefunction updateTeamRecipient(address newRecipient)
updateTeamReward
nonpayablefunction updateTeamReward(uint256 newReward)
withdrawERC20
nonpayablefunction withdrawERC20(address _token, address recipient)
withdrawETH
nonpayablefunction withdrawETH(address recipient)
events
ClaimedRewards
event ClaimedRewards(address indexed claimer, address indexed token0, address indexed token1, uint256 amount0, uint256 amount1, uint256 totalAmount1, uint256 totalAmount0)
LockId
event LockId(uint256 _id)
Received
event Received(address indexed from, uint256 tokenId)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
InvalidTokenId
error InvalidTokenId(uint256 tokenId)
NotAllowed
error NotAllowed(address user)
creation bytecode
0x6080346100ba57601f61181138819003918201601f19168301916001600160401b038311848410176100bf578084926060946040528339810103126100ba578061004b6100aa926100d5565b6040610059602084016100d5565b920151600180546001600160a01b039384166001600160a01b0319918216179091556002919091556003805490911691831691909117905561009a336100e9565b506100a433610165565b50610165565b506040516115b390816101fe8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100ba57565b6001600160a01b03811660009081526000805160206117f1833981519152602052604090205460ff1661015f576001600160a01b031660008181526000805160206117f183398151915260205260408120805460ff191660011790553391906000805160206117b18339815191528180a4600190565b50600090565b6001600160a01b03811660009081526000805160206117d1833981519152602052604090205460ff1661015f576001600160a01b031660008181526000805160206117d183398151915260205260408120805460ff191660011790553391907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08906000805160206117b18339815191529080a460019056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146111185750806313949da0146110cb578063150b7a0214610f95578063248a9ca314610f605780632ad94b6814610f425780632f2ff15d14610f0257806336568abe14610ea357806354fd4d5014610e0d5780635d9b506f14610dec5780635e22f94f14610d7157806367073eff14610d25578063690d832014610cd8578063791b98bc14610cb157806391d1485414610c635780639456fbcc14610b57578063a071d35914610b30578063a217fddf14610b14578063af0c7c2914610910578063b18486d7146103ba578063bbd38fbe14610363578063cd8852f0146102a9578063d547741f14610262578063db89721e146101cd578063e755b0ab146101725763ec87621c1461013257600080fd5b3461016d57600060031936011261016d5760206040517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b600080fd5b3461016d57602060031936011261016d576004356000526004602052604060002060016001600160a01b03825416910154906101c960405192839283602090939291936001600160a01b0360408201951681520152565b0390f35b3461016d57606060031936011261016d5760043560026101eb6111cc565b916101f4611369565b6001600160a01b0360405193610209856111fe565b168352602083016044358152604084019180835260005260056020526001600160a01b038060406000209551161673ffffffffffffffffffffffffffffffffffffffff1985541617845551600184015551910155600080f35b3461016d57604060031936011261016d576102a76004356102816111cc565b906102a261029d82600052600060205260016040600020015490565b6113f4565b6114ee565b005b3461016d57602060031936011261016d576001600160a01b036102ca6111b6565b16600052600660205260406000206040518060208354918281520190819360005260206000209060005b81811061034d575050508161030a91038261121a565b6040519182916020830190602084525180915260408301919060005b818110610334575050500390f35b8251845285945060209384019390920191600101610326565b82548452602090930192600192830192016102f4565b3461016d57604060031936011261016d5761037c6111b6565b6001600160a01b03602435911660005260066020526040600020805482101561016d576020916103ab91611275565b90549060031b1c604051908152f35b3461016d57602060031936011261016d576004358060005260046020526040600020906040516103e9816111e2565b602060016001600160a01b0385541694858452015491015281156108e3576001600160a01b0360015416916040516080810181811067ffffffffffffffff8211176108cd576040528281526fffffffffffffffffffffffffffffffff6020820130815281604084018181526001600160a01b036060860193838552604051967ffc6f78650000000000000000000000000000000000000000000000000000000088525160048801525116602486015251166044840152511660648201526040816084816000885af192831561074357600091829461088d575b5061018060249495604051958680927f99fbab880000000000000000000000000000000000000000000000000000000082528560048301525afa9384156107435760009081956107af575b50906001600160a01b03806105be9493169516956001600160a01b0360035416600254926000526005602052604060002060405161054a816111fe565b6001600160a01b0382541690818152604060026001850154948560208501520154910152806107a4575b5050602061058e60646105878688611333565b048661135c565b60405163a9059cbb60e01b81526001600160a01b0389166004820152602481019190915295869081906044820190565b038160008b5af1948515610743576105ee95610787575b50602061058e60646105e78686611333565b048461135c565b038160008c5af1948515610743576106449561076a575b50602060646106148587611333565b60405163a9059cbb60e01b81526001600160a01b0385166004820152919004602482015295869081906044820190565b038160008b5af19081156107435761069a9560209261074f575b50606461066b8585611333565b60405163a9059cbb60e01b81526001600160a01b03909316600484015204602482015294859081906044820190565b038160008b5af1928315610743577f371e1f3c7465954c17e4a26f8a768238ab06ee6557de2bdd0fad0dda6d18167894608094610716575b506106fe60646106f76106f0826106e98887611333565b048561135c565b9585611333565b048361135c565b604051938452602084015260408301526060820152a4005b6107379060203d60201161073c575b61072f818361121a565b8101906112dc565b6106d2565b503d610725565b6040513d6000823e3d90fd5b61076590833d851161073c5761072f818361121a565b61065e565b6107829060203d60201161073c5761072f818361121a565b610605565b61079f9060203d60201161073c5761072f818361121a565b6105d5565b915092508880610574565b909450610180813d8211610885575b816107cc610180938361121a565b810103126108815780516bffffffffffffffffffffffff811603610881576107f6602082016112f4565b50610803604082016112f4565b90610810606082016112f4565b95608082015162ffffff81160361087e57506001600160a01b036105be9493926108736101608461084460a0869701611308565b5061085160c08201611308565b5061085e60e08201611316565b5061086c6101408201611316565b5001611316565b50929394505061050d565b80fd5b8480fd5b3d91506107be565b919493506040823d6040116108c5575b816108aa6040938361121a565b810103126108815781516020909201519394506101806104c2565b3d915061089d565b634e487b7160e01b600052604160045260246000fd5b7fed15e6cf0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461016d5761091e3661123d565b60208101805160005260046020526040600020600160405191610940836111e2565b80546001600160a01b0316835201546020808301919091523360009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee645909152604090205460ff16159081610aff575b50610ad15780516000526004602052600060016040822082815501556001600160a01b03825116600052600660205260406000206040518082602082945493848152019060005260206000209260005b818110610ab85750506109f79250038261121a565b60005b8151811015610a565760019060008160208160051b86010151865114610a23575b5050016109fa565b6040610a41926001600160a01b038951168152600660205220611275565b60001982549160031b1b191690558581610a1b565b6102a78385815160005260046020526001600160a01b036040600020915116906001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1982541617815560018351910155600052600660205260406000209051906112a3565b84548352600194850194869450602090930192016109e2565b7ffa5cd00f000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b6001600160a01b039150511633141583610992565b3461016d57600060031936011261016d57602060405160008152f35b3461016d57600060031936011261016d5760206001600160a01b0360035416604051908152f35b3461016d57604060031936011261016d57610b706111b6565b6001600160a01b03610b806111cc565b91610b89611369565b1690604051907f70a08231000000000000000000000000000000000000000000000000000000008252306004830152602082602481865afa91821561074357600092610c2d575b5060405163a9059cbb60e01b81526001600160a01b039091166004820152602481019190915290602090829081600081604481015b03925af1801561074357610c1557005b6102a79060203d60201161073c5761072f818361121a565b91506020823d602011610c5b575b81610c486020938361121a565b8101031261016d57905190610c05610bd0565b3d9150610c3b565b3461016d57604060031936011261016d57610c7c6111cc565b60043560005260006020526001600160a01b0360406000209116600052602052602060ff604060002054166040519015158152f35b3461016d57600060031936011261016d5760206001600160a01b0360015416604051908152f35b3461016d57602060031936011261016d576000808080610cf66111b6565b610cfe611369565b479082908215610d1b575b6001600160a01b031690f11561074357005b6108fc9150610d09565b3461016d57602060031936011261016d576004356000526005602052606060406000206001600160a01b0381541690600260018201549101549060405192835260208301526040820152f35b3461016d576102a7610d823661123d565b610d8a611369565b6020810190815160005260046020526001600160a01b036040600020915116906001600160a01b03821673ffffffffffffffffffffffffffffffffffffffff1982541617815560018351910155600052600660205260406000209051906112a3565b3461016d57602060031936011261016d57610e05611369565b600435600255005b3461016d57600060031936011261016d57604051610e2a816111e2565b600581527f302e302e32000000000000000000000000000000000000000000000000000000602082015260405190602082528181519182602083015260005b838110610e8b575050601f19601f836000604080968601015201168101030190f35b60208282018101516040878401015285935001610e69565b3461016d57604060031936011261016d57610ebc6111cc565b336001600160a01b03821603610ed8576102a7906004356114ee565b7f6697b2320000000000000000000000000000000000000000000000000000000060005260046000fd5b3461016d57604060031936011261016d576102a7600435610f216111cc565b90610f3d61029d82600052600060205260016040600020015490565b611454565b3461016d57600060031936011261016d576020600254604051908152f35b3461016d57602060031936011261016d576020610f8d600435600052600060205260016040600020015490565b604051908152f35b3461016d57608060031936011261016d57610fae6111b6565b50610fb76111cc565b60643567ffffffffffffffff811161016d573660238201121561016d57806004013567ffffffffffffffff811161016d573691016024011161016d576001600160a01b03811660009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee645602052604090205460ff1615611094577f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460206001600160a01b036040519360443585521692a260206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b6001600160a01b03907ffa5cd00f000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b3461016d57602060031936011261016d576001600160a01b036110ec6111b6565b6110f4611369565b1673ffffffffffffffffffffffffffffffffffffffff196003541617600355600080f35b3461016d57602060031936011261016d57600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361016d57817f7965db0b000000000000000000000000000000000000000000000000000000006020931490811561118c575b5015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483611185565b600435906001600160a01b038216820361016d57565b602435906001600160a01b038216820361016d57565b6040810190811067ffffffffffffffff8211176108cd57604052565b6060810190811067ffffffffffffffff8211176108cd57604052565b90601f601f19910116810190811067ffffffffffffffff8211176108cd57604052565b600319604091011261016d57604051611255816111e2565b6004356001600160a01b038116810361016d578152602435602082015290565b805482101561128d5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b8054680100000000000000008110156108cd576112c591600182018155611275565b600019829392549160031b92831b921b1916179055565b9081602091031261016d5751801515810361016d5790565b51906001600160a01b038216820361016d57565b51908160020b820361016d57565b51906fffffffffffffffffffffffffffffffff8216820361016d57565b8181029291811591840414171561134657565b634e487b7160e01b600052601160045260246000fd5b9190820391821161134657565b3360009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee645602052604090205460ff16156113a257565b7fe2517d3f00000000000000000000000000000000000000000000000000000000600052336004527f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0860245260446000fd5b80600052600060205260406000206001600160a01b03331660005260205260ff60406000205416156114235750565b7fe2517d3f000000000000000000000000000000000000000000000000000000006000523360045260245260446000fd5b80600052600060205260406000206001600160a01b03831660005260205260ff60406000205416156000146114e75780600052600060205260406000206001600160a01b0383166000526020526040600020600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4600190565b5050600090565b80600052600060205260406000206001600160a01b03831660005260205260ff604060002054166000146114e75780600052600060205260406000206001600160a01b038316600052602052604060002060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b600080a460019056fea264697066735822122042307245859daa611ffde8377c96e9bfd0a4912760ea48b43ff428831f0dc7b064736f6c634300081a00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0de84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee645ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb500000000000000000000000003a520b32c04bf3beef7beb72e919cf822ed34f1000000000000000000000000f86ec2b7d5d95990d61b9f6166775fb22003cc09000000000000000000000000000000000000000000000000000000000000003c