1 tx
7 calls
constructor
constructor(address _v2Hook)
functions
getPoolKeyByTruncatedId
viewfunction getPoolKeyByTruncatedId(bytes25 truncatedPoolId) view returns (tuple)
getPoolPositionAndLiquidity
viewfunction getPoolPositionAndLiquidity(uint256 tokenId) view returns (tuple key, uint256 info, uint128 liquidity)
handlerType
purefunction handlerType() pure returns (string)
handlesTokenId
viewfunction handlesTokenId(uint256 tokenId) view returns (bool)
isV2Pool
viewfunction isV2Pool(bytes32) view returns (bool)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
poolKeysByTruncatedId
viewfunction poolKeysByTruncatedId(bytes25) view returns (address currency0, address currency1, uint24 fee, int24 tickSpacing, address hooks)
positionManagerAdapter
viewfunction positionManagerAdapter() view returns (address)
v2Hook
viewfunction v2Hook() view returns (address)
v2TokenIds
viewfunction v2TokenIds(bytes32, address) view returns (uint256)
acceptOwnership
nonpayablefunction acceptOwnership()
notifyAddLiquidity
nonpayablefunction notifyAddLiquidity(tuple poolKey, address owner, uint128 liquidityDelta)
notifyRemoveLiquidity
nonpayablefunction notifyRemoveLiquidity(tuple poolKey, address owner, uint128 liquidityDelta)
renounceOwnership
nonpayablefunction renounceOwnership()
setPositionManagerAdapter
nonpayablefunction setPositionManagerAdapter(address _adapter)
setV2Pool
nonpayablefunction setV2Pool(bytes32 poolId, bool isV2)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
PositionManagerAdapterUpdated
event PositionManagerAdapterUpdated(address newAdapter)
V2PositionCreated
event V2PositionCreated(bytes32 indexed poolId, address indexed owner, uint256 tokenId)
V2PositionModified
event V2PositionModified(bytes32 indexed poolId, address indexed owner, uint256 tokenId, int256 liquidityDelta)
V2PositionRemoved
event V2PositionRemoved(bytes32 indexed poolId, address indexed owner, uint256 tokenId)
errors
ComponentNotDeployed
error ComponentNotDeployed()
InsufficientLiquidity
error InsufficientLiquidity()
NotHook
error NotHook()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PositionNotFound
error PositionNotFound()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a06040526001600855348015610014575f80fd5b506040516116a93803806116a983398101604081905261003391610105565b338061005857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100618161009a565b506001600160a01b0381166100895760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052610132565b600180546001600160a01b03191690556100b3816100b6565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610115575f80fd5b81516001600160a01b038116811461012b575f80fd5b9392505050565b6080516115516101585f395f81816103740152818161047f015261059601526115515ff3fe608060405234801561000f575f80fd5b5060043610610149575f3560e01c8063715018a6116100c7578063c0fa19b81161007d578063e30c397811610063578063e30c39781461043d578063f2fde38b1461044e578063fb6e06aa14610461575f80fd5b8063c0fa19b814610396578063dff1cd22146103a9575f80fd5b80638da5cb5b116100ad5780638da5cb5b1461032057806392e33a3314610330578063bac0ce0b1461036f575f80fd5b8063715018a61461031057806379ba509714610318575f80fd5b806352ff1b951161011c5780636352211e116101025780636352211e146102b05780636a3b2169146102db5780636cef460b146102fd575f80fd5b806352ff1b95146102655780635b92a5f01461029d575f80fd5b8063145104b41461014d5780631a686b7c146101845780631f7f1eb9146101995780634b06ddf114610252575b5f80fd5b61016f61015b366004611084565b60066020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101976101923660046110bf565b610474565b005b6102456101a7366004611117565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091525066ffffffffffffff19165f90815260076020908152604091829020825160a08101845281546001600160a01b03908116825260018301548082169483019490945262ffffff600160a01b85041694820194909452600160b81b909204600290810b60608401520154909116608082015290565b60405161017b9190611145565b6101976102603660046110bf565b61058b565b61028f6102733660046111a1565b600360209081525f928352604080842090915290825290205481565b60405190815260200161017b565b6101976102ab3660046111cf565b6106ec565b6102c36102be366004611084565b610788565b6040516001600160a01b03909116815260200161017b565b6102ee6102e9366004611084565b6107c3565b60405161017b939291906111ea565b6002546102c3906001600160a01b031681565b6101976108a6565b6101976108b9565b5f546001600160a01b03166102c3565b604080518082018252601381527f56325f434f4e5354414e545f50524f44554354000000000000000000000000006020820152905161017b9190611263565b6102c37f000000000000000000000000000000000000000000000000000000000000000081565b61016f6103a4366004611084565b610902565b6103fd6103b7366004611117565b60076020525f90815260409020805460018201546002928301546001600160a01b03928316938284169362ffffff600160a01b85041693600160b81b900490910b911685565b604080516001600160a01b039687168152948616602086015262ffffff9093169284019290925260020b606083015291909116608082015260a00161017b565b6001546001600160a01b03166102c3565b61019761045c3660046111cf565b610936565b61019761046f366004611298565b6109a6565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104bd576040516318e59f8760e31b815260040160405180910390fd5b5f6104d76104d0368690038601866112f3565b60a0902090565b5f8181526003602090815260408083206001600160a01b038816845290915281205491925081900361051c57604051636ec9be1160e01b815260040160405180910390fd5b5f81815260046020526040902060038101546001600160801b03908116908516106105655760038101546105609087908590889086906001600160801b03166109cd565b610583565b6105838684878561057e6001600160801b038a166113a1565b610b5f565b505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105d4576040516318e59f8760e31b815260040160405180910390fd5b6002546001600160a01b0316610616576040517fdf202aa000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6106296104d0368690038601866112f3565b5f818152600660209081526040808320805460ff1916600190811790915566ffffffffffffff19851684526007909252822001549192508291600160b81b900460020b90036106995766ffffffffffffff1981165f908152600760205260409020859061069682826113bb565b50505b5f8281526003602090815260408083206001600160a01b0388168452909152812054908190036106d6576106cf86848787610d44565b9050610583565b61058386848784886001600160801b0316610b5f565b6106f4610fa5565b6001600160a01b038116610734576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f582ec7d55fe2da1a8f783baf37c5a38008a41c8cf5eaf7b8a448ee7ed9770cbf9060200160405180910390a150565b5f818152600560205260408120546001600160a01b0316806107bd57604051636ec9be1160e01b815260040160405180910390fd5b92915050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091525f8281526004602052604081206003810154829190600160801b900460ff1661082957604051636ec9be1160e01b815260040160405180910390fd5b6040805160a08101825282546001600160a01b0390811682526001840154808216602084015262ffffff600160a01b82041693830193909352600160b81b909204600290810b60608301528301549091166080820152935061088a84610fd1565b60039091015493959094506001600160801b0390931692915050565b6108ae610fa5565b6108b75f610fe4565b565b60015433906001600160a01b031681146108f65760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6108ff81610fe4565b50565b5f600160ff1b82165f0361091757505f919050565b505f90815260046020526040902060030154600160801b900460ff1690565b61093e610fa5565b600180546001600160a01b0383166001600160a01b0319909116811790915561096e5f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6109ae610fa5565b5f91825260066020526040909120805460ff1916911515919091179055565b5f6109e56109e0368890038801886112f3565b610fd1565b6002546040517fb1a9116f000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038781166024830152604482018490526001600160801b03861660648301525f608483018190529394509091169063b1a9116f9060a4015f604051808303815f87803b158015610a6a575f80fd5b505af1158015610a7c573d5f803e3d5ffd5b5050505f8781526003602081815260408084206001600160a01b038b168086529083528185208590558985526005835281852080546001600160a01b031990811690915560048452948290208054861681556001810180547fffffffffffff000000000000000000000000000000000000000000000000000016905560028101805490961690955593909201805470ffffffffffffffffffffffffffffffffff19169055905187815291925088917f225d7b6cd6e8ed603cb39f6b2e0f3c964df6c73bec2660fcb26f1d218a3d4e6191015b60405180910390a350505050505050565b5f8281526004602052604090206003810154600160801b900460ff16610b9857604051636ec9be1160e01b815260040160405180910390fd5b5f821215610c3d575f610baa836113a1565b60038301549091506001600160801b0316811115610bf4576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003820180548291905f90610c139084906001600160801b03166114c5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050610c81565b6003810180548391905f90610c5c9084906001600160801b03166114e4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6002546040517fd8865c2700000000000000000000000000000000000000000000000000000000815260048101859052602481018490525f60448201819052916001600160a01b03169063d8865c27906064015f604051808303815f87803b158015610ceb575f80fd5b505af1158015610cfd573d5f803e3d5ffd5b505060408051878152602081018790526001600160a01b03891693508992507f941d60a23b30476bfec5053a94cdded23d2bb42b205a6c0d2a82e97e70d264039101610b4e565b600880545f9182610d5483611503565b909155505f8581526003602090815260408083206001600160a01b038816808552908352818420600160ff1b959095179485905584845260059092529182902080546001600160a01b031916909117905580516060810190915290915080610dc1368890038801886112f3565b81526001600160801b03848116602080840191909152600160409384018190525f86815260048084528582208751805182546001600160a01b03199081166001600160a01b03928316178455828801519684018054848c015160608601519985167fffffffffffffffffff000000000000000000000000000000000000000000000090921691909117600160a01b62ffffff92831602177fffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffff16600160b81b91909916029790971790965560809091015160028084018054909716918316919091179095559488015160039091018054988801519190961670ffffffffffffffffffffffffffffffffff1990981697909717600160801b97151597909702969096179093555483517f8d57f6b2000000000000000000000000000000000000000000000000000000008152948501869052602485019390935260448401919091521690638d57f6b2906064015f604051808303815f87803b158015610f43575f80fd5b505af1158015610f55573d5f803e3d5ffd5b50505050826001600160a01b0316847f466502e149502cd478b4db97d5af6e77c1d5188a29fc3af410ffb5d579f7632083604051610f9591815260200190565b60405180910390a3949350505050565b5f546001600160a01b031633146108b75760405163118cdaa760e01b81523360048201526024016108ed565b5f6107bd82620d89e719620d89e8610ffd565b600180546001600160a01b03191690556108ff81611035565b5f8061100a8560a0902090565b90508362ffffff1660081b8362ffffff1660201b8266ffffffffffffff191617179150509392505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215611094575f80fd5b5035919050565b6001600160a01b03811681146108ff575f80fd5b80356110ba8161109b565b919050565b5f805f83850360e08112156110d2575f80fd5b60a08112156110df575f80fd5b5083925060a08401356110f18161109b565b915060c08401356001600160801b038116811461110c575f80fd5b809150509250925092565b5f60208284031215611127575f80fd5b813566ffffffffffffff198116811461113e575f80fd5b9392505050565b60a081016107bd82846001600160a01b0381511682526001600160a01b03602082015116602083015262ffffff6040820151166040830152606081015160020b60608301526001600160a01b0360808201511660808301525050565b5f80604083850312156111b2575f80fd5b8235915060208301356111c48161109b565b809150509250929050565b5f602082840312156111df575f80fd5b813561113e8161109b565b60e0810161124682866001600160a01b0381511682526001600160a01b03602082015116602083015262ffffff6040820151166040830152606081015160020b60608301526001600160a01b0360808201511660808301525050565b8360a08301526001600160801b03831660c0830152949350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f80604083850312156112a9575f80fd5b82359150602083013580151581146111c4575f80fd5b62ffffff811681146108ff575f80fd5b80356110ba816112bf565b8060020b81146108ff575f80fd5b80356110ba816112da565b5f60a0828403128015611304575f80fd5b5060405160a0810167ffffffffffffffff8111828210171561133457634e487b7160e01b5f52604160045260245ffd5b604052611340836110af565b815261134e602084016110af565b602082015261135f604084016112cf565b6040820152611370606084016112e8565b6060820152611381608084016110af565b60808201529392505050565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b82036113b5576113b561138d565b505f0390565b81356113c68161109b565b81546001600160a01b0319166001600160a01b038216178255506001810160208301356113f28161109b565b81546001600160a01b0319166001600160a01b03821617825550604083013561141a816112bf565b8154606085013561142a816112da565b8060b81b79ffffff00000000000000000000000000000000000000000000001676ffffff00000000000000000000000000000000000000008460a01b167fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff841617178455505050505f60808301356114a18161109b565b6002830180546001600160a01b0319166001600160a01b0383161790559050505050565b6001600160801b0382811682821603908111156107bd576107bd61138d565b6001600160801b0381811683821601908111156107bd576107bd61138d565b5f600182016115145761151461138d565b506001019056fea2646970667358221220d83526d8642021dd9789f06602767160a85e2bdd773102403712e35e47ada80a64736f6c634300081a00330000000000000000000000006966319a277febf244b0bfa57c0db53214f83ac8