0 txs
484 calls
constructor
constructor()
functions
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
handleLeftovers
nonpayablefunction handleLeftovers(uint256 tokenId, uint256 leftoverAmount0, uint256 amountToken0Desired, uint256 amount0Added, uint256 leftoverAmount1, uint256 amountToken1Desired, uint256 amount1Added) returns (uint256 addedUsed0, uint256 addedUsed1, uint256 returnToken0, uint256 returnToken1)
initialize
nonpayablefunction initialize(address _protocolConfig, address _userManagerAddress)
setProtocolConfigAddress
nonpayablefunction setProtocolConfigAddress(address _newProtocolConfig) returns (bool)
setUserManagerAddress
nonpayablefunction setUserManagerAddress(address _newUserManagerAddress) returns (bool)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
LiquidityAdded
event LiquidityAdded(uint256 indexed tokenId, uint128 liquidity, uint256 amount0, uint256 amount1)
ProtocolConfigSet
event ProtocolConfigSet()
Upgraded
event Upgraded(address indexed implementation)
UserManagerSet
event UserManagerSet()
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
LH_ADDRESS_UNCHANGED
error LH_ADDRESS_UNCHANGED()
LH_INSUFFICIENT_LM_BALANCE_TOKEN0
error LH_INSUFFICIENT_LM_BALANCE_TOKEN0()
LH_INSUFFICIENT_LM_BALANCE_TOKEN1
error LH_INSUFFICIENT_LM_BALANCE_TOKEN1()
LH_SWAP_RETURNED_ZERO
error LH_SWAP_RETURNED_ZERO()
LH_ZERO_ADDRESS
error LH_ZERO_ADDRESS()
NotInitializing
error NotInitializing()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UAC_EMERGENCY_MODE_ACTIVE
error UAC_EMERGENCY_MODE_ACTIVE()
UAC_NOT_2FA
error UAC_NOT_2FA()
UAC_NOT_GENERAL_ADMIN
error UAC_NOT_GENERAL_ADMIN()
UAC_NOT_GENERAL_OR_MASTER_ADMIN
error UAC_NOT_GENERAL_OR_MASTER_ADMIN()
UAC_NOT_LIQUIDITY_MANAGER
error UAC_NOT_LIQUIDITY_MANAGER()
UAC_NOT_MASTER_ADMIN
error UAC_NOT_MASTER_ADMIN()
UAC_NOT_USER_MANAGER_OR_GENERAL_ADMIN
error UAC_NOT_USER_MANAGER_OR_GENERAL_ADMIN()
UAC_NOT_USER_MANAGER
error UAC_NOT_USER_MANAGER()
UAC_NOT_USER
error UAC_NOT_USER()
UAC_NOT_VAULT_MANAGER
error UAC_NOT_VAULT_MANAGER()
UAC_NOT_VAULT_OR_LIQUIDITY_MANAGER
error UAC_NOT_VAULT_OR_LIQUIDITY_MANAGER()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346100ea57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c166100d9576002600160401b03196001600160401b03821601610073575b60405161182590816100f082396080518181816109cd0152610aa00152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a13880610054565b63f92ee8a960e01b60005260046000fd5b600080fdfe608080604052600436101561001357600080fd5b60003560e01c908163485cc95514610cbe575080634f1ef28614610a2457806352d1902d146109ba578063ad3cb1cc1461093e578063c435968314610807578063d97ed65a146106fa5763f4ecde041461006c57600080fd5b346106f55760e03660031901126106f5576004356024356084359160018060a01b03600054166040516337e26cd160e21b8152336004820152602081602481855afa9081156106b9576000916106d6575b50156106c557602060049160405192838092632fcf47c160e11b82525afa9081156106b95760009161068a575b50610679576000906100fa610f10565b6001546040516321f8a72160e01b81527f6878742ff510854cb02c186504af5267007c4a6d33f490fc28ec83e83e1458e1600482015291929190602090829060249082906001600160a01b03165afa90811561049a578491610639575b5060405163133f757160e31b8152600481018390526001600160a01b039182169390916101809183916024918391165afa90811561049a57848586918793889561056f575b506040516370a0823160e01b8152600481018890526001600160a01b03828116999084169790916020816024818e5afa90811561056457839161052e575b506040516370a0823160e01b8152600481018b9052906020826024818d5afa91821561049a57908d9185936104f7575b50106104e8578c116104d95781809b806103e7575b508c6102f5575b60809c509a60006127108411156102a95750506102509798999a506064359184846044359361103d565b93919590929592939485915b858281610298575b50505081610287575b505050604051938452602084015260408301526060820152f35b610290926115a9565b38838161026d565b6102a1926115a9565b388582610264565b989a9890926127108411156102e05750506102d19798999a5060c43591838560a4359361103d565b9195909491939091859161025c565b9550979550509697945050509394859161025c565b6040516370a0823160e01b81523060048201529c909b5060208d6024818c5afa9c8d156103a5578c9d6103b0575b5061033090308b8b610fb2565b6040516370a0823160e01b81523060048201526020816024818c5afa9081156103a5578c9161036d575b5060809c61036791610eed565b9a610226565b90508b8160203d60201161039e575b6020926103898284610e4b565b508101031261039a5751608061035a565b8b80fd5b503d61037c565b6040513d8e823e3d90fd5b909c508b8160203d6020116103e0575b6020926103cd8284610e4b565b508101031261039a57519b610330610323565b503d6103c0565b6040516370a0823160e01b8152306004820152919350906020816024818f5afa90811561049a5784916104a5575b506104256024928d8d3091610fb2565b6040516370a0823160e01b8152306004820152916020908390818f5afa801561049a578490610460575b6104599250610eed565b913861021f565b50906020813d602011610492575b8161047b60209383610e4b565b8101031261048e5790610459915161044f565b8380fd5b3d915061046e565b6040513d86823e3d90fd5b90506020813d6020116104d1575b816104c060209383610e4b565b8101031261048e5751610425610415565b3d91506104b3565b6314fbc8b160e01b8252600482fd5b63e4dd1b1960e01b8352600483fd5b915091506020813d602011610526575b8161051460209383610e4b565b8101031261048e578c9051913861020a565b3d9150610507565b90506020813d60201161055c575b8161054960209383610e4b565b810103126105585751386101da565b8280fd5b3d915061053c565b6040513d85823e3d90fd5b945050505050610180813d8211610631575b8161058f6101809383610e4b565b8101031261048e5780516001600160601b0381160361048e576105b460208201610eb7565b506105c160408201610eb7565b906105ce60608201610eb7565b91608082015162ffffff8116810361062d576105ec60a08401610ecb565b916106216101606105ff60c08701610ecb565b9561060c60e08201610ed9565b5061061a6101408201610ed9565b5001610ed9565b5093909192933861019c565b8680fd5b3d9150610581565b90506020813d602011610671575b8161065460209383610e4b565b8101031261048e5761018061066a602492610eb7565b9150610157565b3d9150610647565b63061eacdb60e41b60005260046000fd5b6106ac915060203d6020116106b2575b6106a48183610e4b565b810190610e9f565b386100ea565b503d61069a565b6040513d6000823e3d90fd5b631c113f1760e31b60005260046000fd5b6106ef915060203d6020116106b2576106a48183610e4b565b386100bd565b600080fd5b346106f55760203660031901126106f557610713610e35565b600054604051637bc4162b60e11b815233600482015290602090829060249082906001600160a01b03165afa9081156106b9576000916107e8575b50156107d7576001600160a01b031680156107c6576001546001600160a01b03811682146107b5576001600160a01b031916176001556040516020907f74961419d6c00f878abfe2ba8c02be0a4d3dea9950888f4a88351994247498d7600080a160018152f35b633bd3209560e11b60005260046000fd5b63578f1c7f60e11b60005260046000fd5b633bda9c4560e11b60005260046000fd5b610801915060203d6020116106b2576106a48183610e4b565b8261074e565b346106f55760203660031901126106f557610820610e35565b6000546040516350b48de160e01b81523360048201526001600160a01b0382169290602081602481875afa9081156106b95760009161091f575b5080156108ce575b156108bd576001600160a01b03169182156107c65782146107b5576001600160a01b0319161760009081556040516020917f3aa8516ef6b9e3e1011337ef06158ac1869f76b2dba1bc42788a46d28109a0859080a160018152f35b63136de93960e21b60005260046000fd5b50604051637bc4162b60e11b8152336004820152602081602481875afa9081156106b957600091610900575b50610862565b610919915060203d6020116106b2576106a48183610e4b565b846108fa565b610938915060203d6020116106b2576106a48183610e4b565b8461085a565b346106f55760003660031901126106f557604080519061095e8183610e4b565b60058252640352e302e360dc1b6020830152805180926020825280519081602084015260005b8281106109a35750506000828201840152601f01601f19168101030190f35b602082820181015187830187015286945001610984565b346106f55760003660031901126106f5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610a135760206040516000805160206117b08339815191528152f35b63703e46dd60e11b60005260046000fd5b60403660031901126106f557610a38610e35565b602435906001600160401b0382116106f557366023830112156106f557816004013590610a6482610e84565b91610a726040519384610e4b565b808352602083019336602483830101116106f557816000926024602093018737840101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610c9b575b50610a1357600054604051637bc4162b60e11b815233600482015290602090829060249082906001600160a01b03165afa9081156106b957600091610c7c575b50156107d7576040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa60009181610c48575b50610b565784634c9c8ce360e01b60005260045260246000fd5b806000805160206117b0833981519152869203610c345750823b15610c20576000805160206117b083398151915280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2825115610c055760008091610bfb945190845af43d15610bfd573d91610bde83610e84565b92610bec6040519485610e4b565b83523d6000602085013e61174e565b005b60609161174e565b50505034610c0f57005b63b398979f60e01b60005260046000fd5b634c9c8ce360e01b60005260045260246000fd5b632a87526960e21b60005260045260246000fd5b9091506020813d602011610c74575b81610c6460209383610e4b565b810103126106f557519086610b3c565b3d9150610c57565b610c95915060203d6020116106b2576106a48183610e4b565b84610b0b565b6000805160206117b0833981519152546001600160a01b03161415905084610acb565b346106f55760403660031901126106f557610cd7610e35565b6024356001600160a01b038116908190036106f5576000805160206117d083398151915254604081901c60ff161592906001600160401b03811680159081610e2d575b6001149081610e23575b159081610e1a575b50610e09576001600160401b031981166001176000805160206117d08339815191525583610de0575b506001600160a01b031680158015610dd8575b6107c65760018060a01b0319600154161760015560018060a01b03196000541617600055610d9257005b6000805160206117d0833981519152805460ff60401b19169055600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b508115610d68565b6001600160481b0319166001600160401b01176000805160206117d08339815191525584610d55565b63f92ee8a960e01b60005260046000fd5b90501586610d2c565b303b159150610d24565b859150610d1a565b600435906001600160a01b03821682036106f557565b601f909101601f19168101906001600160401b03821190821017610e6e57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111610e6e57601f01601f191660200190565b908160209103126106f5575180151581036106f55790565b51906001600160a01b03821682036106f557565b51908160020b82036106f557565b51906001600160801b03821682036106f557565b91908203918211610efa57565b634e487b7160e01b600052601160045260246000fd5b6001546040516321f8a72160e01b81527f9cb5ba573d7c87ffdb350369937be05e651c5afc72aefbf0322ef0a3688c0076600482015290602090829060249082906001600160a01b03165afa9081156106b957600091610f78575b506001600160a01b031690565b90506020813d602011610faa575b81610f9360209383610e4b565b810103126106f557610fa490610eb7565b38610f6b565b3d9150610f86565b6040516323b872dd60e01b60208201526001600160a01b039283166024820152929091166044830152606480830193909352918152610ffb91610ff6608483610e4b565b6116d8565b565b81810292918115918404141715610efa57565b91908201809211610efa57565b8115611027570490565b634e487b7160e01b600052601260045260246000fd5b98929a9790959993999694919660018060a01b0360015416926040519063bd02d0f560e01b82527f6f8c752f16a50d13ae873620fdefd90c2c58e0d13a068366e5a1b685076b71bb6004830152602082602481885afa9182156106b957600092611574575b5060249060206110b0610f10565b96604051938480926321f8a72160e01b82527f54c9e092fe02501be63b6765c71249c1d344895ad5127741d78f5176a1c76efd60048301525afa80156106b9578f92600091611538575b506001600160a01b03169d61110f8483610ffd565b9161111991611010565b6111229161101d565b9061112c91610ffd565b906111369161101d565b9b8c61114191610eed565b60405163a9059cbb60e01b602082015290976001600160a01b031692908061116d8a8f60248401611733565b03601f198101825261117f9082610e4b565b61118990846116d8565b6040516301417be360e41b8152600481018490526001600160a01b0390991660248a015262ffffff1660448901819052606489019790975230608489015287808c5a92600060a492602095f19788156106b957600098611504575b5087156114f3576001600160a01b03169081149586156114ea578b94889b5b6040519763dc64389f60e01b89528460048a015260018060a01b0316958660248a01528360448a015260020b918260648a015260020b978860848201528760a48201528d60c482015260208160e4816000865af19081156106b9576000916114a4575b5092600060c49260409586519b8c96879563183e293d60e11b87528a60048801528c602488015260448701526064860152608485015260018060801b031660a48401525af19283156106b9578a92600096600095611463575b506001600160a01b0316926112e492909184916112df90889084906115a9565b6115a9565b6040519060c08201906001600160401b03821183831017610e6e5760609560c4946000936040528b855260208501968752604085019c8d528785019182526080850190815260a08501914283526040519d8e98899763219f5d1760e01b89525160048901525160248801525160448701525160648601525160848501525160a48401525af19384156106b957600080968196611413575b5060607f349a5134d5729502d70a88264720af4ccfc9b5dbf3866f51a0dc4e11401951ac916040519060018060801b03168152886020820152876040820152a2156113fc57839483948082116000146113f3576113d791610eed565b92808211156113ec576113e991610eed565b90565b5050600090565b505060006113d7565b919383929085808211156113f3576113d791610eed565b95509095506060853d60601161145b575b8161143160609383610e4b565b81010312611458575061144384610ed9565b6020850151604090950151949590606061137b565b80fd5b3d9150611424565b9650935091506040853d60401161149c575b8161148260409383610e4b565b810103126106f5578451602090950151928a9290856112bf565b3d9150611475565b9390506020843d6020116114e2575b816114c060209383610e4b565b810103126106f557600060c4926114d8604096610ed9565b9295509250611266565b3d91506114b3565b87948c9b611203565b630f285efd60e31b60005260046000fd5b90976020823d602011611530575b8161151f60209383610e4b565b8101031261145857505196386111e4565b3d9150611512565b9250506020823d60201161156c575b8161155460209383610e4b565b810103126106f5576115668f92610eb7565b386110fa565b3d9150611547565b90916020823d6020116115a1575b8161158f60209383610e4b565b810103126114585750519060246110a2565b3d9150611582565b604051636eb1769f60e11b81523060048201526001600160a01b03838116602483018190529490831691602081604481865afa9081156106b9576000916116a4575b5061161e9461162c611601602094600094611010565b6040519788918683019463095ea7b360e01b865260248401611733565b03601f198101885287610e4b565b85519082865af1903d6000519083611685575b5050501561164c57505050565b610ff6610ffb936040519063095ea7b360e01b60208301526024820152600060448201526044815261167f606482610e4b565b826116d8565b9192509061169a57503b15155b38808061163f565b6001915014611692565b90506020813d6020116116d0575b816116bf60209383610e4b565b810103126106f5575161161e6115eb565b3d91506116b2565b906000602091828151910182855af1156106b9576000513d61172a57506001600160a01b0381163b155b6117095750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b60011415611702565b6001600160a01b039091168152602081019190915260400190565b90611774575080511561176357805190602001fd5b63d6bda27560e01b60005260046000fd5b815115806117a6575b611785575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b1561177d56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220639db23e8666e0f9ea8804fa15d47e6e271d1f8b802bd2f887db133352d1b07564736f6c634300081e0033