Skip to content

Commit 8e01cc6

Browse files
rarquevauxmicaelae
authored andcommitted
feat(STX-433): add submissionMethod to transaction metadata (#8375)
## Explanation The goal of this PR is to add a `submissionMethod` property in the TransactionMetadata object in order to record how the transaction was submitted to the network and add it to the metrics. This datapoint can be recording at submission in the https://github.com/MetaMask/metamask-extension/blob/main/app/scripts/controller-init/confirmations/transaction-controller-init.ts Draft PR on extension to demonstrate the use case: MetaMask/metamask-extension#41465 <!-- Thanks for your contribution! Take a moment to answer these questions so that reviewers have the information they need to properly understand your changes: * What is the current state of things and why does it need to change? * What is the solution your changes offer and how does it work? * Are there any changes whose purpose might not obvious to those unfamiliar with the domain? * If your primary goal was to update one package but you found you had to update another one along the way, why did you do so? * If you had to upgrade a dependency, why did you do so? --> ## References <!-- Are there any issues that this pull request is tied to? Are there other links that reviewers should consult to understand these changes better? Are there client or consumer pull requests to adopt any breaking changes? For example: * Fixes #12345 * Related to #67890 --> ## Checklist - [ ] I've updated the test suite for new or updated code as appropriate - [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [ ] I've communicated my changes to consumers by [updating changelogs for packages I've changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md) - [ ] I've introduced [breaking changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md) in this PR and have prepared draft pull requests for clients and consumer packages to resolve them <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk: this is a type-only change adding an optional metadata field and enum export, with no behavioral changes to transaction processing. > > **Overview** > Adds an optional `submissionMethod` field to `TransactionMeta` along with a new `TransactionSubmissionMethod` enum (currently `sentinel_stx` and `sentinel_relay`) so clients can persist how a transaction was submitted. > > Re-exports `TransactionSubmissionMethod` from the package entrypoint and documents the addition in the `transaction-controller` changelog. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit dd12d37. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
1 parent 5859fbf commit 8e01cc6

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

packages/transaction-controller/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
12+
- Add optional `submissionMethod` property and `TransactionSubmissionMethod` enum to `TransactionMeta` ([#8375](https://github.com/MetaMask/core/pull/8375))
13+
1014
### Changed
1115

1216
- Bump `@metamask/accounts-controller` from `^37.1.1` to `^37.2.0` ([#8363](https://github.com/MetaMask/core/pull/8363))

packages/transaction-controller/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ export {
123123
TransactionContainerType,
124124
TransactionEnvelopeType,
125125
TransactionStatus,
126+
TransactionSubmissionMethod,
126127
TransactionType,
127128
UserFeeLevel,
128129
WalletDevice,

packages/transaction-controller/src/types.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,11 @@ export type TransactionMeta = {
574574
error: string;
575575
message: string;
576576
};
577+
578+
/**
579+
* The method used to submit the transaction to the network.
580+
*/
581+
submissionMethod?: TransactionSubmissionMethod;
577582
};
578583

579584
/**
@@ -640,6 +645,14 @@ export type SendFlowHistoryEntry = {
640645
timestamp: number;
641646
};
642647

648+
/**
649+
* The method used to submit a transaction to the network.
650+
*/
651+
export enum TransactionSubmissionMethod {
652+
SentinelStx = 'sentinel_stx',
653+
SentinelRelay = 'sentinel_relay',
654+
}
655+
643656
/**
644657
* Represents the status of a transaction within the wallet.
645658
* Each status reflects the state of the transaction internally,

0 commit comments

Comments
 (0)