Royalties
Royalties are enforced on liquidity pools at the contract level. Royalties are automatically enabled for collections implementing the ERC2981 royalty standard.
Royalty Engine
The RoyaltyEngine
contract is a fork of the Royalty Engine created by Manifold as part of the Royalty Registry initiative. This contract determines the provisional value of royalties due for a swap of given value
and the address that should receive them. If a collection implements ERC2981, the RoyaltyEngine
retrieves royalty information from the collection contract itself.
Royalty information returned from the engine is used in the _calculateRoyalties
function on pair contracts, which is called internally by all swap methods, unless:
The royalty exceeds the sale price, in which case no royalty is applied.
A Setting is in place for the pool.
When a Setting is in place for a given pair, the _calculateRoyalties
function will overwrite the royalty value returned by the RoyaltyEngine
using the getFeeSplitBps
view on the Setting contract.
Last updated