Royco
  • Overview
    • Introduction to Royco
    • Key Concepts
    • Applications
  • FOR USERS
    • FAQs
    • How to Use Royco
  • FOR INCENTIVE PROVIDERS
    • Developer Overview
      • Fees on Royco
    • Recipes vs. Vaults IAMs
    • Create an IAM
    • Incentivize IAMs
      • Types of Incentives
      • Place an Incentive Offer
      • Place an Incentive Offer: For Developers
      • Setup a Points Campaign
      • Native Yield
    • Verify a Market
    • Audits
    • Contract Addresses
  • How to fetch incentive data from Royco
  • MORE
    • Bug Bounty Program
    • Cross-Chain Deposit Module (CCDM)
      • CCDM Recipe IAMs
      • Deposit Locker
      • Deposit Executor
      • Token Support
      • Audits
      • IP Guide
    • Royco V2
      • Incentive Locker
      • Action Verifiers
      • Multiplier Market Hub
      • Audit
    • Royco SDK
    • Contributing to the Protocol
    • Brand Kit
  • Royco Vaults
    • Royco Vaults: Overview
  • Royco Vaults: Risks
Powered by GitBook
On this page
  • Merkle Deposit Recipe IAMs
  • Deposit Recipe
  • Withdrawal Recipe
  • Individual Deposit Recipe IAMs
  • Deposit Recipe
  • Withdrawal Recipe
  1. MORE
  2. Cross-Chain Deposit Module (CCDM)

CCDM Recipe IAMs

An overview of CCDM enabled Royco Markets

PreviousCross-Chain Deposit Module (CCDM)NextDeposit Locker

Last updated 4 months ago

Enabling a Recipe IAM to work with CCDM is simple: the deposit and withdrawal recipes for the market must deposit and withdraw into/from the respectively. The process for and negotiating the incentives for your campaign remains the same.

Note: The input tokens for CCDM enabled markets must abide to .

Merkle Deposit Recipe IAMs

Merkle deposit Recipe IAMs can merklize and bridge 8 million+ individual deposits per CCDM bridge transaction. Every CCDM bridge sends the merkle root along with the sum of all deposits in the merkle tree to the destination chain, where prorated withdrawals are facilitated by providing a merkle proof, demonstrating that a deposit was made by the claimant. Withdrawals are not enabled by default on the source chain, but in the rare case that they are needed, the can eternally halt all deposits and bridges for the market and enable withdrawals. Due to the nature of source chain withdrawals for these types of markets, they are best suited as .

Deposit Recipe

  1. Call amount() on the contract to get the AP's fill/deposit amount of input tokens.

  2. Call approve() on the market's input token to allow the to spend the amount returned in step one.

  3. Call merkleDeposit() on the .

Withdrawal Recipe

  1. Call merkleWithdraw() on the .

Individual Deposit Recipe IAMs

Individual deposit Recipe IAMs can bridge up to 300 depositors per CCDM bridge transaction. Every CCDM bridge sends and caches each depositor's deposit information (depositor address and total deposit amount) on the destination chain, allowing for prorated withdrawals without the need for a merkle proof. Withdrawals are enabled by default on the source chain, making these markets optimal as .

Deposit Recipe

Withdrawal Recipe

Call amount() on the contract to get the AP's fill/deposit amount of input tokens.

Call approve() on the market's input token to allow the to spend the amount returned in step one.

Call deposit() on the .

Call withdraw() on the .

WeirollWalletHelper
Deposit Locker
Deposit Locker
Deposit Locker
Deposit Locker
these guidelines
WeirollWalletHelper
Deposit Locker
Deposit Locker
Deposit Locker
Deposit Locker Owner
Upfront or Arrear Recipe IAMs
Forfeitable Recipe IAMs
creating a Recipe IAM