Skip to content

Conversation

@mathieuartu
Copy link
Contributor

@mathieuartu mathieuartu commented Oct 29, 2025

Explanation

References

Related to MUL-1222, MUL-1221

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 per-provider concurrency throttling for non‑EVM account creation (Solana limited to 3), refactors creation flow to queue non‑EVM providers, and adds tests and changelog updates.

  • Multichain Account Service
    • Per-provider throttling:
      • Add Semaphore-backed queues and PROVIDER_CONCURRENCY_MAP (limits SOL_ACCOUNT_PROVIDER_NAME to 3).
      • New private helper #createNonEvmAccounts to run non‑EVM account creation with optional throttling and error aggregation/logging.
    • Account creation flow (MultichainAccountWallet.createMultichainAccountGroup):
      • Always await EVM provider first; run other providers via #createNonEvmAccounts (await-all or background).
    • Tests:
      • Add cases for SOL throttling (await-all and background) and aggregated non‑EVM failures.
    • Changelog:
      • Document added per-provider throttling and SOL concurrency limit.

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

@mathieuartu
Copy link
Contributor Author

@metamaskbot publish-preview

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

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.

2 participants