solana_kit_rpc 0.5.0 copy "solana_kit_rpc: ^0.5.0" to clipboard
solana_kit_rpc: ^0.5.0 copied to clipboard

Primary RPC client for the Solana Kit Dart SDK.

Changelog #

All notable changes to this project will be documented in this file.

This changelog is managed by monochange.

0.5.0 - 2026-06-01 #

💥 Breaking Change #

Raise minimum Dart SDK to 3.12

Raise the minimum supported Dart SDK constraint to ^3.12.0 across public Dart packages.

This is a breaking change because consumers must use Dart 3.12 or newer. Flutter consumers must use a Flutter SDK that bundles Dart 3.12 or newer.

environment:
  sdk: ^3.12.0

Owner: Ifiok Jr. · Introduced in: 32d5d36

🧪 Testing #

Improve test coverage to 95%+ across all packages

Added 500+ tests covering equality/hashCode/toString, codec edge cases, error paths, and constructor variants. Removed dead code in fast_stable_stringify. Fixed concurrent modification bug in subscribable.

Owner: Ifiok Jr. · Introduced in: 48216f9 · Last updated in: b7f5419

0.4.0 - 2026-05-30 #

🚀 Feature #

Add typed value methods to RPC methods

Add typed value convenience methods to SolanaRpcMethods…

Add typed value convenience methods to SolanaRpcMethods extension

Five new methods join the existing raw-request helpers on Rpc:

  • getAccountInfoValue(address, config) — returns PendingRpcRequest<SolanaRpcResponse<Map<String, Object?>?>>, parsing the JSON-RPC response envelope into a typed SolanaRpcResponse wrapper so callers access .value and .context.slot directly instead of manually navigating the raw map.
  • getBalanceValue(address, config) — returns PendingRpcRequest<SolanaRpcResponse<Lamports>>, converting the integer balance into a Lamports value type.
  • getLatestBlockhashValue(config) — returns PendingRpcRequest<SolanaRpcResponse<LatestBlockhashValue>>, parsing the blockhash and last-valid-block-height into a structured model.
  • getMultipleAccounts(addresses, config) — raw multi-account fetch returning PendingRpcRequest<Map<String, Object?>>.
  • getMultipleAccountsValue(addresses, config) — typed multi-account fetch returning PendingRpcRequest<SolanaRpcResponse<List<Map<String, Object?>?>>>.

Each *Value method uses an internal _mapPendingRpcRequest adapter that wraps the underlying raw request plan and applies a response parser, keeping the transport and plan plumbing intact. The existing raw methods (getAccountInfo, getBalance, getLatestBlockhash, etc.) remain unchanged, so this is purely additive.

Additionally, the createSolanaJsonRpcIntegerOverflowError helper now calls createSolanaError(...) instead of the SolanaError(...) constructor, and uses SolanaErrorContextKeys.methodName and SolanaErrorContextKeys.path for standardised context keys. This aligns error construction with the rest of the solana_kit_errors surface.

The README code examples have been updated to demonstrate the preferred typed-call pattern (rpc.getLatestBlockhashValue().send()) and a new "Preferred Dart path" callout section guides users toward typed helpers before falling back to raw rpc.request(...).

Owner: Ifiok Jr. · Introduced in: 6fd8642 · Last updated in: 0ee3d60

📝 Changed #

Restructure release groups

Move program-specific and domain-specific packages out of the main release group into standalone release schedules with independent versioning. Core SDK packages remain synchronized in the main group.

Owner: Ifiok Jr. · Introduced in: fccec7f · Last updated in: 93b3cd3

🐛 Fixed #

Add per-package coverage badges

Add codecov flags and per-package coverage badges to all package READMEs.

Owner: Ifiok Jr. · Introduced in: bed1b1f · Last updated in: 93b3cd3