Tide
  • About Tide
    • 🌊Tide
    • 🚀Project? Let's grow!
    • 🛣️Roadmap
  • White-label
    • 🆕White-label Solutions
    • 🏷️Tide on your subdomain
    • 🖼️Simple Embeds
      • ⚒️Embedded campaigns
        • How to integrate embedded campaigns
        • Embed campaigns on your blog or docs
      • 🚀Embedded spaces
        • How to integrate embedded spaces
        • Embed spaces on your blog or docs
  • Projects
    • 🎨Space
      • ✅Space Verification
      • ⚽Space Collaboration
    • 🏗️Campaigns
      • 🥎Create a campaign
        • ⛓️On-chain Tasks
        • 🫂Off-chain Tasks
        • 💯Points Campaign
          • How to create a Point Campaign
          • Managing your Data Sources
        • 🔌 API Tasks
        • 🤝Mitigate Bots
      • 🏈Launch & Edit Campaigns
        • 🎾Manage and edit campaigns
      • ⏮️How to Manage Reviews
    • 🎁Rewards
      • 🔁Tide Reward Cycles
      • 🖼️Dynamic NFT Loyalty Program
      • ✌️Tide Referral Program
    • 📊Analytics
      • 📊Insights
    • ❓Project FAQ
  • Users
    • 👉Participate in campaigns
    • 🔔Get notified on new listings
    • 🔄Tide Reward Cycles
    • ❓Users FAQ
  • Resources
    • 🎨Brand Kit
    • 📖Tide vs Other Platforms
    • ⚖️Case Studies
      • Magpie Mafia Bridge
      • Decoding DEX Users
      • PoolTogether Marketing Initiatives analysis
      • Growth Challenges for Bridges
      • Tide “Audiences”: Engaging Authentic Users
      • Rodeo Finance Engagement Program
      • nftperp Paper Trading Competition
  • CONTRACTS & API
  • 📑Smart contracts overview
  • 🌊Wave Contract
  • 🏭Wave Factory
  • 📬Deployment addresses
  • ⌨️Tide APIs
Powered by GitBook
On this page

Wave Factory

PreviousWave ContractNextDeployment addresses

Last updated 1 year ago

Wave Factory is the contract projects can use to deploy their custom campaigns. You can find the full code for the Wave Factory contract in .

Deploying a campaign

Every wallet can deploy a campaign contract by calling the deployWave() function on the Factory contract. The function takes as parameters:

  • _name(string): the name of the contract (which will be the name of the NFT collection)

  • _symbol(string): the symbol of the ERC-721 contract

  • _baseURI(string): the base URI of the folder which contains the NFT metadata

  • _startTimestamp(uint256): unix timestamp of campaign start time

  • _endTimestamp(uint256): unix timestamp of campaign end time

  • _isSoulbound(bool): if true, the NFT released won't be transferrable

  • _claimRewards(TokenRewards[]): array with the info for FCFS ERC-20 rewards

  • _raffleRewards(TokenRewards[]): array with the info for raffle ERC-20 rewards

where the TokenRewards struct is defined as follows:

  • rewardsLeft(uint256): number of rewards still to be assigned

  • amountPerUser(uint256): amount of specified token distributed on each release

  • token(address): address of the reward ERC-20 token

WARNING: this page is for technical reference only, a contract deployed by calling directly the deployWave() function will NOT be supported by Tide frontend. If you are a project and you want to launch a campaign we suggest to use our .

🏭
our public repo
campaign creation tool