Skip to content

Conversation

@montelaidev
Copy link
Contributor

@montelaidev montelaidev commented Oct 30, 2025

Explanation

This PR adds traces to the Multichain Account Service.

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

Adds pluggable tracing to account discovery across EVM, Solana, Bitcoin, and Tron providers with a default no-op fallback and service-level configuration.

  • Tracing/Analytics:
    • Add TraceName enum and traceFallback in src/analytics/* with exports.
    • Extend SnapAccountProvider to accept a TraceCallback and provide a protected trace wrapper.
    • Wrap discoverAccounts in tracing for EvmAccountProvider, SolAccountProvider, TrxAccountProvider, and BtcAccountProvider (defaulting to traceFallback).
    • MultichainAccountService accepts optional config.trace and passes it to providers.
  • Types:
    • Add MultichainAccountServiceConfig with optional trace and plumb through constructors.
  • Tests:
    • Add comprehensive trace behavior tests for all providers and SnapAccountProvider (custom vs fallback, empty/error cases).
    • Update service/provider constructor tests to assert TraceCallback is passed; minor event emission assertion tightened.
  • Docs/Meta:
    • Update CHANGELOG.md noting optional tracing configuration.

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

@montelaidev montelaidev requested review from a team as code owners October 30, 2025 10:02
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@montelaidev
Copy link
Contributor Author

@metamaskbot publish-preview

cursor[bot]

This comment was marked as outdated.

@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": "2.0.0-preview-51709948",
  "@metamask-previews/accounts-controller": "34.0.0-preview-51709948",
  "@metamask-previews/address-book-controller": "7.0.0-preview-51709948",
  "@metamask-previews/announcement-controller": "8.0.0-preview-51709948",
  "@metamask-previews/app-metadata-controller": "2.0.0-preview-51709948",
  "@metamask-previews/approval-controller": "8.0.0-preview-51709948",
  "@metamask-previews/assets-controllers": "86.0.0-preview-51709948",
  "@metamask-previews/base-controller": "9.0.0-preview-51709948",
  "@metamask-previews/bridge-controller": "58.0.0-preview-51709948",
  "@metamask-previews/bridge-status-controller": "58.0.0-preview-51709948",
  "@metamask-previews/build-utils": "3.0.4-preview-51709948",
  "@metamask-previews/chain-agnostic-permission": "1.2.2-preview-51709948",
  "@metamask-previews/composable-controller": "12.0.0-preview-51709948",
  "@metamask-previews/controller-utils": "11.15.0-preview-51709948",
  "@metamask-previews/core-backend": "4.0.0-preview-51709948",
  "@metamask-previews/delegation-controller": "1.0.0-preview-51709948",
  "@metamask-previews/earn-controller": "9.0.0-preview-51709948",
  "@metamask-previews/eip-5792-middleware": "2.0.0-preview-51709948",
  "@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-51709948",
  "@metamask-previews/eip1193-permission-middleware": "1.0.2-preview-51709948",
  "@metamask-previews/ens-controller": "18.0.0-preview-51709948",
  "@metamask-previews/error-reporting-service": "3.0.0-preview-51709948",
  "@metamask-previews/eth-block-tracker": "14.0.0-preview-51709948",
  "@metamask-previews/eth-json-rpc-middleware": "21.0.0-preview-51709948",
  "@metamask-previews/eth-json-rpc-provider": "5.0.1-preview-51709948",
  "@metamask-previews/foundryup": "1.0.1-preview-51709948",
  "@metamask-previews/gas-fee-controller": "25.0.0-preview-51709948",
  "@metamask-previews/gator-permissions-controller": "0.3.0-preview-51709948",
  "@metamask-previews/json-rpc-engine": "10.1.1-preview-51709948",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-51709948",
  "@metamask-previews/keyring-controller": "24.0.0-preview-51709948",
  "@metamask-previews/logging-controller": "7.0.0-preview-51709948",
  "@metamask-previews/message-manager": "14.0.0-preview-51709948",
  "@metamask-previews/messenger": "0.3.0-preview-51709948",
  "@metamask-previews/multichain-account-service": "2.0.0-preview-51709948",
  "@metamask-previews/multichain-api-middleware": "1.2.4-preview-51709948",
  "@metamask-previews/multichain-network-controller": "2.0.0-preview-51709948",
  "@metamask-previews/multichain-transactions-controller": "6.0.0-preview-51709948",
  "@metamask-previews/name-controller": "9.0.0-preview-51709948",
  "@metamask-previews/network-controller": "25.0.0-preview-51709948",
  "@metamask-previews/network-enablement-controller": "3.1.0-preview-51709948",
  "@metamask-previews/notification-services-controller": "19.0.0-preview-51709948",
  "@metamask-previews/permission-controller": "12.1.0-preview-51709948",
  "@metamask-previews/permission-log-controller": "5.0.0-preview-51709948",
  "@metamask-previews/phishing-controller": "15.0.0-preview-51709948",
  "@metamask-previews/polling-controller": "15.0.0-preview-51709948",
  "@metamask-previews/preferences-controller": "21.0.0-preview-51709948",
  "@metamask-previews/profile-sync-controller": "26.0.0-preview-51709948",
  "@metamask-previews/rate-limit-controller": "7.0.0-preview-51709948",
  "@metamask-previews/remote-feature-flag-controller": "2.0.0-preview-51709948",
  "@metamask-previews/sample-controllers": "3.0.0-preview-51709948",
  "@metamask-previews/seedless-onboarding-controller": "6.0.0-preview-51709948",
  "@metamask-previews/selected-network-controller": "25.0.0-preview-51709948",
  "@metamask-previews/shield-controller": "1.1.0-preview-51709948",
  "@metamask-previews/signature-controller": "35.0.0-preview-51709948",
  "@metamask-previews/subscription-controller": "3.1.0-preview-51709948",
  "@metamask-previews/token-search-discovery-controller": "4.0.0-preview-51709948",
  "@metamask-previews/transaction-controller": "61.1.0-preview-51709948",
  "@metamask-previews/transaction-pay-controller": "2.0.0-preview-51709948",
  "@metamask-previews/user-operation-controller": "40.0.0-preview-51709948"
}

@montelaidev montelaidev enabled auto-merge (squash) November 7, 2025 14:49
@montelaidev montelaidev merged commit c0f03a0 into main Nov 7, 2025
271 checks passed
@montelaidev montelaidev deleted the fix/mul-1186 branch November 7, 2025 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants