44
55The [ Exchange contract] ( ../contracts/Exchange.sol ) is the entrypoint and main
66contract to the marketplace protocol. It safely offers a decentralized way to
7- exchange tokens of any nature (ERC20, ERC1155, ERC721) using signed orders.It
7+ exchange tokens of any nature (ERC20, ERC1155, ERC721) using signed orders. It
88also supports exchanging bundles of assets, which can include multiple ERC1155,
99ERC721, and Quads.
1010
@@ -29,8 +29,22 @@ seller is asking for (and more).
2929### Bundle Order
3030
3131In addition to single-asset orders, the protocol supports bundle orders, where
32- multiple assets are grouped together as a single entity for exchange. Let's
33- consider this use case:
32+ multiple assets are grouped together as a single entity for exchange. A bundle
33+ can contain:
34+
35+ - Multiple ERC721 tokens
36+ - Multiple ERC1155 tokens
37+ - Multiple Quads
38+ - Any combination of the above
39+
40+ Important restrictions for bundles:
41+
42+ - Bundles cannot contain ERC20 tokens
43+ - Bundles can only be exchanged for ERC20 tokens (not for other NFTs or bundles)
44+
45+ Each asset in the bundle can have its own individual price, and the total price
46+ of the bundle is the sum of all individual asset prices. Let's consider this use
47+ case:
3448
3549Order B
3650
@@ -43,9 +57,14 @@ Alice wants to sell a bundle of assets:
4357against 2000 MATIC (ERC20).
4458```
4559
46- The order represents this intent and includes the address of the seller, the
47- address for the tokens(ERC721 and ERC1155), the token ids, the individual prices
48- of the assets, the address of the ERC20 and the amount the seller is asking for.
60+ The order represents this intent and includes:
61+
62+ - The address of the seller
63+ - The addresses for each token type (ERC721 and ERC1155)
64+ - The token IDs for each asset
65+ - The individual prices of the assets
66+ - The address of the ERC20 payment token
67+ - The total amount the seller is asking for
4968
5069### Maker & Taker
5170
0 commit comments