solana_kit_instruction_plans 0.1.0
solana_kit_instruction_plans: ^0.1.0 copied to clipboard
Instruction planning 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 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