Skip to content

chore: upgrade assets-controllers v62 #32546

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
import {
CurrencyRateStateChange,
GetCurrencyRateState,
MultichainAssetsControllerStateChangeEvent,
MultichainAssetsControllerAccountAssetListUpdatedEvent,
MultichainAssetsControllerGetStateAction,
} from '@metamask/assets-controllers';
import {
Expand All @@ -28,7 +28,7 @@ type Events =
| KeyringControllerUnlockEvent
| AccountsControllerAccountAddedEvent
| CurrencyRateStateChange
| MultichainAssetsControllerStateChangeEvent;
| MultichainAssetsControllerAccountAssetListUpdatedEvent;

export type MultichainAssetsRatesControllerMessenger = ReturnType<
typeof getMultichainAssetsRatesControllerMessenger
Expand All @@ -51,7 +51,7 @@ export function getMultichainAssetsRatesControllerMessenger(
'KeyringController:lock',
'KeyringController:unlock',
'CurrencyRateController:stateChange',
'MultichainAssetsController:stateChange',
'MultichainAssetsController:accountAssetListUpdated',
],
allowedActions: [
'AccountsController:listMultichainAccounts',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import {
} from '@metamask/accounts-controller';
import { HandleSnapRequest } from '@metamask/snaps-controllers';
import {
MultichainAssetsControllerAccountAssetListUpdatedEvent,
MultichainAssetsControllerGetStateAction,
MultichainAssetsControllerStateChangeEvent,
} from '@metamask/assets-controllers';
import { KeyringControllerGetStateAction } from '@metamask/keyring-controller';

Expand All @@ -22,7 +22,7 @@ type Events =
| AccountsControllerAccountAddedEvent
| AccountsControllerAccountRemovedEvent
| AccountsControllerAccountBalancesUpdatesEvent
| MultichainAssetsControllerStateChangeEvent;
| MultichainAssetsControllerAccountAssetListUpdatedEvent;

export type MultichainBalancesControllerMessenger = ReturnType<
typeof getMultichainBalancesControllerMessenger
Expand All @@ -44,7 +44,7 @@ export function getMultichainBalancesControllerMessenger(
'AccountsController:accountAdded',
'AccountsController:accountRemoved',
'AccountsController:accountBalancesUpdated',
'MultichainAssetsController:stateChange',
'MultichainAssetsController:accountAssetListUpdated',
],
allowedActions: [
'AccountsController:listMultichainAccounts',
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@
"@metamask/address-book-controller": "^6.0.3",
"@metamask/announcement-controller": "^7.0.3",
"@metamask/approval-controller": "^7.0.0",
"@metamask/assets-controllers": "patch:@metamask/assets-controllers@npm%3A60.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-60.0.0-7fc404c3fc.patch",
"@metamask/assets-controllers": "patch:@metamask-previews/assets-controllers@61.0.0-preview-ace5334a#.yarn/patches/@metamask-assets-controllers-npm-60.0.0-7fc404c3fc.patch",
"@metamask/base-controller": "^8.0.0",
"@metamask/bitcoin-wallet-snap": "^0.9.0",
"@metamask/bridge-controller": "^18.0.0",
Expand Down
2 changes: 1 addition & 1 deletion ui/hooks/accounts/useMultichainWalletSnapClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
createSnapAccount,
getNextAvailableAccountName,
handleSnapRequest,
multichainUpdateBalance,

Check failure on line 13 in ui/hooks/accounts/useMultichainWalletSnapClient.ts

View workflow job for this annotation

GitHub Actions / test-lint / Test lint

'multichainUpdateBalance' is defined but never used
multichainUpdateTransactions,
} from '../../store/actions';
import {
Expand Down Expand Up @@ -112,7 +112,7 @@
// will be added to the Snap bridge keyring (see `MultichainBalancesController:#handleOnAccountAdded`).
// However, the balance won't be fetched right away. To workaround this, we trigger the
// fetch explicitly here (since we are already in a `async` call) and wait for it to be updated!
await multichainUpdateBalance(account.id);
// await multichainUpdateBalance(account.id);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@ccharly do you this this call is still valid?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think it's time we get rid of those now (even the transaction force-fetch down below).

Most of the controllers now either reacts to :accountAdded or to :account{AssetList,Transactions,Balances}Updated, so they would get those info "asynchronously".

Also, our preinstalled Snaps follow a different architecture now and they normally just fetch the balances/assets/transactions using a cron, so they might not have those info right away (unless they are force-fetching and blocking until they get the results in getAccountBalances and getTransactions...).

IMO, as long as we show a spinner on the balances until we get the Snap event :accountBalancesUpdated, we should be ok to remove those calls.

// TODO: Remove this and the above line once Snap account creation flow is async
await multichainUpdateTransactions(account.id);

Expand Down
108 changes: 54 additions & 54 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4892,6 +4892,52 @@ __metadata:
languageName: node
linkType: hard

"@metamask-previews/assets-controllers@npm:61.0.0-preview-ace5334a":
version: 61.0.0-preview-ace5334a
resolution: "@metamask-previews/assets-controllers@npm:61.0.0-preview-ace5334a"
dependencies:
"@ethereumjs/util": "npm:^9.1.0"
"@ethersproject/abi": "npm:^5.7.0"
"@ethersproject/address": "npm:^5.7.0"
"@ethersproject/bignumber": "npm:^5.7.0"
"@ethersproject/contracts": "npm:^5.7.0"
"@ethersproject/providers": "npm:^5.7.0"
"@metamask/abi-utils": "npm:^2.0.3"
"@metamask/base-controller": "npm:^8.0.1"
"@metamask/contract-metadata": "npm:^2.4.0"
"@metamask/controller-utils": "npm:^11.7.0"
"@metamask/eth-query": "npm:^4.0.0"
"@metamask/keyring-api": "npm:^17.4.0"
"@metamask/metamask-eth-abis": "npm:^3.1.1"
"@metamask/polling-controller": "npm:^13.0.0"
"@metamask/rpc-errors": "npm:^7.0.2"
"@metamask/snaps-utils": "npm:^9.2.0"
"@metamask/utils": "npm:^11.2.0"
"@types/bn.js": "npm:^5.1.5"
"@types/uuid": "npm:^8.3.0"
async-mutex: "npm:^0.5.0"
bitcoin-address-validation: "npm:^2.2.3"
bn.js: "npm:^5.2.1"
immer: "npm:^9.0.6"
lodash: "npm:^4.17.21"
multiformats: "npm:^13.1.0"
single-call-balance-checker-abi: "npm:^1.0.0"
uuid: "npm:^8.3.2"
peerDependencies:
"@metamask/accounts-controller": ^28.0.0
"@metamask/approval-controller": ^7.0.0
"@metamask/keyring-controller": ^21.0.0
"@metamask/network-controller": ^23.0.0
"@metamask/permission-controller": ^11.0.0
"@metamask/preferences-controller": ^17.0.0
"@metamask/providers": ^21.0.0
"@metamask/snaps-controllers": ^11.0.0
"@metamask/transaction-controller": ^55.0.0
webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0
checksum: 10/c26d3a52a0c9e0d70fd3ddd0eb914b2fc19b702cacab5887f8a4f89683dae01535b02b5f8b9fffa65c97a363956f080e5b5dd32d046c9b3582ecd7d9eb5ce18b
languageName: node
linkType: hard

"@metamask/abi-utils@npm:^2.0.2, @metamask/abi-utils@npm:^2.0.3, @metamask/abi-utils@npm:^2.0.4":
version: 2.0.4
resolution: "@metamask/abi-utils@npm:2.0.4"
Expand Down Expand Up @@ -4992,55 +5038,9 @@ __metadata:
languageName: node
linkType: hard

"@metamask/assets-controllers@npm:60.0.0":
version: 60.0.0
resolution: "@metamask/assets-controllers@npm:60.0.0"
dependencies:
"@ethereumjs/util": "npm:^9.1.0"
"@ethersproject/abi": "npm:^5.7.0"
"@ethersproject/address": "npm:^5.7.0"
"@ethersproject/bignumber": "npm:^5.7.0"
"@ethersproject/contracts": "npm:^5.7.0"
"@ethersproject/providers": "npm:^5.7.0"
"@metamask/abi-utils": "npm:^2.0.3"
"@metamask/base-controller": "npm:^8.0.0"
"@metamask/contract-metadata": "npm:^2.4.0"
"@metamask/controller-utils": "npm:^11.7.0"
"@metamask/eth-query": "npm:^4.0.0"
"@metamask/keyring-api": "npm:^17.4.0"
"@metamask/metamask-eth-abis": "npm:^3.1.1"
"@metamask/polling-controller": "npm:^13.0.0"
"@metamask/rpc-errors": "npm:^7.0.2"
"@metamask/snaps-utils": "npm:^9.2.0"
"@metamask/utils": "npm:^11.2.0"
"@types/bn.js": "npm:^5.1.5"
"@types/uuid": "npm:^8.3.0"
async-mutex: "npm:^0.5.0"
bitcoin-address-validation: "npm:^2.2.3"
bn.js: "npm:^5.2.1"
immer: "npm:^9.0.6"
lodash: "npm:^4.17.21"
multiformats: "npm:^13.1.0"
single-call-balance-checker-abi: "npm:^1.0.0"
uuid: "npm:^8.3.2"
peerDependencies:
"@metamask/accounts-controller": ^27.0.0
"@metamask/approval-controller": ^7.0.0
"@metamask/keyring-controller": ^21.0.0
"@metamask/network-controller": ^23.0.0
"@metamask/permission-controller": ^11.0.0
"@metamask/preferences-controller": ^17.0.0
"@metamask/providers": ^21.0.0
"@metamask/snaps-controllers": ^11.0.0
"@metamask/transaction-controller": ^54.0.0
webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0
checksum: 10/7c2452664e18882bc88c86b25a6cc88c6cc85d9481cf01c0b85683e7f93b18dd00cb0f88651ebe087e416a13fa3ffb25269d00299a4899505cb3073dd69dc052
languageName: node
linkType: hard

"@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A60.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-60.0.0-7fc404c3fc.patch":
version: 60.0.0
resolution: "@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A60.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-60.0.0-7fc404c3fc.patch::version=60.0.0&hash=f9ee52"
"@metamask/assets-controllers@patch:@metamask-previews/[email protected]#.yarn/patches/@metamask-assets-controllers-npm-60.0.0-7fc404c3fc.patch::locator=metamask-crx%40workspace%3A.":
version: 61.0.0-preview-ace5334a
resolution: "@metamask/assets-controllers@patch:@metamask-previews/assets-controllers@npm%3A61.0.0-preview-ace5334a#.yarn/patches/@metamask-assets-controllers-npm-60.0.0-7fc404c3fc.patch::version=61.0.0-preview-ace5334a&hash=f9ee52&locator=metamask-crx%40workspace%3A."
dependencies:
"@ethereumjs/util": "npm:^9.1.0"
"@ethersproject/abi": "npm:^5.7.0"
Expand All @@ -5049,7 +5049,7 @@ __metadata:
"@ethersproject/contracts": "npm:^5.7.0"
"@ethersproject/providers": "npm:^5.7.0"
"@metamask/abi-utils": "npm:^2.0.3"
"@metamask/base-controller": "npm:^8.0.0"
"@metamask/base-controller": "npm:^8.0.1"
"@metamask/contract-metadata": "npm:^2.4.0"
"@metamask/controller-utils": "npm:^11.7.0"
"@metamask/eth-query": "npm:^4.0.0"
Expand All @@ -5070,17 +5070,17 @@ __metadata:
single-call-balance-checker-abi: "npm:^1.0.0"
uuid: "npm:^8.3.2"
peerDependencies:
"@metamask/accounts-controller": ^27.0.0
"@metamask/accounts-controller": ^28.0.0
"@metamask/approval-controller": ^7.0.0
"@metamask/keyring-controller": ^21.0.0
"@metamask/network-controller": ^23.0.0
"@metamask/permission-controller": ^11.0.0
"@metamask/preferences-controller": ^17.0.0
"@metamask/providers": ^21.0.0
"@metamask/snaps-controllers": ^11.0.0
"@metamask/transaction-controller": ^54.0.0
"@metamask/transaction-controller": ^55.0.0
webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0
checksum: 10/14f15d4b0fa48aaf8d5aedf4256b36a01a05a7294f9831cca224d99580aee695ef18acefbd1254c273e1cd32fd2d15f69a740937b7f883c159c5a379fd2a0cec
checksum: 10/1d99c36dae2f1f57bfa9b7266f1932dd9997433d2c3336dde4736f79c3ca765e669bcf60991f442bbcdb09d92a3d2970a355a2560cde9d33b2eb5eabb1f7aace
languageName: node
linkType: hard

Expand Down Expand Up @@ -30013,7 +30013,7 @@ __metadata:
"@metamask/announcement-controller": "npm:^7.0.3"
"@metamask/api-specs": "npm:^0.13.0"
"@metamask/approval-controller": "npm:^7.0.0"
"@metamask/assets-controllers": "patch:@metamask/assets-controllers@npm%3A60.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-60.0.0-7fc404c3fc.patch"
"@metamask/assets-controllers": "patch:@metamask-previews/assets-controllers@61.0.0-preview-ace5334a#.yarn/patches/@metamask-assets-controllers-npm-60.0.0-7fc404c3fc.patch"
"@metamask/auto-changelog": "npm:^2.1.0"
"@metamask/base-controller": "npm:^8.0.0"
"@metamask/bitcoin-wallet-snap": "npm:^0.9.0"
Expand Down
Loading