ListingRegistry

Git Source

Tracks active listings across various marketplace mechanisms.

State Variables

listings

mapping of listingId to Listing

mapping(bytes32 => Listing) public listings;

listingTokens

mapping(bytes32 => TokenReference[]) public listingTokens;

Functions

addListing

Adds a new listing to the registry with one or more lot references.

function addListing(
    bytes32 listingId,
    address seller,
    address asset,
    TokenReference[] calldata lotsData,
    uint256 price,
    string calldata marketType
) external;

removeListing

Removes a listing from the registry.

function removeListing(bytes32 listingId) external;

getListing

function getListing(bytes32 listingId) external view returns (Listing memory);

getListingTokens

function getListingTokens(bytes32 listingId) external view returns (TokenReference[] memory);

Events

ListingAdded

event ListingAdded(
    bytes32 indexed listingId,
    address indexed seller,
    address indexed asset,
    uint96 totalQuantity,
    uint256 price,
    string marketType
);

ListingRemoved

event ListingRemoved(bytes32 indexed listingId);

Structs

Listing

struct Listing {
    bytes32 listingId;
    address seller;
    address asset;
    uint96 totalQuantity;
    uint256 price;
    uint256 timestamp;
    string marketType;
}

TokenReference

struct TokenReference {
    bytes32 tokenId;
    uint96 quantity;
}

Last updated

Was this helpful?