Skip to content
Merged
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%3A61.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-61.0.0-4c5dc448b3.patch",
"@metamask/assets-controllers": "patch:@metamask/assets-controllers@npm%3A62.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-62.0.0-e019b7a559.patch",
"@metamask/base-controller": "^8.0.0",
"@metamask/bitcoin-wallet-snap": "^0.12.1",
"@metamask/bridge-controller": "^20.0.0",
Expand Down
2 changes: 1 addition & 1 deletion privacy-snapshot.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"configuration.metamask-institutional.io",
"connect.trezor.io",
"customnetwork.test",
"defiadapters.dev-api.cx.metamask.io",
"defiadapters.api.cx.metamask.io",
"doesntexist.test",
"etherscan.io",
"execution.metamask.io",
Expand Down
6 changes: 3 additions & 3 deletions test/e2e/tests/confirmations/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ export async function mockDeFiPositionFeatureFlag(mockServer: Mockttp) {
return [
await mockServer
.forGet(
'https://defiadapters.dev-api.cx.metamask.io/positions/0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
'https://defiadapters.api.cx.metamask.io/positions/0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
)
.thenCallback(() => {
return {
Expand Down Expand Up @@ -557,7 +557,7 @@ export async function mockNoDeFiPositionFeatureFlag(mockServer: Mockttp) {
return [
await mockServer
.forGet(
'https://defiadapters.dev-api.cx.metamask.io/positions/0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
'https://defiadapters.api.cx.metamask.io/positions/0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
)
.thenCallback(() => {
return {
Expand Down Expand Up @@ -586,7 +586,7 @@ export async function mockDefiPositionsFailure(mockServer: Mockttp) {
return [
await mockServer
.forGet(
'https://defiadapters.dev-api.cx.metamask.io/positions/0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
'https://defiadapters.api.cx.metamask.io/positions/0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
)
.thenCallback(() => {
return {
Expand Down
15 changes: 0 additions & 15 deletions ui/hooks/accounts/useMultichainWalletSnapClient.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import { BITCOIN_WALLET_SNAP_ID } from '../../../shared/lib/accounts/bitcoin-wal
import { SOLANA_WALLET_SNAP_ID } from '../../../shared/lib/accounts/solana-wallet-snap';
import {
createSnapAccount,
multichainUpdateBalance,
multichainUpdateTransactions,
} from '../../store/actions';
import {
Expand All @@ -24,12 +23,10 @@ import {

jest.mock('../../store/actions', () => ({
createSnapAccount: jest.fn(),
multichainUpdateBalance: jest.fn(),
multichainUpdateTransactions: jest.fn(),
}));

const mockCreateSnapAccount = createSnapAccount as jest.Mock;
const mockMultichainUpdateBalance = multichainUpdateBalance as jest.Mock;
const mockMultichainUpdateTransactions =
multichainUpdateTransactions as jest.Mock;

Expand Down Expand Up @@ -113,18 +110,6 @@ describe('useMultichainWalletSnapClient', () => {
);
});

it(`force fetches the balance after creating a ${clientType} account`, async () => {
const { result } = renderHook(() =>
useMultichainWalletSnapClient(clientType),
);
const multichainWalletSnapClient = result.current;

mockCreateSnapAccount.mockResolvedValue(mockAccount);

await multichainWalletSnapClient.createAccount({ scope: network });
expect(mockMultichainUpdateBalance).toHaveBeenCalledWith(mockAccount.id);
});

it(`force fetches the transactions after creating a ${clientType} account`, async () => {
const { result } = renderHook(() =>
useMultichainWalletSnapClient(clientType),
Expand Down
8 changes: 1 addition & 7 deletions ui/hooks/accounts/useMultichainWalletSnapClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import {
createSnapAccount,
getNextAvailableAccountName,
handleSnapRequest,
multichainUpdateBalance,
multichainUpdateTransactions,
} from '../../store/actions';
import {
Expand Down Expand Up @@ -113,12 +112,7 @@ export class MultichainWalletSnapClient implements WalletSnapClient {
internalOptions,
);

// NOTE: The account's balance is going to be tracked automatically on when the new account
// 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);
// TODO: Remove this and the above line once Snap account creation flow is async
// TODO: Remove this once Snap account creation flow is async
await multichainUpdateTransactions(account.id);

return account;
Expand Down
30 changes: 15 additions & 15 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4992,9 +4992,9 @@ __metadata:
languageName: node
linkType: hard

"@metamask/assets-controllers@npm:61.0.0":
version: 61.0.0
resolution: "@metamask/assets-controllers@npm:61.0.0"
"@metamask/assets-controllers@npm:62.0.0":
version: 62.0.0
resolution: "@metamask/assets-controllers@npm:62.0.0"
dependencies:
"@ethereumjs/util": "npm:^9.1.0"
"@ethersproject/abi": "npm:^5.7.0"
Expand All @@ -5005,7 +5005,7 @@ __metadata:
"@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/controller-utils": "npm:^11.8.0"
"@metamask/eth-query": "npm:^4.0.0"
"@metamask/keyring-api": "npm:^17.4.0"
"@metamask/metamask-eth-abis": "npm:^3.1.1"
Expand Down Expand Up @@ -5034,13 +5034,13 @@ __metadata:
"@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/8b28676b16cb1fab90d1102c617513ddf824712bb79875bfafc978aa9251f4ce966028df7bde2aedc193826c630616368552d497bc22e26d1f5b2edc16e8e74b
checksum: 10/6de450df8dab117f3d5ab1bd67605ea5ad97da912cfe2eae6853bc8aca8d70c62eecbd95cb01d9fdf2253691f059d3f826832abb012cda2d544dbd2aee09a85c
languageName: node
linkType: hard

"@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A61.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-61.0.0-4c5dc448b3.patch":
version: 61.0.0
resolution: "@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A61.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-61.0.0-4c5dc448b3.patch::version=61.0.0&hash=f9ee52"
"@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A62.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-62.0.0-e019b7a559.patch":
version: 62.0.0
resolution: "@metamask/assets-controllers@patch:@metamask/assets-controllers@npm%3A62.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-62.0.0-e019b7a559.patch::version=62.0.0&hash=f9ee52"
dependencies:
"@ethereumjs/util": "npm:^9.1.0"
"@ethersproject/abi": "npm:^5.7.0"
Expand All @@ -5051,7 +5051,7 @@ __metadata:
"@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/controller-utils": "npm:^11.8.0"
"@metamask/eth-query": "npm:^4.0.0"
"@metamask/keyring-api": "npm:^17.4.0"
"@metamask/metamask-eth-abis": "npm:^3.1.1"
Expand Down Expand Up @@ -5080,7 +5080,7 @@ __metadata:
"@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/abb28a599dcdc8f88e72c914ddeb9409de26c2fab14d1655c101dca6c3869a48aed7b7c6e55e24da5047cf0112ac7167d5d74208cd3d5657bb4b17cdb082aa48
checksum: 10/7272110344c03cfb9f3f4f0c4881328f138f9d56d5638de83875df2a817052612506be6bb855e469627a6b06353b89f098bfabd667e82b16e4e5268c4bfc2e0f
languageName: node
linkType: hard

Expand Down Expand Up @@ -5235,9 +5235,9 @@ __metadata:
languageName: node
linkType: hard

"@metamask/controller-utils@npm:^11.0.0, @metamask/controller-utils@npm:^11.3.0, @metamask/controller-utils@npm:^11.5.0, @metamask/controller-utils@npm:^11.6.0, @metamask/controller-utils@npm:^11.7.0":
version: 11.7.0
resolution: "@metamask/controller-utils@npm:11.7.0"
"@metamask/controller-utils@npm:^11.0.0, @metamask/controller-utils@npm:^11.3.0, @metamask/controller-utils@npm:^11.5.0, @metamask/controller-utils@npm:^11.6.0, @metamask/controller-utils@npm:^11.7.0, @metamask/controller-utils@npm:^11.8.0":
version: 11.8.0
resolution: "@metamask/controller-utils@npm:11.8.0"
dependencies:
"@ethereumjs/util": "npm:^9.1.0"
"@metamask/eth-query": "npm:^4.0.0"
Expand All @@ -5252,7 +5252,7 @@ __metadata:
fast-deep-equal: "npm:^3.1.3"
peerDependencies:
"@babel/runtime": ^7.0.0
checksum: 10/68e5c91d9f8a4362b6e67c15cf2887ed00b7c8903ba201b6e0262d4f57bdc0c82d356ec4a34b96d562436f7193696d20c510af035053b9860b4a764a8d3b064f
checksum: 10/65b58635cce4388d86990c625cf57233b7f235ceb763f97e2a59b06f720a4ee4eb7c7a82166b4e1ecc85eba7316d4fe6a6b3ad7e4b866be7c83af3f1710d1780
languageName: node
linkType: hard

Expand Down Expand Up @@ -29994,7 +29994,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%3A61.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-61.0.0-4c5dc448b3.patch"
"@metamask/assets-controllers": "patch:@metamask/assets-controllers@npm%3A62.0.0#~/.yarn/patches/@metamask-assets-controllers-npm-62.0.0-e019b7a559.patch"
"@metamask/auto-changelog": "npm:^2.1.0"
"@metamask/base-controller": "npm:^8.0.0"
"@metamask/bitcoin-wallet-snap": "npm:^0.12.1"
Expand Down
Loading