Skip to content

feat(wallet): wire TransactionController into default initialization#8975

Draft
matthewwalsh0 wants to merge 11 commits into
chore/remove-deprecated-tx-optionsfrom
feat/wallet-wire-transaction-controller
Draft

feat(wallet): wire TransactionController into default initialization#8975
matthewwalsh0 wants to merge 11 commits into
chore/remove-deprecated-tx-optionsfrom
feat/wallet-wire-transaction-controller

Conversation

@matthewwalsh0
Copy link
Copy Markdown
Member

@matthewwalsh0 matthewwalsh0 commented Jun 2, 2026

Explanation

Adds packages/wallet/src/initialization/instances/transaction-controller/ following the same pattern established by the approval-controller/ directory in #8953.

The directory contains:

  • transaction-controller.ts — the InitializationConfiguration that wires TransactionController into the default wallet initialization, delegating messenger actions from the root and creating a typed child messenger for the controller
  • types.tsTransactionControllerInitMessenger, TransactionControllerInitMessengerActions, TransactionControllerInitMessengerEvents, and TransactionControllerInstanceOptions (a subset of TransactionControllerOptions that exposes only the genuinely platform-specific options; shared defaults are hardcoded in the config)

References

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
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

@matthewwalsh0 matthewwalsh0 force-pushed the feat/wallet-wire-transaction-controller branch 4 times, most recently from c3042bb to 9677e31 Compare June 2, 2026 21:23
@matthewwalsh0 matthewwalsh0 force-pushed the feat/wallet-wire-transaction-controller branch from 58d79cc to 0069b11 Compare June 3, 2026 09:02
- Remove disableHistory and disableSendFlowHistory options
- Replace getCurrentAccountEIP1559Compatibility with constant true
- Replace getCurrentNetworkEIP1559Compatibility with NetworkController:getEIP1559Compatibility messenger call
- Remove getExternalPendingTransactions (STX now routes through TransactionController)
- Replace getGasFeeEstimates with GasFeeController:fetchGasFeeEstimates messenger call
- Remove getNetworkClientRegistry option; inline messenger call in MultichainTrackingHelper
- Replace getNetworkState with NetworkController:getState messenger call
- Replace sign option with KeyringController:signTransaction messenger call; add txDataToTransaction helper
- Remove transactionHistoryLimit option (now a feature flag)
- Remove securityProviderRequest option and SecurityProviderRequest type export
- Remove afterSimulate hook option and AfterSimulateHook type (unused in both clients)
- Remove isResubmitEnabled option and all resubmit logic from PendingTransactionTracker
- Remove afterSign hook (unused in both clients)
- Remove getAdditionalSignArguments hook (unused in both clients, also never called internally)
- Remove afterSimulate hook (unused in both clients)
- Move isTimeoutEnabled from hooks to root constructor options
- Change serializeTransaction to accept TypedTxData directly via TransactionFactory.fromTxData
- Remove txDataToTransaction helper; #updateTransactionMetaRSV now accepts TypedTxData
@matthewwalsh0 matthewwalsh0 force-pushed the feat/wallet-wire-transaction-controller branch from 4bf9b25 to 2aac690 Compare June 3, 2026 12:36
@matthewwalsh0 matthewwalsh0 changed the base branch from main to chore/remove-deprecated-tx-options June 3, 2026 12:36
@matthewwalsh0 matthewwalsh0 force-pushed the chore/remove-deprecated-tx-options branch from de6504d to bfc8a1a Compare June 4, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant