Allows two parties to register a private negotiated deal. The contract finalizes ownership transfer once both confirm.
function createListing(uint96 quantity, uint256 price) external override returns (bytes32);
function executeTrade(bytes32 listingId, uint96 tradeQuantity) external payable override;
function cancelListing(bytes32 listingId) external override;