Skip to content

fix: allign rpc client with agave#384

Merged
HealthyBuilder merged 2 commits into
solana-foundation:mainfrom
sonicfromnewyoke:sonic/align-rpc-client-with-agave
Apr 16, 2026
Merged

fix: allign rpc client with agave#384
HealthyBuilder merged 2 commits into
solana-foundation:mainfrom
sonicfromnewyoke:sonic/align-rpc-client-with-agave

Conversation

@sonicfromnewyoke
Copy link
Copy Markdown
Contributor

@sonicfromnewyoke sonicfromnewyoke commented Apr 10, 2026

Problem

RPC client has drifted behind the Agave reference implementation
several response fields added in recent Agave releases are missing
these gaps mean callers cannot access data that Agave validators already return, and some request options available in the Rust client have no Go equivalen

Summary of Changes

resp fields added:

  • ApiVersion
  • GetClusterNodesResult - TPUForwards, TPUForwardsQUIC, TPUVote, ServeRepair, ClientID; FeatureSet changed to *uint32 to match Option
  • TransactionIndex in TransactionSignature
  • InflationRewardsCommissionBps in VoteAccountsResult
  • NumNonVoteTransactions in GetRecentPerformanceSamplesResult

req options added:

  • GetProgramAccountsOpts - WithContext, SortResults
  • new GetProgramAccountsWithContext method that returns context (slot/apiVersion) instead of silently discarding it
  • GetLargestAccountsOpts struct + GetLargestAccountsWithOpts method with SortResults
  • RequestAirdropOpts struct + RequestAirdropWithOpts method with RecentBlockhash

GetInflationRateResult.Epoch: float64 -> uint64
closes #345

@HealthyBuilder
Copy link
Copy Markdown
Collaborator

Merging — aligns with Agave reference implementation.

Breaking: Epoch type changed from float64 to uint64, FeatureSet changed to pointer. Closes #345

@HealthyBuilder HealthyBuilder merged commit 49bc8d6 into solana-foundation:main Apr 16, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

what not support TransactionDetails enum accounts

2 participants