Skip to content

Commit 48aa482

Browse files
committed
fix: fix after rebase
1 parent d8aa775 commit 48aa482

File tree

7 files changed

+65
-10
lines changed

7 files changed

+65
-10
lines changed

app/scripts/controller-init/controller-list.ts

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { TransactionUpdateController } from '@metamask-institutional/transaction
1313
import { AccountsController } from '@metamask/accounts-controller';
1414
import {
1515
MultichainAssetsController,
16+
MultiChainAssetsRatesController,
1617
MultichainBalancesController,
1718
} from '@metamask/assets-controllers';
1819
import { MultichainTransactionsController } from '@metamask/multichain-transactions-controller';
@@ -44,6 +45,7 @@ export type Controller =
4445
| MultichainAssetsController
4546
| MultichainBalancesController
4647
| MultichainTransactionsController
48+
| MultiChainAssetsRatesController
4749
| NetworkController
4850
| OnboardingController
4951
| PermissionController<

app/scripts/controller-init/messengers/index.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ export const CONTROLLER_MESSENGERS = {
3737
MultichainBalancesController: {
3838
getMessenger: getMultichainBalancesControllerMessenger,
3939
},
40+
MultichainAssetsRatesController: {
41+
getMessenger: getMultichainAssetsRatesControllerMessenger,
42+
},
4043
MultichainTransactionsController: {
4144
getMessenger: getMultichainTransactionsControllerMessenger,
4245
},
@@ -65,7 +68,4 @@ export const CONTROLLER_MESSENGERS = {
6568
getMessenger: getTransactionControllerMessenger,
6669
getInitMessenger: getTransactionControllerInitMessenger,
6770
},
68-
MultichainAssetsRatesController: {
69-
getMessenger: getMultichainAssetsRatesControllerMessenger,
70-
},
7171
} as const;

app/scripts/controller-init/messengers/multichain/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
export { getMultichainAssetsControllerMessenger } from './multichain-assets-controller-messenger';
22
export { getMultichainBalancesControllerMessenger } from './multichain-balances-controller-messenger';
33
export { getMultichainTransactionsControllerMessenger } from './multichain-transactions-controller-messenger';
4+
export { getMultichainAssetsRatesControllerMessenger } from './multichain-assets-rates-controller-messenger';
45

56
export type { MultichainAssetsControllerMessenger } from './multichain-assets-controller-messenger';
67
export type { MultichainBalancesControllerMessenger } from './multichain-balances-controller-messenger';
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
export { MultichainAssetsControllerInit } from './multichain-assets-controller-init';
22
export { MultichainBalancesControllerInit } from './multichain-balances-controller-init';
33
export { MultichainTransactionsControllerInit } from './multichain-transactions-controller-init';
4-
export { MultichainAssetsRatesControllerInit } from './multichain-assets-rates-controller-init';
4+
export { MultiChainAssetsRatesControllerInit } from './multichain-rates-assets-controller-init';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import { MultiChainAssetsRatesController } from '@metamask/assets-controllers';
2+
import { Messenger } from '@metamask/base-controller';
3+
import { buildControllerInitRequestMock } from '../test/utils';
4+
import { ControllerInitRequest } from '../types';
5+
import {
6+
getMultichainAssetsRatesControllerMessenger,
7+
MultichainAssetsRatesControllerMessenger,
8+
} from '../messengers/multichain';
9+
import { MultiChainAssetsRatesControllerInit } from './multichain-rates-assets-controller-init';
10+
11+
jest.mock('@metamask/assets-controllers');
12+
13+
function buildInitRequestMock(): jest.Mocked<
14+
ControllerInitRequest<MultichainAssetsRatesControllerMessenger>
15+
> {
16+
const baseControllerMessenger = new Messenger();
17+
18+
return {
19+
...buildControllerInitRequestMock(),
20+
controllerMessenger: getMultichainAssetsRatesControllerMessenger(
21+
baseControllerMessenger,
22+
),
23+
};
24+
}
25+
26+
describe('MultiChainAssetsRatesControllerInit', () => {
27+
const multiChainAssetsRatesControllerClassMock = jest.mocked(
28+
MultiChainAssetsRatesController,
29+
);
30+
31+
beforeEach(() => {
32+
jest.resetAllMocks();
33+
});
34+
35+
it('returns controller instance', () => {
36+
const requestMock = buildInitRequestMock();
37+
expect(
38+
MultiChainAssetsRatesControllerInit(requestMock).controller,
39+
).toBeInstanceOf(MultiChainAssetsRatesController);
40+
});
41+
42+
it('initializes with correct messenger and state', () => {
43+
const requestMock = buildInitRequestMock();
44+
MultiChainAssetsRatesControllerInit(requestMock);
45+
46+
expect(multiChainAssetsRatesControllerClassMock).toHaveBeenCalledWith({
47+
messenger: requestMock.controllerMessenger,
48+
state: requestMock.persistedState.MultiChainAssetsRatesController,
49+
});
50+
});
51+
});

app/scripts/controller-init/multichain/multichain-rates-assets-controller-init.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { MultichainAssetsRatesController } from '@metamask/assets-controllers';
1+
import { MultiChainAssetsRatesController } from '@metamask/assets-controllers';
22
import { ControllerInitFunction } from '../types';
33
import { MultichainAssetsRatesControllerMessenger } from '../messengers/multichain';
44

@@ -10,14 +10,13 @@ import { MultichainAssetsRatesControllerMessenger } from '../messengers/multicha
1010
* @param request.persistedState - The persisted state of the extension.
1111
* @returns The initialized controller.
1212
*/
13-
export const MultichainAssetsRatesControllerInit: ControllerInitFunction<
14-
MultichainAssetsRatesController,
13+
export const MultiChainAssetsRatesControllerInit: ControllerInitFunction<
14+
MultiChainAssetsRatesController,
1515
MultichainAssetsRatesControllerMessenger
1616
> = ({ controllerMessenger, persistedState }) => {
17-
const controller = new MultichainAssetsRatesController({
18-
// @ts-expect-error TODO: Resolve mismatch between base-controller versions.
17+
const controller = new MultiChainAssetsRatesController({
1918
messenger: controllerMessenger,
20-
state: persistedState.MultichainAssetsRatesController,
19+
state: persistedState.MultiChainAssetsRatesController,
2120
});
2221

2322
return {

app/scripts/metamask-controller.js

+2
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@ import {
363363
MultichainAssetsControllerInit,
364364
MultichainTransactionsControllerInit,
365365
MultichainBalancesControllerInit,
366+
MultiChainAssetsRatesControllerInit,
366367
} from './controller-init/multichain';
367368
///: END:ONLY_INCLUDE_IF
368369
import { TransactionControllerInit } from './controller-init/confirmations/transaction-controller-init';
@@ -2056,6 +2057,7 @@ export default class MetamaskController extends EventEmitter {
20562057
MultichainAssetsController: MultichainAssetsControllerInit,
20572058
MultichainBalancesController: MultichainBalancesControllerInit,
20582059
MultichainTransactionsController: MultichainTransactionsControllerInit,
2060+
MultiChainAssetsRatesController: MultiChainAssetsRatesControllerInit,
20592061
///: END:ONLY_INCLUDE_IF
20602062
};
20612063

0 commit comments

Comments
 (0)