10.8k txs
17.4k calls
constructor
constructor(address uniswapV3Factory_, address positionManager_, address lpLocker_)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
DEPLOYER_ROLE
viewfunction DEPLOYER_ROLE() view returns (bytes32)
deploymentInfoForToken
viewfunction deploymentInfoForToken(address) view returns (address token, uint256 positionId, address locker)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getTokensDeployedByUser
viewfunction getTokensDeployedByUser(address user) view returns (tuple[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
liquidityLocker
viewfunction liquidityLocker() view returns (address)
positionManager
viewfunction positionManager() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokensDeployedByUsers
viewfunction tokensDeployedByUsers(address, uint256) view returns (address token, uint256 positionId, address locker)
uniswapV3Factory
viewfunction uniswapV3Factory() view returns (address)
weth
viewfunction weth() view returns (address)
claimRewards
nonpayablefunction claimRewards(address token)
createLP
nonpayablefunction createLP(address token, address pairedToken, int24 tick, uint24 fee, uint256 supplyPerPool, address deployer, uint256) returns (uint256 positionId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
updateLiquidityLocker
nonpayablefunction updateLiquidityLocker(address newLocker)
events
LPCreated
event LPCreated(address indexed lockerAddress, address indexed deployer, address indexed token, address poolAddress, 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)
Invalid
error Invalid()
NotFound
error NotFound()
Unauthorized
error Unauthorized()
creation bytecode
0x6080346100e657601f611c4e38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b61005f604061005860208501610101565b9301610101565b600180546001600160a01b03191673420000000000000000000000000000000000000617905561008e33610115565b5061009833610191565b50600280546001600160a01b03199081166001600160a01b0393841617909155600380548216938316939093179092556004805490921692169190911790556040516119c4908161022a8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e657565b6001600160a01b0381166000908152600080516020611c2e833981519152602052604090205460ff1661018b576001600160a01b03166000818152600080516020611c2e83398151915260205260408120805460ff19166001179055339190600080516020611bee8339815191528180a4600190565b50600090565b6001600160a01b0381166000908152600080516020611c0e833981519152602052604090205460ff1661018b576001600160a01b03166000818152600080516020611c0e83398151915260205260408120805460ff191660011790553391907ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c90600080516020611bee8339815191529080a460019056fe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a71461165d5750806306562980146115fc578063248a9ca3146115ce5780632e172e5f146106035780632f2ff15d146105c257806336568abe146105645780633fc8cef31461053d5780635b54918214610516578063791b98bc146104ef57806388aea8721461047457806391d14854146104285780639759164a146104015780639dbb8c9f1461037d578063a217fddf14610361578063bdef36791461025d578063d547741f14610213578063ecd00261146101d85763ef5cfb8c146100e757600080fd5b3461019e57602060031936011261019e576001600160a01b036101086116fd565b168152600660205261011c604082206117eb565b6001600160a01b03815116156101b0578060206001600160a01b0360408594015116910151813b156101ac5782916024839260405194859384927fb18486d700000000000000000000000000000000000000000000000000000000845260048401525af180156101a15761018d5750f35b8161019791611792565b61019e5780f35b80fd5b6040513d84823e3d90fd5b5050fd5b6004827fc5723b51000000000000000000000000000000000000000000000000000000008152fd5b503461019e578060031936011261019e5760206040517ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c8152f35b503461019e57604060031936011261019e57610259600435610233611718565b9061025461024f82600052600060205260016040600020015490565b61181e565b6118ff565b5080f35b503461019e57602060031936011261019e576001600160a01b0361027f6116fd565b168152600560205260408120805467ffffffffffffffff811161034d57604051906102b060208260051b0183611792565b80825260208201809385526020852085915b83831061032f57868587604051928392602084019060208552518091526040840192915b8181106102f4575050500390f35b91935091602060606001926001600160a01b0360408851828151168452858101518685015201511660408201520194019101918493926102e6565b6003602060019261033f856117eb565b8152019201920191906102c2565b602483634e487b7160e01b81526041600452fd5b503461019e578060031936011261019e57602090604051908152f35b503461019e57602060031936011261019e576103976116fd565b81805281602052604082206001600160a01b03331660005260205260ff60406000205416156103ea576001600160a01b031673ffffffffffffffffffffffffffffffffffffffff19600254161760025580f35b60448263e2517d3f60e01b81523360045280602452fd5b503461019e578060031936011261019e5760206001600160a01b0360025416604051908152f35b503461019e57604060031936011261019e576001600160a01b03604061044c611718565b92600435815280602052209116600052602052602060ff604060002054166040519015158152f35b503461019e57604060031936011261019e5761048e6116fd565b6001600160a01b036024359116825260056020526040822080548210156104eb576104b9925061172e565b5080546001820154600290920154604080516001600160a01b0393841681526020810194909452911690820152606090f35b8280fd5b503461019e578060031936011261019e5760206001600160a01b0360045416604051908152f35b503461019e578060031936011261019e5760206001600160a01b0360035416604051908152f35b503461019e578060031936011261019e5760206001600160a01b0360015416604051908152f35b503461019e57604060031936011261019e5761057e611718565b336001600160a01b0382160361059a57610259906004356118ff565b6004827f6697b232000000000000000000000000000000000000000000000000000000008152fd5b503461019e57604060031936011261019e576102596004356105e2611718565b906105fe61024f82600052600060205260016040600020015490565b611865565b503461019e5760e060031936011261019e576004356001600160a01b038116809103610da957610631611718565b91604435908160020b80920361019e5760643562ffffff8116809103610da95760843560a435916001600160a01b038316809303610de5577ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c845283602052604084206001600160a01b033316855260205260ff60408520541615611597576040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052602081606481888b5af1801561156f5761157a575b506001600160a01b0360045416604051907f095ea7b30000000000000000000000000000000000000000000000000000000082526004820152826024820152602081604481888b5af1801561156f57611542575b506001600160a01b0360035416946040517f22afcccb0000000000000000000000000000000000000000000000000000000081528260048201526020816024818a5afa9081156115375786916114f7575b5060020b8015801581816114e4575b5015611486576001600160a01b038a1690818a10801561145e571561145757899a985b88851215611450577f8000000000000000000000000000000000000000000000000000000000000000851461143c57848903905b620d89e8938483116113de5760018316156113b55770ffffffffffffffffffffffffffffffffff6ffffcb933bd6fad37aa2d162d1a5940015b16926002811661137a575b6004811661133f575b60088116611304575b601081166112c9575b6020811661128e575b60408116611253575b60808116611218575b61010081166111dd575b61020081166111a2575b6104008116611167575b610800811661112c575b61100081166110f1575b61200081166110b6575b614000811661107b575b6180008116611040575b620100008116611005575b620200008116610fcc575b620400008116610f81575b6208000016610f4e575b8a8713610f0b575b63ffffffff8360201c931615600014610f025760ff8b5b168301809311610eee5760209060648e8d60405195869485937fa1671295000000000000000000000000000000000000000000000000000000008552600485015260248401528c60448401525af18015610ee3578a90610e9a575b6001600160a01b0391501690813b15610e96576001600160a01b0360248b928360405195869485937ff637731d0000000000000000000000000000000000000000000000000000000085521660048401525af18015610e8b57610e77575b50610e635781900560020b028060020b908103610e4f5760405193610160850199858b1067ffffffffffffffff8c1117610e3b578798999a6040989798526001600160a01b0316855260208501986001600160a01b0316895260408501938452606085019283526080850191825260a0850190815260c0850186815260e08601908782526101008701928884526101208801943086526101408901964288526004546001600160a01b0316986040519e8f9b7f88316456000000000000000000000000000000000000000000000000000000008d52516001600160a01b031660048d0152516001600160a01b031660248c01525162ffffff1660448b01525160020b60648a01525160020b60848901525160a48801525160c48701525160e486015251610104850152516001600160a01b031661012484015251610144830152815a9361016492608095f19283156101a1578293610de9575b506001600160a01b03600454166001600160a01b0360025416813b15610de5576040517f42842e0e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03919091166024820152604481018590529083908290606490829084905af18015610dad57908391610dd0575b50506001600160a01b03600254166040516040810181811067ffffffffffffffff821117610dbc576040528281526020810191858352803b15610db85760448592836001600160a01b039360405196879586947f5e22f94f000000000000000000000000000000000000000000000000000000008652511660048501525160248401525af18015610dad57908391610d94575b50506001600160a01b03600254169360405194610c5e86611760565b818652846020870152604086015282526006602052610cdb84604084209060026001600160a01b036040819382808251161673ffffffffffffffffffffffffffffffffffffffff19875416178655602081015160018701550151169201911673ffffffffffffffffffffffffffffffffffffffff19825416179055565b81526005602052604081208054906801000000000000000082101561034d5790610d0a9160018201815561172e565b919091610d815750602092610d79919060026001600160a01b036040819382808251161673ffffffffffffffffffffffffffffffffffffffff19875416178655602081015160018701550151169201911673ffffffffffffffffffffffffffffffffffffffff19825416179055565b604051908152f35b80634e487b7160e01b6024925280600452fd5b81610d9e91611792565b610da9578138610c42565b5080fd5b6040513d85823e3d90fd5b8480fd5b602485634e487b7160e01b81526041600452fd5b81610dda91611792565b610da9578138610baf565b8380fd5b9092506080813d608011610e33575b81610e0560809383611792565b81010312610da957602081519101516fffffffffffffffffffffffffffffffff811603610da9579138610b2f565b3d9150610df8565b602488634e487b7160e01b81526041600452fd5b602486634e487b7160e01b81526011600452fd5b602487634e487b7160e01b81526012600452fd5b88610e8491999299611792565b96386109d6565b6040513d8b823e3d90fd5b8980fd5b506020813d602011610edb575b81610eb460209383611792565b81010312610e9657516001600160a01b0381168103610e96576001600160a01b0390610978565b3d9150610ea7565b6040513d8c823e3d90fd5b60248b634e487b7160e01b81526011600452fd5b60ff600161091d565b918015610f3a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0491610906565b60248b634e487b7160e01b81526012600452fd5b916b048a170391f7dc42444e8fa28102908082046b048a170391f7dc42444e8fa21490151715610eee5760801c916108fe565b926d2216e584f5fa1ea926041bedfe988102908082046d2216e584f5fa1ea926041bedfe981490151715610fb85760801c926108f4565b60248c634e487b7160e01b81526011600452fd5b926e5d6af8dedb81196699c329225ee6048102908082046e5d6af8dedb81196699c329225ee6041490151715610fb85760801c926108e9565b926f09aa508b5b7a84e1c677de54f3e99bc98102908082046f09aa508b5b7a84e1c677de54f3e99bc91490151715610fb85760801c926108de565b926f31be135f97d08fd981231505542fcfa68102908082046f31be135f97d08fd981231505542fcfa61490151715610fb85760801c926108d3565b926f70d869a156d2a1b890bb3df62baf32f78102908082046f70d869a156d2a1b890bb3df62baf32f71490151715610fb85760801c926108c9565b926fa9f746462d870fdf8a65dc1f90e061e58102908082046fa9f746462d870fdf8a65dc1f90e061e51490151715610fb85760801c926108bf565b926fd097f3bdfd2022b8845ad8f792aa58258102908082046fd097f3bdfd2022b8845ad8f792aa58251490151715610fb85760801c926108b5565b926fe7159475a2c29b7443b29c7fa6e889d98102908082046fe7159475a2c29b7443b29c7fa6e889d91490151715610fb85760801c926108ab565b926ff3392b0822b70005940c7a398e4b70f38102908082046ff3392b0822b70005940c7a398e4b70f31490151715610fb85760801c926108a1565b926ff987a7253ac413176f2b074cf7815e548102908082046ff987a7253ac413176f2b074cf7815e541490151715610fb85760801c92610897565b926ffcbe86c7900a88aedcffc83b479aa3a48102908082046ffcbe86c7900a88aedcffc83b479aa3a41490151715610fb85760801c9261088d565b926ffe5dee046a99a2a811c461f1969c30538102908082046ffe5dee046a99a2a811c461f1969c30531490151715610fb85760801c92610883565b926fff2ea16466c96a3843ec78b326b528618102908082046fff2ea16466c96a3843ec78b326b528611490151715610fb85760801c9261087a565b926fff973b41fa98c081472e6896dfb254c08102908082046fff973b41fa98c081472e6896dfb254c01490151715610fb85760801c92610871565b926fffcb9843d60f6159c9db58835c9266448102908082046fffcb9843d60f6159c9db58835c9266441490151715610fb85760801c92610868565b926fffe5caca7e10e4e61c3624eaa0941cd08102908082046fffe5caca7e10e4e61c3624eaa0941cd01490151715610fb85760801c9261085f565b926ffff2e50f5f656932ef12357cf3c7fdcc8102908082046ffff2e50f5f656932ef12357cf3c7fdcc1490151715610fb85760801c92610856565b926ffff97272373d413259a46990580e213a8102908082046ffff97272373d413259a46990580e213a1490151715610fb85760801c9261084d565b70ffffffffffffffffffffffffffffffffff700100000000000000000000000000000000610842565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f54000000000000000000000000000000000000000000000000000000000000006044820152fd5b602489634e487b7160e01b81526011600452fd5b8490610809565b89986107d5565b6004897f6dac6a09000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f496e76616c6964207469636b00000000000000000000000000000000000000006044820152fd5b9050610e635781830760020b15816107b2565b90506020813d60201161152f575b8161151260209383611792565b8101031261152b57518060020b810361152b57386107a3565b8580fd5b3d9150611505565b6040513d88823e3d90fd5b6115639060203d602011611568575b61155b8183611792565b8101906117d3565b610752565b503d611551565b6040513d87823e3d90fd5b6115929060203d6020116115685761155b8183611792565b6106fe565b60448463e2517d3f60e01b8152336004527ffc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c602452fd5b503461019e57602060031936011261019e576020610d79600435600052600060205260016040600020015490565b503461019e57602060031936011261019e576040906001600160a01b036116216116fd565b1681526006602090815291902080546001820154600290920154604080516001600160a01b039384168152948501939093521690820152606090f35b905034610da9576020600319360112610da9576004357fffffffff0000000000000000000000000000000000000000000000000000000081168091036104eb57602092507f7965db0b0000000000000000000000000000000000000000000000000000000081149081156116d3575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386116cc565b600435906001600160a01b038216820361171357565b600080fd5b602435906001600160a01b038216820361171357565b805482101561174a576000526003602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b6060810190811067ffffffffffffffff82111761177c57604052565b634e487b7160e01b600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761177c57604052565b90816020910312611713575180151581036117135790565b906040516117f881611760565b60406001600160a01b036002839582815416855260018101546020860152015416910152565b80600052600060205260406000206001600160a01b03331660005260205260ff604060002054161561184d5750565b63e2517d3f60e01b6000523360045260245260446000fd5b80600052600060205260406000206001600160a01b03831660005260205260ff60406000205416156000146118f85780600052600060205260406000206001600160a01b0383166000526020526040600020600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4600190565b5050600090565b80600052600060205260406000206001600160a01b03831660005260205260ff604060002054166000146118f85780600052600060205260406000206001600160a01b038316600052602052604060002060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b600080a460019056fea2646970667358221220712fb17b2b964ac05e08aeff937c58ae0ba83a2bdcce97eab4dddefd4d118e6e64736f6c634300081a00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d740c5e3e456bed56f053f960110118ba9b95a1f5359a82283516fb2e81b6e37ead3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb500000000000000000000000033128a8fc17869897dce68ed026d694621f6fdfd00000000000000000000000003a520b32c04bf3beef7beb72e919cf822ed34f1000000000000000000000000c54cb94e91c767374a2f23f0f2ced698921ae22a