This is the Core contract of Luxy, this contract enables the assets exchange to happen!
This is the core function of the Marketplace. Through this function the maker and taker orders are matched and executed in the following order:
- 1.Marketplace fee transfer
- 2.Royalty array transfer (Direct Royalty Payment)
- 3.Payout transfer (ERC-20, ERC-1155, Native Blockchain Token)
- 4.NFT payout transfer (ERC-721 )
The Payout transfer indication is due to the fact that any royalty or fee will be applied to those contracts only. Since ERC-721 is unique the protocol will never try to extract fees /royalties from the NFT payout. Given the scenario that an exchange between two different NFTs is made royalties or fees are not applied. Also, there is a priority order for the fee to be applied (it's only applied to one side of the transaction) which will go first to Native Blockchain Token, then to ERC-20, and finally to ERC-1155.