solana_kit_instructions 0.1.0
solana_kit_instructions: ^0.1.0 copied to clipboard
Instruction types for the Solana Kit Dart SDK.
Changelog #
All notable changes to this package will be documented in this file.
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