Skip to content

Commit

Permalink
Merge branch 'main' into adapt-multichain-api-for-sip-26
Browse files Browse the repository at this point in the history
  • Loading branch information
jiexi committed Feb 3, 2025
2 parents 39dad34 + 97958dd commit 17f4643
Show file tree
Hide file tree
Showing 52 changed files with 1,678 additions and 488 deletions.
14 changes: 7 additions & 7 deletions eslint-warning-thresholds.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@
"@typescript-eslint/consistent-type-exports": 19,
"@typescript-eslint/no-base-to-string": 3,
"@typescript-eslint/no-duplicate-enum-values": 2,
"@typescript-eslint/no-unsafe-enum-comparison": 34,
"@typescript-eslint/no-unsafe-enum-comparison": 32,
"@typescript-eslint/no-unused-vars": 41,
"@typescript-eslint/prefer-promise-reject-errors": 33,
"@typescript-eslint/prefer-readonly": 142,
"@typescript-eslint/prefer-readonly": 138,
"import-x/namespace": 189,
"import-x/no-named-as-default": 1,
"import-x/no-named-as-default-member": 8,
"import-x/order": 211,
"import-x/order": 206,
"jest/no-conditional-in-test": 113,
"jest/prefer-lowercase-title": 2,
"jest/prefer-strict-equal": 2,
"jsdoc/check-tag-names": 375,
"jsdoc/require-returns": 25,
"jsdoc/tag-lines": 334,
"jsdoc/check-tag-names": 365,
"jsdoc/require-returns": 24,
"jsdoc/tag-lines": 327,
"n/no-unsupported-features/node-builtins": 4,
"n/prefer-global/text-encoder": 4,
"n/prefer-global/text-decoder": 4,
"prettier/prettier": 114,
"prettier/prettier": 80,
"promise/always-return": 3,
"promise/catch-or-return": 2,
"promise/param-names": 8,
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
"changelog:update": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run changelog:update",
"changelog:validate": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run changelog:validate",
"create-package": "ts-node scripts/create-package",
"lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies && yarn lint:teams",
"lint": "yarn lint:eslint && echo && yarn lint:misc --check && yarn constraints && yarn lint:dependencies && yarn lint:teams",
"lint:dependencies": "depcheck && yarn dedupe --check",
"lint:dependencies:fix": "depcheck && yarn dedupe",
"lint:eslint": "yarn build:only-clean && yarn ts-node ./scripts/run-eslint.ts --cache",
"lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies:fix",
"lint:fix": "yarn lint:eslint --fix && echo && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies:fix",
"lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path .gitignore",
"lint:teams": "ts-node scripts/lint-teams-json.ts",
"prepack": "./scripts/prepack.sh",
Expand Down Expand Up @@ -75,6 +75,7 @@
"@yarnpkg/fslib": "^3.1.1",
"@yarnpkg/types": "^4.0.0",
"babel-jest": "^29.7.0",
"chalk": "^4.1.2",
"depcheck": "^1.4.7",
"eslint": "^9.11.0",
"eslint-config-prettier": "^9.1.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ControllerMessenger } from '@metamask/base-controller';
import { Messenger } from '@metamask/base-controller';
import { toHex } from '@metamask/controller-utils';

import type {
Expand All @@ -17,11 +17,11 @@ import {
* @returns A restricted controller messenger.
*/
function getRestrictedMessenger() {
const controllerMessenger = new ControllerMessenger<
const messenger = new Messenger<
AddressBookControllerActions,
AddressBookControllerEvents
>();
return controllerMessenger.getRestricted({
return messenger.getRestricted({
name: controllerName,
allowedActions: [],
allowedEvents: [],
Expand Down
4 changes: 2 additions & 2 deletions packages/address-book-controller/src/AddressBookController.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type {
ControllerGetStateAction,
ControllerStateChangeEvent,
RestrictedControllerMessenger,
RestrictedMessenger,
} from '@metamask/base-controller';
import { BaseController } from '@metamask/base-controller';
import {
Expand Down Expand Up @@ -122,7 +122,7 @@ export const getDefaultAddressBookControllerState =
/**
* The messenger of the {@link AddressBookController} for communication.
*/
export type AddressBookControllerMessenger = RestrictedControllerMessenger<
export type AddressBookControllerMessenger = RestrictedMessenger<
typeof controllerName,
AddressBookControllerActions,
AddressBookControllerEvents,
Expand Down
4 changes: 3 additions & 1 deletion packages/assets-controllers/src/TokensController.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1457,7 +1457,9 @@ describe('TokensController', () => {
}),
},
},
async ({ controller }) => {
async ({ controller, changeNetwork }) => {
changeNetwork({ selectedNetworkClientId: InfuraNetworkType.goerli });

const dummyTokens: Token[] = [
{
address: '0x01',
Expand Down
15 changes: 8 additions & 7 deletions packages/assets-controllers/src/TokensController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@ export class TokensController extends BaseController<
const { allTokens, ignoredTokens, allDetectedTokens } = this.state;
const importedTokensMap: { [key: string]: true } = {};

let interactingChainId;
let interactingChainId: Hex = this.#chainId;
if (networkClientId) {
interactingChainId = this.messagingSystem.call(
'NetworkController:getNetworkClientById',
Expand All @@ -506,9 +506,8 @@ export class TokensController extends BaseController<

// Used later to dedupe imported tokens
const newTokensMap = [
...(allTokens[interactingChainId ?? this.#chainId]?.[
this.#getSelectedAccount().address
] || []),
...(allTokens[interactingChainId]?.[this.#getSelectedAccount().address] ||
[]),
...tokensToImport,
].reduce(
(output, token) => {
Expand Down Expand Up @@ -557,11 +556,13 @@ export class TokensController extends BaseController<
});

this.update((state) => {
state.tokens = newTokens;
if (interactingChainId === this.#chainId) {
state.tokens = newTokens;
state.detectedTokens = newDetectedTokens;
state.ignoredTokens = newIgnoredTokens;
}
state.allTokens = newAllTokens;
state.detectedTokens = newDetectedTokens;
state.allDetectedTokens = newAllDetectedTokens;
state.ignoredTokens = newIgnoredTokens;
state.allIgnoredTokens = newAllIgnoredTokens;
});
} finally {
Expand Down
26 changes: 11 additions & 15 deletions packages/gas-fee-controller/src/GasFeeController.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ControllerMessenger } from '@metamask/base-controller';
import { Messenger } from '@metamask/base-controller';
import {
ChainId,
convertHexToDecimal,
Expand Down Expand Up @@ -47,16 +47,16 @@ const mockedDetermineGasFeeCalculations =

const name = 'GasFeeController';

type MainControllerMessenger = ControllerMessenger<
type MainMessenger = Messenger<
| GetGasFeeState
| NetworkControllerGetStateAction
| NetworkControllerGetNetworkClientByIdAction
| NetworkControllerGetEIP1559CompatibilityAction,
GasFeeStateChange | NetworkControllerNetworkDidChangeEvent
>;

const getControllerMessenger = (): MainControllerMessenger => {
return new ControllerMessenger();
const getMessenger = (): MainMessenger => {
return new Messenger();
};

const setupNetworkController = async ({
Expand All @@ -65,7 +65,7 @@ const setupNetworkController = async ({
clock,
initializeProvider = true,
}: {
unrestrictedMessenger: MainControllerMessenger;
unrestrictedMessenger: MainMessenger;
state: Partial<NetworkState>;
clock: sinon.SinonFakeTimers;
initializeProvider?: boolean;
Expand Down Expand Up @@ -96,10 +96,8 @@ const setupNetworkController = async ({
return networkController;
};

const getRestrictedMessenger = (
controllerMessenger: MainControllerMessenger,
) => {
const messenger = controllerMessenger.getRestricted({
const getRestrictedMessenger = (messenger: MainMessenger) => {
return messenger.getRestricted({
name,
allowedActions: [
'NetworkController:getState',
Expand All @@ -108,8 +106,6 @@ const getRestrictedMessenger = (
],
allowedEvents: ['NetworkController:networkDidChange'],
});

return messenger;
};

/**
Expand Down Expand Up @@ -265,19 +261,19 @@ describe('GasFeeController', () => {
interval?: number;
initializeNetworkProvider?: boolean;
} = {}) {
const controllerMessenger = getControllerMessenger();
const messenger = getMessenger();
networkController = await setupNetworkController({
unrestrictedMessenger: controllerMessenger,
unrestrictedMessenger: messenger,
state: networkControllerState,
clock,
initializeProvider: initializeNetworkProvider,
});
const messenger = getRestrictedMessenger(controllerMessenger);
const restrictedMessenger = getRestrictedMessenger(messenger);
gasFeeController = new GasFeeController({
getProvider: jest.fn(),
getChainId,
onNetworkDidChange,
messenger,
messenger: restrictedMessenger,
getCurrentNetworkLegacyGasAPICompatibility,
getCurrentNetworkEIP1559Compatibility: getIsEIP1559Compatible, // change this for networkDetails.state.networkDetails.isEIP1559Compatible ???
legacyAPIEndpoint,
Expand Down
4 changes: 2 additions & 2 deletions packages/gas-fee-controller/src/GasFeeController.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type {
ControllerGetStateAction,
ControllerStateChangeEvent,
RestrictedControllerMessenger,
RestrictedMessenger,
} from '@metamask/base-controller';
import {
convertHexToDecimal,
Expand Down Expand Up @@ -240,7 +240,7 @@ type AllowedActions =
| NetworkControllerGetNetworkClientByIdAction
| NetworkControllerGetEIP1559CompatibilityAction;

type GasFeeMessenger = RestrictedControllerMessenger<
type GasFeeMessenger = RestrictedMessenger<
typeof name,
GasFeeControllerActions | AllowedActions,
GasFeeControllerEvents | NetworkControllerNetworkDidChangeEvent,
Expand Down
Loading

0 comments on commit 17f4643

Please sign in to comment.