Skip to content

Commit

Permalink
fix: unnest bridge feature flags
Browse files Browse the repository at this point in the history
  • Loading branch information
micaelae committed Aug 13, 2024
1 parent 663fe2f commit f560842
Show file tree
Hide file tree
Showing 17 changed files with 70 additions and 96 deletions.
2 changes: 1 addition & 1 deletion app/scripts/controllers/bridge/bridge-controller.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ describe('BridgeController', function () {
expect(bridgeController.state).toStrictEqual(EMPTY_INIT_STATE);

await bridgeController.setBridgeFeatureFlags();
expect(bridgeController.state.bridgeState.bridgeFeatureFlags).toStrictEqual(
expect(bridgeController.state.bridgeState).toStrictEqual(
expectedFeatureFlagsResponse,
);
});
Expand Down
2 changes: 1 addition & 1 deletion app/scripts/controllers/bridge/bridge-controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export default class BridgeController extends BaseController<
const { bridgeState } = this.state;
const bridgeFeatureFlags = await fetchBridgeFeatureFlags();
this.update((_state) => {
_state.bridgeState = { ...bridgeState, bridgeFeatureFlags };
_state.bridgeState = { ...bridgeState, ...bridgeFeatureFlags };
});
};
}
8 changes: 3 additions & 5 deletions app/scripts/controllers/bridge/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ import { BridgeControllerState, BridgeFeatureFlagsKey } from './types';
export const BRIDGE_CONTROLLER_NAME = 'BridgeController';

export const DEFAULT_BRIDGE_CONTROLLER_STATE: BridgeControllerState = {
bridgeFeatureFlags: {
[BridgeFeatureFlagsKey.EXTENSION_SUPPORT]: false,
[BridgeFeatureFlagsKey.NETWORK_SRC_ALLOWLIST]: [],
[BridgeFeatureFlagsKey.NETWORK_DEST_ALLOWLIST]: [],
},
[BridgeFeatureFlagsKey.EXTENSION_SUPPORT]: false,
[BridgeFeatureFlagsKey.NETWORK_SRC_ALLOWLIST]: [],
[BridgeFeatureFlagsKey.NETWORK_DEST_ALLOWLIST]: [],
};
4 changes: 1 addition & 3 deletions app/scripts/controllers/bridge/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,7 @@ export type BridgeFeatureFlags = {
[BridgeFeatureFlagsKey.NETWORK_DEST_ALLOWLIST]: Hex[];
};

export type BridgeControllerState = {
bridgeFeatureFlags: BridgeFeatureFlags;
};
export type BridgeControllerState = BridgeFeatureFlags;

export enum BridgeBackgroundAction {
SET_FEATURE_FLAGS = 'setBridgeFeatureFlags',
Expand Down
8 changes: 3 additions & 5 deletions app/scripts/lib/setupSentry.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,9 @@ export const SENTRY_BACKGROUND_STATE = {
},
BridgeController: {
bridgeState: {
bridgeFeatureFlags: {
extensionSupport: false,
destNetworkAllowlist: [],
srcNetworkAllowlist: [],
},
extensionSupport: false,
destNetworkAllowlist: [],
srcNetworkAllowlist: [],
},
},
CronjobController: {
Expand Down
8 changes: 3 additions & 5 deletions test/e2e/default-fixture.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,11 +118,9 @@ function defaultFixture(inputChainId = CHAIN_IDS.LOCALHOST) {
},
BridgeController: {
bridgeState: {
bridgeFeatureFlags: {
extensionSupport: false,
srcNetworkAllowlist: ['0x1', '0xa', '0xe708'],
destNetworkAllowlist: ['0x1', '0xa', '0xe708'],
},
extensionSupport: false,
srcNetworkAllowlist: ['0x1', '0xa', '0xe708'],
destNetworkAllowlist: ['0x1', '0xa', '0xe708'],
},
},
CurrencyController: {
Expand Down
8 changes: 3 additions & 5 deletions test/e2e/fixture-builder.js
Original file line number Diff line number Diff line change
Expand Up @@ -370,11 +370,9 @@ class FixtureBuilder {
withBridgeControllerDefaultState() {
this.fixture.data.BridgeController = {
bridgeState: {
bridgeFeatureFlags: {
destNetworkAllowlist: [],
extensionSupport: false,
srcNetworkAllowlist: [],
},
destNetworkAllowlist: [],
extensionSupport: false,
srcNetworkAllowlist: [],
},
};
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,18 +61,16 @@
"AuthenticationController": { "isSignedIn": "boolean" },
"BridgeController": {
"bridgeState": {
"bridgeFeatureFlags": {
"extensionSupport": "boolean",
"srcNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
},
"destNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
}
"extensionSupport": "boolean",
"srcNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
},
"destNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,18 +252,16 @@
"swapsFeatureFlags": {}
},
"bridgeState": {
"bridgeFeatureFlags": {
"extensionSupport": "boolean",
"srcNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
},
"destNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
}
"extensionSupport": "boolean",
"srcNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
},
"destNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
}
},
"ensEntries": "object",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,18 +144,16 @@
},
"BridgeController": {
"bridgeState": {
"bridgeFeatureFlags": {
"extensionSupport": "boolean",
"srcNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
},
"destNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
}
"extensionSupport": "boolean",
"srcNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
},
"destNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,18 +153,16 @@
},
"BridgeController": {
"bridgeState": {
"bridgeFeatureFlags": {
"extensionSupport": "boolean",
"srcNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
},
"destNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
}
"extensionSupport": "boolean",
"srcNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
},
"destNetworkAllowlist": {
"0": "string",
"1": "string",
"2": "string"
}
}
},
Expand Down
4 changes: 1 addition & 3 deletions test/integration/data/onboarding-completion-route.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,7 @@
},
"approvalFlows": [],
"bridgeState": {
"bridgeFeatureFlags": {
"extensionSupport": false
}
"extensionSupport": false
},
"browserEnvironment": { "os": "mac", "browser": "firefox" },
"completedOnboarding": false,
Expand Down
10 changes: 4 additions & 6 deletions test/jest/mock-store.js
Original file line number Diff line number Diff line change
Expand Up @@ -683,12 +683,10 @@ export const createBridgeMockStore = (
...swapsStore.metamask,
bridgeState: {
...(swapsStore.metamask.bridgeState ?? {}),
bridgeFeatureFlags: {
extensionSupport: false,
srcNetworkAllowlist: [],
destNetworkAllowlist: [],
...featureFlagOverrides,
},
extensionSupport: false,
srcNetworkAllowlist: [],
destNetworkAllowlist: [],
...featureFlagOverrides,
},
},
};
Expand Down
10 changes: 5 additions & 5 deletions ui/ducks/bridge/selectors.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ describe('Bridge selectors', () => {
metamask: {
providerConfig: { chainId: '0x1' },
useExternalServices: true,
bridgeState: { bridgeFeatureFlags: { extensionSupport: false } },
bridgeState: { extensionSupport: false },
},
bridge: { toChain: { chainId: '0x38' } as unknown as ProviderConfig },
};
Expand All @@ -214,7 +214,7 @@ describe('Bridge selectors', () => {
metamask: {
providerConfig: { chainId: '0x1' },
useExternalServices: true,
bridgeState: { bridgeFeatureFlags: { extensionSupport: true } },
bridgeState: { extensionSupport: true },
},
bridge: { toChain: null },
};
Expand All @@ -229,7 +229,7 @@ describe('Bridge selectors', () => {
metamask: {
providerConfig: { chainId: '0x1', id: 'test-id', type: 'rpc' },
useExternalServices: true,
bridgeState: { bridgeFeatureFlags: { extensionSupport: true } },
bridgeState: { extensionSupport: true },
networkConfigurations: [{ chainId: '0x1', id: 'test-id' }],
},
bridge: { toChain: { chainId: '0x1' } },
Expand All @@ -245,7 +245,7 @@ describe('Bridge selectors', () => {
metamask: {
providerConfig: { chainId: '0x1' },
useExternalServices: false,
bridgeState: { bridgeFeatureFlags: { extensionSupport: true } },
bridgeState: { extensionSupport: true },
},
bridge: { toChain: { chainId: '0x38' } },
};
Expand All @@ -260,7 +260,7 @@ describe('Bridge selectors', () => {
metamask: {
providerConfig: { chainId: '0x1', id: 'test-id', type: 'rpc' },
useExternalServices: true,
bridgeState: { bridgeFeatureFlags: { extensionSupport: true } },
bridgeState: { extensionSupport: true },
networkConfigurations: [{ chainId: '0x1', id: 'test-id' }],
},
bridge: { toChain: { chainId: '0x38' } },
Expand Down
4 changes: 2 additions & 2 deletions ui/ducks/bridge/selectors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export const getAllBridgeableNetworks = createDeepEqualSelector(
);
export const getFromChains = createDeepEqualSelector(
getAllBridgeableNetworks,
(state: BridgeAppState) => state.metamask.bridgeState?.bridgeFeatureFlags,
(state: BridgeAppState) => state.metamask.bridgeState,
(
allBridgeableNetworks,
bridgeFeatureFlags,
Expand All @@ -54,7 +54,7 @@ export const getFromChains = createDeepEqualSelector(
);
export const getToChains = createDeepEqualSelector(
getAllBridgeableNetworks,
(state: BridgeAppState) => state.metamask.bridgeState?.bridgeFeatureFlags,
(state: BridgeAppState) => state.metamask.bridgeState,
(
allBridgeableNetworks,
bridgeFeatureFlags,
Expand Down
8 changes: 2 additions & 6 deletions ui/hooks/bridge/useBridging.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,7 @@ describe('useBridging', () => {
},
metaMetricsId: MOCK_METAMETRICS_ID,
bridgeState: {
bridgeFeatureFlags: {
extensionSupport: false,
},
extensionSupport: false,
},
internalAccounts: {
selectedAccount: '0xabc',
Expand Down Expand Up @@ -154,9 +152,7 @@ describe('useBridging', () => {
},
metaMetricsId: MOCK_METAMETRICS_ID,
bridgeState: {
bridgeFeatureFlags: {
extensionSupport: true,
},
extensionSupport: true,
},
internalAccounts: {
selectedAccount: '0xabc',
Expand Down
2 changes: 1 addition & 1 deletion ui/selectors/selectors.js
Original file line number Diff line number Diff line change
Expand Up @@ -1348,7 +1348,7 @@ export function getIsBridgeChain(state) {
}

function getBridgeFeatureFlags(state) {
return state.metamask.bridgeState?.bridgeFeatureFlags;
return state.metamask.bridgeState;
}

export const getIsBridgeEnabled = createSelector(
Expand Down

0 comments on commit f560842

Please sign in to comment.