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