ListingRegistry
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?