0 txs
624 calls
constructor
No constructor.
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)
liquidityPositionId
viewfunction liquidityPositionId() view returns (uint256)
liquiditySetup
viewfunction liquiditySetup() view returns (bool)
LP_TOKEN_PERCENTAGE
viewfunction LP_TOKEN_PERCENTAGE() view returns (uint256)
MAX_REWARD_AMOUNT
viewfunction MAX_REWARD_AMOUNT() view returns (uint256)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
MIN_REWARD_AMOUNT
viewfunction MIN_REWARD_AMOUNT() view returns (uint256)
name
viewfunction name() view returns (string)
nftDropContract
viewfunction nftDropContract() view returns (address)
nonfungiblePositionManager
viewfunction nonfungiblePositionManager() view returns (address)
onERC721Received
purefunction onERC721Received(address, address, uint256, bytes) pure returns (bytes4)
owner
viewfunction owner() view returns (address)
poolAddress
viewfunction poolAddress() view returns (address)
symbol
viewfunction symbol() view returns (string)
TOKEN_NFT_PERCENTAGE
viewfunction TOKEN_NFT_PERCENTAGE() view returns (uint256)
totalBurnRewards
viewfunction totalBurnRewards() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
uniswapV3Factory
viewfunction uniswapV3Factory() view returns (address)
uniswapV3Router
viewfunction uniswapV3Router() view returns (address)
weth
viewfunction weth() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
collectPositionFees
nonpayablefunction collectPositionFees()
initialize
nonpayablefunction initialize(address _owner, string _tokenName, string _tokenSymbol, address _nftDropContract, address _weth, address _uniswapV3Factory, address _uniswapV3Router, address _nonfungiblePositionManager)
mintReward
nonpayablefunction mintReward(address recipient, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setupLiquidity
payablefunction setupLiquidity() payable
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Initialized
event Initialized(uint64 version)
LiquiditySetup
event LiquiditySetup(address indexed pool, uint256 ethAmount, uint256 tokenAmount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PositionFeesCollected
event PositionFeesCollected(uint256 indexed positionId, uint256 amount0, uint256 amount1)
RewardMinted
event RewardMinted(address indexed recipient, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
AddressZero
error AddressZero()
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
InvalidInitialization
error InvalidInitialization()
LiquidityAlreadySetup
error LiquidityAlreadySetup()
LiquidityNotSetup
error LiquidityNotSetup()
LiquiditySetupFailed
error LiquiditySetupFailed()
MaxSupplyExceeded
error MaxSupplyExceeded()
NotDropContract
error NotDropContract()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x6080604052348015600f57600080fd5b5061233c8061001f6000396000f3fe6080604052600436106101dc5760003560e01c8063715018a611610102578063b045f65c11610095578063dd62ed3e11610064578063dd62ed3e14610578578063f2fde38b14610598578063f6ef85cd146105b8578063fb34a336146105d457600080fd5b8063b045f65c14610518578063b44a27221461052e578063b9f835ef1461054e578063c2dee5971461056357600080fd5b806395d89b41116100d157806395d89b41146104a55780639a49090e146104ba578063a04f6b4b146104da578063a9059cbb146104f857600080fd5b8063715018a61461044657806375100fa71461045b5780637ed40e731461047b5780638da5cb5b1461049057600080fd5b80632887e7601161017a5780633fc8cef3116101495780633fc8cef3146103a25780635b549182146103c25780635bb1a113146103e257806370a082311461040357600080fd5b80632887e7601461033e5780632c76d7a614610348578063313ce5671461036857806332cb6b0c1461038457600080fd5b8063150b7a02116101b6578063150b7a021461027b5780631755ff21146102c057806318160ddd146102e057806323b872dd1461031e57600080fd5b806306fdde03146101e8578063095ea7b3146102135780630be054491461024357600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6105ea565b60405161020a9190611b3a565b60405180910390f35b34801561021f57600080fd5b5061023361022e366004611bad565b6106ad565b604051901515815260200161020a565b34801561024f57600080fd5b50600054610263906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b34801561028757600080fd5b506102a7610296366004611bd9565b630a85bd0160e11b95945050505050565b6040516001600160e01b0319909116815260200161020a565b3480156102cc57600080fd5b50600554610263906001600160a01b031681565b3480156102ec57600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b60405190815260200161020a565b34801561032a57600080fd5b50610233610339366004611c7a565b6106c7565b6103466106eb565b005b34801561035457600080fd5b50600354610263906001600160a01b031681565b34801561037457600080fd5b506040516012815260200161020a565b34801561039057600080fd5b5061031069d3c21bcecceda100000081565b3480156103ae57600080fd5b50600154610263906001600160a01b031681565b3480156103ce57600080fd5b50600254610263906001600160a01b031681565b3480156103ee57600080fd5b5060055461023390600160a01b900460ff1681565b34801561040f57600080fd5b5061031061041e366004611cbb565b6001600160a01b031660009081526000805160206122c7833981519152602052604090205490565b34801561045257600080fd5b50610346610e22565b34801561046757600080fd5b50610346610476366004611dad565b610e34565b34801561048757600080fd5b50610310605081565b34801561049c57600080fd5b506102636111e2565b3480156104b157600080fd5b506101fd611210565b3480156104c657600080fd5b506103466104d5366004611bad565b61124f565b3480156104e657600080fd5b5061031069a968163f0a57b400000081565b34801561050457600080fd5b50610233610513366004611bad565b6113c4565b34801561052457600080fd5b5061031060075481565b34801561053a57600080fd5b50600454610263906001600160a01b031681565b34801561055a57600080fd5b506103466113d2565b34801561056f57600080fd5b50610310601481565b34801561058457600080fd5b50610310610593366004611e82565b6115b2565b3480156105a457600080fd5b506103466105b3366004611cbb565b6115fc565b3480156105c457600080fd5b50610310670de0b6b3a764000081565b3480156105e057600080fd5b5061031060065481565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0380546060916000805160206122c78339815191529161062990611ebb565b80601f016020809104026020016040519081016040528092919081815260200182805461065590611ebb565b80156106a25780601f10610677576101008083540402835291602001916106a2565b820191906000526020600020905b81548152906001019060200180831161068557829003601f168201915b505050505091505090565b6000336106bb81858561163a565b60019150505b92915050565b6000336106d585828561164c565b6106e08585856116b3565b506001949350505050565b6000546001600160a01b031633146107165760405163ac9f4e8b60e01b815260040160405180910390fd5b61071e611712565b600554600160a01b900460ff161561074957604051633f52483b60e21b815260040160405180910390fd5b6005546001600160a01b031661079d5760405162461bcd60e51b8152602060048201526014602482015273141bdbdb081859191c995cdcc81b9bdd081cd95d60621b60448201526064015b60405180910390fd5b60006107c77f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b6107db9069d3c21bcecceda1000000611f0b565b9050600060646107f6601469d3c21bcecceda1000000611f1e565b6108009190611f35565b90506000828211156108125782610814565b815b9050600081116108665760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e742072656d61696e696e6720737570706c790000006044820152606401610794565b6005805460ff60a01b1916600160a01b179055610883308261174a565b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108d357600080fd5b505af11580156108e7573d6000803e3d6000fd5b50506001546040516370a0823160e01b815230600482018190526001600160a01b039092169182109450600093509091506370a0823190602401602060405180830381865afa15801561093e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109629190611f57565b6001546004805460405163095ea7b360e01b81526001600160a01b03918216928101929092526024820184905292935091169063095ea7b3906044016020604051808303816000875af11580156109bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e19190611f80565b506004805460405163095ea7b360e01b81526001600160a01b039091169181019190915260248101849052309063095ea7b3906044016020604051808303816000875af1158015610a36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5a9190611f80565b50600060405180610160016040528084610a745730610a81565b6001546001600160a01b03165b6001600160a01b0316815260200184610aa5576001546001600160a01b0316610aa7565b305b6001600160a01b031681526127106020820152620d899f196040820152620d89a0606082015260800184610adb5785610add565b835b815260200184610aed5783610aef565b855b81526000602082018190526040820152306060820152608001610b1442610708611f9b565b905260048054604051634418b22b60e11b81529293506000928392839283926001600160a01b0390911691638831645691610b5191899101611fae565b6080604051808303816000875af1158015610b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b949190612072565b600784905592965090945092509050831580610bb757506001600160801b038316155b15610bd5576040516352dca50b60e11b815260040160405180910390fd5b81158015610be1575080155b15610bff576040516352dca50b60e11b815260040160405180910390fd5b6002546000906001600160a01b0316631698ee8289610c1e5730610c2b565b6001546001600160a01b03165b8a610c41576001546001600160a01b0316610c43565b305b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526127106044820152606401602060405180830381865afa158015610c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cba91906120bd565b90506001600160a01b0381161580610ce057506005546001600160a01b03828116911614155b15610cfe576040516352dca50b60e11b815260040160405180910390fd5b600560009054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa925050508015610d6d575060408051601f3d908101601f19168201909252610d6a918101906120fd565b60015b610d8a576040516352dca50b60e11b815260040160405180910390fd5b80516001600160a01b0316600003610db5576040516352dca50b60e11b815260040160405180910390fd5b5060055460408051898152602081018c90526001600160a01b03909216917f9b77dada274eeaf332f7c7d405f3216f11c770615d49e367b5f1b802d61c5b24910160405180910390a25050505050505050505050610e2060016000805160206122e783398151915255565b565b610e2a611794565b610e2060006117c6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610e7a5750825b905060008267ffffffffffffffff166001148015610e975750303b155b905081158015610ea5575080155b15610ec35760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610eed57845460ff60401b1916600160401b1785555b6001600160a01b038d16610f1457604051639fabe1c160e01b815260040160405180910390fd5b6001600160a01b038a16610f3b57604051639fabe1c160e01b815260040160405180910390fd5b6001600160a01b038916610f6257604051639fabe1c160e01b815260040160405180910390fd5b6001600160a01b038816610f8957604051639fabe1c160e01b815260040160405180910390fd5b6001600160a01b038716610fb057604051639fabe1c160e01b815260040160405180910390fd5b6001600160a01b038616610fd757604051639fabe1c160e01b815260040160405180910390fd5b610fe18c8c611837565b610fea8d611849565b610ff261185a565b600080546001600160a01b03808d166001600160a01b0319928316178355600180548d83169084168117909155600280548d8416908516179055600380548c841690851617905560048054928b1692909316919091179091556005805460ff60a01b1916905560068290553010611074576001546001600160a01b0316611076565b305b6001549091506000906001600160a01b0316301061109457306110a1565b6001546001600160a01b03165b6001549091506000906001600160a01b038481169116146110cd576a0cf330de50b81bb3db441b6110dd565b6d13c4b57968ceb7aab7ea377e80c95b600480546040516309f56ab160e11b81526001600160a01b038781169382019390935285831660248201526127106044820152828416606482015292935016906313ead562906084016020604051808303816000875af1158015611145573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116991906120bd565b600580546001600160a01b0319166001600160a01b03929092169190911790555050841590506111d357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060916000805160206122c78339815191529161062990611ebb565b6000546001600160a01b0316331461127a5760405163ac9f4e8b60e01b815260040160405180910390fd5b611282611712565b6001600160a01b0382166112a957604051639fabe1c160e01b815260040160405180910390fd5b670de0b6b3a76400008110156112c85750670de0b6b3a76400006112e7565b69a968163f0a57b40000008111156112e7575069a968163f0a57b40000005b69d3c21bcecceda10000008161131b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b6113259190611f9b565b111561134457604051638a164f6360e01b815260040160405180910390fd5b80600660008282546113569190611f9b565b909155506113669050828261174a565b816001600160a01b03167fe8ea3d4dd0a2eaaf3f7532ad391255544f8a4bcf78f850bbff61d5bac9f77552826040516113a191815260200190565b60405180910390a26113c060016000805160206122e783398151915255565b5050565b6000336106bb8185856116b3565b6113da611794565b6113e2611712565b60006007541161142c5760405162461bcd60e51b81526020600482015260156024820152742737903634b8bab4b234ba3c903837b9b4ba34b7b760591b6044820152606401610794565b600554600160a01b900460ff1661147b5760405162461bcd60e51b815260206004820152601360248201527204c6971756964697479206e6f7420736574757606c1b6044820152606401610794565b6000604051806080016040528060075481526020016114986111e2565b6001600160a01b0390811682526001600160801b036020808401829052604093840182905260048054855163fc6f786560e01b81528751928101929092529186015184166024820152938501518216604485015260608501519091166064840152929350600092839291169063fc6f78659060840160408051808303816000875af115801561152b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154f919061219c565b915091506007547f2a2c0933f67773cc245f48d0358979c9a72ed3602f5dc985ec9711ecdd60fda08383604051611590929190918252602082015260400190565b60405180910390a2505050610e2060016000805160206122e783398151915255565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b611604611794565b6001600160a01b03811661162e57604051631e4fbdf760e01b815260006004820152602401610794565b611637816117c6565b50565b611647838383600161186a565b505050565b600061165884846115b2565b90506000198110156116ad578181101561169e57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610794565b6116ad8484848403600061186a565b50505050565b6001600160a01b0383166116dd57604051634b637e8f60e11b815260006004820152602401610794565b6001600160a01b0382166117075760405163ec442f0560e01b815260006004820152602401610794565b611647838383611952565b6000805160206122e783398151915280546001190161174457604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6001600160a01b0382166117745760405163ec442f0560e01b815260006004820152602401610794565b6113c060008383611952565b60016000805160206122e783398151915255565b3361179d6111e2565b6001600160a01b031614610e205760405163118cdaa760e01b8152336004820152602401610794565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b61183f611a90565b6113c08282611ad9565b611851611a90565b61163781611b2a565b611862611a90565b610e20611b32565b6000805160206122c78339815191526001600160a01b0385166118a35760405163e602df0560e01b815260006004820152602401610794565b6001600160a01b0384166118cd57604051634a1406b160e11b815260006004820152602401610794565b6001600160a01b0380861660009081526001830160209081526040808320938816835292905220839055811561194b57836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405161194291815260200190565b60405180910390a35b5050505050565b6000805160206122c78339815191526001600160a01b03841661198e57818160020160008282546119839190611f9b565b90915550611a009050565b6001600160a01b038416600090815260208290526040902054828110156119e15760405163391434e360e21b81526001600160a01b03861660048201526024810182905260448101849052606401610794565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316611a1e576002810180548390039055611a3d565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a8291815260200190565b60405180910390a350505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610e2057604051631afcd79f60e31b815260040160405180910390fd5b611ae1611a90565b6000805160206122c78339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03611b1b8482612207565b50600481016116ad8382612207565b611604611a90565b611780611a90565b602081526000825180602084015260005b81811015611b685760208186018101516040868401015201611b4b565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461163757600080fd5b8035611ba881611b88565b919050565b60008060408385031215611bc057600080fd5b8235611bcb81611b88565b946020939093013593505050565b600080600080600060808688031215611bf157600080fd5b8535611bfc81611b88565b94506020860135611c0c81611b88565b935060408601359250606086013567ffffffffffffffff811115611c2f57600080fd5b8601601f81018813611c4057600080fd5b803567ffffffffffffffff811115611c5757600080fd5b886020828401011115611c6957600080fd5b959894975092955050506020019190565b600080600060608486031215611c8f57600080fd5b8335611c9a81611b88565b92506020840135611caa81611b88565b929592945050506040919091013590565b600060208284031215611ccd57600080fd5b8135611cd881611b88565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715611d1857611d18611cdf565b60405290565b600082601f830112611d2f57600080fd5b813567ffffffffffffffff811115611d4957611d49611cdf565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611d7857611d78611cdf565b604052818152838201602001851015611d9057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600080610100898b031215611dca57600080fd5b8835611dd581611b88565b9750602089013567ffffffffffffffff811115611df157600080fd5b611dfd8b828c01611d1e565b975050604089013567ffffffffffffffff811115611e1a57600080fd5b611e268b828c01611d1e565b9650506060890135611e3781611b88565b94506080890135611e4781611b88565b935060a0890135611e5781611b88565b9250611e6560c08a01611b9d565b9150611e7360e08a01611b9d565b90509295985092959890939650565b60008060408385031215611e9557600080fd5b8235611ea081611b88565b91506020830135611eb081611b88565b809150509250929050565b600181811c90821680611ecf57607f821691505b602082108103611eef57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106c1576106c1611ef5565b80820281158282048414176106c1576106c1611ef5565b600082611f5257634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611f6957600080fd5b5051919050565b80518015158114611ba857600080fd5b600060208284031215611f9257600080fd5b611cd882611f70565b808201808211156106c1576106c1611ef5565b81516001600160a01b0316815261016081016020830151611fda60208401826001600160a01b03169052565b506040830151611ff1604084018262ffffff169052565b506060830151612006606084018260020b9052565b50608083015161201b608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e08301526101008301516101008301526101208301516120626101208401826001600160a01b03169052565b5061014092830151919092015290565b6000806000806080858703121561208857600080fd5b845160208601519094506001600160801b03811681146120a757600080fd5b6040860151606090960151949790965092505050565b6000602082840312156120cf57600080fd5b8151611cd881611b88565b805161ffff81168114611ba857600080fd5b805160ff81168114611ba857600080fd5b600060e082840312801561211057600080fd5b50612119611cf5565b825161212481611b88565b81526020830151600281900b811461213b57600080fd5b602082015261214c604084016120da565b604082015261215d606084016120da565b606082015261216e608084016120da565b608082015261217f60a084016120ec565b60a082015261219060c08401611f70565b60c08201529392505050565b600080604083850312156121af57600080fd5b505080516020909101519092909150565b601f82111561164757806000526020600020601f840160051c810160208510156121e75750805b601f840160051c820191505b8181101561194b57600081556001016121f3565b815167ffffffffffffffff81111561222157612221611cdf565b6122358161222f8454611ebb565b846121c0565b6020601f82116001811461226957600083156122515750848201515b600019600385901b1c1916600184901b17845561194b565b600084815260208120601f198516915b828110156122995787850151825560209485019460019092019101612279565b50848210156122b75786840151600019600387901b60f8161c191681555b50505050600190811b0190555056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a26469706673582212202a417a20f1b8e4faa68db27ef7aa3c73636d81e963e09b3bf58dbcbda853d7c464736f6c634300081b0033