Cross-chain Token Claim

Objective

Allow Solana users to claim Bolarity Tokens by verifying NFT ownership via submitted proofs from Ethereum.

Overview

  • Solana Side: Verifies ownership proofs and manages token claims.

  • Proof Recording: Stores and tracks ownership proofs to prevent duplicate claims.

Key Modules

NFT Verification & Token Claim Contract (Solana)

  • Parses Wormhole messages to extract:

    • Proxy account address

    • NFT contract address

    • Token ID

  • Records proofs using Solana PDA storage (ProofRecord).

  • Key functions:

    • store_proof(proxy_account: Pubkey, nft_contract: Pubkey, token_id: u64, solana_receiver: Pubkey)

    • set_approved_nft(nft_contract: Pubkey, status: bool)

    • validate_nft(nft_contract: Pubkey) -> bool

    • claim_tokens(solana_receiver: Pubkey, nft_contract: Pubkey, token_id: u64)

    • is_recorded(nft_contract: Pubkey, token_id: u64) -> bool

ProofRecord Design

  • A Solana PDA to securely record proofs.

  • Fields:

    • proxy_account

    • nft_contract

    • token_id

    • solana_receiver

    • claimed

Detailed Process

Step 1: Proxy Account Holds NFT

  • Proxy mints an NFT on Ethereum and holds ownership.

Step 2: Proof Submission

  • Proxy account submits NFT ownership proof to the relay contract.

Step 3: Cross-Chain Proof Transmission

  • Relay contract sends ownership proof to Solana via Wormhole.

Step 4: Solana Records Proof

  • Solana contract parses and stores the proof if not already recorded.

Step 5: Token Distribution

  • After verification, Bolarity Tokens are distributed to the user.

  • Prevents duplicate claims by updating ProofRecord.

Summary of Requirements

  • ✅ Supports multiple NFT collections.

  • ✅ Proxy account handles Ethereum-side minting.

  • ✅ Proof relay via Wormhole ensures ownership verification.

  • ✅ Solana contract records proof securely.

  • ✅ Solana contract distributes tokens based on valid proofs.

  • ✅ Prevents double claims.

Last updated