Skip to main content
Helpful?

INotifier

Git Source - Generated with forge doc

This interface is used to opt in to sending updates to external contracts about position modifications or transfers

Functions

subscriber

Returns the subscriber for a respective position

function subscriber(uint256 tokenId) external view returns (ISubscriber subscriber);

Parameters

NameTypeDescription
tokenIduint256the ERC721 tokenId

Returns

NameTypeDescription
subscriberISubscriberthe subscriber contract

subscribe

Enables the subscriber to receive notifications for a respective position

Calling subscribe when a position is already subscribed will revert

payable so it can be multicalled with NATIVE related actions

will revert if pool manager is locked

function subscribe(uint256 tokenId, address newSubscriber, bytes calldata data) external payable;

Parameters

NameTypeDescription
tokenIduint256the ERC721 tokenId
newSubscriberaddressthe address of the subscriber contract
databytescaller-provided data that's forwarded to the subscriber contract

unsubscribe

Removes the subscriber from receiving notifications for a respective position

Callers must specify a high gas limit (remaining gas should be higher than unsubscriberGasLimit) such that the subscriber can be notified

payable so it can be multicalled with NATIVE related actions

Must always allow a user to unsubscribe. In the case of a malicious subscriber, a user can always unsubscribe safely, ensuring liquidity is always modifiable.

will revert if pool manager is locked

function unsubscribe(uint256 tokenId) external payable;

Parameters

NameTypeDescription
tokenIduint256the ERC721 tokenId

unsubscribeGasLimit

Returns and determines the maximum allowable gas-used for notifying unsubscribe

function unsubscribeGasLimit() external view returns (uint256);

Returns

NameTypeDescription
<none>uint256uint256 the maximum gas limit when notifying a subscriber's notifyUnsubscribe function

Events

Subscription

Emitted on a successful call to subscribe

event Subscription(uint256 indexed tokenId, address indexed subscriber);

Unsubscription

Emitted on a successful call to unsubscribe

event Unsubscription(uint256 indexed tokenId, address indexed subscriber);

Errors

NotSubscribed

Thrown when unsubscribing without a subscriber

error NotSubscribed();

NoCodeSubscriber

Thrown when a subscriber does not have code

error NoCodeSubscriber();

GasLimitTooLow

Thrown when a user specifies a gas limit too low to avoid valid unsubscribe notifications

error GasLimitTooLow();

SubscriptionReverted

Wraps the revert message of the subscriber contract on a reverting subscription

error SubscriptionReverted(address subscriber, bytes reason);

ModifyLiquidityNotificationReverted

Wraps the revert message of the subscriber contract on a reverting modify liquidity notification

error ModifyLiquidityNotificationReverted(address subscriber, bytes reason);

TransferNotificationReverted

Wraps the revert message of the subscriber contract on a reverting transfer notification

error TransferNotificationReverted(address subscriber, bytes reason);

AlreadySubscribed

Thrown when a tokenId already has a subscriber

error AlreadySubscribed(uint256 tokenId, address subscriber);
Helpful?