Skip to content

Commit d2d48d2

Browse files
authored
refactor: Replace usages of the deprecated setProviderType (MetaMask#22619)
## **Description** All usages of the deprecated `NetworkController` method `setProviderType` have been replaced. The method `setActiveNetwork` is now used instead; it was updated in a recent release to accept types as well as IDs. ## **Related issues** N/A ## **Manual testing steps** No functional changes ## **Screenshots/Recordings** N/A ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've clearly explained what problem this PR is solving and how it is solved. - [x] I've linked related issues - [x] I've included manual testing steps - [x] I've included screenshots/recordings if applicable - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [x] I’ve properly set the pull request status: - [x] In case it's not yet "ready for review", I've set it to "draft". - [x] In case it's "ready for review", I've changed it from "draft" to "non-draft". ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
1 parent ed44d49 commit d2d48d2

File tree

11 files changed

+12
-83
lines changed

11 files changed

+12
-83
lines changed

app/scripts/controllers/mmi-controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ export default class MMIController extends EventEmitter {
857857
16,
858858
);
859859
if (selectedChainId !== chainId && chainId === 1) {
860-
await this.networkController.setProviderType('mainnet');
860+
await this.networkController.setActiveNetwork('mainnet');
861861
} else if (selectedChainId !== chainId) {
862862
const { networkConfigurations } = this.networkController.state;
863863

app/scripts/metamask-controller.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3254,9 +3254,6 @@ export default class MetamaskController extends EventEmitter {
32543254
verifyPassword: this.verifyPassword.bind(this),
32553255

32563256
// network management
3257-
setProviderType: (type) => {
3258-
return this.networkController.setProviderType(type);
3259-
},
32603257
setActiveNetwork: (networkConfigurationId) => {
32613258
return this.networkController.setActiveNetwork(networkConfigurationId);
32623259
},

shared/constants/network.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { capitalize, pick } from 'lodash';
22
/**
3-
* A type representing any valid value for 'type' for setProviderType and other
4-
* methods that add or manipulate networks in MetaMask state.
3+
* A type representing built-in network types, used as an identifier.
54
*/
65
export type NetworkType = (typeof NETWORK_TYPES)[keyof typeof NETWORK_TYPES];
76

ui/components/app/loading-network-screen/loading-network-screen.component.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export default class LoadingNetworkScreen extends PureComponent {
3939
providerId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
4040
showNetworkDropdown: PropTypes.func,
4141
setProviderArgs: PropTypes.array,
42-
setProviderType: PropTypes.func,
42+
setActiveNetwork: PropTypes.func,
4343
rollbackToPreviousProvider: PropTypes.func,
4444
isNetworkLoading: PropTypes.bool,
4545
showDeprecatedRpcUrlWarning: PropTypes.bool,
@@ -87,7 +87,7 @@ export default class LoadingNetworkScreen extends PureComponent {
8787
};
8888

8989
renderConnectionFailureNotification = (message, showTryAgain = false) => {
90-
const { showNetworkDropdown, setProviderArgs, setProviderType } =
90+
const { showNetworkDropdown, setProviderArgs, setActiveNetwork } =
9191
this.props;
9292

9393
return (
@@ -128,7 +128,7 @@ export default class LoadingNetworkScreen extends PureComponent {
128128
<ButtonPrimary
129129
onClick={() => {
130130
this.setState({ showErrorScreen: false });
131-
setProviderType(...setProviderArgs);
131+
setActiveNetwork(...setProviderArgs);
132132
window.clearTimeout(this.cancelCallTimeout);
133133
this.cancelCallTimeout = setTimeout(
134134
this.cancelCall,

ui/components/app/loading-network-screen/loading-network-screen.container.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ const mapStateToProps = (state) => {
5353

5454
const mapDispatchToProps = (dispatch) => {
5555
return {
56-
setProviderType: (type) => {
57-
dispatch(actions.setProviderType(type));
56+
setActiveNetwork: (type) => {
57+
dispatch(actions.setActiveNetwork(type));
5858
},
5959
rollbackToPreviousProvider: () =>
6060
dispatch(actions.rollbackToPreviousProvider()),

ui/components/multichain/network-list-menu/network-list-menu.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import { NetworkListItem } from '../network-list-item';
99
import {
1010
hideNetworkBanner,
1111
setActiveNetwork,
12-
setProviderType,
1312
setShowTestNetworks,
1413
showModal,
1514
toggleNetworkMenu,
@@ -303,11 +302,7 @@ export const NetworkListMenu = ({ onClose }) => {
303302
focus={isCurrentNetwork && !focusSearch}
304303
onClick={() => {
305304
dispatch(toggleNetworkMenu());
306-
if (network.providerType) {
307-
dispatch(setProviderType(network.providerType));
308-
} else {
309-
dispatch(setActiveNetwork(network.id));
310-
}
305+
dispatch(setActiveNetwork(network.providerType || network.id));
311306

312307
// If presently on and connected to a dapp, communicate a change to
313308
// the dapp via silent switchEthereumChain that the network has

ui/components/multichain/network-list-menu/network-list-menu.test.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,12 @@ import {
1212
import { NetworkListMenu } from '.';
1313

1414
const mockSetShowTestNetworks = jest.fn();
15-
const mockSetProviderType = jest.fn();
1615
const mockToggleNetworkMenu = jest.fn();
1716
const mockSetNetworkClientIdForDomain = jest.fn();
1817
const mockSetActiveNetwork = jest.fn();
1918

2019
jest.mock('../../../store/actions.ts', () => ({
2120
setShowTestNetworks: () => mockSetShowTestNetworks,
22-
setProviderType: () => mockSetProviderType,
2321
setActiveNetwork: () => mockSetActiveNetwork,
2422
toggleNetworkMenu: () => mockToggleNetworkMenu,
2523
setNetworkClientIdForDomain: (network, id) =>
@@ -108,7 +106,7 @@ describe('NetworkListMenu', () => {
108106
const { getByText } = render();
109107
fireEvent.click(getByText(MAINNET_DISPLAY_NAME));
110108
expect(mockToggleNetworkMenu).toHaveBeenCalled();
111-
expect(mockSetProviderType).toHaveBeenCalled();
109+
expect(mockSetActiveNetwork).toHaveBeenCalled();
112110
});
113111

114112
it('shows the correct selected network when networks share the same chain ID', () => {

ui/index.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,6 @@ async function startApp(metamaskState, backgroundConnection, opts) {
187187
updateCurrentLocale: (code) => {
188188
store.dispatch(actions.updateCurrentLocale(code));
189189
},
190-
setProviderType: (type) => {
191-
store.dispatch(actions.setProviderType(type));
192-
},
193190
setFeatureFlag: (key, value) => {
194191
store.dispatch(actions.setFeatureFlag(key, value));
195192
},

ui/pages/institutional/confirm-add-custodian-token/confirm-add-custodian-token.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
import { useI18nContext } from '../../../hooks/useI18nContext';
2020
import { MetaMetricsContext } from '../../../contexts/metametrics';
2121
import { getMostRecentOverviewPage } from '../../../ducks/history/history';
22-
import { setProviderType } from '../../../store/actions';
22+
import { setActiveNetwork } from '../../../store/actions';
2323
import { mmiActionsFactory } from '../../../store/institutional/institution-background';
2424
import { getMMIConfiguration } from '../../../selectors/institutional/selectors';
2525
import {
@@ -100,7 +100,7 @@ const ConfirmAddCustodianToken: React.FC = () => {
100100
) as NetworkType | undefined;
101101

102102
if (networkType) {
103-
await dispatch(setProviderType(networkType));
103+
await dispatch(setActiveNetwork(networkType));
104104
}
105105
}
106106
}

ui/store/actions.test.js

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,49 +1025,6 @@ describe('Actions', () => {
10251025
});
10261026
});
10271027

1028-
describe('#setProviderType', () => {
1029-
afterEach(() => {
1030-
sinon.restore();
1031-
});
1032-
1033-
it('calls setProviderType', async () => {
1034-
const store = mockStore();
1035-
1036-
const setProviderTypeStub = sinon.stub().callsFake((_, cb) => cb());
1037-
1038-
background.getApi.returns({
1039-
setProviderType: setProviderTypeStub,
1040-
});
1041-
1042-
setBackgroundConnection(background.getApi());
1043-
1044-
await store.dispatch(actions.setProviderType());
1045-
expect(setProviderTypeStub.callCount).toStrictEqual(1);
1046-
});
1047-
1048-
it('displays warning when setProviderType throws', async () => {
1049-
const store = mockStore();
1050-
1051-
background.getApi.returns({
1052-
setProviderType: sinon
1053-
.stub()
1054-
.callsFake((_, cb) => cb(new Error('error'))),
1055-
});
1056-
1057-
setBackgroundConnection(background.getApi());
1058-
1059-
const expectedActions = [
1060-
{
1061-
type: 'DISPLAY_WARNING',
1062-
payload: 'Had a problem changing networks!',
1063-
},
1064-
];
1065-
1066-
await store.dispatch(actions.setProviderType());
1067-
expect(store.getActions()).toStrictEqual(expectedActions);
1068-
});
1069-
});
1070-
10711028
describe('#setActiveNetwork', () => {
10721029
afterEach(() => {
10731030
sinon.restore();

ui/store/actions.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ import {
104104
} from '../../shared/modules/i18n';
105105
import { decimalToHex } from '../../shared/modules/conversion.utils';
106106
import { TxGasFees, PriorityLevels } from '../../shared/constants/gas';
107-
import { NetworkType, RPCDefinition } from '../../shared/constants/network';
107+
import { RPCDefinition } from '../../shared/constants/network';
108108
import { EtherDenomination } from '../../shared/constants/common';
109109
import {
110110
isErrorWithMessage,
@@ -2370,20 +2370,6 @@ export function createRetryTransaction(
23702370
// config
23712371
//
23722372

2373-
export function setProviderType(
2374-
type: NetworkType,
2375-
): ThunkAction<void, MetaMaskReduxState, unknown, AnyAction> {
2376-
return async (dispatch: MetaMaskReduxDispatch) => {
2377-
log.debug(`background.setProviderType`, type);
2378-
try {
2379-
await submitRequestToBackground('setProviderType', [type]);
2380-
} catch (error) {
2381-
logErrorWithMessage(error);
2382-
dispatch(displayWarning('Had a problem changing networks!'));
2383-
}
2384-
};
2385-
}
2386-
23872373
export function upsertNetworkConfiguration(
23882374
{
23892375
id,

0 commit comments

Comments
 (0)