Skip to content

Conversation

@ccharly
Copy link
Contributor

@ccharly ccharly commented Aug 27, 2025

Explanation

Testing transient state for services.

References

N/A

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

@ccharly
Copy link
Contributor Author

ccharly commented Aug 27, 2025

@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": "0.10.0-preview-7baa727",
  "@metamask-previews/accounts-controller": "33.0.0-preview-7baa727",
  "@metamask-previews/address-book-controller": "6.1.1-preview-7baa727",
  "@metamask-previews/announcement-controller": "7.0.3-preview-7baa727",
  "@metamask-previews/app-metadata-controller": "1.0.0-preview-7baa727",
  "@metamask-previews/approval-controller": "7.1.3-preview-7baa727",
  "@metamask-previews/assets-controllers": "74.1.1-preview-7baa727",
  "@metamask-previews/base-controller": "8.2.0-preview-7baa727",
  "@metamask-previews/bridge-controller": "41.3.0-preview-7baa727",
  "@metamask-previews/bridge-status-controller": "40.2.0-preview-7baa727",
  "@metamask-previews/build-utils": "3.0.3-preview-7baa727",
  "@metamask-previews/chain-agnostic-permission": "1.1.1-preview-7baa727",
  "@metamask-previews/composable-controller": "11.0.0-preview-7baa727",
  "@metamask-previews/controller-utils": "11.12.0-preview-7baa727",
  "@metamask-previews/delegation-controller": "0.7.0-preview-7baa727",
  "@metamask-previews/earn-controller": "6.0.0-preview-7baa727",
  "@metamask-previews/eip1193-permission-middleware": "1.0.0-preview-7baa727",
  "@metamask-previews/ens-controller": "17.0.1-preview-7baa727",
  "@metamask-previews/error-reporting-service": "2.0.0-preview-7baa727",
  "@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-7baa727",
  "@metamask-previews/foundryup": "1.0.1-preview-7baa727",
  "@metamask-previews/gas-fee-controller": "24.0.0-preview-7baa727",
  "@metamask-previews/gator-permissions-controller": "0.0.0-preview-7baa727",
  "@metamask-previews/json-rpc-engine": "10.0.3-preview-7baa727",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-7baa727",
  "@metamask-previews/keyring-controller": "23.0.0-preview-7baa727",
  "@metamask-previews/logging-controller": "6.0.4-preview-7baa727",
  "@metamask-previews/message-manager": "12.0.2-preview-7baa727",
  "@metamask-previews/messenger": "0.1.0-preview-7baa727",
  "@metamask-previews/multichain-account-service": "0.5.0-preview-7baa727",
  "@metamask-previews/multichain-api-middleware": "1.0.0-preview-7baa727",
  "@metamask-previews/multichain-network-controller": "0.12.0-preview-7baa727",
  "@metamask-previews/multichain-transactions-controller": "5.0.0-preview-7baa727",
  "@metamask-previews/name-controller": "8.0.3-preview-7baa727",
  "@metamask-previews/network-controller": "24.1.0-preview-7baa727",
  "@metamask-previews/network-enablement-controller": "0.4.0-preview-7baa727",
  "@metamask-previews/notification-services-controller": "17.0.0-preview-7baa727",
  "@metamask-previews/permission-controller": "11.0.6-preview-7baa727",
  "@metamask-previews/permission-log-controller": "4.0.0-preview-7baa727",
  "@metamask-previews/phishing-controller": "13.1.0-preview-7baa727",
  "@metamask-previews/polling-controller": "14.0.0-preview-7baa727",
  "@metamask-previews/preferences-controller": "19.0.0-preview-7baa727",
  "@metamask-previews/profile-sync-controller": "24.0.0-preview-7baa727",
  "@metamask-previews/rate-limit-controller": "6.0.3-preview-7baa727",
  "@metamask-previews/remote-feature-flag-controller": "1.7.0-preview-7baa727",
  "@metamask-previews/sample-controllers": "1.0.0-preview-7baa727",
  "@metamask-previews/seedless-onboarding-controller": "3.0.0-preview-7baa727",
  "@metamask-previews/selected-network-controller": "23.0.0-preview-7baa727",
  "@metamask-previews/shield-controller": "0.1.0-preview-7baa727",
  "@metamask-previews/signature-controller": "33.0.0-preview-7baa727",
  "@metamask-previews/token-search-discovery-controller": "3.3.0-preview-7baa727",
  "@metamask-previews/transaction-controller": "60.1.0-preview-7baa727",
  "@metamask-previews/user-operation-controller": "39.0.0-preview-7baa727"
}

@ccharly ccharly force-pushed the feat/multichain-account-service-transient-state branch from 7baa727 to 8159614 Compare August 29, 2025 13:26
@ccharly
Copy link
Contributor Author

ccharly commented Aug 29, 2025

@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": "0.12.0-preview-8159614",
  "@metamask-previews/accounts-controller": "33.0.0-preview-8159614",
  "@metamask-previews/address-book-controller": "6.1.1-preview-8159614",
  "@metamask-previews/announcement-controller": "7.0.3-preview-8159614",
  "@metamask-previews/app-metadata-controller": "1.0.0-preview-8159614",
  "@metamask-previews/approval-controller": "7.1.3-preview-8159614",
  "@metamask-previews/assets-controllers": "74.3.1-preview-8159614",
  "@metamask-previews/base-controller": "8.2.0-preview-8159614",
  "@metamask-previews/bridge-controller": "41.4.0-preview-8159614",
  "@metamask-previews/bridge-status-controller": "40.2.0-preview-8159614",
  "@metamask-previews/build-utils": "3.0.3-preview-8159614",
  "@metamask-previews/chain-agnostic-permission": "1.1.1-preview-8159614",
  "@metamask-previews/composable-controller": "11.0.0-preview-8159614",
  "@metamask-previews/controller-utils": "11.12.0-preview-8159614",
  "@metamask-previews/delegation-controller": "0.7.0-preview-8159614",
  "@metamask-previews/earn-controller": "6.0.0-preview-8159614",
  "@metamask-previews/eip1193-permission-middleware": "1.0.0-preview-8159614",
  "@metamask-previews/ens-controller": "17.0.1-preview-8159614",
  "@metamask-previews/error-reporting-service": "2.0.0-preview-8159614",
  "@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-8159614",
  "@metamask-previews/foundryup": "1.0.1-preview-8159614",
  "@metamask-previews/gas-fee-controller": "24.0.0-preview-8159614",
  "@metamask-previews/gator-permissions-controller": "0.0.0-preview-8159614",
  "@metamask-previews/json-rpc-engine": "10.0.3-preview-8159614",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-8159614",
  "@metamask-previews/keyring-controller": "23.0.0-preview-8159614",
  "@metamask-previews/logging-controller": "6.0.4-preview-8159614",
  "@metamask-previews/message-manager": "12.0.2-preview-8159614",
  "@metamask-previews/messenger": "0.1.0-preview-8159614",
  "@metamask-previews/multichain-account-service": "0.5.0-preview-8159614",
  "@metamask-previews/multichain-api-middleware": "1.0.0-preview-8159614",
  "@metamask-previews/multichain-network-controller": "0.12.0-preview-8159614",
  "@metamask-previews/multichain-transactions-controller": "5.0.0-preview-8159614",
  "@metamask-previews/name-controller": "8.0.3-preview-8159614",
  "@metamask-previews/network-controller": "24.1.0-preview-8159614",
  "@metamask-previews/network-enablement-controller": "0.4.0-preview-8159614",
  "@metamask-previews/notification-services-controller": "17.0.0-preview-8159614",
  "@metamask-previews/permission-controller": "11.0.6-preview-8159614",
  "@metamask-previews/permission-log-controller": "4.0.0-preview-8159614",
  "@metamask-previews/phishing-controller": "13.1.0-preview-8159614",
  "@metamask-previews/polling-controller": "14.0.0-preview-8159614",
  "@metamask-previews/preferences-controller": "19.0.0-preview-8159614",
  "@metamask-previews/profile-sync-controller": "24.0.0-preview-8159614",
  "@metamask-previews/rate-limit-controller": "6.0.3-preview-8159614",
  "@metamask-previews/remote-feature-flag-controller": "1.7.0-preview-8159614",
  "@metamask-previews/sample-controllers": "1.0.0-preview-8159614",
  "@metamask-previews/seedless-onboarding-controller": "3.0.0-preview-8159614",
  "@metamask-previews/selected-network-controller": "23.0.0-preview-8159614",
  "@metamask-previews/shield-controller": "0.1.1-preview-8159614",
  "@metamask-previews/signature-controller": "33.0.0-preview-8159614",
  "@metamask-previews/token-search-discovery-controller": "3.3.0-preview-8159614",
  "@metamask-previews/transaction-controller": "60.1.0-preview-8159614",
  "@metamask-previews/user-operation-controller": "39.0.0-preview-8159614"
}

Copy link
Contributor

@fabiobozzo fabiobozzo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. One question: where exactly do you "reduce" the in-progress state of each wallet to a 'global' service state? aka "at least one wallet alignment is in progress" ?

} from './MultichainAccountService';
import type { MultichainAccountWalletTransientState } from './MultichainAccountWallet';

export type MultichainAccountServiceTransientState = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit nit: JSDoc here?

@ccharly
Copy link
Contributor Author

ccharly commented Aug 29, 2025

LGTM. One question: where exactly do you "reduce" the in-progress state of each wallet to a 'global' service state? aka "at least one wallet alignment is in progress" ?

I didn't change anything for this, so we loop through every wallet instances and use getIsAlignmentInProgress (which are proxy-ed to the actual service state)

@ccharly
Copy link
Contributor Author

ccharly commented Sep 11, 2025

@ccharly ccharly closed this Sep 11, 2025
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