Skip to content

Conversation

@matthewwalsh0
Copy link
Member

@matthewwalsh0 matthewwalsh0 commented Oct 27, 2025

Explanation

Do not wait for a transaction receipt if the intent of the transaction is marked as complete via the new isIntentComplete property on TransactionMeta.

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, highlighting breaking changes as necessary
  • I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes

Note

Introduces isIntentComplete on TransactionMeta and updates PendingTransactionTracker to mark transactions confirmed without receipt when set, with tests and changelog updates.

  • Transaction tracking:
    • PendingTransactionTracker.#checkTransaction now confirms transactions immediately if txMeta.isIntentComplete is true, skipping receipt checks.
    • PendingTransactionTracker.#onTransactionConfirmed now accepts an optional receipt; blockchain fields (baseFeePerGas, blockTimestamp, txReceipt, verifiedOnBlockchain, txParams.gasUsed) are set only when a receipt is present.
  • Types:
    • Add optional isIntentComplete to TransactionMeta in src/types.ts.
  • Tests:
    • Add tests to confirm immediate confirmation when isIntentComplete is true and adjust confirmation/update expectations.
  • Docs:
    • Update CHANGELOG.md with the new isIntentComplete property.

Written by Cursor Bugbot for commit 61e1ad6. This will update automatically on new commits. Configure here.

@matthewwalsh0 matthewwalsh0 marked this pull request as ready for review October 27, 2025 11:08
@matthewwalsh0 matthewwalsh0 requested a review from a team as a code owner October 27, 2025 11:08
cursor[bot]

This comment was marked as outdated.

@matthewwalsh0
Copy link
Member Author

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/account-tree-controller": "1.6.0-preview-5423b74a",
  "@metamask-previews/accounts-controller": "33.2.0-preview-5423b74a",
  "@metamask-previews/address-book-controller": "6.2.1-preview-5423b74a",
  "@metamask-previews/announcement-controller": "7.1.1-preview-5423b74a",
  "@metamask-previews/app-metadata-controller": "1.1.1-preview-5423b74a",
  "@metamask-previews/approval-controller": "7.2.1-preview-5423b74a",
  "@metamask-previews/assets-controllers": "83.1.0-preview-5423b74a",
  "@metamask-previews/base-controller": "8.4.2-preview-5423b74a",
  "@metamask-previews/bridge-controller": "55.0.0-preview-5423b74a",
  "@metamask-previews/bridge-status-controller": "55.0.0-preview-5423b74a",
  "@metamask-previews/build-utils": "3.0.4-preview-5423b74a",
  "@metamask-previews/chain-agnostic-permission": "1.2.1-preview-5423b74a",
  "@metamask-previews/composable-controller": "11.1.1-preview-5423b74a",
  "@metamask-previews/controller-utils": "11.14.1-preview-5423b74a",
  "@metamask-previews/core-backend": "3.0.0-preview-5423b74a",
  "@metamask-previews/delegation-controller": "0.8.1-preview-5423b74a",
  "@metamask-previews/earn-controller": "8.0.2-preview-5423b74a",
  "@metamask-previews/eip-5792-middleware": "1.2.4-preview-5423b74a",
  "@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-5423b74a",
  "@metamask-previews/eip1193-permission-middleware": "1.0.1-preview-5423b74a",
  "@metamask-previews/ens-controller": "17.1.1-preview-5423b74a",
  "@metamask-previews/error-reporting-service": "2.2.2-preview-5423b74a",
  "@metamask-previews/eth-block-tracker": "14.0.0-preview-5423b74a",
  "@metamask-previews/eth-json-rpc-middleware": "21.0.0-preview-5423b74a",
  "@metamask-previews/eth-json-rpc-provider": "5.0.1-preview-5423b74a",
  "@metamask-previews/foundryup": "1.0.1-preview-5423b74a",
  "@metamask-previews/gas-fee-controller": "24.1.1-preview-5423b74a",
  "@metamask-previews/gator-permissions-controller": "0.2.2-preview-5423b74a",
  "@metamask-previews/json-rpc-engine": "10.1.1-preview-5423b74a",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-5423b74a",
  "@metamask-previews/keyring-controller": "23.2.0-preview-5423b74a",
  "@metamask-previews/logging-controller": "6.1.1-preview-5423b74a",
  "@metamask-previews/message-manager": "13.0.2-preview-5423b74a",
  "@metamask-previews/messenger": "0.3.0-preview-5423b74a",
  "@metamask-previews/multichain-account-service": "1.6.2-preview-5423b74a",
  "@metamask-previews/multichain-api-middleware": "1.2.2-preview-5423b74a",
  "@metamask-previews/multichain-network-controller": "1.0.2-preview-5423b74a",
  "@metamask-previews/multichain-transactions-controller": "5.1.1-preview-5423b74a",
  "@metamask-previews/name-controller": "8.1.1-preview-5423b74a",
  "@metamask-previews/network-controller": "24.3.1-preview-5423b74a",
  "@metamask-previews/network-enablement-controller": "2.1.2-preview-5423b74a",
  "@metamask-previews/notification-services-controller": "18.3.1-preview-5423b74a",
  "@metamask-previews/permission-controller": "11.1.1-preview-5423b74a",
  "@metamask-previews/permission-log-controller": "4.1.1-preview-5423b74a",
  "@metamask-previews/phishing-controller": "14.1.3-preview-5423b74a",
  "@metamask-previews/polling-controller": "14.0.2-preview-5423b74a",
  "@metamask-previews/preferences-controller": "20.1.1-preview-5423b74a",
  "@metamask-previews/profile-sync-controller": "25.1.2-preview-5423b74a",
  "@metamask-previews/rate-limit-controller": "6.1.1-preview-5423b74a",
  "@metamask-previews/remote-feature-flag-controller": "1.9.1-preview-5423b74a",
  "@metamask-previews/sample-controllers": "2.0.2-preview-5423b74a",
  "@metamask-previews/seedless-onboarding-controller": "4.1.1-preview-5423b74a",
  "@metamask-previews/selected-network-controller": "24.0.2-preview-5423b74a",
  "@metamask-previews/shield-controller": "0.4.0-preview-5423b74a",
  "@metamask-previews/signature-controller": "34.0.2-preview-5423b74a",
  "@metamask-previews/subscription-controller": "2.1.0-preview-5423b74a",
  "@metamask-previews/token-search-discovery-controller": "3.5.1-preview-5423b74a",
  "@metamask-previews/transaction-controller": "60.10.0-preview-5423b74a",
  "@metamask-previews/user-operation-controller": "39.2.1-preview-5423b74a"
}

@matthewwalsh0 matthewwalsh0 force-pushed the feat/transaction-controller-intent-complete branch from d9969d2 to 6741a3b Compare October 27, 2025 18:14
cursor[bot]

This comment was marked as outdated.

@matthewwalsh0 matthewwalsh0 requested a review from a team as a code owner October 28, 2025 12:59
@matthewwalsh0 matthewwalsh0 enabled auto-merge (squash) October 28, 2025 12:59
@matthewwalsh0 matthewwalsh0 merged commit 96c8582 into main Oct 28, 2025
256 checks passed
@matthewwalsh0 matthewwalsh0 deleted the feat/transaction-controller-intent-complete branch October 28, 2025 13:16
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.

3 participants