Skip to content

feat(rpc): impl getMultipleAccounts RPC #1249

Open
prestonsn wants to merge 3 commits intoprestonsn/impl-get-account-info-for-db-twofrom
prestonsn/impl-get-multiple-accounts
Open

feat(rpc): impl getMultipleAccounts RPC #1249
prestonsn wants to merge 3 commits intoprestonsn/impl-get-account-info-for-db-twofrom
prestonsn/impl-get-multiple-accounts

Conversation

@prestonsn
Copy link
Contributor

Implements getMultipleAccounts on accounts db two, building on top of the getAccountInfo impl.

getMultipleAccounts: Sig vs Agave Testnet (v3.1.8)

Test Case Result
commitment: processed Match -- same slot, same accounts
commitment: confirmed Match -- same slot, same accounts
commitment: finalized Match -- same slot, same accounts
base64 encoding Match -- identical data and format
base58 encoding Match -- identical data and format
base64+zstd encoding Match -- identical compressed data
dataSlice (offset=0, length=8) Match -- correctly sliced data
No config (defaults to base64) Match -- same default behavior
Empty pubkeys array Match -- both return []
Single pubkey Match -- returns single-element array
Non-existent account in array Match -- both return null in array
No params Match -- both return error -32602

@github-project-automation github-project-automation bot moved this to 🏗 In progress in Sig Feb 23, 2026
@prestonsn prestonsn self-assigned this Feb 23, 2026
@codecov
Copy link

codecov bot commented Feb 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/rpc/methods.zig 81.13% <ø> (ø)
src/rpc/test_serialize.zig 100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Implement the getAccountInfo RPC method with full support for all Solana
account encodings: base58, base64, base64+zstd, and jsonParsed.
- Add AccountHookContext with getAccountInfo method for reading account data
- Support dataSlice parameter for partial account reads
- Implement streaming zstd compression for base64+zstd encoding
- Fall back to base64 encoding when no jsonParsed parser is available
- Agave v3.1.8 still supports it despite it being documented as
  deprected.
@prestonsn prestonsn force-pushed the prestonsn/impl-get-account-info-for-db-two branch from 288c270 to b67e6b1 Compare February 23, 2026 23:51
@prestonsn prestonsn force-pushed the prestonsn/impl-get-multiple-accounts branch from d4bb6d8 to e207a58 Compare February 24, 2026 01:53
@prestonsn prestonsn marked this pull request as ready for review February 24, 2026 14:38
@prestonsn prestonsn force-pushed the prestonsn/impl-get-account-info-for-db-two branch from b67e6b1 to a0a5842 Compare February 26, 2026 05:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🏗 In progress

Development

Successfully merging this pull request may close these issues.

1 participant