Skip to content

juzybits/polymedia-xdrop

Repository files navigation

xDrop

xDrop is a cross-chain airdrop system built on Sui and powered by SuiLink. It lets you distribute Sui coins to users on Solana, Ethereum, and other EVM chains.

Polymedia xDrop

Project Structure

  • src/sui/ - Sui Move smart contract.
  • src/sdk/ - TypeScript SDK to interact with the contract.
  • src/web/ - Web interface for users and admins.

Object Lifecycle

Each XDrop object manages the distribution of a specific coin type (e.g., USDC) for addresses from a foreign network (Ethereum, Solana). The object tracks claims, holds the coin balance, and enforces the state transitions shown below.

stateDiagram-v2
    [*] --> PAUSED: new() + share()
    PAUSED --> OPEN: admin_opens_xdrop
    OPEN --> PAUSED: admin_pauses_xdrop
    PAUSED --> ENDED: admin_ends_xdrop
    OPEN --> ENDED: admin_ends_xdrop
    ENDED --> [*]
Loading
  • PAUSED: Initial state. Users cannot claim tokens. Admin can add claims.
  • OPEN: Users can claim tokens. Admin can still add new claims.
  • ENDED: Terminal state. Claims permanently disabled. Admin can reclaim any remaining balance.