QA: Test Solana Bridge Integration on Devnet #60
Labels
No labels
agent:implement
agent:ready
backend
bug
cannot-reproduce
confirmed
desktop
docs
documentation
duplicate
enhancement
feature
frontend
good first issue
help wanted
high-risk
in-review
invalid
mobile
needs-triage
P0-critical
P1-high
P2-medium
P3-low
qa
QA
question
ready
report
responsive
security
security-escalate
smart-contract
solana
tablet
test-pass
ux
wallet-issue
wallet:keplr
wallet:metamask
wallet:station
wallet:walletconnect
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-bridge-monorepo#60
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Overview
The feat/solana-integration branch adds full Solana chain support to the CL8Y bridge. This needs thorough QA testing on Solana devnet before merging to main, so that our live production mainnet (EVM + Terra) is not affected.
Branch:
feat/solana-integrationPrerequisites
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"cargo install --git https://github.com/coral-xyz/anchor anchor-clisolana-keygen new -o ~/.config/solana/devnet-deployer.jsonsolana airdrop 5 --url devnetStep 1: Deploy the Solana Program to Devnet
Note the Program ID printed at the end. You'll need it for all subsequent steps.
Step 2: Initialize the Bridge
Step 3: Register Chains & Tokens
Step 4: Run Anchor Tests (On-chain Logic)
What to verify:
Step 5: Test Operator + Canceler with Solana
Start the operator and canceler with Solana enabled:
What to verify:
solana_depositstablewithdraw_approvetransactions successfullyWithdrawApproveevents from SolanaPendingWithdrawPDA to getsrc_chain_idwithdraw_cancelStep 6: Test Frontend Solana Integration
What to verify:
VITE_SOLANA_FAUCET_ADDRESSis setStep 7: Cross-Chain E2E Flow (Manual)
Test a full round-trip:
Step 8: Run E2E Tests
Security Checklist
ExecutedHashPDA prevents re-execution of the same transfer hashwithdraw_submitwith the same hash — should fail withAlreadyExecutedHashset_config,add_canceler,register_chain,register_tokenwithdraw_cancelrequires a validCancelerEntryPDAEnvironment Variables Reference
SOLANA_ENABLEDtrueSOLANA_RPC_URLhttps://api.devnet.solana.comSOLANA_PROGRAM_IDCL8Y...SOLANA_KEYPAIR_PATH~/.config/solana/id.jsonSOLANA_V2_CHAIN_ID0x736f6c00SOLANA_POLL_INTERVAL_MS5000SOLANA_COMMITMENTfinalizedVITE_SOLANA_RPC_URLhttps://api.devnet.solana.comVITE_SOLANA_FAUCET_ADDRESSNotes
Anchor.tomluses a placeholder program ID for localnet. After deploying to devnet, update it with the real program ID.docs/SOLANA_INTEGRATION_PLAN.mdfor architectural details.assigned to @Brouie
Local Dev Setup Guide & Current Status
Branch:
feat/solana-integration(latest:1f01c90)Quick Start (Local Environment)
Frontend Setup
Create
packages/frontend/.env.local:Then start the dev server:
Infrastructure Fixes Applied (commit
1f01c90)The following issues were discovered and fixed during local setup:
docker-composecommand not founddocker compose(v2 syntax) throughout Makefilesolanalabs/solana:v2.2image doesn't existsolanalabs/solana:v1.18.26in docker-compose.ymlUnableToSetOpenFileDescriptorLimitulimits.nofile: 1000000to solana serviceforge scriptfails with "default sender" error--senderand--private-keyto Makefiledeploy-evmtargetModule "buffer" has been externalizedbufferto Viteresolve.aliasandoptimizeDeps.includeuseDiscoveredChains.tsto passsolanatype through filterFrontend Integration Status
Working:
Pending (requires deployed Solana program):
useSolanaDeposithook wired into handleSubmit (needs program ID)useWithdrawSubmitSolana-specific Frontend Env Vars (for devnet/mainnet)
When testing against devnet, add these to
.env.local:For local testing, the Solana test validator runs at
http://localhost:8899(started bydocker compose).mentioned in issue #61
mentioned in issue #62
closing -- consolidating into new combined Solana Integration QA issue per dev request.
mentioned in issue #96