Skip to content

e2e/qa: run testnet shred-subscription settlement on solana devnet#3965

Open
nikw9944 wants to merge 3 commits into
mainfrom
qa-settlement-solana-devnet
Open

e2e/qa: run testnet shred-subscription settlement on solana devnet#3965
nikw9944 wants to merge 3 commits into
mainfrom
qa-settlement-solana-devnet

Conversation

@nikw9944

@nikw9944 nikw9944 commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Make TestQA_MulticastSettlement exercise the shred-subscription program on Solana devnet for testnet, instead of the DZ Ledger. Part of malbeclabs/infra#1761 / epic #1758; depends on the shred-oracle being live on devnet.

  • client.go — narrow the DZ-ledger SolanaRPCURL override to devnet only, so testnet resolves --url from networkConfig.SolanaRPCURL (set via the SOLANA_RPC_URL env in the QA runner; the in-repo default stays a public endpoint).
  • config/constants.go — point TestnetUSDCMint at the Solana devnet USDC mint.

Why keep --usdc-mint (deviates from the issue)

The issue suggested dropping --usdc-mint for CLI auto-detection, but GetUSDCBalance derives the wallet ATA from c.USDCMint, so the test needs the concrete mint regardless. Keeping one value in TestnetUSDCMint (used for both the CLI arg and the balance check) is simpler than splitting the source of truth; the passed mint matches what auto-detect would resolve.

Note

TestnetSolanaRPC is intentionally left unchanged — it's also consumed by config/solana.go, so the endpoint override rides on SOLANA_RPC_URL instead.

@nikw9944 nikw9944 marked this pull request as ready for review July 1, 2026 19:51
The testnet shred-subscription program moved from the DZ Ledger testnet to
Solana devnet. Stop forcing the testnet settlement RPC onto the DZ ledger so
--url (and the USDC balance / program-state reads) resolve to
networkConfig.SolanaRPCURL, which SOLANA_RPC_URL overrides to the Solana
devnet RPC endpoint at run time. DZ devnet is unchanged.

Point the testnet USDC mint at the Solana devnet mint so GetUSDCBalance
derives the right ATA and --usdc-mint carries the correct mint. Serviceability
still flows over --dz-ledger-url (DZ Ledger testnet), unchanged.

Part of malbeclabs/infra#1761 / epic malbeclabs/infra#1758.
@nikw9944 nikw9944 force-pushed the qa-settlement-solana-devnet branch from 8f9a709 to f838035 Compare July 1, 2026 20:04
nikw9944 added 2 commits July 1, 2026 20:16
The settlement test's query_seat_price ran 'doublezero-solana shreds price'
without a device filter, which resolves device codes via serviceability. The
CLI refuses code resolution when it can't classify the cluster (a private
Solana devnet RPC URL is seen as localnet), failing the query.

Pass the closest device's pubkey through FeedSeatPrice so the agent runs
'shreds price --device <pubkey>', which skips code resolution. Match the
returned price by pubkey since code may be absent. pay/withdraw already use
--device, so this makes the whole settlement path code-resolution-free.

Part of malbeclabs/infra#1761 / epic malbeclabs/infra#1758.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants