sudoAMM v2 introduces four new major features for users and creators:
- Royalty support for ERC2981-compliant collections, plus fallback royalty solutions
- LP agreements called Settings whereby creators can opt-in to waive royalties for eligible pools
- On-chain property filtering powered by Merkle trees, tokenId ranges, or custom smart contract logic
- ERC1155 support
Additionally, v2 brings the following tweaks and optimizations, which may be of relevance to builders:
- Fee accounting: When creating a TRADE pool, users can now specify a separate address to receive fees by passing an
_assetRecipient. If unspecified, fees still accrue to the pair contract.
- VeryFastRouter: A new router which handles all swap types (i.e. ERC721<>ETH, ERC721<>ERC20, ERC1155<>ETH, ERC1155<>ERC20), as well as partial fills when buying/selling multiple items from the same pool.
- New swap events:
SwapNFTOutPairdistinguish between the direction of swaps, also logging the input/output value and tokenIds (or number of NFTs in case of ERC1155).
- Gas optimizations: Various minor fixes and gas optimizations have been implemented.