Skip to content

Commit

Permalink
feat: add custom network new checkers
Browse files Browse the repository at this point in the history
  • Loading branch information
salimtb committed Jun 24, 2024
1 parent dbdbaf1 commit 38c38f2
Show file tree
Hide file tree
Showing 11 changed files with 424 additions and 72 deletions.
24 changes: 24 additions & 0 deletions app/_locales/en/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions shared/constants/swaps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -175,14 +175,14 @@ export const GAS_API_BASE_URL = 'https://gas.api.cx.metamask.io';
export const GAS_DEV_API_BASE_URL = 'https://gas.uat-api.cx.metamask.io';

const BSC_DEFAULT_BLOCK_EXPLORER_URL = 'https://bscscan.com/';
const MAINNET_DEFAULT_BLOCK_EXPLORER_URL = 'https://etherscan.io/';
export const MAINNET_DEFAULT_BLOCK_EXPLORER_URL = 'https://etherscan.io/';
const GOERLI_DEFAULT_BLOCK_EXPLORER_URL = 'https://goerli.etherscan.io/';
const POLYGON_DEFAULT_BLOCK_EXPLORER_URL = 'https://polygonscan.com/';
const AVALANCHE_DEFAULT_BLOCK_EXPLORER_URL = 'https://snowtrace.io/';
const OPTIMISM_DEFAULT_BLOCK_EXPLORER_URL = 'https://optimistic.etherscan.io/';
const ARBITRUM_DEFAULT_BLOCK_EXPLORER_URL = 'https://arbiscan.io/';
const ZKSYNC_DEFAULT_BLOCK_EXPLORER_URL = 'https://explorer.zksync.io/';
const LINEA_DEFAULT_BLOCK_EXPLORER_URL = 'https://lineascan.build/';
export const LINEA_DEFAULT_BLOCK_EXPLORER_URL = 'https://lineascan.build/';
const BASE_DEFAULT_BLOCK_EXPLORER_URL = 'https://basescan.org/';

export const ALLOWED_PROD_SWAPS_CHAIN_IDS = [
Expand Down
29 changes: 19 additions & 10 deletions ui/components/multichain/network-list-menu/network-list-menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -257,16 +257,19 @@ export const NetworkListMenu = ({ onClose }) => {
};
};

const getOnEditCallback = (network) => {
return () => {
const networkToUse = {
...network,
label: network.nickname,
};
setModalTitle(network.nickname);
setNetworkToEdit(networkToUse);
setActionMode(ACTION_MODES.EDIT);
const getOnEdit = (network) => {
const networkToUse = {
...network,
label: network.nickname,
};

setModalTitle(network.nickname);
setNetworkToEdit(networkToUse);
setActionMode(ACTION_MODES.EDIT);
};

const getOnEditCallback = (network) => {
return () => getOnEdit(network);
};

const generateMenuItems = (desiredNetworks) => {
Expand Down Expand Up @@ -527,7 +530,13 @@ export const NetworkListMenu = ({ onClose }) => {
</>
);
} else if (actionMode === ACTION_MODES.ADD) {
return <AddNetworkModal isNewNetworkFlow addNewNetwork />;
return (
<AddNetworkModal
isNewNetworkFlow
addNewNetwork
getOnEditCallback={getOnEdit}
/>
);
}
return (
<AddNetworkModal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,29 +64,37 @@ exports[`Add Network Modal should render 1`] = `
type="text"
value=""
/>
</label>
</div>
<p
class="mm-box mm-text networks-tab__rpc-header mm-text--body-sm-bold mm-box--margin-top-1 mm-box--margin-bottom-1 mm-box--color-text-default"
>
Default RPC URL
</p>
<div
class="mm-box networks-tab__rpc-dropdown mm-box--padding-2 mm-box--display-flex mm-box--justify-content-space-between mm-box--rounded-md mm-box--border-color-border-default mm-box--border-width-1 box--border-style-solid"
class="form-field"
>
<p
class="mm-box mm-text mm-text--body-sm mm-box--color-text-default"
/>
<button
aria-label="Default RPC URL"
class="mm-box mm-button-icon mm-button-icon--size-sm mm-box--display-inline-flex mm-box--justify-content-center mm-box--align-items-center mm-box--color-icon-default mm-box--background-color-transparent mm-box--rounded-lg"
<label
class="mm-box"
>
<span
class="mm-box mm-icon mm-icon--size-sm mm-box--display-inline-block mm-box--color-inherit"
style="mask-image: url('./images/icons/arrow-down.svg');"
<div
class="form-field__heading"
>
<div
class="mm-box form-field__heading-title mm-box--display-flex mm-box--align-items-baseline"
>
<h6
class="mm-box mm-text mm-text--body-sm-bold mm-box--display-inline-block mm-box--color-text-default"
>
New RPC URL
</h6>
</div>
</div>
<input
class="form-field__input"
data-testid="network-form-rpc-url"
type="text"
value=""
/>
</button>
</label>
</div>
<div
class="form-field"
Expand Down Expand Up @@ -140,8 +148,6 @@ exports[`Add Network Modal should render 1`] = `
type="text"
value=""
/>
</label>
</div>
<div
Expand Down Expand Up @@ -198,7 +204,6 @@ exports[`Add Network Modal should render 1`] = `
type="text"
value=""
/>
</label>
</div>
</div>
Expand All @@ -209,7 +214,7 @@ exports[`Add Network Modal should render 1`] = `
class="mm-box mm-text mm-button-base mm-button-base--size-lg mm-button-base--disabled mm-button-primary mm-button-primary--disabled mm-text--body-md-medium mm-box--padding-0 mm-box--padding-right-4 mm-box--padding-left-4 mm-box--display-inline-flex mm-box--justify-content-center mm-box--align-items-center mm-box--width-full mm-box--color-primary-inverse mm-box--background-color-primary-default mm-box--rounded-pill"
disabled=""
>
Save
Next
</button>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ describe('Add Network Modal', () => {
mockNetworkMenuRedesignToggle.mockImplementation(() => false);

const mockStore = configureMockStore([])({
metamask: { useSafeChainsListValidation: true },
metamask: { useSafeChainsListValidation: true, orderedNetworkList: {} },
});

const { container } = renderWithProvider(
Expand All @@ -40,7 +40,7 @@ describe('Add Network Modal', () => {
mockNetworkMenuRedesignToggle.mockReturnValue(true);

const mockStore = configureMockStore([thunk])({
metamask: { useSafeChainsListValidation: true },
metamask: { useSafeChainsListValidation: true, orderedNetworkList: {} },
});

const { queryByText } = renderWithProvider(
Expand All @@ -50,7 +50,7 @@ describe('Add Network Modal', () => {

await waitFor(() => {
expect(queryByText('Cancel')).not.toBeInTheDocument();
expect(queryByText('Save')).toBeInTheDocument();
expect(queryByText('Next')).toBeInTheDocument();
});
});
});
8 changes: 4 additions & 4 deletions ui/pages/onboarding-flow/add-network-modal/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import NetworksForm from '../../settings/networks-tab/networks-form/networks-for

export default function AddNetworkModal({
showHeader = false,
isNewNetworkFlow = false,
getOnEditCallback = null,
addNewNetwork = true,
networkToEdit = null,
}) {
Expand Down Expand Up @@ -50,7 +50,7 @@ export default function AddNetworkModal({
networksToRender={[]}
cancelCallback={closeCallback}
submitCallback={closeCallback}
isNewNetworkFlow={isNewNetworkFlow}
getOnEditCallback={getOnEditCallback}
{...additionalProps}
/>
</>
Expand All @@ -59,14 +59,14 @@ export default function AddNetworkModal({

AddNetworkModal.propTypes = {
showHeader: PropTypes.bool,
isNewNetworkFlow: PropTypes.bool,
getOnEditCallback: PropTypes.func,
addNewNetwork: PropTypes.bool,
networkToEdit: PropTypes.object,
};

AddNetworkModal.defaultProps = {
showHeader: false,
isNewNetworkFlow: false,
getOnEditCallback: null,
addNewNetwork: true,
networkToEdit: null,
};
Loading

0 comments on commit 38c38f2

Please sign in to comment.