solana_kit_codecs_data_structures 0.2.1
solana_kit_codecs_data_structures: ^0.2.1 copied to clipboard
Struct, enum, tuple, and map codecs for the Solana Kit Dart SDK.
Changelog #
Consolidated changelog for all workspace packages and renderers.
solana_kit #
0.2.0 - 2026-02-27 #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for codec and umbrella packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 - 2026-02-21 #
Notes
- First 0.1.0 release of this package.
0.0.2 - 2026-02-21 #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement umbrella package re-exporting all Solana Kit Dart SDK packages.
solana_kit (10 tests):
- Re-exports all 28 public packages from the SDK (accounts, addresses, codecs, errors, instructions, keys, rpc, signers, transactions, etc.)
getMinimumBalanceForRentExemptionhelper computing rent exemption without RPC call- Handles ambiguous exports with explicit
hidedirectives for conflicting names
Fixes
- Validate quickstart.md code examples against actual implemented APIs and mark all 136 spec tasks as complete.
solana_kit_accounts #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for address and signer packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement accounts package ported from @solana/accounts.
solana_kit_accounts (45 tests):
Account<TData>andBaseAccountwith owner, lamports, executable, rentEpoch fieldsEncodedAccounttypedef for base64-encoded account dataMaybeAccount<TData>sealed class:ExistingAccountandNonExistingAccountvariantsassertAccountExists()andassertAccountsExist()for null-safe account unwrappingparseBase64RpcAccount(),parseBase58RpcAccount(),parseJsonRpcAccount()parsersdecodeAccount(),decodeMaybeAccount()with codec-based data decodingassertAccountDecoded(),assertAccountsDecoded()for decoded type assertionsfetchEncodedAccount(),fetchEncodedAccounts()via RPCgetAccountInfo/getMultipleAccountsfetchJsonParsedAccount(),fetchJsonParsedAccounts()for JSON-parsed account data
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
solana_kit_addresses #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for address and signer packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement addresses and keys packages ported from @solana/addresses and @solana/keys.
solana_kit_addresses (65 tests):
Addressextension type wrapping validated base58-encoded 32-byte strings- Address codec (
getAddressEncoder/getAddressDecoder/getAddressCodec) for 32-byte fixed-size encoding - Address comparator with base58 collation rules matching Solana runtime ordering
- Ed25519 curve checking (
compressedPointBytesAreOnCurve,isOnCurveAddress,isOffCurveAddress) - PDA derivation (
getProgramDerivedAddress) with SHA-256, bump seed search, and seed validation createAddressWithSeedfor deterministic address derivation- Public key to/from address conversion utilities
solana_kit_keys (36 tests):
SignatureandSignatureBytesextension types for Ed25519 signatures- Key pair generation, creation from bytes, and creation from private key bytes
- Ed25519 sign/verify operations using
ed25519_edwardspackage - Signature validation (string length, byte length, base58 decoding)
- Private key validation and public key derivation
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
solana_kit_codecs #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for codec and umbrella packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement options package and codecs umbrella re-export.
solana_kit_options (90 tests):
- Rust-like
Option<T>sealed class withSome<T>andNone<T>subclasses - Option codec with 6 encoding modes: prefix-based, zeroes, custom none value, combined prefix+zeroes, combined prefix+custom, and absence-based detection
unwrapOption()andunwrapOptionOr()for extracting values with fallbackwrapNullable()for convertingT?toOption<T>unwrapOptionRecursively()for deep unwrapping of nested Options in Maps/Lists
solana_kit_codecs (umbrella):
- Re-exports all codec sub-packages: core, numbers, strings, data structures
- Re-exports options package (matching TypeScript
@solana/codecsbehavior)
solana_kit_codecs_core #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for foundational utility packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement solana_kit_codecs_core and solana_kit_codecs_numbers packages, ported
from @solana/codecs-core and @solana/codecs-numbers in the TypeScript SDK.
solana_kit_codecs_core provides the foundational codec interfaces and utilities:
- Sealed class hierarchy:
Encoder<T>,Decoder<T>,Codec<TFrom, TTo>with fixed-size and variable-size variants - Composition utilities:
combineCodec,transformCodec,fixCodecSize,reverseCodec,addCodecSentinel,addCodecSizePrefix,offsetCodec,padCodec,resizeCodec - Byte utilities:
mergeBytes,padBytes,fixBytes,containsBytes - Assertion helpers for byte array validation
- 135 tests covering all codec operations
solana_kit_codecs_numbers provides number encoding/decoding:
- Integer codecs: u8, i8, u16, i16, u32, i32, u64, i64, u128, i128
- Float codecs: f32, f64
- Variable-size shortU16 codec (Solana compact encoding)
- Configurable endianness (little-endian default, big-endian option)
- BigInt support for 64-bit and 128-bit integers
- 152 tests including exhaustive shortU16 roundtrip validation
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Fixes
Enhance core SDK packages with additional functionality and tests.
- Codecs core: Enhanced
addCodecSizePrefixwith additional functionality - Codecs data structures: Array codec improvements
- Codecs numbers:
shortU16codec enhancements - Codecs strings: UTF-8 codec improvements
- Keys: Key pair and signatures enhancements
- RPC transport: HTTP transport and WebSocket channel updates
- Transactions: Transaction codec enhancements
solana_kit_codecs_data_structures #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for codec and umbrella packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement codecs_strings and codecs_data_structures packages ported from the
TypeScript @solana/codecs-strings and @solana/codecs-data-structures.
codecs_strings (15 tests):
- UTF-8 codec using dart:convert with null character stripping
- Base16 (hex) codec with optimized nibble conversion
- Base58 codec using BigInt arithmetic for Solana address encoding
- Base64 codec tolerant of missing padding (matches Node.js behavior)
- Base10 codec for decimal string encoding
- Generic baseX codec for arbitrary alphabets
- BaseX reslice codec for power-of-2 bases using bit accumulator
codecs_data_structures (90 tests):
- Unit (void), boolean, and raw bytes codecs
- Array codec with prefix/fixed/remainder sizing (sealed ArrayLikeCodecSize)
- Tuple codec for heterogeneous fixed-length lists
- Struct codec using Map<String, Object?> for named fields
- Map and Set codecs built on array internals
- Nullable codec with configurable none representation (sealed NoneValue)
- Bit array codec with forward/backward bit ordering
- Constant, hidden prefix, and hidden suffix codecs
- Union, discriminated union, and literal union codecs
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Fixes
Enhance core SDK packages with additional functionality and tests.
- Codecs core: Enhanced
addCodecSizePrefixwith additional functionality - Codecs data structures: Array codec improvements
- Codecs numbers:
shortU16codec enhancements - Codecs strings: UTF-8 codec improvements
- Keys: Key pair and signatures enhancements
- RPC transport: HTTP transport and WebSocket channel updates
- Transactions: Transaction codec enhancements
solana_kit_codecs_numbers #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for codec and umbrella packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement solana_kit_codecs_core and solana_kit_codecs_numbers packages, ported
from @solana/codecs-core and @solana/codecs-numbers in the TypeScript SDK.
solana_kit_codecs_core provides the foundational codec interfaces and utilities:
- Sealed class hierarchy:
Encoder<T>,Decoder<T>,Codec<TFrom, TTo>with fixed-size and variable-size variants - Composition utilities:
combineCodec,transformCodec,fixCodecSize,reverseCodec,addCodecSentinel,addCodecSizePrefix,offsetCodec,padCodec,resizeCodec - Byte utilities:
mergeBytes,padBytes,fixBytes,containsBytes - Assertion helpers for byte array validation
- 135 tests covering all codec operations
solana_kit_codecs_numbers provides number encoding/decoding:
- Integer codecs: u8, i8, u16, i16, u32, i32, u64, i64, u128, i128
- Float codecs: f32, f64
- Variable-size shortU16 codec (Solana compact encoding)
- Configurable endianness (little-endian default, big-endian option)
- BigInt support for 64-bit and 128-bit integers
- 152 tests including exhaustive shortU16 roundtrip validation
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Fixes
Enhance core SDK packages with additional functionality and tests.
- Codecs core: Enhanced
addCodecSizePrefixwith additional functionality - Codecs data structures: Array codec improvements
- Codecs numbers:
shortU16codec enhancements - Codecs strings: UTF-8 codec improvements
- Keys: Key pair and signatures enhancements
- RPC transport: HTTP transport and WebSocket channel updates
- Transactions: Transaction codec enhancements
solana_kit_codecs_strings #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for codec and umbrella packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement codecs_strings and codecs_data_structures packages ported from the
TypeScript @solana/codecs-strings and @solana/codecs-data-structures.
codecs_strings (15 tests):
- UTF-8 codec using dart:convert with null character stripping
- Base16 (hex) codec with optimized nibble conversion
- Base58 codec using BigInt arithmetic for Solana address encoding
- Base64 codec tolerant of missing padding (matches Node.js behavior)
- Base10 codec for decimal string encoding
- Generic baseX codec for arbitrary alphabets
- BaseX reslice codec for power-of-2 bases using bit accumulator
codecs_data_structures (90 tests):
- Unit (void), boolean, and raw bytes codecs
- Array codec with prefix/fixed/remainder sizing (sealed ArrayLikeCodecSize)
- Tuple codec for heterogeneous fixed-length lists
- Struct codec using Map<String, Object?> for named fields
- Map and Set codecs built on array internals
- Nullable codec with configurable none representation (sealed NoneValue)
- Bit array codec with forward/backward bit ordering
- Constant, hidden prefix, and hidden suffix codecs
- Union, discriminated union, and literal union codecs
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Fixes
Enhance core SDK packages with additional functionality and tests.
- Codecs core: Enhanced
addCodecSizePrefixwith additional functionality - Codecs data structures: Array codec improvements
- Codecs numbers:
shortU16codec enhancements - Codecs strings: UTF-8 codec improvements
- Keys: Key pair and signatures enhancements
- RPC transport: HTTP transport and WebSocket channel updates
- Transactions: Transaction codec enhancements
solana_kit_errors #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for foundational utility packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial release of the error handling foundation package. Implements the complete
Solana error system ported from @solana/errors in the TypeScript SDK:
SolanaErrorclass with numeric error codes and typed context mapsSolanaErrorCodewith 200+ categorized error constants covering addresses, accounts, codecs, crypto, instructions, keys, RPC, signers, transactions, and invariant violations- Error message templates with
$variableinterpolation for all error codes - JSON-RPC error conversion with preflight failure unwrapping
- Instruction error mapping for all 54 Solana runtime instruction errors
- Transaction error mapping for all 37 Solana runtime transaction errors
- Simulation error unwrapping for preflight and compute limit estimation
- Context encoding/decoding via base64 URL-safe serialization
- Comprehensive test suite with 7 test files covering all conversion paths
Fixes
Add solana_kit_helius package — a Dart port of the Helius TypeScript SDK.
Provides 12 sub-clients: DAS API, Priority Fees, RPC V2, Enhanced Transactions, Webhooks, ZK Compression, Smart Transactions, Staking, Wallet API, WebSockets, and Auth. Includes 150 unit tests across 80 test files.
Adds 6 Helius-specific error codes (8600000–8600005) to solana_kit_errors.
Add Mobile Wallet Adapter packages for Solana.
solana_kit_mobile_wallet_adapter_protocol: Pure Dart MWA v2.0 protocol with P-256 ECDH/ECDSA, AES-128-GCM encryption, HKDF-SHA256, HELLO handshake, JSON-RPC messaging, association URIs, SIWS, and JWS.
solana_kit_mobile_wallet_adapter: Flutter plugin for Android MWA with transact(), local/remote association scenarios, wallet-side callbacks, Kit-integrated typed APIs, and platform method channels.
Adds 20 MWA-specific error codes (8400000-8400105) to solana_kit_errors.
solana_kit_fast_stable_stringify #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for foundational utility packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement foundation utility packages ported from the @solana/functional and
@solana/fast-stable-stringify TypeScript packages.
solana_kit_functional: Adds the Pipe extension which provides a .pipe()
method on any value for composable functional pipelines. This is the idiomatic
Dart equivalent of the TS pipe() function, used extensively for building
transaction messages. Includes 28 tests covering single/multiple transforms,
type changes, object mutation, combining, nested pipes, and error propagation.
solana_kit_fast_stable_stringify: Adds fastStableStringify() for
deterministic JSON serialization with sorted object keys. Handles all Dart
primitives, BigInt (serialized as <value>n), nested maps, lists, and objects
implementing ToJsonable. Includes 15 tests matching the upstream SDK's
json-stable-stringify reference output.
solana_kit_functional #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for foundational utility packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement foundation utility packages ported from the @solana/functional and
@solana/fast-stable-stringify TypeScript packages.
solana_kit_functional: Adds the Pipe extension which provides a .pipe()
method on any value for composable functional pipelines. This is the idiomatic
Dart equivalent of the TS pipe() function, used extensively for building
transaction messages. Includes 28 tests covering single/multiple transforms,
type changes, object mutation, combining, nested pipes, and error propagation.
solana_kit_fast_stable_stringify: Adds fastStableStringify() for
deterministic JSON serialization with sorted object keys. Handles all Dart
primitives, BigInt (serialized as <value>n), nested maps, lists, and objects
implementing ToJsonable. Includes 15 tests matching the upstream SDK's
json-stable-stringify reference output.
solana_kit_helius #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Add runnable examples for specialized and mobile-focused packages, including websocket subscriptions, sysvars, and transaction confirmation flows.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Add solana_kit_helius package — a Dart port of the Helius TypeScript SDK.
Provides 12 sub-clients: DAS API, Priority Fees, RPC V2, Enhanced Transactions, Webhooks, ZK Compression, Smart Transactions, Staking, Wallet API, WebSockets, and Auth. Includes 150 unit tests across 80 test files.
Adds 6 Helius-specific error codes (8600000–8600005) to solana_kit_errors.
solana_kit_instruction_plans #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for program and transaction planning packages.
- Document fix: resolve fatal analyzer infos across workspace.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement instruction plans package ported from @solana/instruction-plans.
solana_kit_instruction_plans (215 tests):
InstructionPlansealed class hierarchy:SingleInstructionPlan,SequentialInstructionPlan,ParallelInstructionPlan,MessagePackerInstructionPlanTransactionPlansealed class hierarchy:SingleTransactionPlan,SequentialTransactionPlan,ParallelTransactionPlanTransactionPlanResultsealed class hierarchy with successful, failed, canceled, sequential, and parallel result typescreateTransactionPlannerconverting instruction plans to transaction plans with size-aware message packingcreateTransactionPlanExecutorfor executing transaction plans with context propagationMessagePackerwith linear, instruction-based, and realloc message packer factories- Tree traversal utilities:
findInstructionPlan,everyInstructionPlan,transformInstructionPlan,flattenTransactionPlan - Type guards and assertions for all plan types
appendTransactionMessageInstructionPlanhelper for adding instructions to messagespassthroughFailedTransactionPlanExecutionfor error handling passthroughTransactionPlanResultSummarywithsummarizeTransactionPlanResultfor result aggregation
solana_kit_instructions #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for address and signer packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement instructions and programs packages ported from @solana/instructions and @solana/programs.
solana_kit_instructions (56 tests):
AccountRoleenhanced enum with bitflag values (readonly, writable, readonlySigner, writableSigner)- 7 role manipulation functions: upgrade/downgrade signer/writable, merge, query
AccountMetaandAccountLookupMetaimmutable classes with const constructorsInstructionclass with optional accounts and data fields- 6 instruction validation functions: isInstructionForProgram, isInstructionWithAccounts, isInstructionWithData (with assert variants)
solana_kit_programs (5 tests):
isProgramErrorfunction to identify custom program errors from transaction failures- Matches error code, instruction index, and program address against transaction message
TransactionMessageInputandInstructionInputminimal types for error checking
Fixes
Implement transaction messages package ported from @solana/transaction-messages.
solana_kit_transaction_messages (99 tests):
TransactionMessageimmutable class withTransactionVersion(legacy, v0), fee payer, lifetime constraint, and instruction managementLifetimeConstraintsealed class withBlockhashLifetimeConstraintandDurableNonceLifetimeConstraintsubtypes- Transaction message creation, fee payer setting, and instruction append/prepend
- Blockhash lifetime: validation (
isTransactionMessageWithBlockhashLifetime), assertion, and setter - Durable nonce lifetime: validation, assertion, and setter with automatic
AdvanceNonceAccountinstruction management compileTransactionMessage: compiles high-level messages to wire-formatCompiledTransactionMessage- Account compilation with correct ordering (fee payer, writable signers, readonly signers, writable non-signers, readonly non-signers)
- Address lookup table compression (
compressTransactionMessageUsingAddressLookupTables) - Message decompilation (
decompileTransactionMessage) to reconstruct from compiled format - Full codec suite: transaction version, header (3-byte), instruction, address table lookup, and complete message encoder/decoder
solana_kit_instructions (patch):
AccountLookupMetanow extendsAccountMetafor type compatibility in instruction accounts lists
solana_kit_keys #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for address and signer packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement addresses and keys packages ported from @solana/addresses and @solana/keys.
solana_kit_addresses (65 tests):
Addressextension type wrapping validated base58-encoded 32-byte strings- Address codec (
getAddressEncoder/getAddressDecoder/getAddressCodec) for 32-byte fixed-size encoding - Address comparator with base58 collation rules matching Solana runtime ordering
- Ed25519 curve checking (
compressedPointBytesAreOnCurve,isOnCurveAddress,isOffCurveAddress) - PDA derivation (
getProgramDerivedAddress) with SHA-256, bump seed search, and seed validation createAddressWithSeedfor deterministic address derivation- Public key to/from address conversion utilities
solana_kit_keys (36 tests):
SignatureandSignatureBytesextension types for Ed25519 signatures- Key pair generation, creation from bytes, and creation from private key bytes
- Ed25519 sign/verify operations using
ed25519_edwardspackage - Signature validation (string length, byte length, base58 decoding)
- Private key validation and public key derivation
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Fixes
Enhance core SDK packages with additional functionality and tests.
- Codecs core: Enhanced
addCodecSizePrefixwith additional functionality - Codecs data structures: Array codec improvements
- Codecs numbers:
shortU16codec enhancements - Codecs strings: UTF-8 codec improvements
- Keys: Key pair and signatures enhancements
- RPC transport: HTTP transport and WebSocket channel updates
- Transactions: Transaction codec enhancements
solana_kit_lints #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Add runnable, non-placeholder examples for
solana_kit_lintsandsolana_kit_test_matchers, including analyzer configuration guidance for lint usage and direct matcher usage examples.
Add a solana_kit_lints workspace dependency checker and run it as part of
lint:all to ensure internal package dependencies use workspace: true in
pubspec.yaml files.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial release of shared lint configuration package. Extends very_good_analysis
with project-specific overrides: disables public_member_api_docs (docs will be
added incrementally) and lines_longer_than_80_chars (allows longer lines for
readability in codec/RPC code). All 37 packages in the workspace depend on this
package via dev_dependencies for consistent static analysis.
Fixes
- CI/tooling improvements: add devenv composite action, refactor CI to use devenv shell, add dprint exec plugins, and enable additional lint rules.
solana_kit_mobile_wallet_adapter #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Add runnable examples for specialized and mobile-focused packages, including websocket subscriptions, sysvars, and transaction confirmation flows.
- Document fix: resolve fatal analyzer infos across workspace.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Add Mobile Wallet Adapter packages for Solana.
solana_kit_mobile_wallet_adapter_protocol: Pure Dart MWA v2.0 protocol with P-256 ECDH/ECDSA, AES-128-GCM encryption, HKDF-SHA256, HELLO handshake, JSON-RPC messaging, association URIs, SIWS, and JWS.
solana_kit_mobile_wallet_adapter: Flutter plugin for Android MWA with transact(), local/remote association scenarios, wallet-side callbacks, Kit-integrated typed APIs, and platform method channels.
Adds 20 MWA-specific error codes (8400000-8400105) to solana_kit_errors.
solana_kit_mobile_wallet_adapter_protocol #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Add runnable examples for specialized and mobile-focused packages, including websocket subscriptions, sysvars, and transaction confirmation flows.
- Document fix: resolve fatal analyzer infos across workspace.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Add Mobile Wallet Adapter packages for Solana.
solana_kit_mobile_wallet_adapter_protocol: Pure Dart MWA v2.0 protocol with P-256 ECDH/ECDSA, AES-128-GCM encryption, HKDF-SHA256, HELLO handshake, JSON-RPC messaging, association URIs, SIWS, and JWS.
solana_kit_mobile_wallet_adapter: Flutter plugin for Android MWA with transact(), local/remote association scenarios, wallet-side callbacks, Kit-integrated typed APIs, and platform method channels.
Adds 20 MWA-specific error codes (8400000-8400105) to solana_kit_errors.
solana_kit_offchain_messages #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Add runnable examples for specialized and mobile-focused packages, including websocket subscriptions, sysvars, and transaction confirmation flows.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement offchain messages package ported from @solana/offchain-message.
solana_kit_offchain_messages (1082 tests):
OffchainMessagesealed class withOffchainMessageV0andOffchainMessageV1subtypes- V0: application domain, three content formats (restricted ASCII 1232, UTF-8 1232, UTF-8 65535), signatory list
- V1: simplified with auto-sorted signatories and arbitrary UTF-8 content
- Content validation: ASCII character range (0x20-0x7E), size limits, format enforcement
- Application domain validation (must be valid 32-byte base58 address)
- Full codec suite: V0/V1/unified message codecs, envelope codec with signature handling
compileOffchainMessageEnvelopeto create signable envelopes from messagespartiallySignOffchainMessageEnvelopeandsignOffchainMessageEnvelopefor Ed25519 signingverifyOffchainMessageEnvelopefor cryptographic signature verification- Missing signatures encoded as 64 zero bytes in wire format
solana_kit_options #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for foundational utility packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement options package and codecs umbrella re-export.
solana_kit_options (90 tests):
- Rust-like
Option<T>sealed class withSome<T>andNone<T>subclasses - Option codec with 6 encoding modes: prefix-based, zeroes, custom none value, combined prefix+zeroes, combined prefix+custom, and absence-based detection
unwrapOption()andunwrapOptionOr()for extracting values with fallbackwrapNullable()for convertingT?toOption<T>unwrapOptionRecursively()for deep unwrapping of nested Options in Maps/Lists
solana_kit_codecs (umbrella):
- Re-exports all codec sub-packages: core, numbers, strings, data structures
- Re-exports options package (matching TypeScript
@solana/codecsbehavior)
solana_kit_program_client_core #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for program and transaction planning packages.
- Document fix: harden self-plan-and-send program client flows.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement program client core package ported from @solana/program-client-core.
solana_kit_program_client_core (31 tests):
InstructionWithByteDeltamixin for tracking account storage size changesResolvedInstructionAccounttype for resolved instruction account valuesgetNonNullResolvedInstructionInputnull-safety validation with descriptive errorsgetAddressFromResolvedInstructionAccountextracts Address from Address/PDA/TransactionSignergetResolvedInstructionAccountAsProgramDerivedAddressvalidates and extracts PDAgetResolvedInstructionAccountAsTransactionSignervalidates and extracts TransactionSignergetAccountMetaFactoryfactory converting ResolvedInstructionAccount to AccountMeta with omitted/programId strategiesSelfFetchFunctionsaugmenting codecs with fetch/fetchMaybe/fetchAll/fetchAllMaybe methods- Stub for self-plan-and-send functions (pending instruction_plans implementation)
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
solana_kit_programs #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for program and transaction planning packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement instructions and programs packages ported from @solana/instructions and @solana/programs.
solana_kit_instructions (56 tests):
AccountRoleenhanced enum with bitflag values (readonly, writable, readonlySigner, writableSigner)- 7 role manipulation functions: upgrade/downgrade signer/writable, merge, query
AccountMetaandAccountLookupMetaimmutable classes with const constructorsInstructionclass with optional accounts and data fields- 6 instruction validation functions: isInstructionForProgram, isInstructionWithAccounts, isInstructionWithData (with assert variants)
solana_kit_programs (5 tests):
isProgramErrorfunction to identify custom program errors from transaction failures- Matches error code, instruction index, and program address against transaction message
TransactionMessageInputandInstructionInputminimal types for error checking
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
solana_kit_rpc #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc runtime packages.
- Document fix: harden rpc transports and subscription channels.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Implement RPC client package ported from @solana/rpc.
solana_kit_rpc (125 tests):
createSolanaRpcandcreateSolanaRpcFromTransportfactory functions combining API + transport + transformerscreateDefaultRpcTransportwithsolana-client: dart/0.0.1header and request coalescing- Request coalescing: deduplicates identical JSON-RPC requests within the same microtask
- Deduplication key generation using
fastStableStringifyfor deterministic request hashing - Integer overflow error creation with human-readable ordinal argument labels
- Default RPC config:
confirmedcommitment, integer overflow handler
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
solana_kit_rpc_api #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc spec and type packages.
- Document test: add rpc contract and model regression suites.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC API package ported from @solana/rpc-api.
solana_kit_rpc_api (75 tests):
- Config and params classes for all 52 Solana RPC methods (getAccountInfo, getBalance, getBlock, sendTransaction, simulateTransaction, etc.)
solanaRpcMethodsForAllClusters(51 methods) andsolanaRpcMethodsForTestClusters(52 methods, includes requestAirdrop)getAllowedNumericKeypaths()for response transformer numeric value whitelisting- Cluster-variant helpers:
isSolanaRpcMethodForMainnet,isSolanaRpcMethodForTestClusters - Per-method
toJson()serialization and params builder functions
solana_kit_rpc_parsed_types #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc spec and type packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC parsed types package ported from @solana/rpc-parsed-types.
solana_kit_rpc_parsed_types (32 tests):
- Typed representations of JSON-parsed account data from the Solana RPC
- Address lookup table, BPF upgradeable loader, config, nonce, stake, sysvar, token, and vote account types
- Sealed class hierarchies for discriminated unions enabling exhaustive pattern matching
RpcParsedType<TType, TInfo>andRpcParsedInfo<TInfo>base classes- All 10 sysvar account types: clock, epochRewards, epochSchedule, fees, lastRestartSlot, recentBlockhashes, rent, slotHashes, slotHistory, stakeHistory
- Token program accounts: account, mint, multisig with
TokenAccountStateenum
solana_kit_rpc_spec #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc spec and type packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC spec package ported from @solana/rpc-spec.
solana_kit_rpc_spec (23 tests):
JsonRpcApiwith configurable request/response transformers creatingRpcPlanobjectsRpcPlan<T>describing how to execute an RPC request with lazy executionRpcTransporttypedef for pluggable transport layerRpcclient that wraps API + transport, returningPendingRpcRequestobjectsPendingRpcRequest<T>withsend()method for deferred executionisJsonRpcPayloadtype guard for JSON-RPC 2.0 payload validationRpcApiabstract class withJsonRpcApiAdapterandMapRpcApiimplementations
solana_kit_rpc_spec_types #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc spec and type packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC spec types package ported from @solana/rpc-spec-types.
solana_kit_rpc_spec_types (96 tests):
RpcRequest<TParams>class with method name and typed parametersRpcRequestTransformerandRpcResponseTransformerfunction typedefsRpcErrorResponsePayloadwith code, message, and optional dataRpcResponseDatasealed class withRpcResponseResultandRpcResponseErrorsubtypescreateRpcMessagefor JSON-RPC 2.0 message creation with auto-incrementing IDsparseJsonWithBigIntsfor JSON parsing that preserves large integers asBigIntstringifyJsonWithBigIntsfor JSON serialization that rendersBigIntvalues as bare numbers
solana_kit_rpc_subscriptions #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc runtime packages.
- Document fix: harden rpc transports and subscription channels.
- Document fix: resolve fatal analyzer infos across workspace.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC subscriptions composition package ported from @solana/rpc-subscriptions.
solana_kit_rpc_subscriptions (144 tests):
createSolanaRpcSubscriptionsandcreateSolanaRpcSubscriptionsUnstablefactory functionscreateSolanaRpcSubscriptionsFromTransportfor custom transport usagegetRpcSubscriptionsTransportWithSubscriptionCoalescingdeduplicating identical subscriptions via fastStableStringify hashinggetRpcSubscriptionsChannelWithAutopingperiodic keep-alive ping messages with timer reset on activitygetChannelPoolingChannelCreatorchannel reuse with maxSubscriptionsPerChannel limits and automatic cleanupgetRpcSubscriptionsChannelWithJsonSerializationandgetRpcSubscriptionsChannelWithBigIntJsonSerializationcreateDefaultSolanaRpcSubscriptionsChannelCreatorcomposing JSON + autopinger + poolingcreateSolanaJsonRpcIntegerOverflowErrorwith ordinal argument labels- Default RPC subscription configuration with
confirmedcommitment
solana_kit_rpc_subscriptions_api #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc runtime packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC subscriptions API package ported from @solana/rpc-subscriptions-api.
solana_kit_rpc_subscriptions_api (61 tests):
- 6 stable subscription methods:
accountNotifications,logsNotifications,programNotifications,rootNotifications,signatureNotifications,slotNotifications - 3 unstable subscription methods:
blockNotifications,slotsUpdatesNotifications,voteNotifications - Sealed
LogsFiltertype (All/AllWithVotes/Mentions) with JSON serialization - Sealed
BlockNotificationsFiltertype (All/MentionsAccountOrProgram) solanaRpcSubscriptionsMethodsStableandsolanaRpcSubscriptionsMethodsUnstablecomposition- Helper functions:
notificationNameToSubscribeMethod(),notificationNameToUnsubscribeMethod() - Config types for each subscription with proper encoding commitment/maxSupportedTransactionVersion
solana_kit_rpc_subscriptions_channel_websocket #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Add runnable examples for specialized and mobile-focused packages, including websocket subscriptions, sysvars, and transaction confirmation flows.
- Document fix: harden rpc transports and subscription channels.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC subscriptions WebSocket channel package ported from @solana/rpc-subscriptions-channel-websocket.
solana_kit_rpc_subscriptions_channel_websocket (23 tests):
createWebSocketChannelfactory for creating WebSocket RPC subscription channelsRpcSubscriptionsChannelinterface extendingDataPublisherwithsend()methodAbortSignal/AbortControllerfor clean channel shutdownWebSocketChannelConfigwith URL, sendBufferHighWatermark, and optional abort signal- Message forwarding via DataPublisher
'message'channel - Error publishing on abnormal WebSocket closure (non-1000 codes)
- Integration tests using real
HttpServerwithWebSocketTransformer
Fixes
Enhance core SDK packages with additional functionality and tests.
- Codecs core: Enhanced
addCodecSizePrefixwith additional functionality - Codecs data structures: Array codec improvements
- Codecs numbers:
shortU16codec enhancements - Codecs strings: UTF-8 codec improvements
- Keys: Key pair and signatures enhancements
- RPC transport: HTTP transport and WebSocket channel updates
- Transactions: Transaction codec enhancements
solana_kit_rpc_transport_http #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc runtime packages.
- Document fix: harden rpc transports and subscription channels.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC transport HTTP package ported from @solana/rpc-transport-http.
solana_kit_rpc_transport_http (129 tests):
createHttpTransportfactory for JSON-RPC POST requests with configurable headers, custom JSON serialization/deserializationcreateHttpTransportForSolanaRpcwrapping transport with BigInt-aware JSON handling viaparseJsonWithBigInts/stringifyJsonWithBigIntsisSolanaRequesttype guard checking against 55 known Solana RPC methods- Header validation: forbidden headers (MDN spec), disallowed headers (Accept, Content-Type, Content-Length, Solana-Client), proxy-_/sec-_ prefix matching
- HTTP error handling with
SolanaErrorcontext preservation (status code, message)
Fixes
Enhance core SDK packages with additional functionality and tests.
- Codecs core: Enhanced
addCodecSizePrefixwith additional functionality - Codecs data structures: Array codec improvements
- Codecs numbers:
shortU16codec enhancements - Codecs strings: UTF-8 codec improvements
- Keys: Key pair and signatures enhancements
- RPC transport: HTTP transport and WebSocket channel updates
- Transactions: Transaction codec enhancements
solana_kit_rpc_transformers #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc runtime packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC transformers package ported from @solana/rpc-transformers.
solana_kit_rpc_transformers (524 tests):
- Request transformers: BigInt downcast, integer overflow detection, default commitment injection
- Response transformers: BigInt upcast, JSON-RPC error throwing with Solana error unwrapping, result extraction
- Tree traversal utilities with key path wildcards for deep object walking
- Default commitment handling for 39 RPC methods with per-method config position mapping
- Preflight error unwrapping from
-32002JSON-RPC errors - Composable transformer pipelines via
getDefaultRequestTransformerForSolanaRpcandgetDefaultResponseTransformerForSolanaRpc
solana_kit_rpc_types #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc spec and type packages.
- Document fix: resolve fatal analyzer infos across workspace.
- Document test: add rpc contract and model regression suites.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement RPC types package ported from @solana/rpc-types.
solana_kit_rpc_types (85 tests):
Blockhashextension type with validation, codec (32-byte base58), and comparatorLamportsextension type (0 to 2^64-1) with generic encoder/decoder/codec wrappersUnixTimestampextension type (i64 range) with validationStringifiedBigIntandStringifiedNumberextension types with validationCommitmentenum (processed, confirmed, finalized) with comparatorMicroLamports,SignedLamports,Slot,Epochtype aliases- Encoded data types:
Base58EncodedBytes,Base64EncodedBytes, data response records - Account info types:
AccountInfoBaseand encoding-specific variants TokenAmount,TokenBalancefor SPL token dataTransactionErrorandInstructionErrorsealed class hierarchiesTransactionVersion,Reward,TransactionStatustypes- Cluster URL types:
MainnetUrl,DevnetUrl,TestnetUrl SolanaRpcResponse<T>wrapper with slot context- Account filter types:
DataSlice, memcmp and datasize filters
solana_kit_signers #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for address and signer packages.
- Document fix: resolve fatal analyzer infos across workspace.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement signers package ported from @solana/signers.
solana_kit_signers (88 tests):
- Five core signer interfaces:
MessagePartialSigner,MessageModifyingSigner,TransactionPartialSigner,TransactionModifyingSigner,TransactionSendingSigner - Composite types:
MessageSigner,TransactionSigner,KeyPairSignerwith Ed25519 signing NoopSignerfor adding signature slots without actual signingpartiallySignTransactionMessageWithSignersandsignTransactionMessageWithSignersfor signing transaction messages using attached signerssignAndSendTransactionMessageWithSignersfor combined sign-and-send workflow- Signer extraction from instructions and transaction messages via account meta
- Fee payer signer utilities
- Signer deduplication and assertion helpers
solana_kit_subscribable #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for rpc runtime packages.
- Document fix: resolve fatal analyzer infos across workspace.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement subscribable package ported from @solana/subscribable.
solana_kit_subscribable (33 tests):
DataPublisherinterface withon(channelName, subscriber)returning unsubscribe functionWritableDataPublisherconcrete implementation withpublish(channelName, data)for testingcreateStreamFromDataPublisherconverting DataPublisher to DartStream<TData>with error channel supportcreateAsyncIterableFromDataPublisherwith AbortSignal support, message queuing, and pre-poll message droppingdemultiplexDataPublishersplitting single channel into multiple typed channels with lazy subscription and reference counting- Idempotent unsubscribe and proper cleanup on abort
solana_kit_sysvars #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Add runnable examples for specialized and mobile-focused packages, including websocket subscriptions, sysvars, and transaction confirmation flows.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement sysvars package ported from @solana/sysvars.
solana_kit_sysvars (52 tests):
- 10 sysvar address constants (Clock, EpochRewards, EpochSchedule, Instructions, LastRestartSlot, RecentBlockhashes, Rent, SlotHashes, SlotHistory, StakeHistory)
SysvarClockcodec (40 bytes): slot, epochStartTimestamp, epoch, leaderScheduleEpoch, unixTimestampSysvarEpochSchedulecodec (33 bytes): slotsPerEpoch, leaderScheduleSlotOffset, warmup, firstNormalEpoch, firstNormalSlotSysvarEpochRewardscodec (81 bytes): distributionStartingBlockHeight, numPartitions, parentBlockhash, totalPoints (u128), totalRewards, distributedRewards, activeSysvarRentcodec (17 bytes): lamportsPerByteYear, exemptionThreshold (f64), burnPercentSysvarLastRestartSlotcodec (8 bytes),SysvarSlotHashesvariable-size array codecSysvarSlotHistorybitvector codec (131,097 bytes) with discriminator validationSysvarRecentBlockhashes(deprecated) andSysvarStakeHistoryvariable-size array codecsfetchSysvar*async RPC functions for each sysvar typefetchEncodedSysvarAccountgeneric fetch function
solana_kit_test_matchers #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Add runnable, non-placeholder examples for
solana_kit_lintsandsolana_kit_test_matchers, including analyzer configuration guidance for lint usage and direct matcher usage examples. - Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement test matchers package with Solana-specific test assertions.
solana_kit_test_matchers (33 tests):
isSolanaErrorWithCode/throwsSolanaErrorWithCodefor matching SolanaError by error codeisSolanaErrorWithCodeAndContextfor matching error code and context entriesisSolanaErrorMatcher/throwsSolanaErrorfor matching any SolanaErrorequalsBytesfor byte-for-byte Uint8List comparison with detailed mismatch reportinghasByteLength/startsWithBytesfor byte array assertionsisValidSolanaAddress/equalsAddressfor Address validation and comparisonisFullySignedTransactionMatcher/hasSignatureCountfor Transaction signature verification
solana_kit_transaction_confirmation #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Add runnable examples for specialized and mobile-focused packages, including websocket subscriptions, sysvars, and transaction confirmation flows.
- Document fix: resolve fatal analyzer infos across workspace.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 17 higher-level packages including the full RPC stack,
program interaction layers, and the umbrella package. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- RPC Stack: rpc_types (base types), rpc_spec_types, rpc_spec (specification), rpc_api (method definitions), rpc_parsed_types, rpc_transformers (response processing), rpc_transport_http (HTTP transport), rpc (primary client)
- RPC Subscriptions: rpc_subscriptions_api, rpc_subscriptions_channel_websocket, rpc_subscriptions (WebSocket subscription client)
- Programs & Accounts: accounts (fetching/decoding), programs (utilities), program_client_core (base client), sysvars (system variables)
- Transaction Lifecycle: transaction_confirmation (polling/confirmation)
- Umbrella: solana_kit (re-exports all packages for convenience)
Implement transaction confirmation package ported from @solana/transaction-confirmation.
solana_kit_transaction_confirmation (60 tests):
createRecentSignatureConfirmationPromiseFactorywith dual-pronged subscription + one-shot querycreateBlockHeightExceedencePromiseFactorymonitoring slot notifications for block height trackingcreateNonceInvalidationPromiseFactorydetecting durable nonce advancementgetTimeoutPromisewith commitment-based timeouts (30s processed, 60s confirmed/finalized)raceStrategiescore strategy racing with safe future handlingwaitForRecentTransactionConfirmationhigh-level blockhash-based confirmationwaitForDurableNonceTransactionConfirmationhigh-level nonce-based confirmationwaitForRecentTransactionConfirmationUntilTimeout(deprecated) timeout-based fallback- Dependency injection pattern for RPC functions to keep dependencies minimal
solana_kit_transaction_messages #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for program and transaction planning packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement transaction messages package ported from @solana/transaction-messages.
solana_kit_transaction_messages (99 tests):
TransactionMessageimmutable class withTransactionVersion(legacy, v0), fee payer, lifetime constraint, and instruction managementLifetimeConstraintsealed class withBlockhashLifetimeConstraintandDurableNonceLifetimeConstraintsubtypes- Transaction message creation, fee payer setting, and instruction append/prepend
- Blockhash lifetime: validation (
isTransactionMessageWithBlockhashLifetime), assertion, and setter - Durable nonce lifetime: validation, assertion, and setter with automatic
AdvanceNonceAccountinstruction management compileTransactionMessage: compiles high-level messages to wire-formatCompiledTransactionMessage- Account compilation with correct ordering (fee payer, writable signers, readonly signers, writable non-signers, readonly non-signers)
- Address lookup table compression (
compressTransactionMessageUsingAddressLookupTables) - Message decompilation (
decompileTransactionMessage) to reconstruct from compiled format - Full codec suite: transaction version, header (3-byte), instruction, address table lookup, and complete message encoder/decoder
solana_kit_instructions (patch):
AccountLookupMetanow extendsAccountMetafor type compatibility in instruction accounts lists
solana_kit_transactions #
0.2.0 (2026-02-27) #
Breaking Changes
Initial Release
The initial release of all libraries.
Fixes
- Align knope package scopes, update workspace maintenance dependencies, and apply lint/format cleanup updates across touched packages.
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Document docs: add mdt workspace docs tooling and shared README sections.
- Document docs: add real examples for program and transaction planning packages.
- Use
workspace: truefor all internal package dependencies and replace melos with native Dart workspace commands.
0.1.0 (2026-02-21) #
Notes
- First 0.1.0 release of this package.
0.0.2 (2026-02-21) #
Features
Initial scaffold for 18 core packages forming the foundation and middle layers of
the Solana Kit dependency graph. Each package has its pubspec.yaml with correct workspace dependencies, shared analysis_options.yaml, and an empty barrel export file ready for implementation.
Package groups scaffolded:
- Crypto & Identity: addresses (base58), keys (Ed25519), signers (interfaces)
- Codecs: core interfaces, numbers, strings, data structures, umbrella re-export
- Utilities: functional (pipe/compose), options (Rust-like Option codec), fast_stable_stringify, subscribable (reactive patterns)
- Transaction Building: instructions, instruction_plans, transaction_messages, transactions (compilation & signing)
- Other: offchain_messages, test_matchers
Implement transactions package ported from @solana/transactions.
solana_kit_transactions (64 tests):
Transactionclass withmessageBytes(Uint8List) andsignatures(Map<Address, SignatureBytes?>) fieldsTransactionWithLifetimewith blockhash and durable nonce lifetime constraintscompileTransactionto compile a TransactionMessage into a Transaction with signature slots and lifetime constraintpartiallySignTransactionandsignTransactionfor async Ed25519 signing with key pairsgetSignatureFromTransactionto extract fee payer signatureisFullySignedTransaction/assertIsFullySignedTransactionfor signature completeness checks- Transaction size calculations with 1232-byte limit enforcement
isSendableTransaction/assertIsSendableTransactioncombining signature and size checks- Wire format encoding with
getBase64EncodedWireTransaction - Full transaction codec: signatures encoder (shortU16 prefix + 64 bytes each), transaction encoder/decoder
Fixes
Enhance core SDK packages with additional functionality and tests.
- Codecs core: Enhanced
addCodecSizePrefixwith additional functionality - Codecs data structures: Array codec improvements
- Codecs numbers:
shortU16codec enhancements - Codecs strings: UTF-8 codec improvements
- Keys: Key pair and signatures enhancements
- RPC transport: HTTP transport and WebSocket channel updates
- Transactions: Transaction codec enhancements
codama_renderers_solana_kit_dart #
0.1.1 - 2026-02-27 #
Features
- Add
codama-renderers-dart- a Codama renderer that generates Dart code targeting the solana_kit SDK from Codama IDL definitions.
Fixes
- Document chore: add nixpkgs tooling and stabilize coverage command.
- Document ci: add publish and release workflow automation.
- Document ci: enforce changesets for package modifications.
- Fix code generation bugs: AccountRole enum names, cross-type imports, transformDecoder callback signature, template literal interpolation, missing codec imports, and nullable field assertions. Add comprehensive e2e test suite with snapshot tests, JS comparison tests, and Dart validation.
0.1.0 #
Features
- Initial release of
codama-renderers-dart - Generate Dart code from Codama IDL targeting the solana_kit SDK
- Support for accounts, instructions, defined types, errors, PDAs, and programs
- Type manifest visitor mapping all Codama type nodes to Dart types and codecs
- Fragment-based code generation with automatic import tracking
- Comprehensive test suite with 261 tests
0.2.1 - 2026-02-28 #
Fixes #
chore: add ktlint to devenv format/lint and CI lint pipeline
##72 by @ifiokjr
Summary #
Adds Kotlin lint/format support to the repository devenv workflows and ensures CI runs those checks.
What changed #
- Added
ktlinttopackagesindevenv.nix. - Updated
fix:formatto run Kotlin formatting via:ktlint --relative --formaton tracked*.ktand*.ktsfiles.
- Added a new
lint:kotlinscript that runs:ktlint --relativeon tracked Kotlin files.
- Updated
lint:allto includelint:kotlinso Kotlin linting is part of the standard CI lint command. - Updated CI lint step label to explicitly indicate ktlint is included.
Why #
The repo already linted and formatted Dart/Markdown/JSON/YAML paths, but Kotlin files were not covered by the same developer and CI workflows. This aligns Kotlin quality gates with the rest of the codebase.
Validation #
dprint check .github/workflows/ci.yml- Structural verification of
devenv.nixscript blocks for:fix:formatlint:kotlinlint:all
chore: add flutter example app for mobile wallet adapter manual testing
Summary #
Adds a runnable Flutter Android example app under packages/solana_kit_mobile_wallet_adapter/example/ for manual Mobile Wallet Adapter (MWA) testing on device/emulator.
What changed #
- Scaffolded a full Flutter Android example app for
solana_kit_mobile_wallet_adapter. - Added manual-test UI flows for:
- Wallet endpoint detection
authorizegetCapabilitiessignMessagesdeauthorize
- Added
example/README.mdwith setup instructions and mock wallet installation guidance based on Solana Mobile docs. - Updated package README with a dedicated "Manual testing app" section linking to the new example and setup guide.
Why #
The previous example was not a runnable Flutter app for end-to-end manual testing with real/emulated wallets. This adds a practical test harness for validating adapter behavior in development.
Validation #
flutter pub get(example app)flutter analyze(example app)flutter test(example app)devenv shell -- docs:check