solana_kit_rpc_types 0.5.0
solana_kit_rpc_types: ^0.5.0 copied to clipboard
Shared RPC types 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 #
Replace string encoding fields with AccountEncoding
Owner: Ifiok Jr. · Introduced in: 29e8823 · Last updated in: a526ea3
Add LatestBlockhashValue and Sol type
Add LatestBlockhashValue model and full Sol fixed-point…
Add LatestBlockhashValue model and full Sol fixed-point type
LatestBlockhashValue (lib/src/latest_blockhash_value.dart):
A new @immutable value class that wraps the two fields returned by getLatestBlockhash — a Blockhash and a BigInt lastValidBlockHeight. This gives downstream callers a typed model instead of navigating a raw Map for the latest-blockhash response. The class implements structural equality (== / hashCode) and a descriptive toString.
Sol extension type and helpers (lib/src/sol.dart):
A complete fixed-point SOL representation backed by an exact Lamports BigInt:
Solis anextension typeimplementing bothLamportsandObject, so it interops seamlessly with existingLamports-accepting APIs.sol(String, {RoundingMode})parses a decimal SOL string (up to 9 fractional digits) intoSol. ARoundingModeenum (strict,down,up,halfUp) controls behaviour when the input has excess precision.solToLamports/lamportsToSolprovide lossless round-trip conversions.Sol.toDecimalString()formats the value back to a human-readable decimal string without trailing zeros.getSolEncoder(),getSolDecoder(), andgetSolCodec()produce binary codecs that read/write the underlying 64-bit little-endian Lamports count, matching the on-chain wire format.
Both types are exported from the package barrel (solana_kit_rpc_types.dart). The LatestBlockhashValue export enables solana_kit_rpc to use it in its new typed getLatestBlockhashValue method. The Sol type adds a long-requested ergonomic layer for displaying and parsing SOL amounts without manual BigInt arithmetic.
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
Replace unsafe .cast() with JsonReader
Introduce internal JsonReader helper that replaces unsafe…
Introduce internal JsonReader helper that replaces unsafe .cast<T>() list
casts and bare as casts in all fromJson factories with explicit typed
accessors. Parse errors now surface at construction time via a descriptive
FormatException that includes the field name, rather than deferring until
element access. All ten type files (das_types, enhanced_types, zk_types,
wallet_types, webhook_types, rpc_v2_types, auth_types, staking_types,
priority_fee_types, smart_transaction_types) have been migrated. The public
API is unchanged.
Owner: Ifiok Jr. · Introduced in: 29e8823 · Last updated in: 0ee3d60
Replace dynamic with Object?
Replace dynamic with Object? across lib source files; remaining dynamic usage is only in test matcher API signatures required by the test package.
Owner: Ifiok Jr. · Introduced in: fe249a4 · Last updated in: 0ee3d60
Add equality to value types
Add == / hashCode / toString to value types across…
Add == / hashCode / toString to value types across rpc_types, rpc_api, rpc_parsed_types, rpc_spec_types, instructions, transaction_messages, and transaction_confirmation.
Owner: Ifiok Jr. · Introduced in: 29e8823 · Last updated in: 0ee3d60
Add account client and RPC response models
Add a higher-level Solana account client plus typed RPC…
Add a higher-level Solana account client plus typed RPC response wrappers for common account, balance, blockhash, and multi-account request flows.
Owner: Ifiok Jr. · Introduced in: aa54336 · Last updated in: 0ee3d60
Add SOL conversion helpers alongside lamports helpers
Owner: Ifiok Jr. · Introduced in: 9ee2e44 · Last updated in: a526ea3