Sanko Mainnet Docs
  • Sanko
    • What is Sanko?
    • Sanko Overview
      • AnyTrust and the Data Availability Committee
      • Keysets
      • Data Availability Certificates​
      • Data Posting Mechanisms
      • Data Availability Servers​
      • Sequencer-Committee Interaction
    • Official Links
  • Sanko Mainnet
    • Connect to Sanko Mainnet
    • Bridge to Sanko
    • Native DEXs
      • Sankoswap
      • Camelot Exchange
        • Camelot V2
        • Camelot V3
          • Concentrated Liquidity
          • Customizable Tickspacing
          • Directional & Dynamic Volatility Fees
    • Sudoswap
      • Sudoswap Overview
        • Bonding Curves
        • Royalties
        • Settings
        • Property Checking
        • ERC1155 NFTs
      • User Guide
        • Creating a Liquidity Pool
        • Managing Existing Pools
        • Creating an Auction
        • Managing Collections
    • SankoTools
      • Terminal Elements
        • Research Elements
        • Chaindata Elements
        • Market Data Elements
        • NFT Elements
        • Chart Elements
        • Liquidity Elements
        • Portfolio Elements
        • Utility Elements
    • Run a Sanko node
  • $DMT
    • The Dream Machine Token (DMT)
    • What is $DMT?
      • How to Purchase $DMT on Arbitrum
      • How to Purchase $DMT on Ethereum
    • The Dream Machine
    • Tokenomics
  • Build on Sanko
    • Connect to Sanko Testnet
    • Deploy on Sanko Testnet
      • Foundry
      • Hardhat
      • Remix
    • Testnet Info + Faucet
    • Testnet Bridge
    • Testnet Block Explorer
    • Pyth Entropy (RNG)
  • miscellaneous
    • Sanko Terms of Use
    • Sanko Privacy Policy
    • FAQ
    • Notice
Powered by GitBook
On this page
  1. Sanko Mainnet
  2. Sudoswap
  3. Sudoswap Overview

Royalties

PreviousBonding CurvesNextSettings

Last updated 1 year ago

Royalties are enforced on liquidity pools at the contract level. Royalties are automatically enabled for collections implementing the .

Royalty Engine

The RoyaltyEngine contract is a fork of the 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.

ERC2981 royalty standard
Royalty Engine