Reshape single TransactionPlanResults#1276
Merged
Merged
Conversation
🦋 Changeset detectedLatest commit: c799380 The changes in this PR will be included in the next version bump. This PR includes changesets to release 43 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Member
Author
BundleMonFiles updated (1)
Unchanged files (135)
Total files change +21B +0.01% Final result: ✅ View report in BundleMon website ➡️ |
Contributor
|
Documentation Preview: https://kit-docs-pps9qit42-anza-tech.vercel.app |
357555e to
e2b92ca
Compare
8a7a344 to
463398c
Compare
This was referenced Feb 2, 2026
463398c to
dfcb34d
Compare
e2b92ca to
1f23642
Compare
1f23642 to
fa87b2f
Compare
dfcb34d to
81da3bc
Compare
This was referenced Feb 3, 2026
mcintyre94
approved these changes
Feb 3, 2026
Member
mcintyre94
left a comment
There was a problem hiding this comment.
This looks great! I think this will be much more useful and easier to work with. Great changeset migration guide too!
This was referenced Feb 3, 2026
Add
planType to distinguish between InstructionPlan, TransactionPlan and TransactionPlanResult
#1309
Merged
Member
Author
Merge activity
|
fa87b2f to
c799380
Compare
Merged
This was referenced Feb 3, 2026
Closed
Contributor
|
Because there has been no activity on this PR for 14 days since it was merged, it has been automatically locked. Please open a new issue if it requires a follow up. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Problem
Only successful transaction plan results can carry additional context (e.g. the transaction signature). When a transaction fails or is canceled, there is no way to retrieve the signature or other contextual data that was accumulated during execution. This makes debugging and logging difficult — for instance, a failed transaction may still have a signature if it was sent but not confirmed, yet the current API provides no way to access it.
Additionally, the
TransactionPlanExecutormay progressively build up state during execution — fetching a blockhash, estimating compute units, signing the transaction — and any of these steps could fail. Ideally, the most recent state (the latest message, the signed transaction, the signature) should remain accessible on the result regardless of the outcome.Summary of Changes
SingleTransactionPlanResultfrom a single object type with astatusdiscriminated union into three distinct types:SuccessfulSingleTransactionPlanResult,FailedSingleTransactionPlanResult, andCanceledSingleTransactionPlanResult. Thestatusfield is now a string literal ('successful','failed', or'canceled') and properties likecontext,error, andsignaturelive at the top level of each variant.messageproperty toplannedMessageon all single transaction plan result types to clarify that this is the original planned message from theTransactionPlan, not the final message sent to the network.contextobject from inside thestatusfield to the top level of each result variant. All variants now carry acontext— not just successful ones.TransactionPlanResultContextto optionally includemessage,signature, andtransactionproperties.TransactionPlanResultStatustype.failedSingleTransactionPlanResultandcanceledSingleTransactionPlanResultnow accept an optionalcontextparameter.Relates to #1273