Events
Payment Processor emits several indexible events that should be indexed by off-chain order books and analytics platforms.
Order Fill Events
Off-chain order books and analytics platforms can track the following events for trading volume and metrics, as well as trades by user.
event BuyListingERC721(
address indexed buyer,
address indexed seller,
address indexed tokenAddress,
address beneficiary,
address paymentCoin,
uint256 tokenId,
uint256 salePrice);
event BuyListingERC1155(
address indexed buyer,
address indexed seller,
address indexed tokenAddress,
address beneficiary,
address paymentCoin,
uint256 tokenId,
uint256 amount,
uint256 salePrice);
event AcceptOfferERC721(
address indexed seller,
address indexed buyer,
address indexed tokenAddress,
address beneficiary,
address paymentCoin,
uint256 tokenId,
uint256 salePrice);
event AcceptOfferERC1155(
address indexed seller,
address indexed buyer,
address indexed tokenAddress,
address beneficiary,
address paymentCoin,
uint256 tokenId,
uint256 amount,
uint256 salePrice);
Order Cancellation Events
Off-chain order books SHOULD index the following events to track what orders have been filled or cancelled and which nonces are un-available.
event MasterNonceInvalidated(
uint256 indexed nonce,
address indexed account);
event NonceInvalidated(
uint256 indexed nonce,
address indexed account,
bool wasCancellation);
event OrderDigestInvalidated(
bytes32 indexed orderDigest,
address indexed account,
bool wasCancellation);
Cosigner Events
Off-chain order books SHOULD index the following event to track when a cosigner has been destroyed and filter any open orders that require a cosignature from the cosigner.
event DestroyedCosigner(address indexed cosigner);
Collection Payment Settings Events
Off-chain order books SHOULD index collection payment settings events to track allowed payment methods, backfilled royalties, and royalty bounties.
event UpdatedCollectionPaymentSettings(
address indexed tokenAddress,
PaymentSettings paymentSettings,
uint32 indexed paymentMethodWhitelistId,
address indexed constrainedPricingPaymentMethod,
uint16 royaltyBackfillNumerator,
address royaltyBackfillReceiver,
uint16 royaltyBountyNumerator,
address exclusiveBountyReceiver,
bool blockTradesFromUntrustedChannels,
bool blockBannedAccounts);
Custom Payment Method Whitelist Events
Off-chain order books SHOULD index payment method whitelists by id. By doing so, when a collection applies a custom payment method whitelist id, exchanges can be informed about which payment methods are allowed for a give collection.
event CreatedPaymentMethodWhitelist(
uint32 indexed paymentMethodWhitelistId,
address indexed whitelistOwner,
string whitelistName);
event PaymentMethodAddedToWhitelist(
uint32 indexed paymentMethodWhitelistId,
address indexed paymentMethod);
event PaymentMethodRemovedFromWhitelist(
uint32 indexed paymentMethodWhitelistId,
address indexed paymentMethod);
event ReassignedPaymentMethodWhitelistOwnership(
uint32 indexed id,
address indexed newOwner);
Bounded Pricing Events
Off-chain order books SHOULD index pricing bounds events to track min and max allowable sale prices for collections that implement pricing constraints.
event UpdatedCollectionLevelPricingBoundaries(
address indexed tokenAddress,
uint256 floorPrice,
uint256 ceilingPrice);
event UpdatedTokenLevelPricingBoundaries(
address indexed tokenAddress,
uint256 indexed tokenId,
uint256 floorPrice,
uint256 ceilingPrice);
Trusted Channel Events
Off-chain order books SHOULD index trusted channel events to be used in conjunction with the
Collection Payment Settings Events to determine the allowed
channels for a collection if blockTradesFromUntrustedChannels is set to true.
event TrustedChannelAddedForCollection(
address indexed tokenAddress,
address indexed channel);
event TrustedChannelRemovedForCollection(
address indexed tokenAddress,
address indexed channel);
Banned Account Events
Off-chain order books SHOULD index banned account events to be used in conjunction with the
Collection Payment Settings Events to determine if a maker
or taker is allowed to execute an order when blockBannedAccounts is set to true.
event BannedAccountAddedForCollection(
address indexed tokenAddress,
address indexed account);
event BannedAccountRemovedForCollection(
address indexed tokenAddress,
address indexed account);
