File tree Expand file tree Collapse file tree
packages/instruction-plans/src Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ ---
2+ ' @solana/instruction-plans ' : patch
3+ ---
4+
5+ Add a ` TransactionPlanner ` function type that defines how ` InstructionPlans ` gets planned and turned into ` TransactionPlans ` .
Original file line number Diff line number Diff line change 1+ /* eslint-disable @typescript-eslint/no-floating-promises */
2+
3+ import type { InstructionPlan } from '../instruction-plan' ;
4+ import type { TransactionPlan } from '../transaction-plan' ;
5+ import type { TransactionPlanner } from '../transaction-planner' ;
6+
7+ // [DESCRIBE] TransactionPlanner
8+ {
9+ // Its return type satisfies TransactionPlan.
10+ {
11+ const instructionPlan = null as unknown as InstructionPlan ;
12+ const planner = null as unknown as TransactionPlanner ;
13+ const transactionPlan = planner ( instructionPlan ) ;
14+ transactionPlan satisfies Promise < TransactionPlan > ;
15+ }
16+ }
Original file line number Diff line number Diff line change 1+ import type { InstructionPlan } from './instruction-plan' ;
2+ import type { TransactionPlan } from './transaction-plan' ;
3+
4+ /**
5+ * Plans one or more transactions according to the provided instruction plan.
6+ *
7+ * @param instructionPlan - The instruction plan to be planned and executed.
8+ * @param config - Optional configuration object that can include an `AbortSignal` to cancel the planning process.
9+ *
10+ * @see {@link InstructionPlan }
11+ * @see {@link TransactionPlan }
12+ */
13+ export type TransactionPlanner = (
14+ instructionPlan : InstructionPlan ,
15+ config ?: { abortSignal ?: AbortSignal } ,
16+ ) => Promise < TransactionPlan > ;
You can’t perform that action at this time.
0 commit comments