How trades are matched?
Trades exist such as a combination of taker/order and bid/ask. Hence, there are four primary orders:
— a passive order that exists off-chain where the user wishes to acquire an NFT using a specific ERC-20 token.
— a passive order that exists off-chain where the user wishes to sell an NFT for a specific ERC-20 token.
— an order that is executed on-chain that matches the MakerAsk, e.g., the taker accepts the offer from the maker and buys the NFT for the ERC-20 token specified.
— an order that is executed on-chain that matches the Maker Bid, e.g., the taker execution strategies allow custom implementation of a set of rules that can be added over time. The execution strategy is defined by the Makerorder, through the use of a field named strategy, which represents a contract that specifies how the trade is going to be executed.
Each strategy consists of a contract that takes two order inputs (Maker Ask w/ Taker Bid or Maker Bid w/ Taker Ask) and returns a 3-tuple:
Whether the taker can be executed against the maker.
The tokenID is being transacted.
The number of tokens transferred
LooksRare's execution strategy design can allow innovative order types, such as:
; a MakerBid can be executable against any TakerAsk within a designated collection
(pending implementation) through the use of cryptographic proofs