From ad0f4c488dc6f89421159c26e4a087dfa48fb9c3 Mon Sep 17 00:00:00 2001 From: lelenei Date: Sat, 23 Apr 2022 16:29:30 +0800 Subject: [PATCH 01/80] feat: timeline plugin rendering optimization --- packages/icons/general/Provider.tsx | 14 +++++ packages/icons/general/index.ts | 1 + packages/mask/shared-ui/locales/en-US.json | 4 +- .../plugins/FindTruman/SNSAdaptor/index.tsx | 7 +++ .../mask/src/plugins/ITO/SNSAdaptor/index.tsx | 7 +++ .../mask/src/plugins/MaskPluginWrapper.tsx | 59 +++++++++++-------- .../plugins/PoolTogether/SNSAdaptor/index.tsx | 7 +++ .../plugins/RedPacket/SNSAdaptor/index.tsx | 7 +++ .../src/plugins/Snapshot/SNSAdaptor/index.tsx | 7 +++ .../src/plugins/Trader/SNSAdaptor/index.tsx | 7 +++ .../src/plugins/dHEDGE/SNSAdaptor/index.tsx | 7 +++ packages/plugin-infra/src/types.ts | 8 +++ .../CyberConnect/src/SNSAdaptor/index.tsx | 7 +++ .../FileService/src/SNSAdaptor/index.tsx | 7 +++ 14 files changed, 123 insertions(+), 26 deletions(-) create mode 100644 packages/icons/general/Provider.tsx diff --git a/packages/icons/general/Provider.tsx b/packages/icons/general/Provider.tsx new file mode 100644 index 000000000000..3524f1decfe2 --- /dev/null +++ b/packages/icons/general/Provider.tsx @@ -0,0 +1,14 @@ +import { createIcon } from '../utils' + +export const ProviderByIcon = createIcon( + 'ProviderByIcon', + + + , + '0 0 17 16', +) diff --git a/packages/icons/general/index.ts b/packages/icons/general/index.ts index 6cf41f94ce5f..322da05f354d 100644 --- a/packages/icons/general/index.ts +++ b/packages/icons/general/index.ts @@ -111,3 +111,4 @@ export * from './MindsRound' export * from './CircleLoading' export * from './AddUser' export * from './PopupRestore' +export * from './Provider' diff --git a/packages/mask/shared-ui/locales/en-US.json b/packages/mask/shared-ui/locales/en-US.json index 394ba7b0f4a6..9ffa29eb41f0 100644 --- a/packages/mask/shared-ui/locales/en-US.json +++ b/packages/mask/shared-ui/locales/en-US.json @@ -1097,5 +1097,7 @@ "plugin_transak_name": "Fiat On-Ramp", "plugin_transak_description": "Fiat On-Ramp Aggregator on Twitter. Buy crypto in 60+ countries with Transak support.", "plugin_valuables_name": "Valuables", - "plugin_valuables_description": "Buy & sell tweets autographed by their original creators." + "plugin_valuables_description": "Buy & sell tweets autographed by their original creators.", + "plugin_default_title": "Default", + "plugin_provider_by": "provider by " } diff --git a/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx b/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx index 6428faeb38ae..6a2abedb765d 100644 --- a/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx @@ -114,6 +114,13 @@ const sns: Plugin.SNSAdaptor.Definition = { } })(), ], + wrapperEntry: { + icon: , + style: { + background: + ' linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(251, 49, 32, 0.2) 100%), #FFFFFF;', + }, + }, } export default sns diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx index 0deda21d38fa..1e1442d6b773 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx @@ -119,6 +119,13 @@ const sns: Plugin.SNSAdaptor.Definition = { } })(), ], + wrapperEntry: { + icon: , + style: { + background: + 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(41, 228, 253, 0.2) 100%), #FFFFFF;', + }, + }, } function onAttached_ITO(payload: JSON_PayloadComposeMask) { diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index 6618f9b41ba0..98805db660e4 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -14,6 +14,8 @@ import { Plugin, PluginWrapperMethods, } from '@masknet/plugin-infra/content-script' +import { ProviderByIcon } from '@masknet/icons' +import type { CSSProperties } from '@emotion/serialize' interface PluginWrapperProps extends React.PropsWithChildren<{}> { open?: boolean @@ -21,16 +23,19 @@ interface PluginWrapperProps extends React.PropsWithChildren<{}> { width?: number action?: ReactNode publisher?: JSX.Element + wrapperEntry?: Plugin.SNSAdaptor.WrapperEntry publisherLink?: string } -const useStyles = makeStyles()((theme) => { +const useStyles = makeStyles<{ style?: CSSProperties }>()((theme, props) => { return { card: { + background: + props?.style?.background ?? + 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(45, 41, 253, 0.2) 100%), #FFFFFF;', margin: theme.spacing(2, 0), width: '100%', boxSizing: 'border-box', - border: `1px solid ${theme.palette.secondaryDivider}`, cursor: 'default', ...(isTwitter(activatedSocialNetworkUI) ? { @@ -44,13 +49,20 @@ const useStyles = makeStyles()((theme) => { color: theme.palette.text.primary, display: 'flex', alignItems: 'center', - padding: theme.spacing(2), + padding: theme.spacing(1), }, title: { display: 'flex', flexDirection: 'column', paddingLeft: theme.spacing(1.5), }, + provider: { + display: 'flex', + alignItems: 'center', + '& > a': { + lineHeight: 0, + }, + }, action: { flex: 1, display: 'flex', @@ -58,8 +70,7 @@ const useStyles = makeStyles()((theme) => { justifyContent: 'flex-end', }, body: { - borderTop: `1px solid ${theme.palette.secondaryDivider}`, - padding: theme.spacing(2), + padding: theme.spacing(0), }, button: { color: MaskColorVar.twitterButtonText, @@ -71,8 +82,9 @@ const useStyles = makeStyles()((theme) => { }) export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { - const { classes } = useStyles() - const { open, title, children, action, publisher, publisherLink } = props + const { open, title, children, action, publisher, publisherLink, wrapperEntry } = props + const { classes } = useStyles({ style: wrapperEntry?.style }) + const personaConnectStatus = usePersonaConnectStatus() const { t } = useI18N() @@ -96,22 +108,22 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { const publisherInfo = useMemo(() => { if (!publisher) return null const main = ( - + {publisher} ) return ( - - - Provided by + + + {t('plugin_provider_by')} + {' '} + {main} {publisherLink ? ( - {main} + - ) : ( - main - )} + ) : null} ) }, [publisher, publisherLink]) @@ -122,15 +134,11 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { style={{ display: open ? 'block' : 'none' }} onClick={(ev) => ev.stopPropagation()}>
- -
- - Mask Plugin {!personaConnectStatus.connected && title ? `(${title})` : ''} - - - {name} - -
+ {wrapperEntry?.icon ?? } + + {title ?? t('plugin_default_title')} + +
{actionButton || action || publisherInfo}
{personaConnectStatus.connected && children ?
{children}
: null} @@ -141,7 +149,7 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { export const MaskPostExtraPluginWrapper: PluginWrapperComponent = forwardRef( (props, ref) => { - const { ID, name, publisher } = props.definition + const { ID, name, publisher, wrapperEntry } = props.definition const t = usePluginI18NField() const [width, setWidth] = useState(undefined) const [open, setOpen] = useState(false) @@ -159,6 +167,7 @@ export const MaskPostExtraPluginWrapper: PluginWrapperComponent, }, ], + wrapperEntry: { + icon: , + style: { + background: + ' linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(70, 39, 155, 0.2) 100%), #FFFFFF;', + }, + }, } export default sns diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx index c811a8b0ef41..91b5535523e4 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx @@ -126,6 +126,13 @@ const sns: Plugin.SNSAdaptor.Definition = { } })(), ], + wrapperEntry: { + icon: , + style: { + background: + 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(249, 55, 55, 0.2) 100%), #FFFFFF', + }, + }, } interface ERC20RedpacketBadgeProps { payload: RedPacketJSONPayload diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx index 7e42a1b950ba..19bcbdab3496 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx @@ -75,6 +75,13 @@ const sns: Plugin.SNSAdaptor.Definition = { icon: , }, ], + wrapperEntry: { + icon: , + style: { + background: + 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(255, 159, 10, 0.2) 100%), #FFFFFF;', + }, + }, } export default sns diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx index 8b6a6bb5d173..5083bb145ee2 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx @@ -45,6 +45,13 @@ const sns: Plugin.SNSAdaptor.Definition = { } })(), ], + wrapperEntry: { + icon: , + style: { + background: + 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(254, 156, 0, 0.2) 100%), #FFFFFF;', + }, + }, } export default sns diff --git a/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx b/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx index dfc53ae92050..d3fc77c7f4c4 100644 --- a/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx @@ -57,6 +57,13 @@ const sns: Plugin.SNSAdaptor.Definition = { 'https://realmasknetwork.notion.site/Invest-in-your-favourite-fund-manager-via-dHEDGE-on-Twitter-ETH-and-Polygon-fb00ff2e626949279c83b59ed9207b9a', }, ], + wrapperEntry: { + icon: , + style: { + background: + 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(0, 150, 202, 0.2) 100%), #FFFFFF;', + }, + }, } export default sns diff --git a/packages/plugin-infra/src/types.ts b/packages/plugin-infra/src/types.ts index 63a1fca7397d..acfbc09a4db9 100644 --- a/packages/plugin-infra/src/types.ts +++ b/packages/plugin-infra/src/types.ts @@ -6,6 +6,7 @@ import type { ScopedStorage, ProfileIdentifier, PersonaIdentifier } from '@maskn import type { Emitter } from '@servie/events' import type { Web3Plugin } from './web3-types' import type { Subscription } from 'use-subscription' +import type { CSSProperties } from '@emotion/serialize' export declare namespace Plugin { /** @@ -244,6 +245,8 @@ export namespace Plugin.SNSAdaptor { ProfileSliders?: ProfileSlider[] /** This UI will be rendered as tabs on the profile page */ ProfileTabs?: ProfileTab[] + /** This UI will be rendered as plugin wrapper page */ + wrapperEntry?: WrapperEntry /** * A hook for if this plugin can enhance the #hash or $cash tag. */ @@ -336,6 +339,11 @@ export namespace Plugin.SNSAdaptor { category?: 'dapp' | 'other' } + export interface WrapperEntry { + icon?: React.ReactNode + style?: CSSProperties + } + export interface ProfileIdentity { avatar?: string bio?: string diff --git a/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx b/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx index 16730db08508..e38f24d8b24c 100644 --- a/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx +++ b/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx @@ -44,6 +44,13 @@ const sns: Plugin.SNSAdaptor.Definition = { tutorialLink: 'https://cyberconnect.me/', }, ], + wrapperEntry: { + icon: , + style: { + background: + 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(45, 41, 253, 0.2) 100%), #FFFFFF;', + }, + }, } export default sns diff --git a/packages/plugins/FileService/src/SNSAdaptor/index.tsx b/packages/plugins/FileService/src/SNSAdaptor/index.tsx index 8763125cbfd9..85b56c6032ff 100644 --- a/packages/plugins/FileService/src/SNSAdaptor/index.tsx +++ b/packages/plugins/FileService/src/SNSAdaptor/index.tsx @@ -72,6 +72,13 @@ const definition: Plugin.SNSAdaptor.Definition = { } })(), ], + wrapperEntry: { + icon: , + style: { + background: + 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(255, 177, 16, 0.2) 100%), #FFFFFF;', + }, + }, } export default definition From 3ca20ad009b321e45fffcba690bee9ff5c99a0e6 Mon Sep 17 00:00:00 2001 From: lelenei Date: Sun, 24 Apr 2022 14:42:21 +0800 Subject: [PATCH 02/80] feat: enable plugin --- packages/icons/general/Plugin.tsx | 12 ++++ packages/icons/general/index.ts | 1 + .../DisabledPluginSuggestion.tsx | 57 +++++++++++++++++-- .../mask/src/plugins/MaskPluginWrapper.tsx | 39 +++++++++---- .../src/web3/UI/EthereumChainBoundary.tsx | 28 ++++++--- .../UI/EthereumWalletConnectedBoundary.tsx | 7 ++- 6 files changed, 118 insertions(+), 26 deletions(-) create mode 100644 packages/icons/general/Plugin.tsx diff --git a/packages/icons/general/Plugin.tsx b/packages/icons/general/Plugin.tsx new file mode 100644 index 000000000000..98c5b861bc0e --- /dev/null +++ b/packages/icons/general/Plugin.tsx @@ -0,0 +1,12 @@ +import { createIcon } from '../utils' + +export const PluginIcon = createIcon( + 'PluginIcon', + + + , + '0 0 19 18', +) diff --git a/packages/icons/general/index.ts b/packages/icons/general/index.ts index 322da05f354d..d486a019fe49 100644 --- a/packages/icons/general/index.ts +++ b/packages/icons/general/index.ts @@ -112,3 +112,4 @@ export * from './CircleLoading' export * from './AddUser' export * from './PopupRestore' export * from './Provider' +export * from './Plugin' diff --git a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx index 11ba18790aca..889fbff38889 100644 --- a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx +++ b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx @@ -5,12 +5,16 @@ import { usePostInfoDetails, Plugin, usePluginI18NField, + PluginI18NFieldRender, } from '@masknet/plugin-infra/content-script' import { extractTextFromTypedMessage } from '@masknet/typed-message' -import { Switch } from '@mui/material' import Services from '../../extension/service' import MaskPostExtraInfoWrapper from '../../plugins/MaskPluginWrapper' import { useI18N } from '../../utils' +import { HTMLProps, useCallback } from 'react' +import { Button } from '@mui/material' +import { PluginIcon } from '@masknet/icons' +import { makeStyles } from '@masknet/theme' function useDisabledPlugins() { const activated = new Set(useActivatedPluginsSNSAdaptor('any').map((x) => x.ID)) @@ -55,21 +59,62 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi const { t } = useI18N() const t2 = usePluginI18NField() const { plugins } = props + const onClick = useCallback((x: Plugin.DeferredDefinition) => { + Services.Settings.setPluginMinimalModeEnabled(x.ID, false) + }, []) if (!plugins.length) return null + return ( <> {plugins.map((x) => ( : undefined + } + publisherLink={x.publisher?.link} action={ - Services.Settings.setPluginMinimalModeEnabled(x.ID, false)} - /> + } + content={} /> ))} ) } + +const useRectangleStyles = makeStyles()(() => ({ + rectangle: { + height: 8, + background: 'rgba(255, 255, 255, 0.5)', + borderRadius: 8, + }, +})) +interface RectangleProps extends HTMLProps {} + +export function Rectangle(props: RectangleProps) { + const { classes } = useRectangleStyles() + return ( +
+
+
+
+
+ ) +} diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index 98805db660e4..a92ea07072fc 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -1,5 +1,5 @@ import { Typography, SnackbarContent, Button, Link } from '@mui/material' -import { makeStyles, MaskColorVar } from '@masknet/theme' +import { makeStyles } from '@masknet/theme' import { activatedSocialNetworkUI } from '../social-network' import { MaskIcon } from '../resources/MaskIcon' import { Suspense, ReactNode, useMemo, forwardRef, useImperativeHandle, useState } from 'react' @@ -21,6 +21,7 @@ interface PluginWrapperProps extends React.PropsWithChildren<{}> { open?: boolean title: string width?: number + content?: ReactNode action?: ReactNode publisher?: JSX.Element wrapperEntry?: Plugin.SNSAdaptor.WrapperEntry @@ -63,26 +64,32 @@ const useStyles = makeStyles<{ style?: CSSProperties }>()((theme, props) => { lineHeight: 0, }, }, - action: { + publish: { flex: 1, display: 'flex', alignItems: 'center', justifyContent: 'flex-end', }, + action: { + textAlign: 'center', + margin: theme.spacing(1), + }, body: { padding: theme.spacing(0), }, button: { - color: MaskColorVar.twitterButtonText, + backgroundColor: '#07101B', + color: 'white', + width: 254, '&,&:hover': { - background: MaskColorVar.twitterButton, + background: '#07101B', }, }, } }) export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { - const { open, title, children, action, publisher, publisherLink, wrapperEntry } = props + const { open, title, children, action, publisher, publisherLink, content, wrapperEntry } = props const { classes } = useStyles({ style: wrapperEntry?.style }) const personaConnectStatus = usePersonaConnectStatus() @@ -108,16 +115,15 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { const publisherInfo = useMemo(() => { if (!publisher) return null const main = ( - + {publisher} ) return ( - + {t('plugin_provider_by')} - {' '} {main} {publisherLink ? ( @@ -135,15 +141,24 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { onClick={(ev) => ev.stopPropagation()}>
{wrapperEntry?.icon ?? } - + {title ?? t('plugin_default_title')} - -
{actionButton || action || publisherInfo}
+
{publisherInfo}
- {personaConnectStatus.connected && children ?
{children}
: null} + {personaConnectStatus.connected && children ? ( +
{children}
+ ) : ( + <> + + {content ?? name} + +
{actionButton || action || publisherInfo}
+ + )}
) + return } children={inner} /> } diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index c2ac6e140688..61b9dab8cf76 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -166,14 +166,14 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { if (!account) return renderBox( <> - + {t('plugin_wallet_connect_wallet_tip')} {!props.hiddenConnectButton ? ( {t('plugin_wallet_connect_wallet')} @@ -185,7 +185,7 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { if (!isAllowed) return renderBox( - + {t('plugin_wallet_not_available_on', { network: actualNetwork, @@ -198,7 +198,7 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { return renderBox( <> {!noSwitchNetworkTip ? ( - + {t('plugin_wallet_not_available_on', { network: plugin?.name?.fallback ?? 'Unknown Plugin', @@ -211,7 +211,14 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { variant="contained" size="small" className={classes.switchButton} - sx={props.switchButtonStyle ?? { marginTop: 1.5 }} + sx={ + props.switchButtonStyle ?? { + marginTop: 1.5, + backgroundColor: '#07101B', + width: 254, + color: 'white', + } + } init={ {t('plugin_wallet_switch_network', { @@ -239,7 +246,7 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { return renderBox( <> {!noSwitchNetworkTip ? ( - + {t('plugin_wallet_not_available_on', { network: actualNetwork, @@ -252,7 +259,14 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { variant="contained" size="small" className={classes.switchButton} - sx={props.switchButtonStyle ?? { marginTop: 1.5 }} + sx={ + props.switchButtonStyle ?? { + marginTop: 1.5, + backgroundColor: '#07101B', + width: 254, + color: 'white', + } + } init={ {t('plugin_wallet_switch_network', { diff --git a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx index 2eb116847743..2e5965cfee49 100644 --- a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx @@ -11,7 +11,12 @@ import { useWalletRiskWarningDialog } from '../../plugins/Wallet/hooks/useWallet const useStyles = makeStyles()((theme) => ({ button: { - marginTop: theme.spacing(1.5), + margin: theme.spacing(1.5, 1), + backgroundColor: '#07101B', + color: 'white', + '&:hover': { + backgroundColor: '#07101B', + }, }, })) From 9017a4b7aa81ecad6fc3dd86735af28dbae9b49b Mon Sep 17 00:00:00 2001 From: lelenei Date: Sun, 24 Apr 2022 15:48:18 +0800 Subject: [PATCH 03/80] refactor: reply review --- packages/mask/shared-ui/locales/en-US.json | 1 - packages/mask/shared-ui/locales/qya-AA.json | 1 - packages/mask/shared-ui/locales/zh-CN.json | 1 - .../mask/src/plugins/FindTruman/SNSAdaptor/index.tsx | 2 +- packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx | 2 +- packages/mask/src/plugins/MaskPluginWrapper.tsx | 12 ++++++------ .../src/plugins/PoolTogether/SNSAdaptor/index.tsx | 2 +- .../mask/src/plugins/RedPacket/SNSAdaptor/index.tsx | 2 +- .../mask/src/plugins/Snapshot/SNSAdaptor/index.tsx | 2 +- .../mask/src/plugins/Trader/SNSAdaptor/index.tsx | 2 +- .../mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx | 2 +- packages/plugin-infra/src/types.ts | 4 ++-- .../plugins/CyberConnect/src/SNSAdaptor/index.tsx | 2 +- .../plugins/FileService/src/SNSAdaptor/index.tsx | 2 +- 14 files changed, 17 insertions(+), 20 deletions(-) diff --git a/packages/mask/shared-ui/locales/en-US.json b/packages/mask/shared-ui/locales/en-US.json index 9ffa29eb41f0..3fa4316f4cab 100644 --- a/packages/mask/shared-ui/locales/en-US.json +++ b/packages/mask/shared-ui/locales/en-US.json @@ -181,7 +181,6 @@ "wallet_search_no_result": "No results.", "wallet_confirm_with_password": "Confirm with password", "wallet_airdrop_nft_unclaimed_title": "NFT Airdrop Unclaimed:", - "plugin_not_enabled": "{{plugin}} (Not Enabled)", "plugin_external_unknown_plugin": "New unknown Mask plugins found. Do you want to load them?", "plugin_external_loader_search_holder": "Search for an external plugin", "plugin_external_loader_search_button": "Search for plugin", diff --git a/packages/mask/shared-ui/locales/qya-AA.json b/packages/mask/shared-ui/locales/qya-AA.json index 184e070b1d4d..bd142a2984ca 100644 --- a/packages/mask/shared-ui/locales/qya-AA.json +++ b/packages/mask/shared-ui/locales/qya-AA.json @@ -181,7 +181,6 @@ "wallet_search_no_result": "crwdns8139:0crwdne8139:0", "wallet_confirm_with_password": "crwdns10141:0crwdne10141:0", "wallet_airdrop_nft_unclaimed_title": "crwdns8093:0crwdne8093:0", - "plugin_not_enabled": "crwdns10811:0{{plugin}}crwdne10811:0", "plugin_external_unknown_plugin": "crwdns10143:0crwdne10143:0", "plugin_external_loader_search_holder": "crwdns10145:0crwdne10145:0", "plugin_external_loader_search_button": "crwdns10147:0crwdne10147:0", diff --git a/packages/mask/shared-ui/locales/zh-CN.json b/packages/mask/shared-ui/locales/zh-CN.json index 091bf5aa756e..14a23baba650 100644 --- a/packages/mask/shared-ui/locales/zh-CN.json +++ b/packages/mask/shared-ui/locales/zh-CN.json @@ -159,7 +159,6 @@ "wallet_search_no_result": "没有任何结果。", "wallet_confirm_with_password": "使用密码确认", "wallet_airdrop_nft_unclaimed_title": "未认领的NFT Airdrop:", - "plugin_not_enabled": "{{plugin}} (未启用)", "plugin_external_unknown_plugin": "发现新的未知Mask插件,您想要加载它们吗?", "plugin_external_loader_search_holder": "查找外部插件", "plugin_external_loader_search_button": "查找插件", diff --git a/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx b/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx index 6a2abedb765d..8e3d4bc07353 100644 --- a/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx @@ -114,7 +114,7 @@ const sns: Plugin.SNSAdaptor.Definition = { } })(), ], - wrapperEntry: { + wrapperProps: { icon: , style: { background: diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx index 1e1442d6b773..be1974f789d7 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx @@ -119,7 +119,7 @@ const sns: Plugin.SNSAdaptor.Definition = { } })(), ], - wrapperEntry: { + wrapperProps: { icon: , style: { background: diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index a92ea07072fc..6855fa63677b 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -24,7 +24,7 @@ interface PluginWrapperProps extends React.PropsWithChildren<{}> { content?: ReactNode action?: ReactNode publisher?: JSX.Element - wrapperEntry?: Plugin.SNSAdaptor.WrapperEntry + wrapperProps?: Plugin.SNSAdaptor.PluginWrapperProps publisherLink?: string } @@ -89,8 +89,8 @@ const useStyles = makeStyles<{ style?: CSSProperties }>()((theme, props) => { }) export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { - const { open, title, children, action, publisher, publisherLink, content, wrapperEntry } = props - const { classes } = useStyles({ style: wrapperEntry?.style }) + const { open, title, children, action, publisher, publisherLink, content, wrapperProps } = props + const { classes } = useStyles({ style: wrapperProps?.style }) const personaConnectStatus = usePersonaConnectStatus() const { t } = useI18N() @@ -140,7 +140,7 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { style={{ display: open ? 'block' : 'none' }} onClick={(ev) => ev.stopPropagation()}>
- {wrapperEntry?.icon ?? } + {wrapperProps?.icon ?? } {title ?? t('plugin_default_title')} @@ -164,7 +164,7 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { export const MaskPostExtraPluginWrapper: PluginWrapperComponent = forwardRef( (props, ref) => { - const { ID, name, publisher, wrapperEntry } = props.definition + const { ID, name, publisher, wrapperProps } = props.definition const t = usePluginI18NField() const [width, setWidth] = useState(undefined) const [open, setOpen] = useState(false) @@ -182,7 +182,7 @@ export const MaskPostExtraPluginWrapper: PluginWrapperComponent, }, ], - wrapperEntry: { + wrapperProps: { icon: , style: { background: diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx index 91b5535523e4..d2420ad214da 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/index.tsx @@ -126,7 +126,7 @@ const sns: Plugin.SNSAdaptor.Definition = { } })(), ], - wrapperEntry: { + wrapperProps: { icon: , style: { background: diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx index 19bcbdab3496..948f3fe44a43 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx @@ -75,7 +75,7 @@ const sns: Plugin.SNSAdaptor.Definition = { icon: , }, ], - wrapperEntry: { + wrapperProps: { icon: , style: { background: diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx index 5083bb145ee2..ecc77249125b 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx @@ -45,7 +45,7 @@ const sns: Plugin.SNSAdaptor.Definition = { } })(), ], - wrapperEntry: { + wrapperProps: { icon: , style: { background: diff --git a/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx b/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx index d3fc77c7f4c4..05745c5fc74a 100644 --- a/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx @@ -57,7 +57,7 @@ const sns: Plugin.SNSAdaptor.Definition = { 'https://realmasknetwork.notion.site/Invest-in-your-favourite-fund-manager-via-dHEDGE-on-Twitter-ETH-and-Polygon-fb00ff2e626949279c83b59ed9207b9a', }, ], - wrapperEntry: { + wrapperProps: { icon: , style: { background: diff --git a/packages/plugin-infra/src/types.ts b/packages/plugin-infra/src/types.ts index acfbc09a4db9..aa00ff07b77c 100644 --- a/packages/plugin-infra/src/types.ts +++ b/packages/plugin-infra/src/types.ts @@ -246,7 +246,7 @@ export namespace Plugin.SNSAdaptor { /** This UI will be rendered as tabs on the profile page */ ProfileTabs?: ProfileTab[] /** This UI will be rendered as plugin wrapper page */ - wrapperEntry?: WrapperEntry + wrapperProps?: PluginWrapperProps /** * A hook for if this plugin can enhance the #hash or $cash tag. */ @@ -339,7 +339,7 @@ export namespace Plugin.SNSAdaptor { category?: 'dapp' | 'other' } - export interface WrapperEntry { + export interface PluginWrapperProps { icon?: React.ReactNode style?: CSSProperties } diff --git a/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx b/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx index e38f24d8b24c..1bd156a7110f 100644 --- a/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx +++ b/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx @@ -44,7 +44,7 @@ const sns: Plugin.SNSAdaptor.Definition = { tutorialLink: 'https://cyberconnect.me/', }, ], - wrapperEntry: { + wrapperProps: { icon: , style: { background: diff --git a/packages/plugins/FileService/src/SNSAdaptor/index.tsx b/packages/plugins/FileService/src/SNSAdaptor/index.tsx index 85b56c6032ff..7e92351a8c10 100644 --- a/packages/plugins/FileService/src/SNSAdaptor/index.tsx +++ b/packages/plugins/FileService/src/SNSAdaptor/index.tsx @@ -72,7 +72,7 @@ const definition: Plugin.SNSAdaptor.Definition = { } })(), ], - wrapperEntry: { + wrapperProps: { icon: , style: { background: From 2cada83e01c84a1a3f2b6a4345930ae3639d03a2 Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 25 Apr 2022 11:02:43 +0800 Subject: [PATCH 04/80] fix: plugin configuration --- packages/mask/shared-ui/locales/en-US.json | 3 +- .../Collectible/SNSAdaptor/ActionBar.tsx | 12 ++++--- .../Collectible/SNSAdaptor/Collectible.tsx | 32 ++++++++++++------- .../CryptoartAI/SNSAdaptor/ActionBar.tsx | 12 ++++--- .../plugins/Furucombo/UI/FurucomboView.tsx | 30 +++++++++++++---- .../src/utils/hooks/useSettingSwitcher.tsx | 8 ++++- .../src/web3/UI/EthereumChainBoundary.tsx | 10 +++++- 7 files changed, 77 insertions(+), 30 deletions(-) diff --git a/packages/mask/shared-ui/locales/en-US.json b/packages/mask/shared-ui/locales/en-US.json index 3fa4316f4cab..3d744f96e3b6 100644 --- a/packages/mask/shared-ui/locales/en-US.json +++ b/packages/mask/shared-ui/locales/en-US.json @@ -895,7 +895,8 @@ "plugin_furucombo_rewards": "Rewards", "plugin_furucombo_invest": "Invest", "plugin_furucombo_pool_not_found": "Invalid pool address.", - "plugin_furucombo_smt_wrong": "Something went wrong!", + "plugin_furucombo_load_failed": "Load failed", + "plugin_furucombo_reload": "Reload", "plugin_furucombo_head_pools": "Pools", "plugin_furucombo_head_action": "Action", "plugin_pets_dialog_title": "Non-Fungible Friends", diff --git a/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx b/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx index a51866d7b24a..086a6164edaa 100644 --- a/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx +++ b/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx @@ -10,13 +10,15 @@ import { CheckoutDialog } from './CheckoutDialog' const useStyles = makeStyles()((theme) => { return { - root: { - marginLeft: theme.spacing(-0.5), - marginRight: theme.spacing(-0.5), - }, + root: {}, button: { flex: 1, margin: `0 ${theme.spacing(0.5)}`, + backgroundColor: '#07101B', + '&:hover': { + backgroundColor: '#07101B', + }, + color: 'white', }, } }) @@ -43,7 +45,7 @@ export function ActionBar(props: ActionBarProps) { if (!asset.value) return null return ( - + {!asset.value.isOwner && asset.value.is_auction && assetOrder.value ? ( { width: '100%', border: `solid 1px ${theme.palette.divider}`, padding: 0, - marginBottom: 12, }, content: { width: '100%', @@ -141,24 +140,35 @@ export function Collectible(props: CollectibleProps) { setProvider, getEnumAsArray(NonFungibleAssetProvider).map((x) => x.value), resolveCollectibleProviderName, + true, ) // #endregion if (!asset.value || !token) return ( - + Failed to load your collectible on {resolveCollectibleProviderName(provider)}. - {CollectibleProviderSwitcher} - + + {CollectibleProviderSwitcher} + + + + ) const tabs = [ diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx index f6dce0601a4b..13729b391029 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx @@ -10,13 +10,15 @@ import { CheckoutDialog } from './CheckoutDialog' const useStyles = makeStyles()((theme) => { return { - root: { - marginLeft: theme.spacing(-0.5), - marginRight: theme.spacing(-0.5), - }, + root: {}, button: { flex: 1, margin: `0 ${theme.spacing(0.5)}`, + backgroundColor: '#07101B', + color: 'white', + '&:hover': { + backgroundColor: '#07101B', + }, }, } }) @@ -43,7 +45,7 @@ export function ActionBar(props: ActionBarProps) { if (!asset.value) return null return ( - + {!assetSource?.isSoldOut && !assetSource?.is_owner && assetSource?.is24Auction && diff --git a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx index 3f3411e84c74..e0976acc77dc 100644 --- a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx +++ b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx @@ -1,6 +1,6 @@ import { makeStyles } from '@masknet/theme' import { isSameAddress, useChainId } from '@masknet/web3-shared-evm' -import { Card, CardContent, Tabs, Tab, Typography, Paper } from '@mui/material' +import { Card, CardContent, Tabs, Tab, Typography, Paper, CircularProgress, Button, Stack } from '@mui/material' import { useState } from 'react' import { useI18N } from '../../../utils/i18n-next-ui' import { useFetchPools } from '../hooks/usePool' @@ -33,6 +33,14 @@ const useStyles = makeStyles()((theme) => ({ fontFamily: 'inherit', color: 'white', }, + reload: { + backgroundColor: '#07101B', + '&:hover': { + backgroundColor: '#07101B', + }, + color: 'white', + width: 254, + }, })) interface PoolViewProps { @@ -46,15 +54,25 @@ export function FurucomboView(props: PoolViewProps) { const [tabIndex, setTabIndex] = useState(0) const currentChainId = useChainId() - const { value, loading, error } = useFetchPools() + const { value, loading, error, retry } = useFetchPools() - if (loading) return {t('loading')} + if (loading) + return ( + + + + ) if (error || !value) return ( - - {t('plugin_furucombo_smt_wrong')} - + <> + + {t('plugin_furucombo_load_failed')} + + + ) const { investables = [] } = value diff --git a/packages/mask/src/utils/hooks/useSettingSwitcher.tsx b/packages/mask/src/utils/hooks/useSettingSwitcher.tsx index d804a8105252..c81416536ae4 100644 --- a/packages/mask/src/utils/hooks/useSettingSwitcher.tsx +++ b/packages/mask/src/utils/hooks/useSettingSwitcher.tsx @@ -36,6 +36,7 @@ export function useSwitcher( onSwitch: (option: T) => void, options: T[], resolver: (option: T) => string, + fullWidth?: boolean, ) { const nextOption = useMemo(() => { if (options.length === 0) return @@ -50,7 +51,12 @@ export function useSwitcher( if (typeof nextOption === 'undefined') return null return ( - onSwitch(nextOption)}> + onSwitch(nextOption)}> Switch to {resolver(nextOption)} ) diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index 61b9dab8cf76..b1e8ea2c34e7 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -173,7 +173,15 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { {t('plugin_wallet_connect_wallet')} From 248a32c72d815bfa4894b396075b1805b3509fb1 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 26 Apr 2022 22:25:22 +0800 Subject: [PATCH 05/80] refactor: reply review --- .../DisabledPluginSuggestion.tsx | 12 +++------ .../Collectible/SNSAdaptor/ActionBar.tsx | 8 +++--- .../Collectible/SNSAdaptor/Collectible.tsx | 8 +++--- .../CryptoartAI/SNSAdaptor/ActionBar.tsx | 6 ++--- .../plugins/FindTruman/SNSAdaptor/index.tsx | 6 ++--- .../plugins/Furucombo/UI/FurucomboView.tsx | 8 +++--- .../mask/src/plugins/ITO/SNSAdaptor/index.tsx | 6 ++--- .../mask/src/plugins/MaskPluginWrapper.tsx | 26 +++++++++++-------- .../plugins/PoolTogether/SNSAdaptor/index.tsx | 6 ++--- .../plugins/RedPacket/SNSAdaptor/index.tsx | 6 ++--- .../src/plugins/Snapshot/SNSAdaptor/index.tsx | 6 ++--- .../src/plugins/Trader/SNSAdaptor/index.tsx | 6 ++--- .../src/plugins/dHEDGE/SNSAdaptor/index.tsx | 6 ++--- .../src/web3/UI/EthereumChainBoundary.tsx | 18 ++++++------- .../UI/EthereumWalletConnectedBoundary.tsx | 6 ++--- packages/plugin-infra/src/types.ts | 3 +-- .../CyberConnect/src/SNSAdaptor/index.tsx | 6 ++--- .../FileService/src/SNSAdaptor/index.tsx | 6 ++--- packages/theme/src/CSSVariables/constants.ts | 8 ++++++ 19 files changed, 73 insertions(+), 84 deletions(-) diff --git a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx index 889fbff38889..70c64e6e8cae 100644 --- a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx +++ b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx @@ -4,17 +4,15 @@ import { registeredPlugins, usePostInfoDetails, Plugin, - usePluginI18NField, PluginI18NFieldRender, } from '@masknet/plugin-infra/content-script' import { extractTextFromTypedMessage } from '@masknet/typed-message' import Services from '../../extension/service' import MaskPostExtraInfoWrapper from '../../plugins/MaskPluginWrapper' -import { useI18N } from '../../utils' import { HTMLProps, useCallback } from 'react' import { Button } from '@mui/material' import { PluginIcon } from '@masknet/icons' -import { makeStyles } from '@masknet/theme' +import { makeStyles, MaskColorVar } from '@masknet/theme' function useDisabledPlugins() { const activated = new Set(useActivatedPluginsSNSAdaptor('any').map((x) => x.ID)) @@ -56,8 +54,6 @@ export function PossiblePluginSuggestionPostInspector() { return } export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefinition[] }) { - const { t } = useI18N() - const t2 = usePluginI18NField() const { plugins } = props const onClick = useCallback((x: Plugin.DeferredDefinition) => { Services.Settings.setPluginMinimalModeEnabled(x.ID, false) @@ -70,7 +66,7 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi } publisher={ x.publisher ? : undefined } @@ -82,11 +78,11 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi variant="contained" onClick={() => onClick(x)} sx={{ - backgroundColor: '#07101B', + backgroundColor: MaskColorVar.buttonPluginBackground, color: 'white', width: '254px', '&:hover': { - backgroundColor: '#07101B', + backgroundColor: MaskColorVar.buttonPluginBackground, }, }}> Enable plugins diff --git a/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx b/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx index 086a6164edaa..233fe41e8885 100644 --- a/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx +++ b/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material' -import { makeStyles } from '@masknet/theme' +import { makeStyles, MaskColorVar } from '@masknet/theme' import { useI18N } from '../../../utils' import { CollectibleState } from '../hooks/useCollectibleState' import ActionButton from '../../../extension/options-page/DashboardComponents/ActionButton' @@ -13,10 +13,10 @@ const useStyles = makeStyles()((theme) => { root: {}, button: { flex: 1, - margin: `0 ${theme.spacing(0.5)}`, - backgroundColor: '#07101B', + margin: theme.spacing(0, 0.5), + backgroundColor: MaskColorVar.buttonPluginBackground, '&:hover': { - backgroundColor: '#07101B', + backgroundColor: MaskColorVar.buttonPluginBackground, }, color: 'white', }, diff --git a/packages/mask/src/plugins/Collectible/SNSAdaptor/Collectible.tsx b/packages/mask/src/plugins/Collectible/SNSAdaptor/Collectible.tsx index 1624a987f8c3..6312aec1d13e 100644 --- a/packages/mask/src/plugins/Collectible/SNSAdaptor/Collectible.tsx +++ b/packages/mask/src/plugins/Collectible/SNSAdaptor/Collectible.tsx @@ -1,6 +1,6 @@ import { ReactElement, useCallback } from 'react' import { Box, Button, CardActions, CardContent, CardHeader, Link, Paper, Tab, Tabs, Typography } from '@mui/material' -import { makeStyles } from '@masknet/theme' +import { makeStyles, MaskColorVar } from '@masknet/theme' import { Trans } from 'react-i18next' import { findIndex } from 'lodash-unified' import formatDateTime from 'date-fns/format' @@ -147,7 +147,7 @@ export function Collectible(props: CollectibleProps) { if (!asset.value || !token) return ( - + Failed to load your collectible on {resolveCollectibleProviderName(provider)}. @@ -159,10 +159,10 @@ export function Collectible(props: CollectibleProps) { onClick={() => asset.retry()} sx={{ marginTop: 1.5, - backgroundColor: '#07101B', + backgroundColor: MaskColorVar.textPluginColor, color: 'white', '&:hover': { - backgroundColor: '#07101B', + backgroundColor: MaskColorVar.textPluginColor, }, }}> Refresh diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx index 13729b391029..546b34d8348c 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx @@ -1,6 +1,6 @@ import { useMemo } from 'react' import { Box } from '@mui/material' -import { makeStyles } from '@masknet/theme' +import { makeStyles, MaskColorVar } from '@masknet/theme' import { useI18N } from '../../../utils' import { CollectibleState } from '../hooks/useCollectibleState' import ActionButton from '../../../extension/options-page/DashboardComponents/ActionButton' @@ -14,10 +14,10 @@ const useStyles = makeStyles()((theme) => { button: { flex: 1, margin: `0 ${theme.spacing(0.5)}`, - backgroundColor: '#07101B', + backgroundColor: MaskColorVar.buttonPluginBackground, color: 'white', '&:hover': { - backgroundColor: '#07101B', + backgroundColor: MaskColorVar.buttonPluginBackground, }, }, } diff --git a/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx b/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx index 8e3d4bc07353..4a3b98c0e9e1 100644 --- a/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx @@ -116,10 +116,8 @@ const sns: Plugin.SNSAdaptor.Definition = { ], wrapperProps: { icon: , - style: { - background: - ' linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(251, 49, 32, 0.2) 100%), #FFFFFF;', - }, + backgroundGradient: + 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(251, 49, 32, 0.2) 100%), #FFFFFF;', }, } diff --git a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx index e0976acc77dc..c5d8bbdfc064 100644 --- a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx +++ b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@masknet/theme' +import { makeStyles, MaskColorVar } from '@masknet/theme' import { isSameAddress, useChainId } from '@masknet/web3-shared-evm' import { Card, CardContent, Tabs, Tab, Typography, Paper, CircularProgress, Button, Stack } from '@mui/material' import { useState } from 'react' @@ -34,9 +34,9 @@ const useStyles = makeStyles()((theme) => ({ color: 'white', }, reload: { - backgroundColor: '#07101B', + backgroundColor: MaskColorVar.buttonPluginBackground, '&:hover': { - backgroundColor: '#07101B', + backgroundColor: MaskColorVar.buttonPluginBackground, }, color: 'white', width: 254, @@ -66,7 +66,7 @@ export function FurucomboView(props: PoolViewProps) { if (error || !value) return ( <> - + {t('plugin_furucombo_load_failed')} } - content={} + content={} /> ))} diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index 346ec2dbb3b2..4a01fb44947e 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -35,6 +35,7 @@ const useStyles = makeStyles<{ backgroundGradient?: string }>()((theme, props) = 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(45, 41, 253, 0.2) 100%), #FFFFFF;', margin: theme.spacing(2, 0), width: '100%', + height: 196, boxSizing: 'border-box', cursor: 'default', ...(isTwitter(activatedSocialNetworkUI) @@ -49,7 +50,7 @@ const useStyles = makeStyles<{ backgroundGradient?: string }>()((theme, props) = color: theme.palette.text.primary, display: 'flex', alignItems: 'center', - padding: theme.spacing(1), + padding: 15, }, title: { display: 'flex', @@ -72,6 +73,12 @@ const useStyles = makeStyles<{ backgroundGradient?: string }>()((theme, props) = action: { textAlign: 'center', margin: theme.spacing(1), + position: 'absolute', + width: '100%', + bottom: 24, + display: 'flex', + alignItems: 'center', + justifyContent: 'center', }, body: { padding: theme.spacing(0), @@ -83,6 +90,7 @@ const useStyles = makeStyles<{ backgroundGradient?: string }>()((theme, props) = '&,&:hover': { background: MaskColorVar.buttonPluginBackground, }, + borderRadius: 9999, }, } }) diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index 012f3b78dc05..a8dacb866435 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -169,7 +169,9 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { variant="contained" size={props.ActionButtonPromiseProps?.size} sx={{ + borderRadius: 9999, marginTop: 1.5, + marginBottom: 1.5, backgroundColor: MaskColorVar.buttonPluginBackground, width: 254, color: 'white', diff --git a/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx b/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx index 546651aa5b4d..c0cc5a62d62b 100644 --- a/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx +++ b/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx @@ -45,7 +45,7 @@ const sns: Plugin.SNSAdaptor.Definition = { }, ], wrapperProps: { - icon: , + icon: , backgroundGradient: 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(45, 41, 253, 0.2) 100%), #FFFFFF;', }, From 3860a38e47531f1b4bf549daccc4a212757d9249 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 10 May 2022 21:18:26 +0800 Subject: [PATCH 07/80] fix: fileserve plugin --- packages/mask/src/plugins/MaskPluginWrapper.tsx | 1 - packages/mask/src/plugins/Tips/locales/languages.ts | 2 +- packages/plugins/CrossChainBridge/src/locales/languages.ts | 4 +--- packages/plugins/CyberConnect/src/locales/languages.ts | 4 +--- packages/plugins/FileService/src/SNSAdaptor/index.tsx | 6 +++++- packages/plugins/GoPlusSecurity/src/locales/languages.ts | 2 +- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index 4a01fb44947e..f3f8fae59177 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -35,7 +35,6 @@ const useStyles = makeStyles<{ backgroundGradient?: string }>()((theme, props) = 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(45, 41, 253, 0.2) 100%), #FFFFFF;', margin: theme.spacing(2, 0), width: '100%', - height: 196, boxSizing: 'border-box', cursor: 'default', ...(isTwitter(activatedSocialNetworkUI) diff --git a/packages/mask/src/plugins/Tips/locales/languages.ts b/packages/mask/src/plugins/Tips/locales/languages.ts index b0b73b68c8b3..29e2624d5117 100644 --- a/packages/mask/src/plugins/Tips/locales/languages.ts +++ b/packages/mask/src/plugins/Tips/locales/languages.ts @@ -25,7 +25,7 @@ if (import.meta.webpackHot) { globalThis.dispatchEvent?.( new CustomEvent('MASK_I18N_HMR', { detail: [ - 'com.mask.next_id', + 'com.maskbook.tip', { en: en_US, ja: ja_JP, ko: ko_KR, qy: qya_AA, 'zh-CN': zh_CN, zh: zh_TW }, ], }), diff --git a/packages/plugins/CrossChainBridge/src/locales/languages.ts b/packages/plugins/CrossChainBridge/src/locales/languages.ts index cff1155ab4cb..9a9eaf071648 100644 --- a/packages/plugins/CrossChainBridge/src/locales/languages.ts +++ b/packages/plugins/CrossChainBridge/src/locales/languages.ts @@ -16,8 +16,6 @@ export const languages = { 'zh-CN': zh_CN, zh: zh_TW, } -import { createI18NBundle } from '@masknet/shared-base' -export const add__template__I18N = createI18NBundle('__template__', languages) // @ts-ignore if (import.meta.webpackHot) { // @ts-ignore @@ -27,7 +25,7 @@ if (import.meta.webpackHot) { globalThis.dispatchEvent?.( new CustomEvent('MASK_I18N_HMR', { detail: [ - '__template__', + 'io.mask.cross-chain-bridge', { en: en_US, ja: ja_JP, ko: ko_KR, qy: qya_AA, 'zh-CN': zh_CN, zh: zh_TW }, ], }), diff --git a/packages/plugins/CyberConnect/src/locales/languages.ts b/packages/plugins/CyberConnect/src/locales/languages.ts index cff1155ab4cb..723be86af762 100644 --- a/packages/plugins/CyberConnect/src/locales/languages.ts +++ b/packages/plugins/CyberConnect/src/locales/languages.ts @@ -16,8 +16,6 @@ export const languages = { 'zh-CN': zh_CN, zh: zh_TW, } -import { createI18NBundle } from '@masknet/shared-base' -export const add__template__I18N = createI18NBundle('__template__', languages) // @ts-ignore if (import.meta.webpackHot) { // @ts-ignore @@ -27,7 +25,7 @@ if (import.meta.webpackHot) { globalThis.dispatchEvent?.( new CustomEvent('MASK_I18N_HMR', { detail: [ - '__template__', + 'com.maskbook.cyberconnect', { en: en_US, ja: ja_JP, ko: ko_KR, qy: qya_AA, 'zh-CN': zh_CN, zh: zh_TW }, ], }), diff --git a/packages/plugins/FileService/src/SNSAdaptor/index.tsx b/packages/plugins/FileService/src/SNSAdaptor/index.tsx index 4faaefe1a7cd..eabe16bd7406 100644 --- a/packages/plugins/FileService/src/SNSAdaptor/index.tsx +++ b/packages/plugins/FileService/src/SNSAdaptor/index.tsx @@ -73,7 +73,11 @@ const definition: Plugin.SNSAdaptor.Definition = { })(), ], wrapperProps: { - icon: , + icon: ( + + ), backgroundGradient: 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(255, 177, 16, 0.2) 100%), #FFFFFF;', }, diff --git a/packages/plugins/GoPlusSecurity/src/locales/languages.ts b/packages/plugins/GoPlusSecurity/src/locales/languages.ts index 8d0cd55c479a..e7863fdc2a1d 100644 --- a/packages/plugins/GoPlusSecurity/src/locales/languages.ts +++ b/packages/plugins/GoPlusSecurity/src/locales/languages.ts @@ -25,7 +25,7 @@ if (import.meta.webpackHot) { globalThis.dispatchEvent?.( new CustomEvent('MASK_I18N_HMR', { detail: [ - 'io.mask.debugger', + 'io.gopluslabs.security', { en: en_US, ja: ja_JP, ko: ko_KR, qy: qya_AA, 'zh-CN': zh_CN, zh: zh_TW }, ], }), From 42d164387239e1f58dadf7749ffdb164f8eb582d Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 10 May 2022 21:35:08 +0800 Subject: [PATCH 08/80] fix: css style --- packages/icons/plugins/MarketsClaim.tsx | 108 +++++++++++++++++- .../DisabledPluginSuggestion.tsx | 1 + .../mask/src/plugins/ITO/SNSAdaptor/ITO.tsx | 4 +- .../mask/src/plugins/ITO/SNSAdaptor/index.tsx | 6 +- .../mask/src/plugins/MaskPluginWrapper.tsx | 18 ++- .../plugins/RedPacket/SNSAdaptor/index.tsx | 6 +- packages/plugins/CrossChainBridge/src/base.ts | 2 +- .../FileService/src/SNSAdaptor/index.tsx | 2 +- 8 files changed, 130 insertions(+), 17 deletions(-) diff --git a/packages/icons/plugins/MarketsClaim.tsx b/packages/icons/plugins/MarketsClaim.tsx index f94a2736ade3..c3f4c553be6b 100644 --- a/packages/icons/plugins/MarketsClaim.tsx +++ b/packages/icons/plugins/MarketsClaim.tsx @@ -1,5 +1,5 @@ import { createIcon } from '../utils' -import type { SvgIcon } from '@mui/material' +import { SvgIcon, SvgIconProps } from '@mui/material' export const MarketsClaimIcon: typeof SvgIcon = createIcon( 'Markets', @@ -16,3 +16,109 @@ export const MarketsClaimIcon: typeof SvgIcon = createIcon( , '0 0 36 36', ) + +const svg = ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +) +export const ITOIcon1 = (props: SvgIconProps) => {svg} diff --git a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx index 2be5bd351356..aea50f826ce6 100644 --- a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx +++ b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx @@ -83,6 +83,7 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi backgroundColor: MaskColorVar.buttonPluginBackground, color: 'white', width: '254px', + height: '36px', '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, }, diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx index 0233d450294e..4dd8e0cb8b70 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx @@ -17,7 +17,7 @@ import { import { isZero, ZERO, isGreaterThan } from '@masknet/web3-shared-base' import { useRemoteControlledDialog } from '@masknet/shared-base-ui' import { Box, Card, Grid, Link, Typography } from '@mui/material' -import { makeStyles } from '@masknet/theme' +import { makeStyles, MaskColorVar } from '@masknet/theme' import OpenInNewIcon from '@mui/icons-material/OpenInNew' import { BigNumber } from 'bignumber.js' import classNames from 'classnames' @@ -155,6 +155,8 @@ const useStyles = makeStyles()((theme, props) => ({ }, actionButton: { width: '100%', + backgrundColor: MaskColorVar.buttonPluginBackground, + color: 'white', }, textProviderErr: { color: '#EB5757', diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx index 006211f63bd5..11d58e7e9135 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx @@ -17,7 +17,7 @@ import { ITO_MetadataReader, payloadIntoMask } from './helpers' import { CompositionDialog } from './CompositionDialog' import { set } from 'lodash-unified' import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' -import { MarketsIcon, MarketsClaimIcon } from '@masknet/icons' +import { MarketsIcon, MarketsClaimIcon, ITOIcon1 } from '@masknet/icons' import { ApplicationEntry } from '@masknet/shared' import { CrossIsolationMessages } from '@masknet/shared-base' import { ClaimAllDialog } from './ClaimAllDialog' @@ -120,7 +120,9 @@ const sns: Plugin.SNSAdaptor.Definition = { })(), ], wrapperProps: { - icon: , + icon: ( + + ), backgroundGradient: 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(41, 228, 253, 0.2) 100%), #FFFFFF;', }, diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index f3f8fae59177..aa5002628e6b 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -1,9 +1,7 @@ import { Typography, SnackbarContent, Button, Link } from '@mui/material' import { makeStyles, MaskColorVar } from '@masknet/theme' -import { activatedSocialNetworkUI } from '../social-network' import { MaskIcon } from '../resources/MaskIcon' import { Suspense, ReactNode, useMemo, forwardRef, useImperativeHandle, useState } from 'react' -import { isTwitter } from '../social-network-adaptor/twitter.com/base' import { usePersonaConnectStatus } from '../components/DataSource/usePersonaConnectStatus' import { useI18N } from '../utils' import { Box } from '@mui/system' @@ -37,12 +35,8 @@ const useStyles = makeStyles<{ backgroundGradient?: string }>()((theme, props) = width: '100%', boxSizing: 'border-box', cursor: 'default', - ...(isTwitter(activatedSocialNetworkUI) - ? { - borderRadius: 15, - overflow: 'hidden', - } - : null), + borderRadius: 15, + overflow: 'hidden', }, header: { backgroundColor: 'transparent', @@ -119,7 +113,7 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { }, [personaConnectStatus, t]) const publisherInfo = useMemo(() => { - if (!publisher) return null + if (!publisher) return const main = ( {publisher} @@ -146,7 +140,11 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { style={{ display: open ? 'block' : 'none' }} onClick={(ev) => ev.stopPropagation()}>
- {wrapperProps?.icon ?? } + {wrapperProps?.icon ?? ( + + )} , + icon: ( + + ), backgroundGradient: 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(249, 55, 55, 0.2) 100%), #FFFFFF', }, diff --git a/packages/plugins/CrossChainBridge/src/base.ts b/packages/plugins/CrossChainBridge/src/base.ts index 790a217a8f6e..7625b7388e5b 100644 --- a/packages/plugins/CrossChainBridge/src/base.ts +++ b/packages/plugins/CrossChainBridge/src/base.ts @@ -6,7 +6,7 @@ export const base: Plugin.Shared.Definition = { ID: PLUGIN_ID, name: { fallback: PLUGIN_NAME }, description: { fallback: PLUGIN_DESCRIPTION }, - publisher: { name: { fallback: '' }, link: '' }, + publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, enableRequirement: { architecture: { app: false, web: true }, networks: { type: 'opt-out', networks: {} }, diff --git a/packages/plugins/FileService/src/SNSAdaptor/index.tsx b/packages/plugins/FileService/src/SNSAdaptor/index.tsx index eabe16bd7406..ada5ceed5263 100644 --- a/packages/plugins/FileService/src/SNSAdaptor/index.tsx +++ b/packages/plugins/FileService/src/SNSAdaptor/index.tsx @@ -36,7 +36,7 @@ const definition: Plugin.SNSAdaptor.Definition = { ApplicationEntries: [ (() => { const icon = - const name = { i18nKey: '__plugin_name', fallback: 'File Service' } + const name = { fallback: 'File Service' } return { ApplicationEntryID: base.ID, RenderEntryComponent({ disabled }) { From b72801b894f86dae231e92367454622ae4d76e7b Mon Sep 17 00:00:00 2001 From: lelenei Date: Thu, 12 May 2022 00:23:42 +0800 Subject: [PATCH 09/80] fix: parse plugin when on wallet --- packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx | 3 ++- packages/mask/src/plugins/ITO/SNSAdaptor/PostInspector.tsx | 7 +------ .../plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts | 1 + .../mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx | 1 + packages/mask/src/web3/UI/EthereumChainBoundary.tsx | 1 + 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx index 4dd8e0cb8b70..c4a6a709b6b8 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx @@ -56,6 +56,7 @@ interface StyleProps { } const useStyles = makeStyles()((theme, props) => ({ root: { + width: '100%', position: 'relative', color: theme.palette.common.white, flexDirection: 'column', @@ -860,7 +861,7 @@ export function ITO_Loading() { const PoolBackground = getAssetAsBlobURL(new URL('../assets/pool-loading-background.jpg', import.meta.url)) const { classes } = useStyles({}) return ( -
+
- {renderITO()} - - ) + return {renderITO()} } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts index c1981af2d161..c240e22bfc23 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts @@ -24,6 +24,7 @@ to { padding: theme.spacing(1, 1.5), height: 202, }, + width: '100%', }, header: { display: 'flex', diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx index a9c0c3d433f4..91fdb7450a6b 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx @@ -27,6 +27,7 @@ import { openWindow } from '@masknet/shared-base-ui' const useStyles = makeStyles()((theme) => ({ root: { position: 'relative', + width: '100%', }, actions: { paddingTop: theme.spacing(2), diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index a8dacb866435..7da10398f37c 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -183,6 +183,7 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { {t('plugin_wallet_connect_wallet')} ) : null} + {props.children} , ) From 0b55dde715aefa93bb2c8dcb25e69ecce1400c93 Mon Sep 17 00:00:00 2001 From: lelenei Date: Thu, 12 May 2022 00:41:53 +0800 Subject: [PATCH 10/80] fix: css style --- packages/icons/plugins/CyberConnect.tsx | 2 +- packages/mask/src/plugins/MaskPluginWrapper.tsx | 8 ++++---- packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx | 6 +++++- packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx | 2 +- packages/plugins/CyberConnect/src/base.tsx | 2 +- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/icons/plugins/CyberConnect.tsx b/packages/icons/plugins/CyberConnect.tsx index d2dada033e36..6aafbe3351fe 100644 --- a/packages/icons/plugins/CyberConnect.tsx +++ b/packages/icons/plugins/CyberConnect.tsx @@ -15,7 +15,7 @@ export const CyberConnectIcon: typeof SvgIcon = createPaletteAwareIcon( fillRule="evenodd" clipRule="evenodd" d="M20.8194 14.1385L29.6618 23.2918C29.768 23.4001 29.8525 23.529 29.9105 23.6712C29.9685 23.8133 29.9989 23.9659 30 24.1202C30.001 24.2745 29.9727 24.4275 29.9165 24.5705C29.8604 24.7135 29.7777 24.8436 29.673 24.9535L29.0242 25.6228C28.8418 25.8206 28.601 25.9497 28.3397 25.9897C28.1672 26.0136 27.9917 25.9958 27.8269 25.9377C27.6621 25.8797 27.5126 25.7829 27.3899 25.6551L16.5922 14.4778C16.4045 14.2838 16.2556 14.0534 16.1539 13.7997C16.0523 13.5461 16 13.2742 16 12.9996C16 12.725 16.0523 12.4531 16.1539 12.1994C16.2556 11.9458 16.4045 11.7153 16.5922 11.5213L27.3899 0.344062C27.4951 0.234991 27.62 0.148459 27.7576 0.0894208C27.8951 0.0303825 28.0425 0 28.1914 0C28.3403 0 28.4877 0.0303825 28.6253 0.0894208C28.7628 0.148459 28.8878 0.234991 28.993 0.344062L29.6618 1.04798C29.7672 1.15687 29.8508 1.2862 29.9078 1.42856C29.9648 1.57093 29.9942 1.72354 29.9942 1.87767C29.9942 2.03179 29.9648 2.1844 29.9078 2.32677C29.8508 2.46914 29.7672 2.59848 29.6618 2.70738L20.8194 11.8629C20.5294 12.1655 20.3667 12.5745 20.3667 13.0007C20.3667 13.427 20.5294 13.8359 20.8194 14.1385ZM9.18017 11.8726L0.341223 2.71698C0.233969 2.60853 0.148579 2.47911 0.0900066 2.33622C0.0314345 2.19333 0.000846678 2.03982 1.73677e-05 1.88459C-0.000811943 1.72936 0.0281358 1.5755 0.0851776 1.43194C0.142219 1.28839 0.226225 1.158 0.332313 1.04833L0.978629 0.376712C1.16268 0.180155 1.40373 0.0512975 1.66506 0.00975571C1.83749 -0.0133774 2.01275 0.00476068 2.17734 0.0627778C2.34194 0.120795 2.49149 0.217133 2.61448 0.344398L13.408 11.5218C13.5957 11.7158 13.7445 11.9463 13.8461 12.1999C13.9477 12.4536 14 12.7255 14 13.0001C14 13.2747 13.9477 13.5466 13.8461 13.8002C13.7445 14.0539 13.5957 14.2843 13.408 14.4783L2.61448 25.6557C2.50913 25.7649 2.38405 25.8515 2.24639 25.9105C2.10872 25.9696 1.96117 26 1.81215 26C1.66314 26 1.51558 25.9696 1.37792 25.9105C1.24025 25.8515 1.11517 25.7649 1.00983 25.6557L0.341223 24.9634C0.235829 24.8543 0.152224 24.7247 0.0951825 24.5822C0.038141 24.4396 0.00878436 24.2868 0.00878436 24.1325C0.00878436 23.9782 0.038141 23.8254 0.0951825 23.6828C0.152224 23.5402 0.235829 23.4107 0.341223 23.3016L9.18017 14.1483C9.47006 13.8457 9.63272 13.4367 9.63272 13.0104C9.63272 12.5842 9.47006 12.1752 9.18017 11.8726Z" - fill="white" + fill="black" />, undefined, '-8 -10 44 44', diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index aa5002628e6b..4c0042e119ad 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -127,7 +127,7 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { {main} {publisherLink ? ( - + ) : null} @@ -142,14 +142,14 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) {
{wrapperProps?.icon ?? ( )} {title ?? t('plugin_default_title')} diff --git a/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx b/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx index 6d14cab69a3d..6770852b1df1 100644 --- a/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/dHEDGE/SNSAdaptor/index.tsx @@ -58,7 +58,11 @@ const sns: Plugin.SNSAdaptor.Definition = { }, ], wrapperProps: { - icon: , + icon: ( + + ), backgroundGradient: 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(0, 150, 202, 0.2) 100%), #FFFFFF;', }, diff --git a/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx b/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx index c0cc5a62d62b..afea73837e3b 100644 --- a/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx +++ b/packages/plugins/CyberConnect/src/SNSAdaptor/index.tsx @@ -45,7 +45,7 @@ const sns: Plugin.SNSAdaptor.Definition = { }, ], wrapperProps: { - icon: , + icon: , backgroundGradient: 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(45, 41, 253, 0.2) 100%), #FFFFFF;', }, diff --git a/packages/plugins/CyberConnect/src/base.tsx b/packages/plugins/CyberConnect/src/base.tsx index 1d133b171379..9d9f69ef80f0 100644 --- a/packages/plugins/CyberConnect/src/base.tsx +++ b/packages/plugins/CyberConnect/src/base.tsx @@ -9,7 +9,7 @@ export const base: Plugin.Shared.Definition = { description: { fallback: 'A plugin for https://cyberconnect.me/', }, - publisher: { name: { fallback: 'CyberConnect' }, link: 'https://github.com/cyberconnecthq' }, + publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, enableRequirement: { architecture: { app: false, web: true }, networks: { type: 'opt-out', networks: {} }, From 0be6b3e7e7cf6dba3ee69db063ba3cbce3b39653 Mon Sep 17 00:00:00 2001 From: lelenei Date: Thu, 12 May 2022 02:47:21 +0800 Subject: [PATCH 11/80] fix: css style --- packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx | 6 +++++- packages/mask/src/plugins/FindTruman/base.ts | 2 +- packages/mask/src/plugins/MaskPluginWrapper.tsx | 2 +- packages/mask/src/plugins/PoolTogether/SNSAdaptor/index.tsx | 6 +++++- packages/mask/src/plugins/PoolTogether/base.tsx | 4 ++-- packages/mask/src/plugins/RedPacket/base.ts | 2 +- packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx | 6 +++++- packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx | 6 +++++- packages/plugins/FileService/src/base.ts | 2 +- 9 files changed, 26 insertions(+), 10 deletions(-) diff --git a/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx b/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx index 4a3b98c0e9e1..e08bd5b286d8 100644 --- a/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/FindTruman/SNSAdaptor/index.tsx @@ -115,7 +115,11 @@ const sns: Plugin.SNSAdaptor.Definition = { })(), ], wrapperProps: { - icon: , + icon: ( + + ), backgroundGradient: 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(251, 49, 32, 0.2) 100%), #FFFFFF;', }, diff --git a/packages/mask/src/plugins/FindTruman/base.ts b/packages/mask/src/plugins/FindTruman/base.ts index b5b340c83f6d..6b65701a376b 100644 --- a/packages/mask/src/plugins/FindTruman/base.ts +++ b/packages/mask/src/plugins/FindTruman/base.ts @@ -9,7 +9,7 @@ export const base: Plugin.Shared.Definition = { description: { fallback: 'A plugin for https://findtruman.io/', }, - publisher: { name: { fallback: 'FindTruman' }, link: 'https://findtruman.io/' }, + publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, enableRequirement: { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index 4c0042e119ad..a20ceebc84b6 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -127,7 +127,7 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { {main} {publisherLink ? ( - + ) : null} diff --git a/packages/mask/src/plugins/PoolTogether/SNSAdaptor/index.tsx b/packages/mask/src/plugins/PoolTogether/SNSAdaptor/index.tsx index 1482126e4d5c..cf88c4a16328 100644 --- a/packages/mask/src/plugins/PoolTogether/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/PoolTogether/SNSAdaptor/index.tsx @@ -48,7 +48,11 @@ const sns: Plugin.SNSAdaptor.Definition = { }, ], wrapperProps: { - icon: , + icon: ( + + ), backgroundGradient: ' linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(70, 39, 155, 0.2) 100%), #FFFFFF;', }, diff --git a/packages/mask/src/plugins/PoolTogether/base.tsx b/packages/mask/src/plugins/PoolTogether/base.tsx index 0ffc2b3de710..54347f8623cb 100644 --- a/packages/mask/src/plugins/PoolTogether/base.tsx +++ b/packages/mask/src/plugins/PoolTogether/base.tsx @@ -3,9 +3,9 @@ import { POOLTOGETHER_PLUGIN_ID, URL_PATTERN } from './constants' export const base: Plugin.Shared.Definition = { ID: POOLTOGETHER_PLUGIN_ID, - name: { fallback: 'PoolTogether' }, + name: { fallback: 'Pooltogether' }, description: { fallback: 'PoolTogether is a protocol for no-loss prize games on the Ethereum blockchain' }, - publisher: { name: { fallback: 'iRhonin' }, link: 'https://github.com/iRhonin' }, + publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, enableRequirement: { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, diff --git a/packages/mask/src/plugins/RedPacket/base.ts b/packages/mask/src/plugins/RedPacket/base.ts index 6895af863cc4..837ca44dede1 100644 --- a/packages/mask/src/plugins/RedPacket/base.ts +++ b/packages/mask/src/plugins/RedPacket/base.ts @@ -5,7 +5,7 @@ import { RedPacketMetaKey, RedPacketNftMetaKey, RedPacketPluginID } from './cons export const base: Plugin.Shared.Definition = { ID: RedPacketPluginID, - name: { fallback: 'Lucky drop' }, + name: { fallback: 'Lucky Drop' }, description: { fallback: 'Lucky drop is a special feature in Mask Network which was launched in early 2020. Once users have installed the Chrome/Firefox plugin, they can claim and give out cryptocurrencies on Twitter.', diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx index 3147843b8531..4cd60c298d96 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/index.tsx @@ -76,7 +76,11 @@ const sns: Plugin.SNSAdaptor.Definition = { }, ], wrapperProps: { - icon: , + icon: ( + + ), backgroundGradient: 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(255, 159, 10, 0.2) 100%), #FFFFFF;', }, diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx index 36fb50c2110d..a12cc4574f10 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/index.tsx @@ -46,7 +46,11 @@ const sns: Plugin.SNSAdaptor.Definition = { })(), ], wrapperProps: { - icon: , + icon: ( + + ), backgroundGradient: 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, rgba(28, 104, 243, 0.2) 0%, rgba(254, 156, 0, 0.2) 100%), #FFFFFF;', }, diff --git a/packages/plugins/FileService/src/base.ts b/packages/plugins/FileService/src/base.ts index 799e01b93b3a..7b29505f3e06 100644 --- a/packages/plugins/FileService/src/base.ts +++ b/packages/plugins/FileService/src/base.ts @@ -3,7 +3,7 @@ import { languages } from './locales/languages' export const base: Plugin.Shared.Definition = { ID: PluginId.FileService, - name: { fallback: 'File Service', i18nKey: '__display_name' }, + name: { fallback: 'File Service' }, description: { fallback: 'Upload and share files on top of Arweave network. Store data, permanently.', i18nKey: '__description', From 27e99a476674c93fe804b13fdb087480771654de Mon Sep 17 00:00:00 2001 From: lelenei Date: Thu, 12 May 2022 03:00:47 +0800 Subject: [PATCH 12/80] fix: css style --- packages/icons/plugins/MarketsClaim.tsx | 43 ++++++++++--------- .../DisabledPluginSuggestion.tsx | 4 +- .../mask/src/plugins/ITO/SNSAdaptor/index.tsx | 6 ++- 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/packages/icons/plugins/MarketsClaim.tsx b/packages/icons/plugins/MarketsClaim.tsx index c3f4c553be6b..a7e4920ffd2a 100644 --- a/packages/icons/plugins/MarketsClaim.tsx +++ b/packages/icons/plugins/MarketsClaim.tsx @@ -1,5 +1,5 @@ import { createIcon } from '../utils' -import { SvgIcon, SvgIconProps } from '@mui/material' +import { SvgIcon } from '@mui/material' export const MarketsClaimIcon: typeof SvgIcon = createIcon( 'Markets', @@ -17,17 +17,18 @@ export const MarketsClaimIcon: typeof SvgIcon = createIcon( '0 0 36 36', ) -const svg = ( - - +export const ITONewIcon = createIcon( + 'ITONewIcon', + + - + @@ -48,7 +49,7 @@ const svg = ( - + - - + + - + - - + + - + - + , + '0 0 46 46', ) -export const ITOIcon1 = (props: SvgIconProps) => {svg} diff --git a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx index aea50f826ce6..dedc3e98f85b 100644 --- a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx +++ b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx @@ -76,7 +76,7 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi action={ } - content={} + content={} /> ))} From 5d16dc03aa0eb9fe4d0faed13b4b576f50e529d1 Mon Sep 17 00:00:00 2001 From: lelenei Date: Thu, 12 May 2022 23:34:47 +0800 Subject: [PATCH 25/80] fix: css style --- .../Snapshot/SNSAdaptor/LoadingFailCard.tsx | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/LoadingFailCard.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/LoadingFailCard.tsx index fdb45c198733..f9ad3e55f307 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/LoadingFailCard.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/LoadingFailCard.tsx @@ -1,6 +1,6 @@ import { Component, PropsWithChildren } from 'react' import { SnapshotCard } from './SnapshotCard' -import { Typography, Button } from '@mui/material' +import { Typography, Button, Box } from '@mui/material' export class LoadingFailCard extends Component< PropsWithChildren<{ title: string; retry: () => void; isFullPluginDown?: boolean }> @@ -12,24 +12,35 @@ export class LoadingFailCard extends Component< override render() { if (this.state.error) { return this.props.isFullPluginDown ? ( - <> - Loading fails due to Snapshot API service breakdown. + + + Loading fails due to Snapshot API service breakdown. + - + ) : ( Loading fails due to Snapshot API service breakdown.
diff --git a/packages/plugin-infra/src/types.ts b/packages/plugin-infra/src/types.ts index 1718c2dc78d9..f806491f1c2d 100644 --- a/packages/plugin-infra/src/types.ts +++ b/packages/plugin-infra/src/types.ts @@ -346,6 +346,7 @@ export namespace Plugin.SNSAdaptor { export interface PluginWrapperProps { icon?: React.ReactNode + title?: string backgroundGradient?: string } From 74b89bf6bab255d654e80d8c21d9ae44a48f937d Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Fri, 13 May 2022 10:46:33 +0800 Subject: [PATCH 27/80] fix: fungible token detailed hook --- packages/mask/src/plugins/ITO/SNSAdaptor/PostInspector.tsx | 5 ++++- packages/web3-shared/evm/hooks/useERC20TokenDetailed.ts | 5 +---- packages/web3-shared/evm/hooks/useFungibleTokenDetailed.ts | 4 +++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/PostInspector.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/PostInspector.tsx index 92ed3052f2a8..52c86b533f36 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/PostInspector.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/PostInspector.tsx @@ -44,6 +44,8 @@ export function PostInspector(props: PostInspectorProps) { } = useFungibleTokenDetailed( EthereumTokenType.ERC20, typeof token === 'string' ? (token as string) : (token as FungibleTokenDetailed).address, + undefined, + _payload.chain_id, ) const exchangeFungibleTokens = useMemo( @@ -55,6 +57,7 @@ export function PostInspector(props: PostInspectorProps) { type: isSameAddress(t.address, NATIVE_TOKEN_ADDRESS) ? EthereumTokenType.Native : EthereumTokenType.ERC20, + chainId: _payload.chain_id, } as Pick), ), [JSON.stringify(_payload.exchange_tokens)], @@ -64,7 +67,7 @@ export function PostInspector(props: PostInspectorProps) { value: exchangeTokensDetailed, loading: loadingExchangeTokensDetailed, retry: retryExchangeTokensDetailed, - } = useFungibleTokensDetailed(exchangeFungibleTokens) + } = useFungibleTokensDetailed(exchangeFungibleTokens, _payload.chain_id) const retry = useCallback(() => { retryPayload() diff --git a/packages/web3-shared/evm/hooks/useERC20TokenDetailed.ts b/packages/web3-shared/evm/hooks/useERC20TokenDetailed.ts index c6f3234250a8..1a52e4da03b6 100644 --- a/packages/web3-shared/evm/hooks/useERC20TokenDetailed.ts +++ b/packages/web3-shared/evm/hooks/useERC20TokenDetailed.ts @@ -8,21 +8,18 @@ import type { ERC20Bytes32 } from '@masknet/web3-contracts/types/ERC20Bytes32' import { useERC20TokenContract, useERC20TokenContracts } from '../contracts/useERC20TokenContract' import { useERC20TokenBytes32Contract, useERC20TokenBytes32Contracts } from '../contracts/useERC20TokenBytes32Contract' import { parseStringOrBytes32, createERC20Token, createNativeToken } from '../utils' -import { useEthereumTokenType } from './useEthereumTokenType' export function useERC20TokenDetailed(address?: string, token?: Partial, targetChainId?: ChainId) { const currentChainId = useChainId() const chainId = targetChainId ?? currentChainId const erc20TokenContract = useERC20TokenContract(address, chainId) const erc20TokenBytes32Contract = useERC20TokenBytes32Contract(address, chainId) - const tokenType = useEthereumTokenType(address) return useAsyncRetry(async () => { if (!address) return if (!EthereumAddress.isValid(address)) return - if (tokenType !== EthereumTokenType.ERC20) return return getERC20TokenDetailed(address, chainId, erc20TokenContract, erc20TokenBytes32Contract, token) - }, [chainId, token, erc20TokenContract, erc20TokenBytes32Contract, address, tokenType]) + }, [chainId, token, erc20TokenContract, erc20TokenBytes32Contract, address]) } export function useFungibleTokensDetailed(listOfToken: Pick[], _chainId?: ChainId) { diff --git a/packages/web3-shared/evm/hooks/useFungibleTokenDetailed.ts b/packages/web3-shared/evm/hooks/useFungibleTokenDetailed.ts index 005f17304a3d..38211d089312 100644 --- a/packages/web3-shared/evm/hooks/useFungibleTokenDetailed.ts +++ b/packages/web3-shared/evm/hooks/useFungibleTokenDetailed.ts @@ -1,6 +1,6 @@ import type { AsyncStateRetry } from 'react-use/lib/useAsyncRetry' import { unreachable } from '@dimensiondev/kit' -import { ERC20TokenDetailed, EthereumTokenDetailedType, EthereumTokenType } from '../types' +import { ChainId, ERC20TokenDetailed, EthereumTokenDetailedType, EthereumTokenType } from '../types' import { useERC20TokenDetailed } from './useERC20TokenDetailed' import { useNativeTokenDetailed } from './useNativeTokenDetailed' @@ -10,11 +10,13 @@ export function useFungibleTokenDetailed< type: EthereumTokenType.ERC20 | EthereumTokenType.Native, address: string, token?: Partial

, + chainId?: ChainId, ): AsyncStateRetry

{ const r1 = useNativeTokenDetailed() const r2 = useERC20TokenDetailed( type === EthereumTokenType.ERC20 ? address : '', token as unknown as ERC20TokenDetailed, + chainId, ) switch (type) { case EthereumTokenType.Native: From dc21d1f459e4ca6c137fa8c3be8cb4d9080416ac Mon Sep 17 00:00:00 2001 From: lelenei Date: Fri, 13 May 2022 11:08:53 +0800 Subject: [PATCH 28/80] fix: css style --- packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx b/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx index 192076f9db5d..102015b171f8 100644 --- a/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx +++ b/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx @@ -18,6 +18,7 @@ const useStyles = makeStyles()((theme) => ({ padding: 0, backgroundColor: '#290b5a', textAlign: 'center', + width: '100%', }, message: { color: theme.palette.text.primary, From 227ccbea50163f602857c8c7ab12a9774e71c44b Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Fri, 13 May 2022 11:49:36 +0800 Subject: [PATCH 29/80] chore: update red packet --- .../RedPacket/SNSAdaptor/hooks/useAvailability.ts | 9 ++++----- .../SNSAdaptor/hooks/useRedPacketContract.ts | 14 +++++++------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useAvailability.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useAvailability.ts index 69e321ad3803..090137577199 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useAvailability.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useAvailability.ts @@ -1,16 +1,15 @@ import { useAsyncRetry } from 'react-use' -import { ChainId, useChainId } from '@masknet/web3-shared-evm' +import type { ChainId } from '@masknet/web3-shared-evm' import { useRedPacketContract } from './useRedPacketContract' export function useAvailability(version: number, from: string, id: string, redpacketChainId: ChainId) { - const redPacketContract = useRedPacketContract(version) - const currentChainId = useChainId() + const redPacketContract = useRedPacketContract(version, redpacketChainId) return useAsyncRetry(async () => { - if (!id || redpacketChainId !== currentChainId) return null + if (!id) return null if (!redPacketContract) return null return redPacketContract.methods.check_availability(id).call({ // check availability is ok w/o account from, }) - }, [id, from, redpacketChainId, currentChainId, redPacketContract]) + }, [id, from, redpacketChainId, redPacketContract]) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts index b4556452b883..2b0039114616 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts @@ -6,20 +6,20 @@ import type { HappyRedPacketV1 } from '@masknet/web3-contracts/types/HappyRedPac import type { HappyRedPacketV2 } from '@masknet/web3-contracts/types/HappyRedPacketV2' import type { HappyRedPacketV3 } from '@masknet/web3-contracts/types/HappyRedPacketV3' import type { HappyRedPacketV4 } from '@masknet/web3-contracts/types/HappyRedPacketV4' -import { useContract, useRedPacketConstants } from '@masknet/web3-shared-evm' +import { useContract, useRedPacketConstants, ChainId } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' -export function useRedPacketContract(version: number) { +export function useRedPacketContract(version: number, chainId?: ChainId) { const { HAPPY_RED_PACKET_ADDRESS_V1: addressV1, HAPPY_RED_PACKET_ADDRESS_V2: addressV2, HAPPY_RED_PACKET_ADDRESS_V3: addressV3, HAPPY_RED_PACKET_ADDRESS_V4: addressV4, - } = useRedPacketConstants() - const v1 = useContract(addressV1, HappyRedPacketV1ABI as AbiItem[]) - const v2 = useContract(addressV2, HappyRedPacketV2ABI as AbiItem[]) - const v3 = useContract(addressV3, HappyRedPacketV3ABI as AbiItem[]) - const v4 = useContract(addressV4, HappyRedPacketV4ABI as AbiItem[]) + } = useRedPacketConstants(chainId) + const v1 = useContract(addressV1, HappyRedPacketV1ABI as AbiItem[], chainId) + const v2 = useContract(addressV2, HappyRedPacketV2ABI as AbiItem[], chainId) + const v3 = useContract(addressV3, HappyRedPacketV3ABI as AbiItem[], chainId) + const v4 = useContract(addressV4, HappyRedPacketV4ABI as AbiItem[], chainId) const versions = [v1, v2, v3, v4] as const return versions[version - 1] } From 10e96adc9e94ff8de7cf6fc43721a939f6aa4c78 Mon Sep 17 00:00:00 2001 From: lelenei Date: Fri, 13 May 2022 15:06:10 +0800 Subject: [PATCH 30/80] fix: ito connect wallet --- .../mask/src/plugins/ITO/SNSAdaptor/ITO.tsx | 31 +++++++++++++------ .../ITO/SNSAdaptor/hooks/useAvailability.ts | 10 +++--- .../hooks/useAvailabilityComputed.ts | 5 +-- .../mask/src/plugins/ITO/SNSAdaptor/index.tsx | 7 +---- 4 files changed, 32 insertions(+), 21 deletions(-) diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx index b4be78e06c7a..31e0f0f6f871 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx @@ -274,7 +274,6 @@ export function ITO(props: ITO_Props) { const { listOfStatus, startTime, unlockTime, isUnlocked, hasLockTime, endTime, qualificationAddress } = availabilityComputed // #endregion - const total = new BigNumber(payload_total) const total_remaining = new BigNumber(availability?.remaining ?? '0') const sold = total.minus(total_remaining) @@ -744,14 +743,28 @@ export function ITO(props: ITO_Props) { if (!account || !chainIdValid) { return ( - } - onClick={openSelectProviderDialog} - variant="contained" - size="large" - className={classes.actionButton}> - {t('plugin_wallet_connect_a_wallet')} - + + + } + onClick={onShareSuccess} + variant="contained" + size="large" + className={classes.actionButton}> + {t('plugin_ito_share')} + + + + } + onClick={openSelectProviderDialog} + variant="contained" + size="large" + className={classes.actionButton}> + {t('plugin_wallet_connect_a_wallet')} + + + ) } diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useAvailability.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useAvailability.ts index 3e738a0cf28f..b2245385968d 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useAvailability.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useAvailability.ts @@ -1,16 +1,18 @@ import { useAsyncRetry } from 'react-use' -import { useAccount, useITOConstants, useChainId, isSameAddress } from '@masknet/web3-shared-evm' +import { useAccount, useITOConstants, useChainId, isSameAddress, ChainId } from '@masknet/web3-shared-evm' import { checkAvailability } from '../../Worker/apis/checkAvailability' -export function useAvailability(id: string, contract_address: string) { +export function useAvailability(id: string, contract_address: string, from?: string, chainId?: ChainId) { const account = useAccount() - const chainId = useChainId() + const fromAccount = from ?? account + const _chainId = useChainId() + const chain_id = chainId ?? _chainId const { ITO_CONTRACT_ADDRESS } = useITOConstants() const isV1 = isSameAddress(contract_address ?? '', ITO_CONTRACT_ADDRESS) return useAsyncRetry(async () => { if (!id || !contract_address) return null - return checkAvailability(id, account, contract_address, chainId, isV1) + return checkAvailability(id, fromAccount, contract_address, chain_id, isV1) }, [id, account]) } diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useAvailabilityComputed.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useAvailabilityComputed.ts index a1da99b9af88..4fd83d179ade 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useAvailabilityComputed.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useAvailabilityComputed.ts @@ -7,9 +7,10 @@ import { useQualification } from './useQualification' import { ITO_CONTRACT_BASE_TIMESTAMP } from '../../constants' export function useAvailabilityComputed(payload: JSON_PayloadInMask | JSON_PayloadFromChain) { - const chainId = useChainId() + const chain_id = useChainId() + const chainId = payload.chain_id ?? chain_id const { DEFAULT_QUALIFICATION2_ADDRESS } = useITOConstants() - const asyncResult = useAvailability(payload.pid, payload.contract_address) + const asyncResult = useAvailability(payload.pid, payload.contract_address, payload.seller.address, chainId) const { value: availability, loading: loadingITO } = asyncResult const qualificationAddress = payload.qualification_address ?? availability?.qualification_addr ?? DEFAULT_QUALIFICATION2_ADDRESS diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx index 9794822a9182..cf62a2d2bd97 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/index.tsx @@ -16,7 +16,6 @@ import type { JSON_PayloadComposeMask } from '../types' import { ITO_MetadataReader, payloadIntoMask } from './helpers' import { CompositionDialog } from './CompositionDialog' import { set } from 'lodash-unified' -import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' import { MarketsIcon, MarketsClaimIcon } from '@masknet/icons' import { ApplicationEntry } from '@masknet/shared' import { CrossIsolationMessages } from '@masknet/shared-base' @@ -39,11 +38,7 @@ const sns: Plugin.SNSAdaptor.Definition = { const payload = ITO_MetadataReader(props.message.meta) usePluginWrapper(payload.ok) if (!payload.ok) return null - return ( - - - - ) + return }, CompositionDialogMetadataBadgeRender: new Map([ [ITO_MetaKey_1, onAttached_ITO], From f7ea6c4ac968c7389795f10200d8124328e2e88d Mon Sep 17 00:00:00 2001 From: lelenei Date: Sat, 14 May 2022 11:47:53 +0800 Subject: [PATCH 31/80] fix: css style --- .../ITO/assets => icons/plugins}/connect.tsx | 4 +- packages/icons/plugins/index.ts | 1 + packages/mask/shared-ui/locales/en-US.json | 5 +- packages/mask/shared-ui/locales/ja-JP.json | 2 - packages/mask/shared-ui/locales/ko-KR.json | 3 - packages/mask/shared-ui/locales/qya-AA.json | 3 - packages/mask/shared-ui/locales/zh-CN.json | 3 - packages/mask/shared-ui/locales/zh-TW.json | 3 - .../Collectible/SNSAdaptor/Collectible.tsx | 2 +- .../Collectible/SNSAdaptor/PostInspector.tsx | 19 +-- .../FindTruman/SNSAdaptor/FindTruman.tsx | 149 ++++++++++-------- .../Gitcoin/SNSAdaptor/PreviewCard.tsx | 13 +- .../src/plugins/Gitcoin/SNSAdaptor/index.tsx | 7 +- .../mask/src/plugins/ITO/SNSAdaptor/ITO.tsx | 82 +++++----- .../src/plugins/MaskBox/SNSAdaptor/index.tsx | 9 +- .../plugins/PoolTogether/SNSAdaptor/index.tsx | 10 +- .../PoolTogether/UI/PoolTogetherView.tsx | 57 ++++--- .../SNSAdaptor/RedPacket/OperationFooter.tsx | 2 + .../RedPacket/SNSAdaptor/RedPacket/index.tsx | 19 +-- .../RedPacket/SNSAdaptor/RedPacketNft.tsx | 2 + .../SNSAdaptor/RedPacketNftInPost.tsx | 7 +- .../Snapshot/SNSAdaptor/VotingCard.tsx | 29 ++-- .../mask/src/plugins/dHEDGE/UI/PoolView.tsx | 49 +++--- .../src/plugins/dHEDGE/UI/PoolViewDeck.tsx | 9 +- .../src/web3/UI/EthereumChainBoundary.tsx | 15 +- .../UI/EthereumWalletConnectedBoundary.tsx | 5 +- 26 files changed, 245 insertions(+), 264 deletions(-) rename packages/{mask/src/plugins/ITO/assets => icons/plugins}/connect.tsx (97%) diff --git a/packages/mask/src/plugins/ITO/assets/connect.tsx b/packages/icons/plugins/connect.tsx similarity index 97% rename from packages/mask/src/plugins/ITO/assets/connect.tsx rename to packages/icons/plugins/connect.tsx index e575b10db1be..291662e4980f 100644 --- a/packages/mask/src/plugins/ITO/assets/connect.tsx +++ b/packages/icons/plugins/connect.tsx @@ -1,6 +1,6 @@ import { createIcon } from '@masknet/icons' -export const WalletConnectIcon = createIcon( - 'WalletConnectIconNew', +export const PluginWalletConnectIcon = createIcon( + 'PluginWalletConnectIcon', asset.retry()} sx={{ - marginTop: 1.5, + marginTop: 1, backgroundColor: MaskColorVar.textPluginColor, color: 'white', '&:hover': { diff --git a/packages/mask/src/plugins/Collectible/SNSAdaptor/PostInspector.tsx b/packages/mask/src/plugins/Collectible/SNSAdaptor/PostInspector.tsx index bad1491c86bd..0e66ed8a0044 100644 --- a/packages/mask/src/plugins/Collectible/SNSAdaptor/PostInspector.tsx +++ b/packages/mask/src/plugins/Collectible/SNSAdaptor/PostInspector.tsx @@ -1,7 +1,6 @@ import type { CollectibleJSON_Payload } from '../types' import { Collectible } from './Collectible' import { CollectibleState } from '../hooks/useCollectibleState' -import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' export interface PostInspectorProps { payload: CollectibleJSON_Payload @@ -11,15 +10,13 @@ export function PostInspector(props: PostInspectorProps) { const token = props.payload return ( - - - - - + + + ) } diff --git a/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx b/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx index 9ab793fd4f4a..da0492676ee8 100644 --- a/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx +++ b/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx @@ -1,7 +1,7 @@ import { useContext, useState } from 'react' import { makeStyles } from '@masknet/theme' import { FindTrumanContext } from '../context' -import { Alert, Avatar, Box, Card, CardHeader, CardMedia, Chip, Skeleton, Tooltip, Typography } from '@mui/material' +import { Avatar, Box, Card, CardHeader, CardMedia, Chip, Skeleton, Tooltip, Typography } from '@mui/material' import type { CompletionQuestionAnswer, PollResult, @@ -18,6 +18,8 @@ import Footer from './Footer' import StageCard from './StageCard' import EncryptionCard from './EncryptionCard' import CompletionCard from './CompletionCard' +import { PluginWalletConnectIcon } from '@masknet/icons' +import { EthereumWalletConnectedBoundary } from '../../../web3/UI/EthereumWalletConnectedBoundary' const useStyles = makeStyles()((theme) => { return { @@ -182,74 +184,83 @@ export function FindTruman(props: FindTrumanProps) { } return ( - - {postType !== PostType.Encryption ? ( - <> - { - setLoadImg(false) - }} - alt="" - component="img" - height={140} - sx={{ - visibility: loadImg ? 'hidden' : 'unset', - }} - image={storyInfo?.img} - /> - {loadImg && ( - - - - )} - - - {storyInfo.name} - - - - - {isCritical && C} - {isNoncritical && N} - - - + <> + + {postType !== PostType.Encryption ? ( + <> + { + setLoadImg(false) + }} + alt="" + component="img" + height={140} + sx={{ + visibility: loadImg ? 'hidden' : 'unset', + }} + image={storyInfo?.img} + /> + {loadImg && ( + + + + )} + + + {storyInfo.name} + + + + + {isCritical && C} + {isNoncritical && ( + N + )} + + + + - - ) - } - /> - {renderCard()} - - ) : ( - - )} - {!address && ( - - {t('plugin_find_truman_connect_wallet_tip')} - - )} -

- + ) + } + /> + {renderCard()} + + ) : ( + + )} + +
+ + + } + /> + ) } diff --git a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx index e756009561c0..1dabf314af3f 100644 --- a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx +++ b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx @@ -9,6 +9,9 @@ import { useGrant } from '../hooks/useGrant' import { PluginGitcoinMessages } from '../messages' import urlcat from 'urlcat' import { usePostLink } from '../../../components/DataSource/usePostInfo' +import { NetworkPluginID, useChainId } from '@masknet/plugin-infra/web3' +import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' +import { ChainId } from '@masknet/web3-shared-evm' const useStyles = makeStyles()((theme) => ({ root: { @@ -81,6 +84,8 @@ export function PreviewCard(props: PreviewCardProps) { const { t } = useI18N() const { classes } = useStyles() const { value: grant, error, loading, retry } = useGrant(props.id) + const chainId = useChainId(NetworkPluginID.PLUGIN_EVM) + const isGitCoinSupported = (chainId: ChainId) => [ChainId.Mainnet, ChainId.Matic].includes(chainId) // #region the donation dialog const postLink = usePostLink() @@ -158,9 +163,11 @@ export function PreviewCard(props: PreviewCardProps) { - + + + diff --git a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/index.tsx b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/index.tsx index 763bb0db039e..63296cc46d03 100644 --- a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/index.tsx @@ -10,7 +10,6 @@ import { Trans } from 'react-i18next' import { base } from '../base' import { PLUGIN_NAME, PLUGIN_META_KEY } from '../constants' import { DonateDialog } from './DonateDialog' -import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' const isGitcoin = (x: string): boolean => /^https:\/\/gitcoin.co\/grants\/\d+/.test(x) const isGitCoinSupported = (chainId: ChainId) => [ChainId.Mainnet, ChainId.Matic].includes(chainId) @@ -56,11 +55,7 @@ function Renderer(props: React.PropsWithChildren<{ url: string }>) { const [id = ''] = props.url.match(/\d+/) ?? [] const chainId = useChainId(NetworkPluginID.PLUGIN_EVM) usePluginWrapper(true) - return ( - - - - ) + return } export default sns diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx index 31e0f0f6f871..3bac6e9fa5cc 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx @@ -23,7 +23,6 @@ import { BigNumber } from 'bignumber.js' import classNames from 'classnames' import formatDateTime from 'date-fns/format' import urlcat from 'urlcat' -import { startCase } from 'lodash-unified' import { EnhanceableSite } from '@masknet/shared-base' import { usePostLink } from '../../../components/DataSource/usePostInfo' import ActionButton from '../../../extension/options-page/DashboardComponents/ActionButton' @@ -44,8 +43,10 @@ import { StyledLinearProgress } from './StyledLinearProgress' import { SwapGuide, SwapStatus } from './SwapGuide' import { isFacebook } from '../../../social-network-adaptor/facebook.com/base' import { isTwitter } from '../../../social-network-adaptor/twitter.com/base' -import { WalletConnectIcon } from '../assets/connect' import { SharedIcon } from '../assets/shared' +import { PluginWalletConnectIcon } from '@masknet/icons' +import { EthereumWalletConnectedBoundary } from '../../../web3/UI/EthereumWalletConnectedBoundary' +import { startCase } from 'lodash-unified' export interface IconProps { size?: number @@ -159,7 +160,10 @@ const useStyles = makeStyles()((theme, props) => ({ color: 'white', fontSize: 14, paddingTop: 10, + fontWeight: 700, + margin: '0 !important', paddingBottom: 10, + lineHeight: '20px', '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, }, @@ -741,33 +745,6 @@ export function ITO(props: ITO_Props) { ) } - if (!account || !chainIdValid) { - return ( - - - } - onClick={onShareSuccess} - variant="contained" - size="large" - className={classes.actionButton}> - {t('plugin_ito_share')} - - - - } - onClick={openSelectProviderDialog} - variant="contained" - size="large" - className={classes.actionButton}> - {t('plugin_wallet_connect_a_wallet')} - - - - ) - } - if (isBuyer) return FooterBuyerButton if (canWithdraw) { @@ -787,20 +764,39 @@ export function ITO(props: ITO_Props) { !isNativeTokenAddress(qualificationAddress) ) { return ( - - {loadingIfQualified - ? t('plugin_ito_qualification_loading') - : !ifQualified - ? t('plugin_ito_qualification_failed') - : !(ifQualified as Qual_V2).qualified - ? startCase((ifQualified as Qual_V2).errorMsg) - : null} - + + + } + onClick={onShareSuccess} + variant="contained" + size="large" + className={classes.actionButton}> + {t('plugin_ito_share')} + + + + } + classes={{ button: classes.actionButton }}> + + {loadingIfQualified + ? t('plugin_ito_qualification_loading') + : !ifQualified + ? t('plugin_ito_qualification_failed') + : !(ifQualified as Qual_V2).qualified + ? startCase((ifQualified as Qual_V2).errorMsg) + : null} + + + + ) } diff --git a/packages/mask/src/plugins/MaskBox/SNSAdaptor/index.tsx b/packages/mask/src/plugins/MaskBox/SNSAdaptor/index.tsx index a8e4231e825a..0f8316f3143c 100644 --- a/packages/mask/src/plugins/MaskBox/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/MaskBox/SNSAdaptor/index.tsx @@ -4,7 +4,6 @@ import { base } from '../base' import { extractTextFromTypedMessage } from '@masknet/typed-message' import { Trans } from 'react-i18next' import { parseURL } from '@masknet/shared-base' -import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' import { PreviewCard } from './components/PreviewCard' import { Context } from '../hooks/useContext' import { ApplicationEntry } from '@masknet/shared' @@ -71,10 +70,8 @@ function Renderer(props: React.PropsWithChildren<{ url: string }>) { if (shouldNotRender) return null return ( - - - - - + + + ) } diff --git a/packages/mask/src/plugins/PoolTogether/SNSAdaptor/index.tsx b/packages/mask/src/plugins/PoolTogether/SNSAdaptor/index.tsx index cf88c4a16328..c7e5f527ddf1 100644 --- a/packages/mask/src/plugins/PoolTogether/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/PoolTogether/SNSAdaptor/index.tsx @@ -2,13 +2,11 @@ import { useMemo } from 'react' import { type Plugin, usePluginWrapper, usePostInfoDetails } from '@masknet/plugin-infra/content-script' import { extractTextFromTypedMessage } from '@masknet/typed-message' import { parseURL } from '@masknet/shared-base' -import { ChainId } from '@masknet/web3-shared-evm' import { base } from '../base' import { DepositDialog } from '../UI/DepositDialog' import { Trans } from 'react-i18next' import { URL_PATTERN } from '../constants' import { PoolTogetherView } from '../UI/PoolTogetherView' -import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' import { PoolTogetherIcon } from '@masknet/icons' const isPoolTogetherUrl = (url: string) => URL_PATTERN.test(url) @@ -62,11 +60,5 @@ export default sns function Renderer(props: React.PropsWithChildren<{ url: string }>) { usePluginWrapper(true) - return ( - [ChainId.Mainnet, ChainId.Matic].includes(chainId)}> - - - ) + return } diff --git a/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx b/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx index 102015b171f8..3df90475b982 100644 --- a/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx +++ b/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx @@ -1,7 +1,7 @@ import { RefreshIcon } from '@masknet/icons' import { DarkColor } from '@masknet/theme/base' -import { usePoolTogetherConstants } from '@masknet/web3-shared-evm' -import { Card, CardContent, CircularProgress, Paper, Tab, Tabs, Typography } from '@mui/material' +import { ChainId, usePoolTogetherConstants } from '@masknet/web3-shared-evm' +import { Box, Card, CardContent, CircularProgress, Paper, Tab, Tabs, Typography } from '@mui/material' import { makeStyles } from '@masknet/theme' import React, { useState, useEffect } from 'react' import { useI18N } from '../../../utils/i18n-next-ui' @@ -9,6 +9,7 @@ import { usePool, usePools } from '../hooks/usePools' import type { Pool } from '../types' import { Account } from './Account' import { PoolsView } from './PoolsView' +import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' const useStyles = makeStyles()((theme) => ({ root: { @@ -117,27 +118,35 @@ export function PoolTogetherView(props: PoolTogetherViewProps) { } return ( - - - , newValue: number) => setTabIndex(newValue)} - TabIndicatorProps={{ - style: { - display: 'none', - }, - }}> - {tabs} - - - {tabIndex === 0 ? : null} - {tabIndex === 1 ? : null} - - - + <> + + + , newValue: number) => setTabIndex(newValue)} + TabIndicatorProps={{ + style: { + display: 'none', + }, + }}> + {tabs} + + + {tabIndex === 0 ? : null} + {tabIndex === 1 ? : null} + + + + + [ChainId.Mainnet, ChainId.Matic].includes(chainId)} + /> + + ) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx index 589980fe5af0..21f3ae23cf2f 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx @@ -1,3 +1,4 @@ +import { PluginWalletConnectIcon } from '@masknet/icons' import { WalletMessages } from '@masknet/plugin-wallet' import { useRemoteControlledDialog } from '@masknet/shared-base-ui' import { TransactionState, TransactionStateType, useAccount, useChainIdValid } from '@masknet/web3-shared-evm' @@ -76,6 +77,7 @@ export function OperationFooter({ return ( } classes={{ connectWallet: classes.connectWallet, }}> diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx index bf01e18c4647..a91f9f15c827 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx @@ -3,9 +3,7 @@ import { useCallback, useEffect, useMemo } from 'react' import { useRemoteControlledDialog } from '@masknet/shared-base-ui' import { Card, Typography } from '@mui/material' import { - ChainId, formatBalance, - getChainIdFromName, resolveNetworkName, TransactionStateType, useAccount, @@ -21,7 +19,6 @@ import { activatedSocialNetworkUI } from '../../../../social-network' import { isTwitter } from '../../../../social-network-adaptor/twitter.com/base' import { isFacebook } from '../../../../social-network-adaptor/facebook.com/base' import { useI18N } from '../../../../utils' -import { EthereumChainBoundary } from '../../../../web3/UI/EthereumChainBoundary' import { WalletMessages } from '../../../Wallet/messages' import type { RedPacketAvailability, RedPacketJSONPayload } from '../../types' import { RedPacketStatus } from '../../types' @@ -180,17 +177,15 @@ export function RedPacket(props: RedPacketProps) { // the red packet can fetch without account if (!availability || !token) return ( - - - - {t('loading')} - - - + + + {t('loading')} + + ) return ( - + <>
{/* it might be fontSize: 12 on twitter based on theme? */} @@ -227,7 +222,7 @@ export function RedPacket(props: RedPacketProps) { onClaimOrRefund={onClaimOrRefund} /> )} - + ) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx index 91fdb7450a6b..e1a66034502c 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx @@ -23,6 +23,7 @@ import { isTwitter } from '../../../social-network-adaptor/twitter.com/base' import { isFacebook } from '../../../social-network-adaptor/facebook.com/base' import { NFTCardStyledAssetPlayer } from '@masknet/shared' import { openWindow } from '@masknet/shared-base-ui' +import { PluginWalletConnectIcon } from '@masknet/icons' const useStyles = makeStyles()((theme) => ({ root: { @@ -434,6 +435,7 @@ export function RedPacketNft({ payload }: RedPacketNftProps) { {availability.isClaimed ? null : ( } classes={{ connectWallet: classes.button, unlockMetaMask: classes.button, diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNftInPost.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNftInPost.tsx index 3183e6bc7213..4711aae40d63 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNftInPost.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNftInPost.tsx @@ -1,5 +1,4 @@ import { useEffect } from 'react' -import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' import { RedPacketRPC } from '../messages' import type { RedPacketNftJSONPayload } from '../types' import { RedPacketNft } from './RedPacketNft' @@ -17,9 +16,5 @@ export function RedPacketNftInPost({ payload }: RedPacketNftInPostProps) { contract_version: payload.contractVersion, }) }, [payload]) - return ( - - - - ) + return } diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx index 45eb7209581c..7ad3ede30a93 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx @@ -13,6 +13,7 @@ import { usePower } from './hooks/usePower' import { EthereumWalletConnectedBoundary } from '../../../web3/UI/EthereumWalletConnectedBoundary' import { VoteConfirmDialog } from './VoteConfirmDialog' import { useRetry } from './hooks/useRetry' +import { PluginWalletConnectIcon } from '@masknet/icons' const useStyles = makeStyles()((theme) => { return { @@ -71,22 +72,24 @@ export function VotingCard() { return ( - {choices.map((choiceText, i) => ( - - ))} } classes={{ connectWallet: classes.button, unlockMetaMask: classes.button }} offChain> + {choices.map((choiceText, i) => ( + + ))} + + + + ) diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index d1b9f808eb56..06f72b70398e 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -28,6 +28,7 @@ import { useI18N } from '../../utils' import { WalletMessages, WalletRPC } from '../../plugins/Wallet/messages' import Services from '../../extension/service' import { pluginIDSettings } from '../../settings/settings' +import { PluginWalletConnectIcon } from '@masknet/icons' const useStyles = makeStyles()(() => ({})) @@ -161,19 +162,14 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { if (!account) return renderBox( <> - - {t('plugin_wallet_connect_wallet_tip')} - {!props.hiddenConnectButton ? ( } variant="contained" size={props.ActionButtonPromiseProps?.size} sx={{ - borderRadius: 9999, - marginTop: 1.5, - marginBottom: 1.5, backgroundColor: MaskColorVar.buttonPluginBackground, - width: 254, + width: '100%', color: 'white', '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, @@ -183,7 +179,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { {t('plugin_wallet_connect_wallet')} ) : null} - {props.children} , ) @@ -217,7 +212,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { className={classes.switchButton} sx={ props.switchButtonStyle ?? { - marginTop: 1.5, backgroundColor: MaskColorVar.textPluginColor, width: 254, color: 'white', @@ -246,7 +240,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { {...props.ActionButtonPromiseProps} /> ) : null} - {props.children} , ) } @@ -267,7 +260,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { className={classes.switchButton} sx={ props.switchButtonStyle ?? { - marginTop: 1.5, backgroundColor: MaskColorVar.buttonPluginBackground, width: 254, color: 'white', @@ -297,7 +289,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { {...props.ActionButtonPromiseProps} /> ) : null} - {props.children} , ) } diff --git a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx index 819e553f5272..ff2b081a4047 100644 --- a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx @@ -14,6 +14,8 @@ const useStyles = makeStyles()((theme) => ({ margin: theme.spacing(1.5, 1), backgroundColor: MaskColorVar.buttonPluginBackground, color: 'white', + fontSize: 14, + fontWeight: 700, '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, }, @@ -29,6 +31,7 @@ export interface EthereumWalletConnectedBoundaryProps children?: React.ReactNode hideRiskWarningConfirmed?: boolean ActionButtonProps?: ActionButtonProps + startIcon?: React.ReactNode } export function EthereumWalletConnectedBoundary(props: EthereumWalletConnectedBoundaryProps) { @@ -55,10 +58,10 @@ export function EthereumWalletConnectedBoundary(props: EthereumWalletConnectedBo return ( {t('plugin_wallet_connect_a_wallet')} From 4d5d47fc134d14bdf3b047e23e944a6aa920d46b Mon Sep 17 00:00:00 2001 From: lelenei Date: Sat, 14 May 2022 21:54:22 +0800 Subject: [PATCH 32/80] fix: css style --- .../FindTruman/SNSAdaptor/FindTruman.tsx | 10 +- .../Gitcoin/SNSAdaptor/PreviewCard.tsx | 79 ++++++------ .../mask/src/plugins/MaskPluginWrapper.tsx | 7 +- .../PoolTogether/UI/PoolTogetherView.tsx | 2 +- .../plugins/Snapshot/SNSAdaptor/Snapshot.tsx | 113 +++++++++++------- .../Snapshot/SNSAdaptor/VotingCard.tsx | 48 ++++---- .../mask/src/plugins/dHEDGE/UI/PoolView.tsx | 58 +++++---- .../src/plugins/dHEDGE/UI/PoolViewDeck.tsx | 8 +- packages/mask/src/plugins/dHEDGE/base.tsx | 2 +- 9 files changed, 184 insertions(+), 143 deletions(-) diff --git a/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx b/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx index da0492676ee8..32073edf7676 100644 --- a/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx +++ b/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx @@ -257,10 +257,12 @@ export function FindTruman(props: FindTrumanProps) {
- } - /> + + } + /> + ) } diff --git a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx index 1dabf314af3f..9c5c23749598 100644 --- a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx +++ b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx @@ -1,5 +1,5 @@ import { useCallback } from 'react' -import { Box, Card, Typography, Button, Grid, Avatar } from '@mui/material' +import { Box, Card, Typography, Button, Grid, Avatar, CircularProgress } from '@mui/material' import { makeStyles } from '@masknet/theme' import QueryBuilderIcon from '@mui/icons-material/QueryBuilder' import VerifiedUserIcon from '@mui/icons-material/VerifiedUser' @@ -59,7 +59,7 @@ const useStyles = makeStyles()((theme) => ({ margin: theme.spacing(0, 1), }, buttons: { - padding: theme.spacing(4, 0, 0), + padding: 12, }, verified: { borderRadius: 50, @@ -101,7 +101,12 @@ export function PreviewCard(props: PreviewCardProps) { }, [grant, setDonationDialog]) // #endregion - if (loading) return {t('loading')} + if (loading) + return ( + + + + ) if (error) return ( @@ -114,42 +119,44 @@ export function PreviewCard(props: PreviewCardProps) { if (!grant) return null return ( - -
- -
-
- - {grant.title} - - {grant.verified ? : null} -
-
- - {grant.description} - -
-
-
- - - {t('plugin_gitcoin_last_updated')} {grant.last_update_natural} - + <> + +
+
-
- - {t('plugin_gitcoin_by')} +
+ + {grant.title} - - - {grant.admin_profile.handle} + {grant.verified ? : null} +
+
+ + {grant.description}
-
+
+
+ + + {t('plugin_gitcoin_last_updated')} {grant.last_update_natural} + +
+
+ + {t('plugin_gitcoin_by')} + + + + {grant.admin_profile.handle} + +
+
+
- {personaConnectStatus.connected && children ? ( -
{children}
- ) : ( + {!personaConnectStatus.hasPersona || !personaConnectStatus.connected ? ( <> {content ?? name}
{actionButton || action || publisherInfo}
- )} + ) : null} + {children ?
{children}
: null}
) diff --git a/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx b/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx index 3df90475b982..f8026adc9c13 100644 --- a/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx +++ b/packages/mask/src/plugins/PoolTogether/UI/PoolTogetherView.tsx @@ -141,7 +141,7 @@ export function PoolTogetherView(props: PoolTogetherViewProps) {
- + [ChainId.Mainnet, ChainId.Matic].includes(chainId)} diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx index 0521ab21bd21..6bf1592cda2d 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx @@ -5,6 +5,8 @@ import { SnapshotContext } from '../context' import { useProposal } from './hooks/useProposal' import { ProposalTab } from './ProposalTab' import { ProgressTab } from './ProgressTab' +import { EthereumWalletConnectedBoundary } from '../../../web3/UI/EthereumWalletConnectedBoundary' +import { PluginWalletConnectIcon } from '@masknet/icons' const useStyles = makeStyles()((theme) => { return { @@ -48,6 +50,24 @@ const useStyles = makeStyles()((theme) => { fontSize: 12, marginRight: theme.spacing(0.5), }, + button: { + width: '100%', + minHeight: 39, + margin: `${theme.spacing(1)} auto`, + }, + choiceButton: { + color: theme.palette.mode === 'dark' ? 'white' : 'black', + transitionDuration: '0s !important', + '&:hover': { + border: '2px solid rgb(29, 161, 242) !important', + backgroundColor: 'transparent !important', + }, + }, + buttonActive: { + border: '2px solid rgb(29, 161, 242)', + backgroundColor: 'transparent', + color: theme.palette.mode === 'dark' ? 'white' : 'black', + }, } }) @@ -62,49 +82,58 @@ export function Snapshot() { , ] return ( - - - - - {proposal.title} + <> + + + + + {proposal.title} + + + #{identifier.id.slice(0, 7)} + - - #{identifier.id.slice(0, 7)} + + + } + subheader={ + + + {identifier.space} - - - - } - subheader={ - - - {identifier.space} - - - } - /> - - , newValue: number) => setTabIndex(newValue)} - TabIndicatorProps={{ - style: { - display: 'none', - }, - }}> - {tabs} - - - {tabIndex === 0 ? : null} - {tabIndex === 1 ? : null} - - - + + } + /> + + , newValue: number) => setTabIndex(newValue)} + TabIndicatorProps={{ + style: { + display: 'none', + }, + }}> + {tabs} + + + {tabIndex === 0 ? : null} + {tabIndex === 1 ? : null} + + + + + } + classes={{ connectWallet: classes.button, unlockMetaMask: classes.button }} + offChain + /> + + ) } diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx index 7ad3ede30a93..512049374cd2 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx @@ -10,10 +10,8 @@ import { PluginSnapshotRPC } from '../messages' import { SnapshotCard } from './SnapshotCard' import { useProposal } from './hooks/useProposal' import { usePower } from './hooks/usePower' -import { EthereumWalletConnectedBoundary } from '../../../web3/UI/EthereumWalletConnectedBoundary' import { VoteConfirmDialog } from './VoteConfirmDialog' import { useRetry } from './hooks/useRetry' -import { PluginWalletConnectIcon } from '@masknet/icons' const useStyles = makeStyles()((theme) => { return { @@ -49,6 +47,7 @@ export function VotingCard() { const [choice, setChoice] = useState(0) const [open, setOpen] = useState(false) const [loading, setLoading] = useState(false) + const retry = useRetry() const onVoteConfirm = useSnackbarCallback( () => { @@ -72,31 +71,30 @@ export function VotingCard() { return ( - } - classes={{ connectWallet: classes.button, unlockMetaMask: classes.button }} - offChain> - {choices.map((choiceText, i) => ( + {account ? ( + <> + {choices.map((choiceText, i) => ( + + ))} + - ))} - - - + + ) : null} ({ root: { @@ -85,8 +86,8 @@ export function PoolView(props: PoolViewProps) { if (loading || loadingAllowedTokens) return ( - - {t('plugin_dhedge_loading')} + + ) if (!pool) @@ -107,28 +108,33 @@ export function PoolView(props: PoolViewProps) { ) return ( - - } /> - - setTabIndex(newValue)} - TabIndicatorProps={{ - style: { - display: 'none', - }, - }}> - {tabs} - - - {tabIndex === 0 ? : null} - {tabIndex === 1 ? : null} - - - + <> + + } /> + + setTabIndex(newValue)} + TabIndicatorProps={{ + style: { + display: 'none', + }, + }}> + {tabs} + + + {tabIndex === 0 ? : null} + {tabIndex === 1 ? : null} + + + + + + + ) } diff --git a/packages/mask/src/plugins/dHEDGE/UI/PoolViewDeck.tsx b/packages/mask/src/plugins/dHEDGE/UI/PoolViewDeck.tsx index cc55e73315f8..971d40e0419e 100644 --- a/packages/mask/src/plugins/dHEDGE/UI/PoolViewDeck.tsx +++ b/packages/mask/src/plugins/dHEDGE/UI/PoolViewDeck.tsx @@ -1,4 +1,4 @@ -import { resolveAddressLinkOnExplorer, useChainId } from '@masknet/web3-shared-evm' +import { resolveAddressLinkOnExplorer, useAccount, useChainId } from '@masknet/web3-shared-evm' import { Avatar, Button, Grid, Link, Typography } from '@mui/material' import { makeStyles } from '@masknet/theme' import BigNumber from 'bignumber.js' @@ -9,7 +9,6 @@ import { useI18N } from '../../../utils/i18n-next-ui' import { useAvatar } from '../hooks/useManager' import { PluginDHedgeMessages } from '../messages' import type { Pool } from '../types' -import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' const useStyles = makeStyles()((theme) => ({ root: { @@ -66,6 +65,7 @@ export function PoolViewDeck(props: PoolDeckProps) { const blockie = useAvatar(pool.managerAddress) const chainId = useChainId() + const account = useAccount() // #region manager share const managerShare = new BigNumber(pool.balanceOfManager) @@ -139,11 +139,11 @@ export function PoolViewDeck(props: PoolDeckProps) { - + {account ? ( - + ) : null} ) diff --git a/packages/mask/src/plugins/dHEDGE/base.tsx b/packages/mask/src/plugins/dHEDGE/base.tsx index bae18a0d05d5..2591cbb59680 100644 --- a/packages/mask/src/plugins/dHEDGE/base.tsx +++ b/packages/mask/src/plugins/dHEDGE/base.tsx @@ -5,7 +5,7 @@ export const base: Plugin.Shared.Definition = { ID: DHEDGE_PLUGIN_ID, name: { fallback: 'dHEDGE' }, description: { fallback: 'Decentralized hedge funds on Ethereum.' }, - publisher: { name: { fallback: 'iRhonin' }, link: 'https://github.com/iRhonin' }, + publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, enableRequirement: { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, From f9135acf5f3d7168fb905e29cec55f3a5e1de25d Mon Sep 17 00:00:00 2001 From: lelenei Date: Sat, 14 May 2022 22:48:39 +0800 Subject: [PATCH 33/80] fix: maskbox css style --- packages/mask/shared-ui/locales/en-US.json | 1 - packages/mask/shared-ui/locales/ja-JP.json | 1 - packages/mask/shared-ui/locales/ko-KR.json | 1 - packages/mask/shared-ui/locales/qya-AA.json | 1 - packages/mask/shared-ui/locales/zh-CN.json | 1 - packages/mask/shared-ui/locales/zh-TW.json | 1 - .../InjectedComponents/SearchResultBox.tsx | 3 +- .../SNSAdaptor/components/PreviewCard.tsx | 96 ++++++++++--------- 8 files changed, 52 insertions(+), 53 deletions(-) diff --git a/packages/mask/shared-ui/locales/en-US.json b/packages/mask/shared-ui/locales/en-US.json index d22383684c11..79f2c739d652 100644 --- a/packages/mask/shared-ui/locales/en-US.json +++ b/packages/mask/shared-ui/locales/en-US.json @@ -803,7 +803,6 @@ "plugin_dhedge_buy_token": "GET {{symbol}}", "plugin_dhedge_enter_an_amount": "Enter an amount", "plugin_dhedge_insufficient_balance": "Insufficient {{symbol}} balance", - "plugin_dhedge_loading": "Loading...", "plugin_dhedge_pool_not_found": "Invalid pool address.", "plugin_dhedge_smt_wrong": "Something went wrong!", "plugin_pooltogether_tab_pools": "Pools", diff --git a/packages/mask/shared-ui/locales/ja-JP.json b/packages/mask/shared-ui/locales/ja-JP.json index 133679797a96..7f845e4a728b 100644 --- a/packages/mask/shared-ui/locales/ja-JP.json +++ b/packages/mask/shared-ui/locales/ja-JP.json @@ -387,7 +387,6 @@ "plugin_dhedge_buy_token": "{{symbol}} を得る", "plugin_dhedge_enter_an_amount": "量を入力", "plugin_dhedge_insufficient_balance": "{{symbol}} の残高が不十分です", - "plugin_dhedge_loading": "ロード中…", "plugin_dhedge_pool_not_found": "無効なプールアドレスです!", "plugin_dhedge_smt_wrong": "何か間違いが発生しました!" } diff --git a/packages/mask/shared-ui/locales/ko-KR.json b/packages/mask/shared-ui/locales/ko-KR.json index 31d26534772e..36b81d3088b4 100644 --- a/packages/mask/shared-ui/locales/ko-KR.json +++ b/packages/mask/shared-ui/locales/ko-KR.json @@ -602,7 +602,6 @@ "plugin_dhedge_buy_token": "{{symbol}} 획득", "plugin_dhedge_enter_an_amount": "수액 입력", "plugin_dhedge_insufficient_balance": "{{symbol}} 잔액 부족", - "plugin_dhedge_loading": "로딩 중", "plugin_dhedge_pool_not_found": "무효한 풀 주소!", "plugin_dhedge_smt_wrong": "오류가 발생합니다.", "plugin_pooltogether_tab_pools": "풀(Pools)", diff --git a/packages/mask/shared-ui/locales/qya-AA.json b/packages/mask/shared-ui/locales/qya-AA.json index edbdd82f7e07..d62f28fbf709 100644 --- a/packages/mask/shared-ui/locales/qya-AA.json +++ b/packages/mask/shared-ui/locales/qya-AA.json @@ -798,7 +798,6 @@ "plugin_dhedge_buy_token": "crwdns5423:0{{symbol}}crwdne5423:0", "plugin_dhedge_enter_an_amount": "crwdns5425:0crwdne5425:0", "plugin_dhedge_insufficient_balance": "crwdns5427:0{{symbol}}crwdne5427:0", - "plugin_dhedge_loading": "crwdns5429:0crwdne5429:0", "plugin_dhedge_pool_not_found": "crwdns5431:0crwdne5431:0", "plugin_dhedge_smt_wrong": "crwdns5433:0crwdne5433:0", "plugin_pooltogether_tab_pools": "crwdns5435:0crwdne5435:0", diff --git a/packages/mask/shared-ui/locales/zh-CN.json b/packages/mask/shared-ui/locales/zh-CN.json index 48f3f5678e8b..f4766cc09156 100644 --- a/packages/mask/shared-ui/locales/zh-CN.json +++ b/packages/mask/shared-ui/locales/zh-CN.json @@ -745,7 +745,6 @@ "plugin_dhedge_buy_token": "获得 {{symbol}}", "plugin_dhedge_enter_an_amount": "输入数额", "plugin_dhedge_insufficient_balance": "{{symbol}} 余额不足", - "plugin_dhedge_loading": "加载中...", "plugin_dhedge_pool_not_found": "无效的池子地址。", "plugin_dhedge_smt_wrong": "发生了一些错误!", "plugin_pooltogether_tab_pools": "池子", diff --git a/packages/mask/shared-ui/locales/zh-TW.json b/packages/mask/shared-ui/locales/zh-TW.json index 15a313d7b372..beca84bf0018 100644 --- a/packages/mask/shared-ui/locales/zh-TW.json +++ b/packages/mask/shared-ui/locales/zh-TW.json @@ -538,7 +538,6 @@ "plugin_dhedge_buy_token": "取得 {{symbol}}", "plugin_dhedge_enter_an_amount": "輸入一個金額", "plugin_dhedge_insufficient_balance": "{{symbol}} 餘額不足", - "plugin_dhedge_loading": "讀取中…", "plugin_dhedge_pool_not_found": "錯誤的池地址!", "plugin_dhedge_smt_wrong": "出錯了!" } diff --git a/packages/mask/src/components/InjectedComponents/SearchResultBox.tsx b/packages/mask/src/components/InjectedComponents/SearchResultBox.tsx index c917be2bf891..05f575387558 100644 --- a/packages/mask/src/components/InjectedComponents/SearchResultBox.tsx +++ b/packages/mask/src/components/InjectedComponents/SearchResultBox.tsx @@ -1,12 +1,13 @@ import { createInjectHooksRenderer, useActivatedPluginsSNSAdaptor } from '@masknet/plugin-infra/content-script' const PluginRenderer = createInjectHooksRenderer( - useActivatedPluginsSNSAdaptor.visibility.useNotMinimalMode, + useActivatedPluginsSNSAdaptor.visibility.useAnyMode, (x) => x.SearchResultBox, ) export interface SearchResultBoxProps {} export function SearchResultBox(props: SearchResultBoxProps) { + console.log(props) return } diff --git a/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/PreviewCard.tsx b/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/PreviewCard.tsx index 94a9a1fbd89c..73101484ac5a 100644 --- a/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/PreviewCard.tsx +++ b/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/PreviewCard.tsx @@ -1,7 +1,7 @@ import { useCallback, useEffect, useMemo, useState } from 'react' import { useContainer } from 'unstated-next' import { makeStyles } from '@masknet/theme' -import { Box, Button, Skeleton, Typography } from '@mui/material' +import { Box, Button, CircularProgress, Typography } from '@mui/material' import { formatBalance, TransactionStateType, useTransactionCallback } from '@masknet/web3-shared-evm' import AbstractTab, { AbstractTabProps } from '../../../../components/shared/AbstractTab' import { EthereumWalletConnectedBoundary } from '../../../../web3/UI/EthereumWalletConnectedBoundary' @@ -147,9 +147,8 @@ export function PreviewCard(props: PreviewCardProps) { if (boxState === BoxState.UNKNOWN) return ( - - - + + ) if (boxState === BoxState.ERROR) @@ -189,47 +188,52 @@ export function PreviewCard(props: PreviewCardProps) { } return ( - - - - setOpenDrawDialog(true)}> - {(() => { - return boxState === BoxState.READY && paymentTokenAddress ? ( - <> - {boxStateMessage} ( - {formatBalance(paymentTokenPrice, paymentTokenDetailed?.decimals ?? 0)}{' '} - {paymentTokenDetailed?.symbol}/Time) - - ) : ( - boxStateMessage - ) - })()} - - - { - setOpenBoxTransactionOverrides(null) - setOpenDrawDialog(false) - }} - onSubmit={onDraw} - /> - { - refreshLastPurchasedTokenIds() - setOpenDrawResultDialog(false) - }} - /> - + <> + + + + { + setOpenBoxTransactionOverrides(null) + setOpenDrawDialog(false) + }} + onSubmit={onDraw} + /> + { + refreshLastPurchasedTokenIds() + setOpenDrawResultDialog(false) + }} + /> + + + + setOpenDrawDialog(true)}> + {(() => { + return boxState === BoxState.READY && paymentTokenAddress ? ( + <> + {boxStateMessage} ( + {formatBalance(paymentTokenPrice, paymentTokenDetailed?.decimals ?? 0)}{' '} + {paymentTokenDetailed?.symbol}/Time) + + ) : ( + boxStateMessage + ) + })()} + + + + ) } From 7b00c7650c1454b8193b2c8a82b2c0b58bf7d8d3 Mon Sep 17 00:00:00 2001 From: lelenei Date: Sun, 15 May 2022 00:18:41 +0800 Subject: [PATCH 34/80] fix: persona verified --- .../FindTruman/SNSAdaptor/FindTruman.tsx | 2 +- .../Gitcoin/SNSAdaptor/PreviewCard.tsx | 1 + .../mask/src/plugins/MaskPluginWrapper.tsx | 9 +--- .../SNSAdaptor/RedPacket/OperationFooter.tsx | 30 ++++++----- .../RedPacket/SNSAdaptor/RedPacketNft.tsx | 2 +- .../SNSAdaptor/RedpacketNftConfirmDialog.tsx | 2 +- .../src/web3/UI/EthereumChainBoundary.tsx | 51 ++++++++++++++++++- .../UI/EthereumWalletConnectedBoundary.tsx | 27 +++++++++- 8 files changed, 95 insertions(+), 29 deletions(-) diff --git a/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx b/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx index 32073edf7676..e788ff2cbe9a 100644 --- a/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx +++ b/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx @@ -257,7 +257,7 @@ export function FindTruman(props: FindTrumanProps) {
- + } diff --git a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx index 9c5c23749598..bf391451a3fc 100644 --- a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx +++ b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx @@ -60,6 +60,7 @@ const useStyles = makeStyles()((theme) => ({ }, buttons: { padding: 12, + lineHeight: '16px', }, verified: { borderRadius: 50, diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index b095b59d3c6f..3de072186a35 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -154,14 +154,7 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) {
{publisherInfo}
- {!personaConnectStatus.hasPersona || !personaConnectStatus.connected ? ( - <> - - {content ?? name} - -
{actionButton || action || publisherInfo}
- - ) : null} + {children ?
{children}
: null}
) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx index 21f3ae23cf2f..a43222823f74 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx @@ -76,19 +76,21 @@ export function OperationFooter({ } return ( - } - classes={{ - connectWallet: classes.connectWallet, - }}> - - {canRefund ? null : ( - - {t('share')} - - )} - - - + + } + classes={{ + connectWallet: classes.connectWallet, + }}> + + {canRefund ? null : ( + + {t('share')} + + )} + + + + ) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx index e1a66034502c..b810cb8da69c 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx @@ -100,7 +100,7 @@ const useStyles = makeStyles()((theme) => ({ }, }, buttonWrapper: { - marginTop: 4, + marginTop: 0, }, loadingBox: { borderRadius: theme.spacing(1), diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedpacketNftConfirmDialog.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedpacketNftConfirmDialog.tsx index ee2dcf30cf82..cc5c977bbc5c 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedpacketNftConfirmDialog.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedpacketNftConfirmDialog.tsx @@ -108,7 +108,7 @@ const useStyles = makeStyles()((theme) => ({ textOverflow: 'ellipsis', }, buttonWrapper: { - marginTop: 16, + marginTop: 0, }, button: { minHeight: 36, diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index 06f72b70398e..e47a003fc9c6 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -1,4 +1,4 @@ -import React, { useCallback } from 'react' +import React, { useCallback, useMemo } from 'react' import { Box, Typography, Theme } from '@mui/material' import { makeStyles, MaskColorVar, useStylesExtends } from '@masknet/theme' import type { SxProps } from '@mui/system' @@ -28,9 +28,29 @@ import { useI18N } from '../../utils' import { WalletMessages, WalletRPC } from '../../plugins/Wallet/messages' import Services from '../../extension/service' import { pluginIDSettings } from '../../settings/settings' +import { usePersonaConnectStatus } from '../../components/DataSource/usePersonaConnectStatus' import { PluginWalletConnectIcon } from '@masknet/icons' -const useStyles = makeStyles()(() => ({})) +const useStyles = makeStyles()((theme) => ({ + button: { + backgroundColor: MaskColorVar.buttonPluginBackground, + color: 'white', + width: 254, + '&,&:hover': { + background: MaskColorVar.buttonPluginBackground, + }, + borderRadius: 9999, + }, + action: { + textAlign: 'center', + margin: theme.spacing(1), + width: '100%', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + marginBottoma: 48, + }, +})) export interface EthereumChainBoundaryProps extends withClasses<'switchButton'> { className?: string @@ -46,6 +66,7 @@ export interface EthereumChainBoundaryProps extends withClasses<'switchButton'> export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { const { t } = useI18N() + const personaConnectStatus = usePersonaConnectStatus() const pluginID = useCurrentWeb3NetworkPluginID() const plugin = useActivatedPlugin(pluginID, 'any') @@ -87,6 +108,28 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { ) // #endregion + const actionButton = useMemo(() => { + if (!personaConnectStatus.action) return null + + const button = personaConnectStatus.hasPersona ? t('connect_persona') : t('create_persona') + return ( + + {button} + + ) + }, [personaConnectStatus, t]) + // request ethereum-compatible network const networkType = getNetworkTypeFromChainId(expectedChainId) @@ -159,6 +202,10 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { ) } + if (!personaConnectStatus.hasPersona || !personaConnectStatus.connected) { + return renderBox(<>{actionButton}) + } + if (!account) return renderBox( <> diff --git a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx index ff2b081a4047..1f1b28b6ff89 100644 --- a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx @@ -8,14 +8,16 @@ import { useI18N } from '../../utils' import { useAccount, useChainIdValid, useNativeTokenBalance } from '@masknet/web3-shared-evm' import { isZero } from '@masknet/web3-shared-base' import { useWalletRiskWarningDialog } from '../../plugins/Wallet/hooks/useWalletRiskWarningDialog' +import { usePersonaConnectStatus } from '../../components/DataSource/usePersonaConnectStatus' +import { useMemo } from 'react' const useStyles = makeStyles()((theme) => ({ button: { - margin: theme.spacing(1.5, 1), backgroundColor: MaskColorVar.buttonPluginBackground, color: 'white', fontSize: 14, fontWeight: 700, + width: '100%', '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, }, @@ -32,10 +34,11 @@ export interface EthereumWalletConnectedBoundaryProps hideRiskWarningConfirmed?: boolean ActionButtonProps?: ActionButtonProps startIcon?: React.ReactNode + hiddenPersonaVerified?: boolean } export function EthereumWalletConnectedBoundary(props: EthereumWalletConnectedBoundaryProps) { - const { children = null, offChain = false, hideRiskWarningConfirmed = false } = props + const { children = null, offChain = false, hideRiskWarningConfirmed = false, hiddenPersonaVerified = false } = props const { t } = useI18N() const classes = useStylesExtends(useStyles(), props) @@ -44,6 +47,8 @@ export function EthereumWalletConnectedBoundary(props: EthereumWalletConnectedBo const chainIdValid = useChainIdValid() const nativeTokenBalance = useNativeTokenBalance() + const personaConnectStatus = usePersonaConnectStatus() + // #region remote controlled confirm risk warning const { isConfirmed: isRiskWarningConfirmed, openDialog: openRiskWarningDialog } = useWalletRiskWarningDialog() // #endregion @@ -54,6 +59,24 @@ export function EthereumWalletConnectedBoundary(props: EthereumWalletConnectedBo ) // #endregion + const actionButton = useMemo(() => { + if (!personaConnectStatus.action) return null + + const button = personaConnectStatus.hasPersona ? t('connect_persona') : t('create_persona') + return ( + + {button} + + ) + }, [personaConnectStatus, t]) + + if (!hiddenPersonaVerified && (!personaConnectStatus.hasPersona || !personaConnectStatus.connected)) { + return <>{actionButton} + } + if (!account) return ( From e66e2c6a5dcc74461a38f2cbd2f07cd2bcb5be27 Mon Sep 17 00:00:00 2001 From: lelenei Date: Sun, 15 May 2022 10:50:24 +0800 Subject: [PATCH 35/80] fix: remove unused code --- .../src/web3/UI/EthereumChainBoundary.tsx | 30 +------------------ .../UI/EthereumWalletConnectedBoundary.tsx | 22 -------------- 2 files changed, 1 insertion(+), 51 deletions(-) diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index e47a003fc9c6..ffb7963b3892 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useMemo } from 'react' +import React, { useCallback } from 'react' import { Box, Typography, Theme } from '@mui/material' import { makeStyles, MaskColorVar, useStylesExtends } from '@masknet/theme' import type { SxProps } from '@mui/system' @@ -28,7 +28,6 @@ import { useI18N } from '../../utils' import { WalletMessages, WalletRPC } from '../../plugins/Wallet/messages' import Services from '../../extension/service' import { pluginIDSettings } from '../../settings/settings' -import { usePersonaConnectStatus } from '../../components/DataSource/usePersonaConnectStatus' import { PluginWalletConnectIcon } from '@masknet/icons' const useStyles = makeStyles()((theme) => ({ @@ -66,7 +65,6 @@ export interface EthereumChainBoundaryProps extends withClasses<'switchButton'> export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { const { t } = useI18N() - const personaConnectStatus = usePersonaConnectStatus() const pluginID = useCurrentWeb3NetworkPluginID() const plugin = useActivatedPlugin(pluginID, 'any') @@ -108,28 +106,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { ) // #endregion - const actionButton = useMemo(() => { - if (!personaConnectStatus.action) return null - - const button = personaConnectStatus.hasPersona ? t('connect_persona') : t('create_persona') - return ( - - {button} - - ) - }, [personaConnectStatus, t]) - // request ethereum-compatible network const networkType = getNetworkTypeFromChainId(expectedChainId) @@ -202,10 +178,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { ) } - if (!personaConnectStatus.hasPersona || !personaConnectStatus.connected) { - return renderBox(<>{actionButton}) - } - if (!account) return renderBox( <> diff --git a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx index 1f1b28b6ff89..12979f312353 100644 --- a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx @@ -8,8 +8,6 @@ import { useI18N } from '../../utils' import { useAccount, useChainIdValid, useNativeTokenBalance } from '@masknet/web3-shared-evm' import { isZero } from '@masknet/web3-shared-base' import { useWalletRiskWarningDialog } from '../../plugins/Wallet/hooks/useWalletRiskWarningDialog' -import { usePersonaConnectStatus } from '../../components/DataSource/usePersonaConnectStatus' -import { useMemo } from 'react' const useStyles = makeStyles()((theme) => ({ button: { @@ -47,8 +45,6 @@ export function EthereumWalletConnectedBoundary(props: EthereumWalletConnectedBo const chainIdValid = useChainIdValid() const nativeTokenBalance = useNativeTokenBalance() - const personaConnectStatus = usePersonaConnectStatus() - // #region remote controlled confirm risk warning const { isConfirmed: isRiskWarningConfirmed, openDialog: openRiskWarningDialog } = useWalletRiskWarningDialog() // #endregion @@ -59,24 +55,6 @@ export function EthereumWalletConnectedBoundary(props: EthereumWalletConnectedBo ) // #endregion - const actionButton = useMemo(() => { - if (!personaConnectStatus.action) return null - - const button = personaConnectStatus.hasPersona ? t('connect_persona') : t('create_persona') - return ( - - {button} - - ) - }, [personaConnectStatus, t]) - - if (!hiddenPersonaVerified && (!personaConnectStatus.hasPersona || !personaConnectStatus.connected)) { - return <>{actionButton} - } - if (!account) return ( From 9778eaaeeddcb23c82b1864d6a152adf7bf7c81b Mon Sep 17 00:00:00 2001 From: lelenei Date: Sun, 15 May 2022 15:57:21 +0800 Subject: [PATCH 36/80] fix: show connect wallet --- packages/mask/shared-ui/locales/en-US.json | 9 ++- .../InjectedComponents/SearchResultBox.tsx | 1 - .../mask/src/plugins/ITO/SNSAdaptor/ITO.tsx | 41 +++++----- .../src/plugins/dHEDGE/UI/PoolViewDeck.tsx | 2 +- .../src/web3/UI/EthereumChainBoundary.tsx | 80 ++++++++++++------- 5 files changed, 77 insertions(+), 56 deletions(-) diff --git a/packages/mask/shared-ui/locales/en-US.json b/packages/mask/shared-ui/locales/en-US.json index 79f2c739d652..d0d230d5619b 100644 --- a/packages/mask/shared-ui/locales/en-US.json +++ b/packages/mask/shared-ui/locales/en-US.json @@ -283,7 +283,7 @@ "plugin_wallet_nft_approving_all": "Unlocking {{symbol}}...", "plugin_wallet_approve_all_nft": "Unlock {{symbol}}", "plugin_wallet_approve_all_nft_successfully": "Unlock {{symbol}} successfully", - "plugin_wallet_connect_a_wallet": "Connect a Wallet", + "plugin_wallet_connect_a_wallet": "Connect wallet", "plugin_wallet_confirm_risk_warning": "Confirm Risk Warning", "plugin_wallet_no_gas_fee": "No Gas Fee", "plugin_wallet_update_gas_fee": "Updating Gas Fee…", @@ -317,12 +317,13 @@ "plugin_wallet_on_connect_in_firefox": "Connect", "plugin_wallet_return_mobile_wallet_options": "Return to Mobile Wallet Options", "plugin_wallet_view_qr_code": "View QR Code", - "plugin_wallet_switch_network": "Switch to {{network}} Network", - "plugin_wallet_switch_network_under_going": "Switching to {{network}} Network…", + "plugin_wallet_switch_network": "Switch Network", + "plugin_wallet_switch_network_under_going": "Switching Network", + "plugin_wallet_connect_tips": "You’re connected to a walletConnect wallet. Please switch network in that wallet, or switch to another wallet.", "plugin_wallet_connect_network": "Connect {{network}} wallet", "plugin_wallet_connect_network_under_going": "Connect {{network}} wallet", "plugin_wallet_not_available_on": "Not available on {{network}} Network.", - "plugin_wallet_connect_wallet": "Connect Wallet", + "plugin_wallet_connect_wallet": "Connect wallet", "plugin_wallet_name_placeholder": "Enter 1-12 characters", "plugin_wallet_fail_to_sign": "Failed to sign password.", "plugin_wallet_cancel_sign": "Signature canceled.", diff --git a/packages/mask/src/components/InjectedComponents/SearchResultBox.tsx b/packages/mask/src/components/InjectedComponents/SearchResultBox.tsx index 05f575387558..5d09af03a749 100644 --- a/packages/mask/src/components/InjectedComponents/SearchResultBox.tsx +++ b/packages/mask/src/components/InjectedComponents/SearchResultBox.tsx @@ -8,6 +8,5 @@ const PluginRenderer = createInjectHooksRenderer( export interface SearchResultBoxProps {} export function SearchResultBox(props: SearchResultBoxProps) { - console.log(props) return } diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx index 3bac6e9fa5cc..e02c59cc8205 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx @@ -46,6 +46,7 @@ import { isTwitter } from '../../../social-network-adaptor/twitter.com/base' import { SharedIcon } from '../assets/shared' import { PluginWalletConnectIcon } from '@masknet/icons' import { EthereumWalletConnectedBoundary } from '../../../web3/UI/EthereumWalletConnectedBoundary' +import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' import { startCase } from 'lodash-unified' export interface IconProps { @@ -776,25 +777,27 @@ export function ITO(props: ITO_Props) { - } - classes={{ button: classes.actionButton }}> - - {loadingIfQualified - ? t('plugin_ito_qualification_loading') - : !ifQualified - ? t('plugin_ito_qualification_failed') - : !(ifQualified as Qual_V2).qualified - ? startCase((ifQualified as Qual_V2).errorMsg) - : null} - - + + } + classes={{ button: classes.actionButton }}> + + {loadingIfQualified + ? t('plugin_ito_qualification_loading') + : !ifQualified + ? t('plugin_ito_qualification_failed') + : !(ifQualified as Qual_V2).qualified + ? startCase((ifQualified as Qual_V2).errorMsg) + : null} + + + ) diff --git a/packages/mask/src/plugins/dHEDGE/UI/PoolViewDeck.tsx b/packages/mask/src/plugins/dHEDGE/UI/PoolViewDeck.tsx index 971d40e0419e..8274f0abb469 100644 --- a/packages/mask/src/plugins/dHEDGE/UI/PoolViewDeck.tsx +++ b/packages/mask/src/plugins/dHEDGE/UI/PoolViewDeck.tsx @@ -139,7 +139,7 @@ export function PoolViewDeck(props: PoolDeckProps) { - {account ? ( + {account && pool.chainId === chainId ? ( diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index ffb7963b3892..e778ca32111b 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -1,9 +1,14 @@ import React, { useCallback } from 'react' import { Box, Typography, Theme } from '@mui/material' -import { makeStyles, MaskColorVar, useStylesExtends } from '@masknet/theme' +import { makeStyles, MaskColorVar, ShadowRootTooltip, useStylesExtends } from '@masknet/theme' import type { SxProps } from '@mui/system' import { useActivatedPlugin } from '@masknet/plugin-infra/dom' -import { NetworkPluginID, useCurrentWeb3NetworkPluginID, useAccount } from '@masknet/plugin-infra/web3' +import { + NetworkPluginID, + useCurrentWeb3NetworkPluginID, + useAccount, + useNetworkDescriptor, +} from '@masknet/plugin-infra/web3' import { ChainId, getChainDetailedCAIP, @@ -28,6 +33,7 @@ import { useI18N } from '../../utils' import { WalletMessages, WalletRPC } from '../../plugins/Wallet/messages' import Services from '../../extension/service' import { pluginIDSettings } from '../../settings/settings' +import { WalletIcon } from '@masknet/shared' import { PluginWalletConnectIcon } from '@masknet/icons' const useStyles = makeStyles()((theme) => ({ @@ -51,6 +57,12 @@ const useStyles = makeStyles()((theme) => ({ }, })) +const PLUGINID_NAME: Record = { + 'com.mask.evm': 'EVM', + 'com.mask.flow': 'Flow', + 'com.mask.solana': 'Solana', +} + export interface EthereumChainBoundaryProps extends withClasses<'switchButton'> { className?: string chainId: ChainId @@ -71,10 +83,11 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { const account = useAccount() const chainId = useChainId() + const allowTestnet = useAllowTestnet() const providerType = useValueRef(currentProviderSettings) - const { noSwitchNetworkTip = false } = props + const { noSwitchNetworkTip = true } = props const classes = useStylesExtends(useStyles(), props) const expectedChainId = props.chainId const expectedNetwork = getChainName(expectedChainId) @@ -105,7 +118,7 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { WalletMessages.events.connectWalletDialogUpdated, ) // #endregion - + const networkDescriptor = useNetworkDescriptor(expectedChainId, NetworkPluginID.PLUGIN_EVM) // request ethereum-compatible network const networkType = getNetworkTypeFromChainId(expectedChainId) @@ -170,11 +183,13 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { } }, [account, isAllowed, isChainMatched, isPluginMatched, providerType, expectedChainId]) - const renderBox = (children?: React.ReactNode) => { + const renderBox = (children?: React.ReactNode, tips?: string) => { return ( - - {children} - + + + {children} + + ) } @@ -229,10 +244,16 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { {isAllowed ? ( + } sx={ props.switchButtonStyle ?? { backgroundColor: MaskColorVar.textPluginColor, - width: 254, + width: '100%', color: 'white', '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, @@ -241,16 +262,16 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { } init={ - {t('plugin_wallet_switch_network', { - network: expectedNetwork, + {t('plugin_wallet_connect_network', { + network: PLUGINID_NAME[NetworkPluginID.PLUGIN_EVM], })} } - waiting={t('plugin_wallet_switch_network_under_going', { - network: expectedNetwork, + waiting={t('plugin_wallet_connect_network_under_going', { + network: PLUGINID_NAME[NetworkPluginID.PLUGIN_EVM], })} - complete={t('plugin_wallet_switch_network', { - network: expectedNetwork, + complete={t('plugin_wallet_connect_network', { + network: PLUGINID_NAME[NetworkPluginID.PLUGIN_EVM], })} failed={t('retry')} executor={onSwitchChain} @@ -276,31 +297,27 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { ) : null} {isAllowed ? ( + } sx={ props.switchButtonStyle ?? { backgroundColor: MaskColorVar.buttonPluginBackground, - width: 254, + width: '100%', color: 'white', - marginBottom: 1, '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, }, + padding: 1, } } - init={ - - {t('plugin_wallet_connect_network', { - network: expectedNetwork, - })} - - } - waiting={t('plugin_wallet_connect_network_under_going', { - network: expectedNetwork, - })} - complete={t('plugin_wallet_connect_network', { - network: expectedNetwork, - })} + style={{ borderRadius: 10 }} + init={{t('plugin_wallet_switch_network')}} + waiting={t('plugin_wallet_switch_network_under_going')} + complete={t('plugin_wallet_switch_network')} failed={t('retry')} executor={onSwitchChain} completeOnClick={onSwitchChain} @@ -309,5 +326,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { /> ) : null} , + providerType === ProviderType.WalletConnect ? t('plugin_wallet_connect_tips') : '', ) } From 87f46720d7fb037f0b50f78044753b3565d82dae Mon Sep 17 00:00:00 2001 From: lelenei Date: Sun, 15 May 2022 16:15:35 +0800 Subject: [PATCH 37/80] fix: css style --- .../SNSAdaptor/RedPacket/OperationFooter.tsx | 30 +++++++++---------- .../mask/src/plugins/dHEDGE/UI/PoolView.tsx | 7 ++--- .../src/web3/UI/EthereumChainBoundary.tsx | 7 ++++- .../UI/EthereumWalletConnectedBoundary.tsx | 1 + 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx index a43222823f74..21f3ae23cf2f 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx @@ -76,21 +76,19 @@ export function OperationFooter({ } return ( - - } - classes={{ - connectWallet: classes.connectWallet, - }}> - - {canRefund ? null : ( - - {t('share')} - - )} - - - - + } + classes={{ + connectWallet: classes.connectWallet, + }}> + + {canRefund ? null : ( + + {t('share')} + + )} + + + ) } diff --git a/packages/mask/src/plugins/dHEDGE/UI/PoolView.tsx b/packages/mask/src/plugins/dHEDGE/UI/PoolView.tsx index 04fe7d4c6147..f070bf497ca9 100644 --- a/packages/mask/src/plugins/dHEDGE/UI/PoolView.tsx +++ b/packages/mask/src/plugins/dHEDGE/UI/PoolView.tsx @@ -1,6 +1,6 @@ import { RefreshIcon } from '@masknet/icons' import { useChainId } from '@masknet/web3-shared-evm' -import { Box, Card, CardContent, CardHeader, CircularProgress, Paper, Tab, Tabs, Typography } from '@mui/material' +import { Card, CardContent, CardHeader, CircularProgress, Paper, Tab, Tabs, Typography } from '@mui/material' import { makeStyles } from '@masknet/theme' import { useState } from 'react' import { useI18N } from '../../../utils/i18n-next-ui' @@ -132,9 +132,8 @@ export function PoolView(props: PoolViewProps) { - - - + + ) } diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index e778ca32111b..b1def41fc40d 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -186,7 +186,12 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { const renderBox = (children?: React.ReactNode, tips?: string) => { return ( - + {children} diff --git a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx index 12979f312353..4bca38ba08c1 100644 --- a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx @@ -22,6 +22,7 @@ const useStyles = makeStyles()((theme) => ({ }, grid: { justifyContent: 'center', + padding: 8, }, })) From 60442398dda05989dc0d1a97b740b5f67b8f9286 Mon Sep 17 00:00:00 2001 From: lelenei Date: Sun, 15 May 2022 20:22:38 +0800 Subject: [PATCH 38/80] fix: open connect wallet --- .../plugins/Furucombo/SNSAdaptor/index.tsx | 7 +-- .../plugins/Furucombo/UI/FurucomboView.tsx | 54 +++++++++++-------- .../src/plugins/Furucombo/UI/PoolView.tsx | 21 +++++--- .../mask/src/plugins/ITO/SNSAdaptor/ITO.tsx | 12 +++-- .../src/web3/UI/EthereumChainBoundary.tsx | 6 +++ 5 files changed, 59 insertions(+), 41 deletions(-) diff --git a/packages/mask/src/plugins/Furucombo/SNSAdaptor/index.tsx b/packages/mask/src/plugins/Furucombo/SNSAdaptor/index.tsx index 7e96c7999908..b5ba4e7383a8 100644 --- a/packages/mask/src/plugins/Furucombo/SNSAdaptor/index.tsx +++ b/packages/mask/src/plugins/Furucombo/SNSAdaptor/index.tsx @@ -6,7 +6,6 @@ import { extractTextFromTypedMessage } from '@masknet/typed-message' import { parseURL } from '@masknet/shared-base' import { FurucomboIcon } from '@masknet/icons' import { FurucomboView } from '../UI/FurucomboView' -import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' const matchLink = /^https:\/\/furucombo.app\/invest\/(pool|farm)\/(137|1)\/(0x\w+)/ const isFurucomboLink = (link: string): boolean => matchLink.test(link) @@ -47,11 +46,7 @@ const sns: Plugin.SNSAdaptor.Definition = { function Renderer(props: React.PropsWithChildren<{ url: string }>) { const [, category, chainId, address] = props.url.match(matchLink) ?? [] usePluginWrapper(true) - return ( - - - - ) + return } export default sns diff --git a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx index c5d8bbdfc064..f1aa02e3ead5 100644 --- a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx +++ b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx @@ -3,6 +3,7 @@ import { isSameAddress, useChainId } from '@masknet/web3-shared-evm' import { Card, CardContent, Tabs, Tab, Typography, Paper, CircularProgress, Button, Stack } from '@mui/material' import { useState } from 'react' import { useI18N } from '../../../utils/i18n-next-ui' +import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' import { useFetchPools } from '../hooks/usePool' import type { Investable } from '../types' import { InvestmentsView } from './InvestmentsView' @@ -46,6 +47,7 @@ const useStyles = makeStyles()((theme) => ({ interface PoolViewProps { address: string category: string + chainId: number } export function FurucomboView(props: PoolViewProps) { @@ -65,14 +67,14 @@ export function FurucomboView(props: PoolViewProps) { if (error || !value) return ( - <> + {t('plugin_furucombo_load_failed')} - + ) const { investables = [] } = value @@ -86,29 +88,35 @@ export function FurucomboView(props: PoolViewProps) { if (!investable) return ( - - {t('plugin_furucombo_pool_not_found')} - + <> + + {t('plugin_furucombo_pool_not_found')} + + + ) return ( - - - setTabIndex(newValue)}> - , - , - - - {tabIndex === 0 ? : null} - {tabIndex === 1 ? : null} - - - + <> + + + setTabIndex(newValue)}> + , + , + + + {tabIndex === 0 ? : null} + {tabIndex === 1 ? : null} + + + + + ) } diff --git a/packages/mask/src/plugins/Furucombo/UI/PoolView.tsx b/packages/mask/src/plugins/Furucombo/UI/PoolView.tsx index 990d1e37cc1f..b9b26e23160c 100644 --- a/packages/mask/src/plugins/Furucombo/UI/PoolView.tsx +++ b/packages/mask/src/plugins/Furucombo/UI/PoolView.tsx @@ -1,4 +1,5 @@ import { makeStyles } from '@masknet/theme' +import { useChainId, useAccount } from '@masknet/web3-shared-evm' import { Button, Divider, Grid, Typography, Container } from '@mui/material' import { FurucomboIcon } from '../../../resources/FurucomboIcon' import { useI18N } from '../../../utils' @@ -87,6 +88,8 @@ export function PoolView(props: PoolProps) { const { classes } = useStyles() const { t } = useI18N() const { category, chainId, address, name, protocol, liquidity, apy, angels } = props.investable + const account = useAccount() + const _chainId = useChainId() const displayRewardIcon = (rewardToken: Token) => { if (rewardToken.symbol === 'WMATIC') return @@ -114,14 +117,16 @@ export function PoolView(props: PoolProps) { - + {_chainId === chainId && account ? ( + + ) : null} diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx index e02c59cc8205..d8d92f8f98b1 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx @@ -153,7 +153,7 @@ const useStyles = makeStyles()((theme, props) => ({ }, }, actionFooter: { - padding: 12, + padding: 0, }, actionButton: { width: '100%', @@ -198,6 +198,10 @@ const useStyles = makeStyles()((theme, props) => ({ marginTop: 16, color: '#F4212E', }, + grid: { + width: '100%', + margin: 0, + }, })) // #region token item @@ -765,8 +769,8 @@ export function ITO(props: ITO_Props) { !isNativeTokenAddress(qualificationAddress) ) { return ( - - + + } onClick={onShareSuccess} @@ -776,7 +780,7 @@ export function ITO(props: ITO_Props) { {t('plugin_ito_share')} - + Date: Sun, 15 May 2022 20:41:53 +0800 Subject: [PATCH 39/80] fix: css style --- packages/icons/plugins/index.ts | 1 + .../ITO/assets => icons/plugins}/shared.tsx | 0 .../Gitcoin/SNSAdaptor/PreviewCard.tsx | 7 +- .../mask/src/plugins/ITO/SNSAdaptor/ITO.tsx | 3 +- .../SNSAdaptor/components/PreviewCard.tsx | 86 +++++++++++++------ .../SNSAdaptor/RedPacket/OperationFooter.tsx | 10 ++- .../SNSAdaptor/RedPacket/useStyles.ts | 2 +- 7 files changed, 75 insertions(+), 34 deletions(-) rename packages/{mask/src/plugins/ITO/assets => icons/plugins}/shared.tsx (100%) diff --git a/packages/icons/plugins/index.ts b/packages/icons/plugins/index.ts index 5c1de5e8eeb9..042cbb8b08a1 100644 --- a/packages/icons/plugins/index.ts +++ b/packages/icons/plugins/index.ts @@ -25,3 +25,4 @@ export * from './PoolTogetherIcon' export * from './SecurityChecker' export * from './ArtBlocks' export * from './connect' +export * from './shared' diff --git a/packages/mask/src/plugins/ITO/assets/shared.tsx b/packages/icons/plugins/shared.tsx similarity index 100% rename from packages/mask/src/plugins/ITO/assets/shared.tsx rename to packages/icons/plugins/shared.tsx diff --git a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx index bf391451a3fc..2c860e7f6256 100644 --- a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx +++ b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx @@ -59,8 +59,9 @@ const useStyles = makeStyles()((theme) => ({ margin: theme.spacing(0, 1), }, buttons: { - padding: 12, - lineHeight: '16px', + width: '100%', + padding: 0, + margin: 0, }, verified: { borderRadius: 50, @@ -170,7 +171,7 @@ export function PreviewCard(props: PreviewCardProps) { {t('plugin_gitcoin_view_on')} - + @@ -163,8 +176,19 @@ export function PreviewCard(props: PreviewCardProps) { if (boxState === BoxState.NOT_FOUND || !boxInfo) return ( - Failed to load box. - @@ -213,26 +237,36 @@ export function PreviewCard(props: PreviewCardProps) { /> - - setOpenDrawDialog(true)}> - {(() => { - return boxState === BoxState.READY && paymentTokenAddress ? ( - <> - {boxStateMessage} ( - {formatBalance(paymentTokenPrice, paymentTokenDetailed?.decimals ?? 0)}{' '} - {paymentTokenDetailed?.symbol}/Time) - - ) : ( - boxStateMessage - ) - })()} - - + + + setOpenDrawDialog(true)}> + {(() => { + return boxState === BoxState.READY && paymentTokenAddress ? ( + <> + {boxStateMessage} ( + {formatBalance(paymentTokenPrice, paymentTokenDetailed?.decimals ?? 0)}{' '} + {paymentTokenDetailed?.symbol}/Time) + + ) : ( + boxStateMessage + ) + })()} + + + ) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx index 21f3ae23cf2f..9e60537360de 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx @@ -1,4 +1,4 @@ -import { PluginWalletConnectIcon } from '@masknet/icons' +import { PluginWalletConnectIcon, SharedIcon } from '@masknet/icons' import { WalletMessages } from '@masknet/plugin-wallet' import { useRemoteControlledDialog } from '@masknet/shared-base-ui' import { TransactionState, TransactionStateType, useAccount, useChainIdValid } from '@masknet/web3-shared-evm' @@ -77,13 +77,19 @@ export function OperationFooter({ return ( } classes={{ connectWallet: classes.connectWallet, }}> {canRefund ? null : ( - + } + variant="contained" + fullWidth + size="large" + onClick={onShare}> {t('share')} )} diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts index c240e22bfc23..b78502a77649 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts @@ -45,7 +45,7 @@ to { flexWrap: 'wrap', }, footer: { - paddingTop: theme.spacing(2), + padding: 12, width: '100%', display: 'flex', gap: theme.spacing(2), From 62feeeb759e341a8ba15e527af81afcd3ba8ab51 Mon Sep 17 00:00:00 2001 From: lelenei Date: Sun, 15 May 2022 22:19:23 +0800 Subject: [PATCH 40/80] fix: enabled plugin --- .../DisabledPluginSuggestion.tsx | 1 - .../mask/src/plugins/MaskPluginWrapper.tsx | 30 ++++++------------- 2 files changed, 9 insertions(+), 22 deletions(-) diff --git a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx index 083f204892e2..76ba609fd3f9 100644 --- a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx +++ b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx @@ -92,7 +92,6 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, }, - borderRadius: 9999, }}> Enable plugins diff --git a/packages/mask/src/plugins/MaskPluginWrapper.tsx b/packages/mask/src/plugins/MaskPluginWrapper.tsx index 3de072186a35..f361b3188aa2 100644 --- a/packages/mask/src/plugins/MaskPluginWrapper.tsx +++ b/packages/mask/src/plugins/MaskPluginWrapper.tsx @@ -1,8 +1,7 @@ -import { Typography, SnackbarContent, Button, Link } from '@mui/material' +import { Typography, SnackbarContent, Link } from '@mui/material' import { makeStyles, MaskColorVar } from '@masknet/theme' import { MaskIcon } from '../resources/MaskIcon' import { Suspense, ReactNode, useMemo, forwardRef, useImperativeHandle, useState } from 'react' -import { usePersonaConnectStatus } from '../components/DataSource/usePersonaConnectStatus' import { useI18N } from '../utils' import { Box } from '@mui/system' import { @@ -91,26 +90,8 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) { const { open, title, children, action, publisher, publisherLink, content, wrapperProps } = props const { classes } = useStyles({ backgroundGradient: wrapperProps?.backgroundGradient }) - const personaConnectStatus = usePersonaConnectStatus() const { t } = useI18N() - const name = !personaConnectStatus.hasPersona - ? t('please_create_persona') - : !personaConnectStatus.connected - ? t('please_connect_persona') - : title - - const actionButton = useMemo(() => { - if (!personaConnectStatus.action) return null - - const button = personaConnectStatus.hasPersona ? t('connect_persona') : t('create_persona') - return ( - - ) - }, [personaConnectStatus, t]) - const publisherInfo = useMemo(() => { if (!publisher) return const main = ( @@ -154,7 +135,14 @@ export default function MaskPostExtraInfoWrapper(props: PluginWrapperProps) {
{publisherInfo}
- + {action ? ( + <> + + {content} + +
{action}
+ + ) : null} {children ?
{children}
: null}
) From 3254de95c07c5d6991a079f2cdb8da94e47fece5 Mon Sep 17 00:00:00 2001 From: lelenei Date: Sun, 15 May 2022 22:28:31 +0800 Subject: [PATCH 41/80] fix: remove unused code --- packages/mask/shared-ui/locales/en-US.json | 4 ---- packages/mask/shared-ui/locales/ko-KR.json | 2 -- packages/mask/shared-ui/locales/qya-AA.json | 4 ---- packages/mask/shared-ui/locales/zh-CN.json | 4 ---- 4 files changed, 14 deletions(-) diff --git a/packages/mask/shared-ui/locales/en-US.json b/packages/mask/shared-ui/locales/en-US.json index d0d230d5619b..98de7441d042 100644 --- a/packages/mask/shared-ui/locales/en-US.json +++ b/packages/mask/shared-ui/locales/en-US.json @@ -115,10 +115,6 @@ "user_guide_tip_2": "Connect and switch your wallet.", "user_guide_tip_3": "Browse the Web 3 footprints of your Twitter friends, enjoy the freedom of Web 3.", "user_guide_tip_4": "Click here to have a quick start.", - "create_persona": "Create persona", - "connect_persona": "Connect persona", - "please_create_persona": "Please create persona", - "please_connect_persona": "Please connect persona", "mask_network": "Mask Network", "import": "Import", "no_search_result": "No result", diff --git a/packages/mask/shared-ui/locales/ko-KR.json b/packages/mask/shared-ui/locales/ko-KR.json index 36b81d3088b4..9459f1e83019 100644 --- a/packages/mask/shared-ui/locales/ko-KR.json +++ b/packages/mask/shared-ui/locales/ko-KR.json @@ -80,8 +80,6 @@ "user_guide_tip_connected": "해당 계정에 성공적으로 연결되었습니다.", "user_guide_tip_1": "클릭하여 메인 기능을 확인하세요.", "user_guide_tip_2": "여기서 월렛을 연결하세요. 여기서 네트워크나 월렛을 바꿀 수 있습니다.", - "create_persona": "페르소나 만들기", - "connect_persona": "페로소나 연결하기", "mask_network": "Mask Network", "import": "불러오기", "no_search_result": "결과 없음", diff --git a/packages/mask/shared-ui/locales/qya-AA.json b/packages/mask/shared-ui/locales/qya-AA.json index d62f28fbf709..7da9ba5abb2b 100644 --- a/packages/mask/shared-ui/locales/qya-AA.json +++ b/packages/mask/shared-ui/locales/qya-AA.json @@ -114,10 +114,6 @@ "user_guide_tip_1": "crwdns9059:0crwdne9059:0", "user_guide_tip_2": "crwdns9061:0crwdne9061:0", "user_guide_tip_3": "crwdns13019:0crwdne13019:0", - "create_persona": "crwdns10317:0crwdne10317:0", - "connect_persona": "crwdns10319:0crwdne10319:0", - "please_create_persona": "crwdns10807:0crwdne10807:0", - "please_connect_persona": "crwdns10809:0crwdne10809:0", "mask_network": "crwdns10321:0crwdne10321:0", "import": "crwdns4193:0crwdne4193:0", "no_search_result": "crwdns4217:0crwdne4217:0", diff --git a/packages/mask/shared-ui/locales/zh-CN.json b/packages/mask/shared-ui/locales/zh-CN.json index f4766cc09156..c48e4bc9fdcc 100644 --- a/packages/mask/shared-ui/locales/zh-CN.json +++ b/packages/mask/shared-ui/locales/zh-CN.json @@ -109,10 +109,6 @@ "user_guide_tip_2": "点击这里连接或更改您的钱包。", "user_guide_tip_3": "浏览 Twitter 好友的 Web 3 足迹,畅享 Web 3 的自由。", "user_guide_tip_4": "尝试快速开始探索 Web 3 世界。", - "create_persona": "创建身份", - "connect_persona": "连接身份", - "please_create_persona": "请创建身份", - "please_connect_persona": "请连接身份", "mask_network": "Mask Network", "import": "导入", "no_search_result": "没有任何结果。", From 2c2f59f32e4222a33afc61d4c08855b1f56669a6 Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 16 May 2022 00:13:30 +0800 Subject: [PATCH 42/80] fix: css style --- .../CryptoartAI/SNSAdaptor/Collectible.tsx | 7 +++++-- .../CryptoartAI/SNSAdaptor/PostInspector.tsx | 21 ++++++++----------- .../CryptoartAI/hooks/useCollectibleState.ts | 1 + 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx index 12718c75e0e1..ef601f6bb8e3 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx @@ -16,6 +16,7 @@ import { resolveAssetLinkOnCryptoartAI, resolveWebLinkOnCryptoartAI } from '../p import { Markdown } from '../../Snapshot/SNSAdaptor/Markdown' import { ActionBar } from './ActionBar' import { useChainId } from '@masknet/web3-shared-evm' +import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' const useStyles = makeStyles()((theme) => { return { @@ -77,7 +78,7 @@ export function Collectible(props: CollectibleProps) { const { t } = useI18N() const { classes } = useStyles() const chainId = useChainId() - const { asset, events, tabIndex, setTabIndex } = CollectibleState.useContainer() + const { asset, events, tabIndex, setTabIndex, chainId: expectChainId } = CollectibleState.useContainer() const assetSource = useMemo(() => { if (!asset.value || asset.error) return @@ -265,7 +266,9 @@ export function Collectible(props: CollectibleProps) { - + + + ) } diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/PostInspector.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/PostInspector.tsx index b611ed2f1710..745131e28932 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/PostInspector.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/PostInspector.tsx @@ -1,7 +1,6 @@ import type { PayloadType } from '../types' import { Collectible } from './Collectible' import { CollectibleState } from '../hooks/useCollectibleState' -import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' export interface PostInspectorProps { payload: PayloadType @@ -11,16 +10,14 @@ export function PostInspector(props: PostInspectorProps) { const token = props.payload return ( - - - - - + + + ) } diff --git a/packages/mask/src/plugins/CryptoartAI/hooks/useCollectibleState.ts b/packages/mask/src/plugins/CryptoartAI/hooks/useCollectibleState.ts index 282dd2f04f34..057f45b6c10e 100644 --- a/packages/mask/src/plugins/CryptoartAI/hooks/useCollectibleState.ts +++ b/packages/mask/src/plugins/CryptoartAI/hooks/useCollectibleState.ts @@ -20,6 +20,7 @@ function useCollectibleState(token?: Token) { setTabIndex, offers, events, + chainId: token?.chainId, } } From 0c575442ecf9f28dfb9231ef3b0f9ee539d0069f Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 16 May 2022 01:14:17 +0800 Subject: [PATCH 43/80] fix: build error --- cspell.json | 1 + .../mask/src/web3/UI/EthereumChainBoundary.tsx | 14 ++++---------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/cspell.json b/cspell.json index 9e1391ac7183..d52f00dc04c0 100644 --- a/cspell.json +++ b/cspell.json @@ -277,6 +277,7 @@ "openocean", "pausable", "pkts", + "pluginid", "pnpm", "poap", "poaps", diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index 6a370ba002ce..62c2f1d1c122 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -53,16 +53,10 @@ const useStyles = makeStyles()((theme) => ({ display: 'flex', alignItems: 'center', justifyContent: 'center', - marginBottoma: 48, + marginBottom: 48, }, })) -const PLUGINID_NAME: Record = { - 'com.mask.evm': 'EVM', - 'com.mask.flow': 'Flow', - 'com.mask.solana': 'Solana', -} - export interface EthereumChainBoundaryProps extends withClasses<'switchButton'> { className?: string chainId: ChainId @@ -273,15 +267,15 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { init={ {t('plugin_wallet_connect_network', { - network: PLUGINID_NAME[NetworkPluginID.PLUGIN_EVM], + network: 'EVM', })} } waiting={t('plugin_wallet_connect_network_under_going', { - network: PLUGINID_NAME[NetworkPluginID.PLUGIN_EVM], + network: 'EVM', })} complete={t('plugin_wallet_connect_network', { - network: PLUGINID_NAME[NetworkPluginID.PLUGIN_EVM], + network: 'EVM', })} failed={t('retry')} executor={onSwitchChain} From 083c32cf2ffa83230844a47a69d129355e8e9c0c Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 16 May 2022 01:56:58 +0800 Subject: [PATCH 44/80] fix: build error --- .../mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx index ef601f6bb8e3..5ab115077a64 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx @@ -266,7 +266,7 @@ export function Collectible(props: CollectibleProps) { - + From 3b479fcf9786422b2d3c08afd611c8a6c2f75514 Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 16 May 2022 02:00:01 +0800 Subject: [PATCH 45/80] fix: reply review --- .../components/InjectedComponents/DisabledPluginSuggestion.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx index 76ba609fd3f9..04cef4940747 100644 --- a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx +++ b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx @@ -72,7 +72,7 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi x.publisher ? : undefined } publisherLink={x.publisher?.link} - wrapperProps={_plugins.filter((y) => y.ID === x.ID)?.[0]?.wrapperProps} + wrapperProps={_plugins.find((y) => y.ID === x.ID)?.wrapperProps} action={
- + - +
- - + + - - +
+ - - + + ) } diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx index edfa7c350627..b99f72fc72a8 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx @@ -16,7 +16,7 @@ import { } from '@masknet/web3-shared-evm' import { isZero, ZERO, isGreaterThan } from '@masknet/web3-shared-base' import { useRemoteControlledDialog } from '@masknet/shared-base-ui' -import { Box, Card, Grid, Link, Typography } from '@mui/material' +import { Box, Card, Link, Typography } from '@mui/material' import { makeStyles, MaskColorVar } from '@masknet/theme' import OpenInNewIcon from '@mui/icons-material/OpenInNew' import { BigNumber } from 'bignumber.js' @@ -152,7 +152,8 @@ const useStyles = makeStyles()((theme, props) => ({ }, }, actionFooter: { - padding: 12, + padding: 0, + display: 'flex', }, actionButton: { width: '100%', @@ -590,7 +591,7 @@ export function ITO(props: ITO_Props) { const FooterBuyerWithLockTimeButton = useMemo( () => ( - + {(() => { if (isUnlocked) return FooterBuyerLockedButton @@ -605,7 +606,7 @@ export function ITO(props: ITO_Props) { ) })()} - + ), [noRemain, listOfStatus, isUnlocked], ) @@ -614,21 +615,18 @@ export function ITO(props: ITO_Props) { () => (
{(() => { - if (hasLockTime) - return ( - - {FooterBuyerWithLockTimeButton} - - ) + if (hasLockTime) return FooterBuyerWithLockTimeButton if (canWithdraw) { return ( - - {t('plugin_ito_withdraw')} - + + + {t('plugin_ito_withdraw')} + + ) } return null @@ -717,14 +715,16 @@ export function ITO(props: ITO_Props) { if (!isRegionAllow) { return ( - undefined} - variant="contained" - size="large" - className={classes.actionButton}> - {t('plugin_ito_region_ban')} - + + undefined} + variant="contained" + size="large" + className={classes.actionButton}> + {t('plugin_ito_region_ban')} + + ) } @@ -738,14 +738,16 @@ export function ITO(props: ITO_Props) { if (loadingTradeInfo || loadingAvailability) { return ( - undefined} - variant="contained" - size="large" - className={classes.actionButton}> - {t('plugin_ito_loading')} - + + undefined} + variant="contained" + size="large" + className={classes.actionButton}> + {t('plugin_ito_loading')} + + ) } @@ -753,13 +755,15 @@ export function ITO(props: ITO_Props) { if (canWithdraw) { return ( - - {t('plugin_ito_withdraw')} - + + + {t('plugin_ito_withdraw')} + + ) } @@ -768,8 +772,8 @@ export function ITO(props: ITO_Props) { !isNativeTokenAddress(qualificationAddress) ) { return ( - - + <> + } onClick={onShareSuccess} @@ -778,8 +782,8 @@ export function ITO(props: ITO_Props) { className={classes.actionButton}> {t('plugin_ito_share')} - - + + - - + + ) } @@ -810,8 +814,8 @@ export function ITO(props: ITO_Props) { if (listOfStatus.includes(ITO_Status.waited)) { return ( - - + <> + {t('plugin_ito_unlock_in_advance')} - + {shareText ? ( - + } onClick={onShare} @@ -830,16 +834,16 @@ export function ITO(props: ITO_Props) { className={classes.actionButton}> {t('plugin_ito_share')} - + ) : undefined} - + ) } if (listOfStatus.includes(ITO_Status.started)) { return ( - - + <> + {t('plugin_ito_enter')} - - + + } onClick={onShareSuccess} @@ -857,8 +861,8 @@ export function ITO(props: ITO_Props) { className={classes.actionButton}> {t('plugin_ito_share')} - - + + ) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx index 4f0c57af42ce..e3e5772ac508 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx @@ -76,26 +76,28 @@ export function OperationFooter({ } return ( - } - classes={{ - connectWallet: classes.connectWallet, - }}> - - {canRefund ? null : ( - } - variant="contained" - fullWidth - size="large" - sx={{ padding: 1.125 }} - onClick={onShare}> - {t('share')} - - )} - - - + + } + classes={{ + connectWallet: classes.connectWallet, + }}> + + {canRefund ? null : ( + } + variant="contained" + fullWidth + size="large" + sx={{ padding: 1.125 }} + onClick={onShare}> + {t('share')} + + )} + + + + ) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts index b78502a77649..b05f09cec7e1 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/useStyles.ts @@ -45,7 +45,6 @@ to { flexWrap: 'wrap', }, footer: { - padding: 12, width: '100%', display: 'flex', gap: theme.spacing(2), diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx index 6bf1592cda2d..089b635c7fde 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx @@ -127,7 +127,7 @@ export function Snapshot() { - + } classes={{ connectWallet: classes.button, unlockMetaMask: classes.button }} diff --git a/packages/mask/src/plugins/dHEDGE/UI/PoolView.tsx b/packages/mask/src/plugins/dHEDGE/UI/PoolView.tsx index f070bf497ca9..158285d2c292 100644 --- a/packages/mask/src/plugins/dHEDGE/UI/PoolView.tsx +++ b/packages/mask/src/plugins/dHEDGE/UI/PoolView.tsx @@ -1,6 +1,6 @@ import { RefreshIcon } from '@masknet/icons' import { useChainId } from '@masknet/web3-shared-evm' -import { Card, CardContent, CardHeader, CircularProgress, Paper, Tab, Tabs, Typography } from '@mui/material' +import { Box, Card, CardContent, CardHeader, CircularProgress, Paper, Tab, Tabs, Typography } from '@mui/material' import { makeStyles } from '@masknet/theme' import { useState } from 'react' import { useI18N } from '../../../utils/i18n-next-ui' @@ -132,8 +132,9 @@ export function PoolView(props: PoolViewProps) { - - + + + ) } diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index a36c20898a05..6d61214825bf 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -187,10 +187,10 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { + alignItems="center"> {children} @@ -212,6 +212,10 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, }, + margin: 0, + lineHeight: 0, + paddingTop: 1.25, + paddingBottom: 1.25, }} onClick={openSelectProviderDialog}> {t('plugin_wallet_connect_wallet')} diff --git a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx index 4bca38ba08c1..d15864887a2c 100644 --- a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx @@ -1,4 +1,3 @@ -import { Grid } from '@mui/material' import { makeStyles, MaskColorVar, useStylesExtends } from '@masknet/theme' import classNames from 'classnames' import { useRemoteControlledDialog } from '@masknet/shared-base-ui' @@ -19,6 +18,7 @@ const useStyles = makeStyles()((theme) => ({ '&:hover': { backgroundColor: MaskColorVar.buttonPluginBackground, }, + margin: 0, }, grid: { justifyContent: 'center', @@ -58,68 +58,53 @@ export function EthereumWalletConnectedBoundary(props: EthereumWalletConnectedBo if (!account) return ( - - - {t('plugin_wallet_connect_a_wallet')} - - + + {t('plugin_wallet_connect_a_wallet')} + ) if (!isRiskWarningConfirmed && !hideRiskWarningConfirmed) return ( - - - {t('plugin_wallet_confirm_risk_warning')} - - + + {t('plugin_wallet_confirm_risk_warning')} + ) if (isZero(nativeTokenBalance.value ?? '0') && !offChain) return ( - - - {t(nativeTokenBalance.loading ? 'plugin_wallet_update_gas_fee' : 'plugin_wallet_no_gas_fee')} - - + + {t(nativeTokenBalance.loading ? 'plugin_wallet_update_gas_fee' : 'plugin_wallet_no_gas_fee')} + ) if (!chainIdValid && !offChain) return ( - - - {t('plugin_wallet_invalid_network')} - - + + {t('plugin_wallet_invalid_network')} + ) - return ( - - {children} - - ) + return <>{children} } From 0f76645ce25afc02e1735dd15ccdf015c4a3be8e Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 16 May 2022 21:04:17 +0800 Subject: [PATCH 48/80] fix: css style --- packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx index 1c7061bf56f5..84be7354ea88 100644 --- a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx +++ b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx @@ -86,13 +86,16 @@ export function FurucomboView(props: PoolViewProps) { investable.category === props.category, ) - if (!investable) + if (investable) return ( <> {t('plugin_furucombo_pool_not_found')} - + + + + ) From 7e4470bc558046afbb3ed9b916058115be314557 Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 16 May 2022 21:08:51 +0800 Subject: [PATCH 49/80] fix: css style --- .../mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx index 78dde947b968..40165f6de8cf 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/Collectible.tsx @@ -266,7 +266,7 @@ export function Collectible(props: CollectibleProps) { - + From af3675c3aa4c608db1bc3b8eeb243b1d996f9f9d Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 16 May 2022 21:13:12 +0800 Subject: [PATCH 50/80] fix: chainnet name --- packages/mask/src/web3/UI/EthereumChainBoundary.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index 6d61214825bf..ab57d3430b9c 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -325,9 +325,15 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { } } style={{ borderRadius: 10, paddingTop: 11, paddingBottom: 11 }} - init={{t('plugin_wallet_switch_network', { network: expectedNetwork })}} - waiting={t('plugin_wallet_switch_network_under_going', { network: expectedNetwork })} - complete={t('plugin_wallet_switch_network', { network: expectedNetwork })} + init={ + + {t('plugin_wallet_switch_network', { network: expectedNetwork.replace('Mainnet', '') })} + + } + waiting={t('plugin_wallet_switch_network_under_going', { + network: expectedNetwork.replace('Mainnet', ''), + })} + complete={t('plugin_wallet_switch_network', { network: expectedNetwork.replace('Mainnet', '') })} failed={t('retry')} executor={onSwitchChain} completeOnClick={onSwitchChain} From f09b4adf27eab0bce6764780399bfe0c5c6d39f2 Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 16 May 2022 21:28:49 +0800 Subject: [PATCH 51/80] fix: revert code --- .../mask/src/plugins/Furucombo/UI/FurucomboView.tsx | 2 +- .../src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx | 12 ++++-------- .../src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx | 4 +++- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx index 84be7354ea88..92d0810e6e2f 100644 --- a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx +++ b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx @@ -86,7 +86,7 @@ export function FurucomboView(props: PoolViewProps) { investable.category === props.category, ) - if (investable) + if (!investable) return ( <> diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx index 089b635c7fde..469c94c9436d 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/Snapshot.tsx @@ -5,8 +5,8 @@ import { SnapshotContext } from '../context' import { useProposal } from './hooks/useProposal' import { ProposalTab } from './ProposalTab' import { ProgressTab } from './ProgressTab' -import { EthereumWalletConnectedBoundary } from '../../../web3/UI/EthereumWalletConnectedBoundary' -import { PluginWalletConnectIcon } from '@masknet/icons' +import { useChainId } from '@masknet/web3-shared-evm' +import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' const useStyles = makeStyles()((theme) => { return { @@ -75,7 +75,7 @@ export function Snapshot() { const { classes } = useStyles() const identifier = useContext(SnapshotContext) const { payload: proposal } = useProposal(identifier.id) - + const chainId = useChainId() const [tabIndex, setTabIndex] = useState(0) const tabs = [ , @@ -128,11 +128,7 @@ export function Snapshot() { - } - classes={{ connectWallet: classes.button, unlockMetaMask: classes.button }} - offChain - /> + ) diff --git a/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx b/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx index 512049374cd2..4e21962fc04e 100644 --- a/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx +++ b/packages/mask/src/plugins/Snapshot/SNSAdaptor/VotingCard.tsx @@ -12,6 +12,7 @@ import { useProposal } from './hooks/useProposal' import { usePower } from './hooks/usePower' import { VoteConfirmDialog } from './VoteConfirmDialog' import { useRetry } from './hooks/useRetry' +import { NetworkPluginID, useCurrentWeb3NetworkPluginID } from '@masknet/plugin-infra/web3' const useStyles = makeStyles()((theme) => { return { @@ -48,6 +49,7 @@ export function VotingCard() { const [open, setOpen] = useState(false) const [loading, setLoading] = useState(false) + const networkPluginId = useCurrentWeb3NetworkPluginID() const retry = useRetry() const onVoteConfirm = useSnackbarCallback( () => { @@ -71,7 +73,7 @@ export function VotingCard() { return ( - {account ? ( + {account && networkPluginId === NetworkPluginID.PLUGIN_EVM ? ( <> {choices.map((choiceText, i) => ( + {currentPluginID === NetworkPluginID.PLUGIN_EVM && account ? ( + + ) : null} From a0c869d4a3c0632d70dc372989f9b90f8b6b107c Mon Sep 17 00:00:00 2001 From: lelenei Date: Mon, 16 May 2022 23:42:58 +0800 Subject: [PATCH 54/80] fix: remove settings --- packages/mask/src/plugins/FindTruman/base.ts | 20 ------------------- packages/mask/src/plugins/Gitcoin/base.ts | 9 --------- packages/mask/src/plugins/ITO/base.ts | 19 ------------------ .../SNSAdaptor/components/ArticlesTab.tsx | 5 ++++- .../components/DrawResultDialog.tsx | 11 ++++++++-- packages/mask/src/plugins/RedPacket/base.ts | 20 ------------------- packages/plugins/CyberConnect/src/base.tsx | 13 ------------ 7 files changed, 13 insertions(+), 84 deletions(-) diff --git a/packages/mask/src/plugins/FindTruman/base.ts b/packages/mask/src/plugins/FindTruman/base.ts index 2ad2f0edbc9e..02532d482a57 100644 --- a/packages/mask/src/plugins/FindTruman/base.ts +++ b/packages/mask/src/plugins/FindTruman/base.ts @@ -1,6 +1,4 @@ import type { Plugin } from '@masknet/plugin-infra' -import { NetworkPluginID } from '@masknet/plugin-infra/web3' -import { ChainId } from '@masknet/web3-shared-evm' import { FIND_TRUMAN_PLUGIN_ID, FIND_TRUMAN_PLUGIN_NAME } from './constants' export const base: Plugin.Shared.Definition = { @@ -14,24 +12,6 @@ export const base: Plugin.Shared.Definition = { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, target: 'stable', - web3: { - [NetworkPluginID.PLUGIN_EVM]: { - supportedChainIds: [ - ChainId.Mainnet, - ChainId.BSC, - ChainId.Matic, - ChainId.Arbitrum, - ChainId.xDai, - ChainId.Fantom, - ChainId.Avalanche, - ChainId.Aurora, - ChainId.Conflux, - ChainId.Harmony, - ], - }, - [NetworkPluginID.PLUGIN_FLOW]: { supportedChainIds: [] }, - [NetworkPluginID.PLUGIN_SOLANA]: { supportedChainIds: [] }, - }, }, contribution: { postContent: new Set([ diff --git a/packages/mask/src/plugins/Gitcoin/base.ts b/packages/mask/src/plugins/Gitcoin/base.ts index c247ddc24c7b..65995d21a8a0 100644 --- a/packages/mask/src/plugins/Gitcoin/base.ts +++ b/packages/mask/src/plugins/Gitcoin/base.ts @@ -1,6 +1,4 @@ -import { NetworkPluginID } from '@masknet/plugin-infra/web3' import type { Plugin } from '@masknet/plugin-infra' -import { ChainId } from '@masknet/web3-shared-evm' import { PLUGIN_ID, PLUGIN_NAME, PLUGIN_DESCRIPTION } from './constants' export const base: Plugin.Shared.Definition = { @@ -12,13 +10,6 @@ export const base: Plugin.Shared.Definition = { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, target: 'stable', - web3: { - [NetworkPluginID.PLUGIN_EVM]: { - supportedChainIds: [ChainId.Mainnet, ChainId.Rinkeby, ChainId.Matic, ChainId.Mumbai], - }, - [NetworkPluginID.PLUGIN_FLOW]: { supportedChainIds: [] }, - [NetworkPluginID.PLUGIN_SOLANA]: { supportedChainIds: [] }, - }, }, contribution: { postContent: new Set([/https:\/\/gitcoin.co\/grants\/\d+/]) }, } diff --git a/packages/mask/src/plugins/ITO/base.ts b/packages/mask/src/plugins/ITO/base.ts index 84fc5cbb4949..eddc066a64c6 100644 --- a/packages/mask/src/plugins/ITO/base.ts +++ b/packages/mask/src/plugins/ITO/base.ts @@ -1,6 +1,4 @@ -import { NetworkPluginID } from '@masknet/plugin-infra/web3' import type { Plugin } from '@masknet/plugin-infra' -import { ChainId } from '@masknet/web3-shared-evm' import { ITO_MetaKey_1, ITO_MetaKey_2, ITO_PluginID } from './constants' export const base: Plugin.Shared.Definition = { @@ -17,23 +15,6 @@ export const base: Plugin.Shared.Definition = { networks: {}, }, target: 'stable', - web3: { - [NetworkPluginID.PLUGIN_EVM]: { - supportedChainIds: [ - ChainId.Mainnet, - ChainId.BSC, - ChainId.Matic, - ChainId.Arbitrum, - ChainId.xDai, - ChainId.Aurora, - ChainId.Avalanche, - ChainId.Fantom, - ChainId.Harmony, - ], - }, - [NetworkPluginID.PLUGIN_FLOW]: { supportedChainIds: [] }, - [NetworkPluginID.PLUGIN_SOLANA]: { supportedChainIds: [] }, - }, }, contribution: { metadataKeys: new Set([ITO_MetaKey_1, ITO_MetaKey_2]) }, } diff --git a/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/ArticlesTab.tsx b/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/ArticlesTab.tsx index 9c1ab0004493..50a92ddaf103 100644 --- a/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/ArticlesTab.tsx +++ b/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/ArticlesTab.tsx @@ -5,7 +5,10 @@ import { MaskSharpIconOfSize } from '../../../../resources/MaskIcon' import { Video } from '../../../../components/shared/Video' const useStyles = makeStyles()((theme) => ({ - main: {}, + main: { + paddingLeft: 16, + paddingRight: 16, + }, body: { width: '100%', height: 360, diff --git a/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/DrawResultDialog.tsx b/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/DrawResultDialog.tsx index cbcd770a0b99..e371a827b775 100644 --- a/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/DrawResultDialog.tsx +++ b/packages/mask/src/plugins/MaskBox/SNSAdaptor/components/DrawResultDialog.tsx @@ -10,9 +10,10 @@ import ActionButton from '../../../../extension/options-page/DashboardComponents import { activatedSocialNetworkUI } from '../../../../social-network' import { usePostLink } from '../../../../components/DataSource/usePostInfo' import { Context } from '../../hooks/useContext' +import { SharedIcon } from '@masknet/icons' const useStyles = makeStyles()((theme) => ({ - main: {}, + main: { padding: 8 }, list: { height: 360, overflow: 'auto', @@ -21,6 +22,7 @@ const useStyles = makeStyles()((theme) => ({ flexWrap: 'wrap', gridTemplateColumns: 'repeat(auto-fill, minmax(160px, 1fr))', gridGap: theme.spacing(1), + padding: 8, }, token: {}, })) @@ -59,7 +61,12 @@ export function DrawResultDialog(props: DrawResultDialogProps) { ))} - + } + size="medium" + fullWidth + variant="contained" + onClick={onShare}> Share diff --git a/packages/mask/src/plugins/RedPacket/base.ts b/packages/mask/src/plugins/RedPacket/base.ts index f135c9ca9f49..017b71a9a04b 100644 --- a/packages/mask/src/plugins/RedPacket/base.ts +++ b/packages/mask/src/plugins/RedPacket/base.ts @@ -1,6 +1,4 @@ -import { NetworkPluginID } from '@masknet/plugin-infra/web3' import type { Plugin } from '@masknet/plugin-infra' -import { ChainId } from '@masknet/web3-shared-evm' import { RedPacketMetaKey, RedPacketNftMetaKey, RedPacketPluginID } from './constants' export const base: Plugin.Shared.Definition = { @@ -18,24 +16,6 @@ export const base: Plugin.Shared.Definition = { networks: {}, }, target: 'stable', - web3: { - [NetworkPluginID.PLUGIN_EVM]: { - supportedChainIds: [ - ChainId.Mainnet, - ChainId.BSC, - ChainId.Matic, - ChainId.Arbitrum, - ChainId.xDai, - ChainId.Fantom, - ChainId.Avalanche, - ChainId.Aurora, - ChainId.Harmony, - ChainId.Conflux, - ], - }, - [NetworkPluginID.PLUGIN_FLOW]: { supportedChainIds: [] }, - [NetworkPluginID.PLUGIN_SOLANA]: { supportedChainIds: [] }, - }, }, contribution: { metadataKeys: new Set([RedPacketMetaKey, RedPacketNftMetaKey]), diff --git a/packages/plugins/CyberConnect/src/base.tsx b/packages/plugins/CyberConnect/src/base.tsx index 9d9f69ef80f0..448cdbc056bd 100644 --- a/packages/plugins/CyberConnect/src/base.tsx +++ b/packages/plugins/CyberConnect/src/base.tsx @@ -1,6 +1,4 @@ import type { Plugin } from '@masknet/plugin-infra' -import { NetworkPluginID } from '@masknet/plugin-infra/web3' -import { ChainId } from '@masknet/web3-shared-evm' import { CYBERCONNECT_PLUGIN_ID } from './constants' export const base: Plugin.Shared.Definition = { @@ -14,17 +12,6 @@ export const base: Plugin.Shared.Definition = { architecture: { app: false, web: true }, networks: { type: 'opt-out', networks: {} }, target: 'stable', - web3: { - [NetworkPluginID.PLUGIN_EVM]: { - supportedChainIds: [ChainId.Mainnet, ChainId.BSC, ChainId.Matic, ChainId.Arbitrum, ChainId.xDai], - }, - [NetworkPluginID.PLUGIN_SOLANA]: { - supportedChainIds: [], - }, - [NetworkPluginID.PLUGIN_FLOW]: { - supportedChainIds: [], - }, - }, }, contribution: { postContent: new Set([/https:\/\/app.cyberconnect.me/]) }, } From 5317b702dd1a97a32d0ae0de24055ff4595cbece Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 07:53:22 +0800 Subject: [PATCH 55/80] fix: wallet connect --- packages/mask/src/web3/UI/EthereumChainBoundary.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index 0ca3e9ef5065..4477e0dcd4f1 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -15,7 +15,6 @@ import { getChainName, getNetworkTypeFromChainId, isChainIdValid, - isValidAddress as isValidEthereumAddress, NetworkType, ProviderType, resolveNetworkName, @@ -174,7 +173,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { } if (!isPluginMatched) { - if (!networkType || networkType !== NetworkType.Ethereum || isValidEthereumAddress(account)) return openSelectProviderDialog() return } From d67dffa7d0362c0db08a25f90d2a3e4e52e71b27 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 08:12:28 +0800 Subject: [PATCH 56/80] fix: css style --- .../FindTruman/SNSAdaptor/FindTruman.tsx | 13 +++-- .../SNSAdaptor/RedPacket/OperationFooter.tsx | 50 ++++++++++--------- .../RedPacket/SNSAdaptor/RedPacket/index.tsx | 5 +- 3 files changed, 40 insertions(+), 28 deletions(-) diff --git a/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx b/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx index e788ff2cbe9a..fd870fe64ebf 100644 --- a/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx +++ b/packages/mask/src/plugins/FindTruman/SNSAdaptor/FindTruman.tsx @@ -20,6 +20,8 @@ import EncryptionCard from './EncryptionCard' import CompletionCard from './CompletionCard' import { PluginWalletConnectIcon } from '@masknet/icons' import { EthereumWalletConnectedBoundary } from '../../../web3/UI/EthereumWalletConnectedBoundary' +import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' +import { useChainId } from '@masknet/web3-shared-evm' const useStyles = makeStyles()((theme) => { return { @@ -139,6 +141,7 @@ export function getPostTypeTitle(t: FindTrumanI18nFunction, postType: PostType) export function FindTruman(props: FindTrumanProps) { const { classes } = useStyles() const { address, t } = useContext(FindTrumanContext) + const chainId = useChainId() const { postType, clueId, @@ -258,10 +261,12 @@ export function FindTruman(props: FindTrumanProps) { - } - /> + + } + /> + ) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx index e3e5772ac508..127a91297ca1 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx @@ -1,14 +1,16 @@ -import { PluginWalletConnectIcon, SharedIcon } from '@masknet/icons' +import { SharedIcon, PluginWalletConnectIcon } from '@masknet/icons' import { WalletMessages } from '@masknet/plugin-wallet' import { useRemoteControlledDialog } from '@masknet/shared-base-ui' -import { TransactionState, TransactionStateType, useAccount, useChainIdValid } from '@masknet/web3-shared-evm' +import { ChainId, TransactionState, TransactionStateType, useAccount, useChainIdValid } from '@masknet/web3-shared-evm' import { Box } from '@mui/material' import ActionButton from '../../../../extension/options-page/DashboardComponents/ActionButton' import { useI18N } from '../../../../utils' +import { EthereumChainBoundary } from '../../../../web3/UI/EthereumChainBoundary' import { EthereumWalletConnectedBoundary } from '../../../../web3/UI/EthereumWalletConnectedBoundary' import { useStyles } from './useStyles' interface OperationFooterProps { + chainId?: ChainId canClaim: boolean canRefund: boolean claimState: TransactionState @@ -17,6 +19,7 @@ interface OperationFooterProps { onClaimOrRefund: () => void | Promise } export function OperationFooter({ + chainId, canClaim, canRefund, claimState, @@ -77,27 +80,28 @@ export function OperationFooter({ return ( - } - classes={{ - connectWallet: classes.connectWallet, - }}> - - {canRefund ? null : ( - } - variant="contained" - fullWidth - size="large" - sx={{ padding: 1.125 }} - onClick={onShare}> - {t('share')} - - )} - - - + + } + classes={{ + connectWallet: classes.connectWallet, + }}> + + {canRefund ? null : ( + } + variant="contained" + fullWidth + sx={{ padding: 1.125 }} + onClick={onShare}> + {t('share')} + + )} + + + + ) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx index a91f9f15c827..e8235f3b04c7 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx @@ -13,6 +13,8 @@ import { useTokenConstants, EthereumTokenType, isSameAddress, + getChainIdFromName, + ChainId, } from '@masknet/web3-shared-evm' import { usePostLink } from '../../../../components/DataSource/usePostInfo' import { activatedSocialNetworkUI } from '../../../../social-network' @@ -48,7 +50,7 @@ export function RedPacket(props: RedPacketProps) { value: availability, computed: availabilityComputed, retry: revalidateAvailability, - } = useAvailabilityComputed(account, payload) + } = useAvailabilityComputed(account ?? payload.contract_address, payload) const { NATIVE_TOKEN_ADDRESS } = useTokenConstants() @@ -214,6 +216,7 @@ export function RedPacket(props: RedPacketProps) { {listOfStatus.includes(RedPacketStatus.empty) ? null : ( Date: Tue, 17 May 2022 09:34:22 +0800 Subject: [PATCH 57/80] fix: css style --- .../RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx index 127a91297ca1..3f2052ad47ab 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx @@ -43,14 +43,14 @@ export function OperationFooter({ if (!account) { return ( - + {t('plugin_wallet_connect_a_wallet')} ) } if (!chainIdValid) { return ( - + {t('plugin_wallet_invalid_network')} ) @@ -65,7 +65,6 @@ export function OperationFooter({ disabled={isLoading} loading={isLoading} variant="contained" - size="large" onClick={onClaimOrRefund}> {canClaim ? claimState.type === TransactionStateType.HASH From c62d4f993f08d9b17386d43c15c8aaeb4d39622e Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 10:41:36 +0800 Subject: [PATCH 58/80] fix: show token --- .../RedPacket/SNSAdaptor/RedPacket/index.tsx | 9 +++-- .../RedPacket/SNSAdaptor/RedPacketNft.tsx | 38 ++++++++++--------- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx index e8235f3b04c7..2ad01f5702dc 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx @@ -62,10 +62,11 @@ export function RedPacket(props: RedPacketProps) { : EthereumTokenType.ERC20), payload.token?.address ?? payload.token_address ?? '', ) - const token = - payload.token && ['chainId', 'decimal', 'symbol'].every((k) => Reflect.has(payload.token ?? {}, k)) - ? payload.token - : tokenDetailed + const token = !account + ? payload.token + : payload.token && ['chainId', 'decimal', 'symbol'].every((k) => Reflect.has(payload.token ?? {}, k)) + ? payload.token + : tokenDetailed // #endregion const { canFetch, canClaim, canRefund, listOfStatus } = availabilityComputed diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx index e422d22f1ae8..7ed8a172141f 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketNft.tsx @@ -24,6 +24,7 @@ import { isFacebook } from '../../../social-network-adaptor/facebook.com/base' import { NFTCardStyledAssetPlayer } from '@masknet/shared' import { openWindow } from '@masknet/shared-base-ui' import { PluginWalletConnectIcon } from '@masknet/icons' +import { EthereumChainBoundary } from '../../../web3/UI/EthereumChainBoundary' const useStyles = makeStyles()((theme) => ({ root: { @@ -434,24 +435,25 @@ export function RedPacketNft({ payload }: RedPacketNftProps) { {availability.isClaimed ? null : ( - } - classes={{ - connectWallet: classes.button, - unlockMetaMask: classes.button, - gasFeeButton: classes.button, - }}> - - {isClaiming ? t('plugin_red_packet_claiming') : t('plugin_red_packet_claim')} - - + + } + classes={{ + connectWallet: classes.button, + unlockMetaMask: classes.button, + gasFeeButton: classes.button, + }}> + + {isClaiming ? t('plugin_red_packet_claiming') : t('plugin_red_packet_claim')} + + + )} From c4dc74963810a303a4173bb43f80ff06144589bc Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Tue, 17 May 2022 10:46:54 +0800 Subject: [PATCH 59/80] fix: dependency --- .../mask/src/plugins/ITO/SNSAdaptor/hooks/useIfQualified.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useIfQualified.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useIfQualified.ts index 602c0c61b636..d7b655333501 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useIfQualified.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useIfQualified.ts @@ -1,11 +1,12 @@ import { useAsyncRetry } from 'react-use' -import { useAccount } from '@masknet/web3-shared-evm' +import { useAccount, useChainId } from '@masknet/web3-shared-evm' import type { Qualification } from '@masknet/web3-contracts/types/Qualification' import type { Qualification2 } from '@masknet/web3-contracts/types/Qualification2' import { useQualificationContract } from './useQualificationContract' export function useIfQualified(address: string, ito_address: string) { const account = useAccount() + const chainId = useChainId() const { contract: qualificationContract, version } = useQualificationContract(address, ito_address) return useAsyncRetry(async () => { @@ -17,5 +18,5 @@ export function useIfQualified(address: string, ito_address: string) { ).call({ from: account, }) - }, [account, qualificationContract]) + }, [account, qualificationContract, chainId]) } From 078fa315b1324740dbb108d528d3100210b5b90a Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 10:47:33 +0800 Subject: [PATCH 60/80] fix: typo --- packages/mask/shared-ui/locales/en-US.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/mask/shared-ui/locales/en-US.json b/packages/mask/shared-ui/locales/en-US.json index 268e347c78ec..fa5f76ebd0c6 100644 --- a/packages/mask/shared-ui/locales/en-US.json +++ b/packages/mask/shared-ui/locales/en-US.json @@ -65,7 +65,6 @@ "compose_encrypt_visible_to_private": "Private", "compose_encrypt_visible_to_private_sub": "Just Me", "compose_shared_friends": "1 friend", - "compose_shared_friends_other": "{{count}} friends", "compose_encrypt_visible_to_share": "Share with", "compose_encrypt_visible_to_share_sub": "Just Selected Contacts", "compose_encrypt_share_dialog_empty": "No encrypted friends, you can try searching.", @@ -327,8 +326,8 @@ "plugin_wallet_on_connect_in_firefox": "Connect", "plugin_wallet_return_mobile_wallet_options": "Return to Mobile Wallet Options", "plugin_wallet_view_qr_code": "View QR Code", - "plugin_wallet_switch_network": "Switch to the {{network}}", - "plugin_wallet_switch_network_under_going": "Switching to the {{network}}", + "plugin_wallet_switch_network": "Switch to {{network}}", + "plugin_wallet_switch_network_under_going": "Switching to {{network}}", "plugin_wallet_connect_tips": "You’re connected to a walletConnect\nwallet. Please switch network in that wallet, \nor switch to another wallet.", "plugin_wallet_connect_network": "Connect {{network}} wallet", "plugin_wallet_connect_network_under_going": "Connect {{network}} wallet", From 8208c59c4bdfcf21532b0688f9eecad8628b4066 Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Tue, 17 May 2022 10:47:43 +0800 Subject: [PATCH 61/80] chore: remove locale key --- packages/mask/shared-ui/locales/en-US.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/mask/shared-ui/locales/en-US.json b/packages/mask/shared-ui/locales/en-US.json index 268e347c78ec..dcf48ea4d74e 100644 --- a/packages/mask/shared-ui/locales/en-US.json +++ b/packages/mask/shared-ui/locales/en-US.json @@ -65,7 +65,6 @@ "compose_encrypt_visible_to_private": "Private", "compose_encrypt_visible_to_private_sub": "Just Me", "compose_shared_friends": "1 friend", - "compose_shared_friends_other": "{{count}} friends", "compose_encrypt_visible_to_share": "Share with", "compose_encrypt_visible_to_share_sub": "Just Selected Contacts", "compose_encrypt_share_dialog_empty": "No encrypted friends, you can try searching.", From 39996c8177bd7ce3b1085b0d3d65e1ef0f13b0b3 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 10:50:56 +0800 Subject: [PATCH 62/80] fix: token --- .../src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx index 2ad01f5702dc..b651d1b2d258 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx @@ -62,11 +62,8 @@ export function RedPacket(props: RedPacketProps) { : EthereumTokenType.ERC20), payload.token?.address ?? payload.token_address ?? '', ) - const token = !account - ? payload.token - : payload.token && ['chainId', 'decimal', 'symbol'].every((k) => Reflect.has(payload.token ?? {}, k)) - ? payload.token - : tokenDetailed + const token = payload.token + // #endregion const { canFetch, canClaim, canRefund, listOfStatus } = availabilityComputed From ef31c1f6420b8b34b848142931070df5d0598cf2 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 14:39:10 +0800 Subject: [PATCH 63/80] fix: connect wallet --- packages/mask/src/web3/UI/EthereumChainBoundary.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index 4477e0dcd4f1..cd9b37810932 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -173,7 +173,12 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { } if (!isPluginMatched) { - openSelectProviderDialog() + await switchToPlugin() + setConnectWalletDialog({ + open: true, + providerType: ProviderType.MaskWallet, + networkType: networkType!, + }) return } if (!isChainMatched) await switchToChain() From f4f9a63b307c9b4156f4e2c2675c9e09a95fb78f Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 15:02:03 +0800 Subject: [PATCH 64/80] fix: opensea --- .../mask/src/plugins/Collectible/hooks/useCollectibleState.ts | 4 +++- packages/mask/src/plugins/EVM/hooks/useAsset.ts | 4 +++- packages/web3-providers/src/opensea/index.ts | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/mask/src/plugins/Collectible/hooks/useCollectibleState.ts b/packages/mask/src/plugins/Collectible/hooks/useCollectibleState.ts index 976962f468f9..a0e433e086e6 100644 --- a/packages/mask/src/plugins/Collectible/hooks/useCollectibleState.ts +++ b/packages/mask/src/plugins/Collectible/hooks/useCollectibleState.ts @@ -14,8 +14,10 @@ function useCollectibleState(token?: CollectibleToken) { const [provider, setProvider] = useState(NonFungibleAssetProvider.OPENSEA) + console.log('-----') + console.log(token) const asset = useAsset(token?.contractAddress ?? '', token?.tokenId ?? '', provider) - + console.log(asset) // #region asset order from sdk const assetOrder = useAssetOrder(provider, token) // #endregion diff --git a/packages/mask/src/plugins/EVM/hooks/useAsset.ts b/packages/mask/src/plugins/EVM/hooks/useAsset.ts index fbca7176d93e..e23d46588a8c 100644 --- a/packages/mask/src/plugins/EVM/hooks/useAsset.ts +++ b/packages/mask/src/plugins/EVM/hooks/useAsset.ts @@ -7,6 +7,7 @@ import { useChainId, useTokenConstants, resolveIPFSLinkFromURL, + ChainId, } from '@masknet/web3-shared-evm' import { EVM_RPC } from '../messages' import { resolveAvatarLinkOnCurrentProvider } from '../../Collectible/pipes' @@ -17,7 +18,8 @@ export function useAsset(address: string, tokenId: string, provider: NonFungible const { WNATIVE_ADDRESS } = useTokenConstants() return useAsyncRetry(async () => { - const asset = await EVM_RPC.getAsset({ address, tokenId, chainId, provider }) + const asset = await EVM_RPC.getAsset({ address, tokenId, chainId: ChainId.Mainnet, provider }) + if (!asset) return return { ...asset, image_url: resolveIPFSLinkFromURL(asset?.image_url ?? ''), diff --git a/packages/web3-providers/src/opensea/index.ts b/packages/web3-providers/src/opensea/index.ts index 6e1bfb50ebe3..1cd048fd2ed6 100644 --- a/packages/web3-providers/src/opensea/index.ts +++ b/packages/web3-providers/src/opensea/index.ts @@ -79,7 +79,7 @@ function createERC721TokenFromAsset( { name: asset.collection.name, image: asset.collection.image_url || undefined, - slug: asset.collection.slug, + slug: asset.collection.slug ?? '', }, ) } From e81d0a76e49c46d21cadd12feff12b94f97f133f Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 15:04:08 +0800 Subject: [PATCH 65/80] fix: remove debug --- .../mask/src/plugins/Collectible/hooks/useCollectibleState.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/mask/src/plugins/Collectible/hooks/useCollectibleState.ts b/packages/mask/src/plugins/Collectible/hooks/useCollectibleState.ts index a0e433e086e6..f3f79d40d886 100644 --- a/packages/mask/src/plugins/Collectible/hooks/useCollectibleState.ts +++ b/packages/mask/src/plugins/Collectible/hooks/useCollectibleState.ts @@ -14,10 +14,7 @@ function useCollectibleState(token?: CollectibleToken) { const [provider, setProvider] = useState(NonFungibleAssetProvider.OPENSEA) - console.log('-----') - console.log(token) const asset = useAsset(token?.contractAddress ?? '', token?.tokenId ?? '', provider) - console.log(asset) // #region asset order from sdk const assetOrder = useAssetOrder(provider, token) // #endregion From 668ec922bcd2f04bf432f0cf4526fe9a0fd0dec0 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 15:12:17 +0800 Subject: [PATCH 66/80] fix: opensea --- packages/mask/src/plugins/EVM/hooks/useAsset.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mask/src/plugins/EVM/hooks/useAsset.ts b/packages/mask/src/plugins/EVM/hooks/useAsset.ts index e23d46588a8c..ea4a6da9e9a5 100644 --- a/packages/mask/src/plugins/EVM/hooks/useAsset.ts +++ b/packages/mask/src/plugins/EVM/hooks/useAsset.ts @@ -26,7 +26,7 @@ export function useAsset(address: string, tokenId: string, provider: NonFungible isOrderWeth: isSameAddress(asset?.desktopOrder?.payment_token ?? '', WNATIVE_ADDRESS) ?? false, isCollectionWeth: asset?.collection?.payment_tokens?.some(currySameAddress(WNATIVE_ADDRESS)) ?? false, isOwner: asset?.top_ownerships.some((item) => isSameAddress(item.owner.address, account)) ?? false, - collectionLinkUrl: resolveAvatarLinkOnCurrentProvider(chainId, asset, provider), + collectionLinkUrl: resolveAvatarLinkOnCurrentProvider(ChainId.Mainnet, asset, provider), } }, [account, chainId, WNATIVE_ADDRESS, address, tokenId, provider]) } From 5a3510d3efe8bee08483c06ec07f83cdd76e44a9 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 15:39:24 +0800 Subject: [PATCH 67/80] fix: revert code --- packages/mask/src/web3/UI/EthereumChainBoundary.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index cd9b37810932..c652fc813d4b 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -109,6 +109,10 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { WalletMessages.events.selectProviderDialogUpdated, ) + const { setDialog: setSelectWalletDialog } = useRemoteControlledDialog( + WalletMessages.events.selectWalletDialogUpdated, + ) + // #region connect wallet dialog const { setDialog: setConnectWalletDialog } = useRemoteControlledDialog( WalletMessages.events.connectWalletDialogUpdated, @@ -173,12 +177,7 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { } if (!isPluginMatched) { - await switchToPlugin() - setConnectWalletDialog({ - open: true, - providerType: ProviderType.MaskWallet, - networkType: networkType!, - }) + openSelectProviderDialog() return } if (!isChainMatched) await switchToChain() From caa7e4a2f638db394a018aae0ded08d4d4db8f51 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 15:59:58 +0800 Subject: [PATCH 68/80] fix: remove unused code --- packages/mask/src/web3/UI/EthereumChainBoundary.tsx | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index c652fc813d4b..2cb58e321d02 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -109,15 +109,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { WalletMessages.events.selectProviderDialogUpdated, ) - const { setDialog: setSelectWalletDialog } = useRemoteControlledDialog( - WalletMessages.events.selectWalletDialogUpdated, - ) - - // #region connect wallet dialog - const { setDialog: setConnectWalletDialog } = useRemoteControlledDialog( - WalletMessages.events.connectWalletDialogUpdated, - ) - // #endregion const networkDescriptor = useNetworkDescriptor(expectedChainId, NetworkPluginID.PLUGIN_EVM) // request ethereum-compatible network const networkType = getNetworkTypeFromChainId(expectedChainId) From 785d695bdc97cbac98a5a0d3792277d96cc6bac2 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 16:19:27 +0800 Subject: [PATCH 69/80] fix: reply review --- .../InjectedComponents/DisabledPluginSuggestion.tsx | 10 ++++------ .../plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx | 11 ----------- packages/mask/src/web3/UI/EthereumChainBoundary.tsx | 5 ----- .../src/web3/UI/EthereumWalletConnectedBoundary.tsx | 3 +-- packages/plugins/FileService/src/SNSAdaptor/index.tsx | 2 +- packages/plugins/FileService/src/base.ts | 2 +- 6 files changed, 7 insertions(+), 26 deletions(-) diff --git a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx index 04cef4940747..f587214d0ddf 100644 --- a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx +++ b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx @@ -10,7 +10,7 @@ import { extractTextFromTypedMessage } from '@masknet/typed-message' import Services from '../../extension/service' import MaskPostExtraInfoWrapper from '../../plugins/MaskPluginWrapper' import { HTMLProps, useCallback } from 'react' -import { Button } from '@mui/material' +import { Button, Skeleton } from '@mui/material' import { PluginIcon } from '@masknet/icons' import { makeStyles, MaskColorVar } from '@masknet/theme' @@ -105,9 +105,7 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi const useRectangleStyles = makeStyles()(() => ({ rectangle: { - height: 8, background: 'rgba(255, 255, 255, 0.5)', - borderRadius: 8, }, })) interface RectangleProps extends HTMLProps {} @@ -116,9 +114,9 @@ export function Rectangle(props: RectangleProps) { const { classes } = useRectangleStyles() return (
-
-
-
+ + +
) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx index b651d1b2d258..47361baad7e1 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx @@ -7,12 +7,9 @@ import { resolveNetworkName, TransactionStateType, useAccount, - useFungibleTokenDetailed, useNetworkType, useWeb3, useTokenConstants, - EthereumTokenType, - isSameAddress, getChainIdFromName, ChainId, } from '@masknet/web3-shared-evm' @@ -54,14 +51,6 @@ export function RedPacket(props: RedPacketProps) { const { NATIVE_TOKEN_ADDRESS } = useTokenConstants() - const { value: tokenDetailed } = useFungibleTokenDetailed( - payload.token?.type ?? - payload.token_type ?? - (isSameAddress(NATIVE_TOKEN_ADDRESS, payload.token_address) - ? EthereumTokenType.Native - : EthereumTokenType.ERC20), - payload.token?.address ?? payload.token_address ?? '', - ) const token = payload.token // #endregion diff --git a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx index 2cb58e321d02..ad63982cea41 100644 --- a/packages/mask/src/web3/UI/EthereumChainBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumChainBoundary.tsx @@ -31,7 +31,6 @@ import { currentProviderSettings } from '../../plugins/Wallet/settings' import { useI18N } from '../../utils' import { WalletMessages, WalletRPC } from '../../plugins/Wallet/messages' import Services from '../../extension/service' -import { pluginIDSettings } from '../../settings/settings' import { WalletIcon } from '@masknet/shared' import { PluginWalletConnectIcon } from '@masknet/icons' @@ -158,10 +157,6 @@ export function EthereumChainBoundary(props: EthereumChainBoundaryProps) { } } - const switchToPlugin = async () => { - pluginIDSettings.value = NetworkPluginID.PLUGIN_EVM - } - if (providerType === ProviderType.WalletConnect && networkType) { openSelectProviderDialog() return diff --git a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx index d15864887a2c..bdb3e3e2e0de 100644 --- a/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx +++ b/packages/mask/src/web3/UI/EthereumWalletConnectedBoundary.tsx @@ -33,11 +33,10 @@ export interface EthereumWalletConnectedBoundaryProps hideRiskWarningConfirmed?: boolean ActionButtonProps?: ActionButtonProps startIcon?: React.ReactNode - hiddenPersonaVerified?: boolean } export function EthereumWalletConnectedBoundary(props: EthereumWalletConnectedBoundaryProps) { - const { children = null, offChain = false, hideRiskWarningConfirmed = false, hiddenPersonaVerified = false } = props + const { children = null, offChain = false, hideRiskWarningConfirmed = false } = props const { t } = useI18N() const classes = useStylesExtends(useStyles(), props) diff --git a/packages/plugins/FileService/src/SNSAdaptor/index.tsx b/packages/plugins/FileService/src/SNSAdaptor/index.tsx index 9a2126d043d9..94d5a656f151 100644 --- a/packages/plugins/FileService/src/SNSAdaptor/index.tsx +++ b/packages/plugins/FileService/src/SNSAdaptor/index.tsx @@ -36,7 +36,7 @@ const definition: Plugin.SNSAdaptor.Definition = { ApplicationEntries: [ (() => { const icon = - const name = { fallback: 'File Service' } + const name = { i18nKey: '__plugin_name', fallback: 'File Service' } return { ApplicationEntryID: base.ID, RenderEntryComponent({ disabled }) { diff --git a/packages/plugins/FileService/src/base.ts b/packages/plugins/FileService/src/base.ts index ad34307e9081..6bc5128f684b 100644 --- a/packages/plugins/FileService/src/base.ts +++ b/packages/plugins/FileService/src/base.ts @@ -4,7 +4,7 @@ import { META_KEY_1, META_KEY_2 } from './constants' export const base: Plugin.Shared.Definition = { ID: PluginId.FileService, - name: { fallback: 'Files Service' }, + name: { fallback: 'File Service', i18nKey: '__display_name' }, description: { fallback: 'Upload and share files on top of Arweave network. Store data, permanently.', i18nKey: '__description', From d2b2b595c6370d5dafa3831d90ca418b62243aa9 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 16:57:15 +0800 Subject: [PATCH 70/80] fix: css style --- .../SNSAdaptor/RedPacket/OperationFooter.tsx | 19 ++++++++++++++++++- .../src/utils/hooks/useSettingSwitcher.tsx | 11 +++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx index 3f2052ad47ab..7c0972b06624 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/OperationFooter.tsx @@ -1,6 +1,7 @@ import { SharedIcon, PluginWalletConnectIcon } from '@masknet/icons' import { WalletMessages } from '@masknet/plugin-wallet' import { useRemoteControlledDialog } from '@masknet/shared-base-ui' +import { MaskColorVar } from '@masknet/theme' import { ChainId, TransactionState, TransactionStateType, useAccount, useChainIdValid } from '@masknet/web3-shared-evm' import { Box } from '@mui/material' import ActionButton from '../../../../extension/options-page/DashboardComponents/ActionButton' @@ -61,6 +62,14 @@ export function OperationFooter({ return ( {canRefund ? null : ( } variant="contained" fullWidth - sx={{ padding: 1.125 }} onClick={onShare}> {t('share')} diff --git a/packages/mask/src/utils/hooks/useSettingSwitcher.tsx b/packages/mask/src/utils/hooks/useSettingSwitcher.tsx index c81416536ae4..5bf0f585389a 100644 --- a/packages/mask/src/utils/hooks/useSettingSwitcher.tsx +++ b/packages/mask/src/utils/hooks/useSettingSwitcher.tsx @@ -2,6 +2,7 @@ import { useMemo, useCallback } from 'react' import { useValueRef } from '@masknet/shared-base-ui' import ActionButton from '../../extension/options-page/DashboardComponents/ActionButton' import type { InternalSettings } from '../../settings/createSettings' +import { MaskColorVar } from '@masknet/theme' export function useSettingsSwitcher>( settings: S, @@ -53,8 +54,14 @@ export function useSwitcher( return ( onSwitch(nextOption)}> Switch to {resolver(nextOption)} From 08e9028795fcf42ab96150a879e4dd82d41d4508 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 17:02:34 +0800 Subject: [PATCH 71/80] fix: css style --- .../Gitcoin/SNSAdaptor/PreviewCard.tsx | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx index a2375ba55344..36416c3035f2 100644 --- a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx +++ b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx @@ -1,6 +1,6 @@ import { useCallback } from 'react' import { Box, Card, Typography, Button, Avatar, CircularProgress } from '@mui/material' -import { makeStyles } from '@masknet/theme' +import { makeStyles, MaskColorVar } from '@masknet/theme' import QueryBuilderIcon from '@mui/icons-material/QueryBuilder' import VerifiedUserIcon from '@mui/icons-material/VerifiedUser' import { useI18N } from '../../../utils' @@ -111,9 +111,18 @@ export function PreviewCard(props: PreviewCardProps) { ) if (error) return ( - + {t('go_wrong')} - @@ -177,7 +186,17 @@ export function PreviewCard(props: PreviewCardProps) { - From 51f45ca2db6704fe673633908cd0be06b67a9722 Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 18:04:17 +0800 Subject: [PATCH 72/80] fix: reply review --- .../DisabledPluginSuggestion.tsx | 9 +++++---- .../Collectible/SNSAdaptor/ActionBar.tsx | 6 +++--- .../CryptoartAI/SNSAdaptor/ActionBar.tsx | 6 +++--- .../plugins/Furucombo/UI/FurucomboView.tsx | 4 ++-- .../Gitcoin/SNSAdaptor/PreviewCard.tsx | 13 +++++++------ .../mask/src/plugins/ITO/SNSAdaptor/ITO.tsx | 6 +++--- .../SNSAdaptor/components/PreviewCard.tsx | 17 +++++++++-------- .../mask/src/plugins/MaskPluginWrapper.tsx | 4 ++-- .../SNSAdaptor/RedPacket/OperationFooter.tsx | 12 ++++++------ .../src/utils/hooks/useSettingSwitcher.tsx | 7 ++++--- .../src/web3/UI/EthereumChainBoundary.tsx | 19 ++++++++++--------- .../UI/EthereumWalletConnectedBoundary.tsx | 6 +++--- 12 files changed, 57 insertions(+), 52 deletions(-) diff --git a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx index f587214d0ddf..c3143a77bcd3 100644 --- a/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx +++ b/packages/mask/src/components/InjectedComponents/DisabledPluginSuggestion.tsx @@ -10,9 +10,9 @@ import { extractTextFromTypedMessage } from '@masknet/typed-message' import Services from '../../extension/service' import MaskPostExtraInfoWrapper from '../../plugins/MaskPluginWrapper' import { HTMLProps, useCallback } from 'react' -import { Button, Skeleton } from '@mui/material' +import { Button, Skeleton, useTheme } from '@mui/material' import { PluginIcon } from '@masknet/icons' -import { makeStyles, MaskColorVar } from '@masknet/theme' +import { makeStyles } from '@masknet/theme' function useDisabledPlugins() { const activated = new Set(useActivatedPluginsSNSAdaptor('any').map((x) => x.ID)) @@ -55,6 +55,7 @@ export function PossiblePluginSuggestionPostInspector() { } export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefinition[] }) { const { plugins } = props + const theme = useTheme() const onClick = useCallback((x: Plugin.DeferredDefinition) => { Services.Settings.setPluginMinimalModeEnabled(x.ID, false) }, []) @@ -80,7 +81,7 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi variant="contained" onClick={() => onClick(x)} sx={{ - backgroundColor: MaskColorVar.buttonPluginBackground, + backgroundColor: theme.palette.maskColor.dark, color: 'white', width: '254px', height: '36px', @@ -90,7 +91,7 @@ export function PossiblePluginSuggestionUI(props: { plugins: Plugin.DeferredDefi paddingBottom: 1.125, lineHeight: 1.5, '&:hover': { - backgroundColor: MaskColorVar.buttonPluginBackground, + backgroundColor: theme.palette.maskColor.dark, }, }}> Enable plugins diff --git a/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx b/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx index bb788940e782..d17cb3043318 100644 --- a/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx +++ b/packages/mask/src/plugins/Collectible/SNSAdaptor/ActionBar.tsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material' -import { makeStyles, MaskColorVar } from '@masknet/theme' +import { makeStyles } from '@masknet/theme' import { useI18N } from '../../../utils' import { CollectibleState } from '../hooks/useCollectibleState' import ActionButton from '../../../extension/options-page/DashboardComponents/ActionButton' @@ -17,9 +17,9 @@ const useStyles = makeStyles()((theme) => { }, button: { flex: 1, - backgroundColor: MaskColorVar.buttonPluginBackground, + backgroundColor: theme.palette.maskColor.dark, '&:hover': { - backgroundColor: MaskColorVar.buttonPluginBackground, + backgroundColor: theme.palette.maskColor.dark, }, color: 'white', }, diff --git a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx index 5c459fad7013..ef9a9d9fccfd 100644 --- a/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx +++ b/packages/mask/src/plugins/CryptoartAI/SNSAdaptor/ActionBar.tsx @@ -1,6 +1,6 @@ import { useMemo } from 'react' import { Box } from '@mui/material' -import { makeStyles, MaskColorVar } from '@masknet/theme' +import { makeStyles } from '@masknet/theme' import { useI18N } from '../../../utils' import { CollectibleState } from '../hooks/useCollectibleState' import ActionButton from '../../../extension/options-page/DashboardComponents/ActionButton' @@ -13,10 +13,10 @@ const useStyles = makeStyles()((theme) => { root: {}, button: { flex: 1, - backgroundColor: MaskColorVar.buttonPluginBackground, + backgroundColor: theme.palette.maskColor.dark, color: 'white', '&:hover': { - backgroundColor: MaskColorVar.buttonPluginBackground, + backgroundColor: theme.palette.maskColor.dark, }, }, } diff --git a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx index 92d0810e6e2f..b7118e239bc0 100644 --- a/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx +++ b/packages/mask/src/plugins/Furucombo/UI/FurucomboView.tsx @@ -35,9 +35,9 @@ const useStyles = makeStyles()((theme) => ({ color: 'white', }, reload: { - backgroundColor: MaskColorVar.buttonPluginBackground, + backgroundColor: theme.palette.maskColor.dark, '&:hover': { - backgroundColor: MaskColorVar.buttonPluginBackground, + backgroundColor: theme.palette.maskColor.dark, }, color: 'white', width: 254, diff --git a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx index 36416c3035f2..05c1e3d799ad 100644 --- a/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx +++ b/packages/mask/src/plugins/Gitcoin/SNSAdaptor/PreviewCard.tsx @@ -1,6 +1,6 @@ import { useCallback } from 'react' -import { Box, Card, Typography, Button, Avatar, CircularProgress } from '@mui/material' -import { makeStyles, MaskColorVar } from '@masknet/theme' +import { Box, Card, Typography, Button, Avatar, CircularProgress, useTheme } from '@mui/material' +import { makeStyles } from '@masknet/theme' import QueryBuilderIcon from '@mui/icons-material/QueryBuilder' import VerifiedUserIcon from '@mui/icons-material/VerifiedUser' import { useI18N } from '../../../utils' @@ -88,6 +88,7 @@ export function PreviewCard(props: PreviewCardProps) { const { value: grant, error, loading, retry } = useGrant(props.id) const chainId = useChainId(NetworkPluginID.PLUGIN_EVM) const isGitCoinSupported = (chainId: ChainId) => [ChainId.Mainnet, ChainId.Matic].includes(chainId) + const theme = useTheme() // #region the donation dialog const postLink = usePostLink() @@ -115,9 +116,9 @@ export function PreviewCard(props: PreviewCardProps) { {t('go_wrong')} } content={} diff --git a/packages/mask/src/plugins/EVM/hooks/useAsset.ts b/packages/mask/src/plugins/EVM/hooks/useAsset.ts index ea4a6da9e9a5..4ee7eba31865 100644 --- a/packages/mask/src/plugins/EVM/hooks/useAsset.ts +++ b/packages/mask/src/plugins/EVM/hooks/useAsset.ts @@ -18,7 +18,12 @@ export function useAsset(address: string, tokenId: string, provider: NonFungible const { WNATIVE_ADDRESS } = useTokenConstants() return useAsyncRetry(async () => { - const asset = await EVM_RPC.getAsset({ address, tokenId, chainId: ChainId.Mainnet, provider }) + const asset = await EVM_RPC.getAsset({ + address, + tokenId, + chainId: provider === NonFungibleAssetProvider.OPENSEA ? ChainId.Mainnet : chainId, + provider, + }) if (!asset) return return { ...asset, @@ -26,7 +31,11 @@ export function useAsset(address: string, tokenId: string, provider: NonFungible isOrderWeth: isSameAddress(asset?.desktopOrder?.payment_token ?? '', WNATIVE_ADDRESS) ?? false, isCollectionWeth: asset?.collection?.payment_tokens?.some(currySameAddress(WNATIVE_ADDRESS)) ?? false, isOwner: asset?.top_ownerships.some((item) => isSameAddress(item.owner.address, account)) ?? false, - collectionLinkUrl: resolveAvatarLinkOnCurrentProvider(ChainId.Mainnet, asset, provider), + collectionLinkUrl: resolveAvatarLinkOnCurrentProvider( + provider === NonFungibleAssetProvider.OPENSEA ? ChainId.Mainnet : chainId, + asset, + provider, + ), } }, [account, chainId, WNATIVE_ADDRESS, address, tokenId, provider]) } diff --git a/packages/mask/src/plugins/Furucombo/UI/PoolView.tsx b/packages/mask/src/plugins/Furucombo/UI/PoolView.tsx index b9b26e23160c..4b8ae7705579 100644 --- a/packages/mask/src/plugins/Furucombo/UI/PoolView.tsx +++ b/packages/mask/src/plugins/Furucombo/UI/PoolView.tsx @@ -1,5 +1,5 @@ import { makeStyles } from '@masknet/theme' -import { useChainId, useAccount } from '@masknet/web3-shared-evm' +import { useAccount, useChainIdMatched } from '@masknet/web3-shared-evm' import { Button, Divider, Grid, Typography, Container } from '@mui/material' import { FurucomboIcon } from '../../../resources/FurucomboIcon' import { useI18N } from '../../../utils' @@ -89,7 +89,7 @@ export function PoolView(props: PoolProps) { const { t } = useI18N() const { category, chainId, address, name, protocol, liquidity, apy, angels } = props.investable const account = useAccount() - const _chainId = useChainId() + const isValidChainId = useChainIdMatched(chainId) const displayRewardIcon = (rewardToken: Token) => { if (rewardToken.symbol === 'WMATIC') return @@ -117,7 +117,7 @@ export function PoolView(props: PoolProps) { - {_chainId === chainId && account ? ( + {isValidChainId && account ? ( ) : null} From a8618548a793874022e77fa11a8f465c40d2d61e Mon Sep 17 00:00:00 2001 From: lelenei Date: Tue, 17 May 2022 23:41:41 +0800 Subject: [PATCH 75/80] fix: reply review --- packages/mask/src/plugins/FindTruman/base.ts | 2 +- packages/mask/src/plugins/dHEDGE/base.tsx | 2 +- packages/plugins/CyberConnect/src/base.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mask/src/plugins/FindTruman/base.ts b/packages/mask/src/plugins/FindTruman/base.ts index 02532d482a57..4895ed1f8934 100644 --- a/packages/mask/src/plugins/FindTruman/base.ts +++ b/packages/mask/src/plugins/FindTruman/base.ts @@ -7,7 +7,7 @@ export const base: Plugin.Shared.Definition = { description: { fallback: 'A plugin for https://findtruman.io/', }, - publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, + publisher: { name: { fallback: 'FindTruman' }, link: 'https://findtruman.io/' }, enableRequirement: { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, diff --git a/packages/mask/src/plugins/dHEDGE/base.tsx b/packages/mask/src/plugins/dHEDGE/base.tsx index 2591cbb59680..02840bce32ae 100644 --- a/packages/mask/src/plugins/dHEDGE/base.tsx +++ b/packages/mask/src/plugins/dHEDGE/base.tsx @@ -5,7 +5,7 @@ export const base: Plugin.Shared.Definition = { ID: DHEDGE_PLUGIN_ID, name: { fallback: 'dHEDGE' }, description: { fallback: 'Decentralized hedge funds on Ethereum.' }, - publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, + publisher: { name: { fallback: 'ArtBlocks' }, link: 'https://www.artblocks.io/' }, enableRequirement: { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, diff --git a/packages/plugins/CyberConnect/src/base.tsx b/packages/plugins/CyberConnect/src/base.tsx index 448cdbc056bd..bb018467ee70 100644 --- a/packages/plugins/CyberConnect/src/base.tsx +++ b/packages/plugins/CyberConnect/src/base.tsx @@ -7,7 +7,7 @@ export const base: Plugin.Shared.Definition = { description: { fallback: 'A plugin for https://cyberconnect.me/', }, - publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, + publisher: { name: { fallback: 'ArtBlocks' }, link: 'https://www.artblocks.io/' }, enableRequirement: { architecture: { app: false, web: true }, networks: { type: 'opt-out', networks: {} }, From 8b555b28d94e8ea781c0242ffdedb8d00998ec2f Mon Sep 17 00:00:00 2001 From: lelenei Date: Wed, 18 May 2022 00:29:23 +0800 Subject: [PATCH 76/80] fix: reply review --- .../plugins/ArtBlocks/hooks/useArtBlocksContract.ts | 4 +++- .../CryptoartAI/hooks/useCryptoArtAI_Contract.ts | 11 +++++++++-- .../Gitcoin/contracts/useBulkCheckoutWallet.ts | 5 +++-- .../GoodGhosting/contracts/useGoodGhostingContract.ts | 5 +++-- .../contracts/useGoodGhostingIncentivesContract.ts | 4 +++- .../ITO/SNSAdaptor/hooks/useQualificationContract.ts | 7 ++++--- .../ITO/SNSAdaptor/hooks/useSpaceStationContract.ts | 5 +++-- .../src/plugins/MaskBox/hooks/useMaskBoxContract.ts | 5 +++-- .../MaskBox/hooks/useMaskBoxQualificationContract.ts | 5 +++-- .../PoolTogether/contracts/usePoolTogetherPool.ts | 5 +++-- .../SNSAdaptor/hooks/useNftRedPacketContract.ts | 5 +++-- .../SNSAdaptor/hooks/useRedPacketContract.ts | 8 ++++---- .../contracts/balancer/useExchangeProxyContract.ts | 2 +- .../Trader/contracts/uniswap/usePairContract.ts | 8 +++++--- .../Trader/contracts/uniswap/usePoolContract.ts | 7 ++++--- .../Trader/contracts/uniswap/useQuoterContract.ts | 2 +- .../Trader/contracts/uniswap/useRouterV2Contract.ts | 5 +++-- .../Trader/contracts/uniswap/useSwapRouterContract.ts | 5 +++-- .../src/plugins/dHEDGE/contracts/useDHedgePool.ts | 11 +++++++---- .../web3-shared/evm/contracts/useBalanceChecker.ts | 4 +++- .../evm/contracts/useERC1155TokenContract.ts | 5 +++-- .../evm/contracts/useERC20TokenBytes32Contract.ts | 7 +++++-- .../evm/contracts/useERC20TokenContract.ts | 7 +++++-- .../evm/contracts/useERC721TokenContract.ts | 4 +++- .../evm/contracts/useERC721TokenContracts.ts | 4 +++- .../web3-shared/evm/contracts/useMulticallContract.ts | 4 +++- .../evm/contracts/useReverseLookupContract.ts | 4 +++- .../evm/contracts/useWrappedEtherContract.ts | 4 +++- packages/web3-shared/evm/hooks/useContract.ts | 4 ++-- 29 files changed, 101 insertions(+), 55 deletions(-) diff --git a/packages/mask/src/plugins/ArtBlocks/hooks/useArtBlocksContract.ts b/packages/mask/src/plugins/ArtBlocks/hooks/useArtBlocksContract.ts index 3f75f28411fa..768c8b0c356b 100644 --- a/packages/mask/src/plugins/ArtBlocks/hooks/useArtBlocksContract.ts +++ b/packages/mask/src/plugins/ArtBlocks/hooks/useArtBlocksContract.ts @@ -1,12 +1,14 @@ import type { AbiItem } from 'web3-utils' -import { useContract, useArtBlocksConstants } from '@masknet/web3-shared-evm' +import { useContract, useArtBlocksConstants, useChainId } from '@masknet/web3-shared-evm' import ArtBlocksCoreContractABI from '@masknet/web3-contracts/abis/ArtBlocksMinterContract.json' import type { ArtBlocksMinterContract } from '@masknet/web3-contracts/types/ArtBlocksMinterContract' export function useArtBlocksContract() { + const chainId = useChainId() const { GEN_ART_721_MINTER } = useArtBlocksConstants() const genArt721MinterContract = useContract( + chainId, GEN_ART_721_MINTER, ArtBlocksCoreContractABI as AbiItem[], ) diff --git a/packages/mask/src/plugins/CryptoartAI/hooks/useCryptoArtAI_Contract.ts b/packages/mask/src/plugins/CryptoartAI/hooks/useCryptoArtAI_Contract.ts index 7bff90145df4..f388810e2d8c 100644 --- a/packages/mask/src/plugins/CryptoartAI/hooks/useCryptoArtAI_Contract.ts +++ b/packages/mask/src/plugins/CryptoartAI/hooks/useCryptoArtAI_Contract.ts @@ -5,19 +5,26 @@ import CANFTMarket_ABI from '@masknet/web3-contracts/abis/CryptoArtAICANFTMarket import type { CryptoArtAIKnownOriginDigitalAssetV2 } from '@masknet/web3-contracts/types/CryptoArtAIKnownOriginDigitalAssetV2' import type { CryptoArtAIArtistAcceptingBidsV2 } from '@masknet/web3-contracts/types/CryptoArtAIArtistAcceptingBidsV2' import type { CryptoArtAICANFTMarket } from '@masknet/web3-contracts/types/CryptoArtAICANFTMarket' -import { useContract, useCryptoArtAIConstants } from '@masknet/web3-shared-evm' +import { useChainId, useContract, useCryptoArtAIConstants } from '@masknet/web3-shared-evm' export function useCryptoArtAI_Contract() { + const chainId = useChainId() const { KNOWN_ORIGIN_DIGITAL_ASSET_V2, ARTIST_ACCEPTING_BIDS_V2, CANFT_MARKET } = useCryptoArtAIConstants() const KnownOriginDigitalAssetV2_CONTRACT = useContract( + chainId, KNOWN_ORIGIN_DIGITAL_ASSET_V2, KnownOriginDigitalAssetV2_ABI as AbiItem[], ) const ArtistAcceptingBidsV2_CONTRACT = useContract( + chainId, ARTIST_ACCEPTING_BIDS_V2, ArtistAcceptingBidsV2_ABI as AbiItem[], ) - const CANFTMarket_CONTRACT = useContract(CANFT_MARKET, CANFTMarket_ABI as AbiItem[]) + const CANFTMarket_CONTRACT = useContract( + chainId, + CANFT_MARKET, + CANFTMarket_ABI as AbiItem[], + ) return { knownOriginDigitalAssetV2_contract: KnownOriginDigitalAssetV2_CONTRACT, diff --git a/packages/mask/src/plugins/Gitcoin/contracts/useBulkCheckoutWallet.ts b/packages/mask/src/plugins/Gitcoin/contracts/useBulkCheckoutWallet.ts index 16d844d82495..259d4a07f18f 100644 --- a/packages/mask/src/plugins/Gitcoin/contracts/useBulkCheckoutWallet.ts +++ b/packages/mask/src/plugins/Gitcoin/contracts/useBulkCheckoutWallet.ts @@ -1,9 +1,10 @@ import BulkCheckoutABI from '@masknet/web3-contracts/abis/BulkCheckout.json' import type { BulkCheckout } from '@masknet/web3-contracts/types/BulkCheckout' -import { useContract, useGitcoinConstants } from '@masknet/web3-shared-evm' +import { useChainId, useContract, useGitcoinConstants } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function useBulkCheckoutContract() { + const chainId = useChainId() const { BULK_CHECKOUT_ADDRESS } = useGitcoinConstants() - return useContract(BULK_CHECKOUT_ADDRESS, BulkCheckoutABI as AbiItem[]) + return useContract(chainId, BULK_CHECKOUT_ADDRESS, BulkCheckoutABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingContract.ts b/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingContract.ts index 98f705cb194e..fc53a64380c6 100644 --- a/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingContract.ts +++ b/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingContract.ts @@ -1,8 +1,9 @@ import type { AbiItem } from 'web3-utils' import type { GoodGhostingPolygon } from '@masknet/web3-contracts/types/GoodGhostingPolygon' import GoodGhostingPolygonABI from '@masknet/web3-contracts/abis/GoodGhostingPolygon.json' -import { useContract } from '@masknet/web3-shared-evm' +import { useChainId, useContract } from '@masknet/web3-shared-evm' export function useGoodGhostingContract(address: string) { - return useContract(address, GoodGhostingPolygonABI as AbiItem[]) + const chainId = useChainId() + return useContract(chainId, address, GoodGhostingPolygonABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingIncentivesContract.ts b/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingIncentivesContract.ts index aa8c26ee6ac6..cdd427a752d8 100644 --- a/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingIncentivesContract.ts +++ b/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingIncentivesContract.ts @@ -1,11 +1,13 @@ import type { AbiItem } from 'web3-utils' import type { GoodGhostingIncentives } from '@masknet/web3-contracts/types/GoodGhostingIncentives' import GoodGhostingIncentivesABI from '@masknet/web3-contracts/abis/GoodGhostingIncentives.json' -import { useContract, useGoodGhostingConstants } from '@masknet/web3-shared-evm' +import { useChainId, useContract, useGoodGhostingConstants } from '@masknet/web3-shared-evm' export function useGoodGhostingIncentiveContract() { + const chainId = useChainId() const { GOOD_GHOSTING_INCENTIVES_CONTRACT_ADDRESS } = useGoodGhostingConstants() return useContract( + chainId, GOOD_GHOSTING_INCENTIVES_CONTRACT_ADDRESS, GoodGhostingIncentivesABI as AbiItem[], ) diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useQualificationContract.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useQualificationContract.ts index e458e5be9e61..405718ba2660 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useQualificationContract.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useQualificationContract.ts @@ -3,12 +3,13 @@ import type { Qualification } from '@masknet/web3-contracts/types/Qualification' import type { Qualification2 } from '@masknet/web3-contracts/types/Qualification2' import QualificationABI from '@masknet/web3-contracts/abis/Qualification.json' import Qualification2ABI from '@masknet/web3-contracts/abis/Qualification2.json' -import { useContract, isSameAddress, useITOConstants } from '@masknet/web3-shared-evm' +import { useContract, isSameAddress, useITOConstants, useChainId } from '@masknet/web3-shared-evm' export function useQualificationContract(address?: string, ito_address?: string) { + const chainId = useChainId() const { ITO_CONTRACT_ADDRESS } = useITOConstants() - const QLF_CONTRACT = useContract(address, QualificationABI as AbiItem[]) - const QLF2_CONTRACT = useContract(address, Qualification2ABI as AbiItem[]) + const QLF_CONTRACT = useContract(chainId, address, QualificationABI as AbiItem[]) + const QLF2_CONTRACT = useContract(chainId, address, Qualification2ABI as AbiItem[]) return isSameAddress(ito_address, ITO_CONTRACT_ADDRESS) ? { diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useSpaceStationContract.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useSpaceStationContract.ts index 7411f79059aa..f8fd892dab93 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useSpaceStationContract.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useSpaceStationContract.ts @@ -1,9 +1,10 @@ import type { AbiItem } from 'web3-utils' import spaceStationGalaxy_ABI from '@masknet/web3-contracts/abis/SpaceStationGalaxy.json' import type { SpaceStationGalaxy } from '@masknet/web3-contracts/types/SpaceStationGalaxy' -import { useSpaceStationGalaxyConstants, useContract } from '@masknet/web3-shared-evm' +import { useSpaceStationGalaxyConstants, useContract, useChainId } from '@masknet/web3-shared-evm' export function useSpaceStationContract() { + const chainId = useChainId() const { CONTRACT_ADDRESS } = useSpaceStationGalaxyConstants() - return useContract(CONTRACT_ADDRESS, spaceStationGalaxy_ABI as AbiItem[]) + return useContract(chainId, CONTRACT_ADDRESS, spaceStationGalaxy_ABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxContract.ts b/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxContract.ts index 1c9a7c0df2a0..ab066737c835 100644 --- a/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxContract.ts +++ b/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxContract.ts @@ -1,9 +1,10 @@ import type { AbiItem } from 'web3-utils' import type { MaskBox } from '@masknet/web3-contracts/types/MaskBox' import MASK_BOX_ABI from '@masknet/web3-contracts/abis/MaskBox.json' -import { useContract, useMaskBoxConstants } from '@masknet/web3-shared-evm' +import { useChainId, useContract, useMaskBoxConstants } from '@masknet/web3-shared-evm' export function useMaskBoxContract() { + const chainId = useChainId() const { MASK_BOX_CONTRACT_ADDRESS } = useMaskBoxConstants() - return useContract(MASK_BOX_CONTRACT_ADDRESS, MASK_BOX_ABI as AbiItem[]) + return useContract(chainId, MASK_BOX_CONTRACT_ADDRESS, MASK_BOX_ABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxQualificationContract.ts b/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxQualificationContract.ts index b013cb1f3d64..f278f2c9420e 100644 --- a/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxQualificationContract.ts +++ b/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxQualificationContract.ts @@ -1,8 +1,9 @@ import type { AbiItem } from 'web3-utils' -import { useContract } from '@masknet/web3-shared-evm' +import { useChainId, useContract } from '@masknet/web3-shared-evm' import type { MaskBoxQualification } from '@masknet/web3-contracts/types/MaskBoxQualification' import MASK_BOX_QUALIFICATION_CONTRACT from '@masknet/web3-contracts/abis/MaskBoxQualification.json' export function useMaskBoxQualificationContract(address?: string) { - return useContract(address, MASK_BOX_QUALIFICATION_CONTRACT as AbiItem[]) + const chainId = useChainId() + return useContract(chainId, address, MASK_BOX_QUALIFICATION_CONTRACT as AbiItem[]) } diff --git a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts index 6cde2c00e6e0..7c3e49b2e1fe 100644 --- a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts +++ b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts @@ -1,8 +1,9 @@ import type { AbiItem } from 'web3-utils' import PoolTogetherPoolABI from '@masknet/web3-contracts/abis/PoolTogetherPool.json' import type { PoolTogetherPool } from '@masknet/web3-contracts/types/PoolTogetherPool' -import { useContract } from '@masknet/web3-shared-evm' +import { useChainId, useContract } from '@masknet/web3-shared-evm' export function usePoolTogetherPoolContract(address?: string) { - return useContract(address, PoolTogetherPoolABI as AbiItem[]) + const chainId = useChainId() + return useContract(chainid, address, PoolTogetherPoolABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useNftRedPacketContract.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useNftRedPacketContract.ts index f61aad97f449..65dfc2efc037 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useNftRedPacketContract.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useNftRedPacketContract.ts @@ -1,10 +1,11 @@ import NftRedPacketABI from '@masknet/web3-contracts/abis/NftRedPacket.json' -import { useContract, useNftRedPacketConstants } from '@masknet/web3-shared-evm' +import { useChainId, useContract, useNftRedPacketConstants } from '@masknet/web3-shared-evm' import type { NftRedPacket } from '@masknet/web3-contracts/types/NftRedPacket' import type { AbiItem } from 'web3-utils' export function useNftRedPacketContract() { + const chainId = useChainId() const { RED_PACKET_NFT_ADDRESS } = useNftRedPacketConstants() - const contract = useContract(RED_PACKET_NFT_ADDRESS, NftRedPacketABI as AbiItem[]) + const contract = useContract(chainId, RED_PACKET_NFT_ADDRESS, NftRedPacketABI as AbiItem[]) return contract } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts index 2b0039114616..ec518fa7a6ec 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts @@ -16,10 +16,10 @@ export function useRedPacketContract(version: number, chainId?: ChainId) { HAPPY_RED_PACKET_ADDRESS_V3: addressV3, HAPPY_RED_PACKET_ADDRESS_V4: addressV4, } = useRedPacketConstants(chainId) - const v1 = useContract(addressV1, HappyRedPacketV1ABI as AbiItem[], chainId) - const v2 = useContract(addressV2, HappyRedPacketV2ABI as AbiItem[], chainId) - const v3 = useContract(addressV3, HappyRedPacketV3ABI as AbiItem[], chainId) - const v4 = useContract(addressV4, HappyRedPacketV4ABI as AbiItem[], chainId) + const v1 = useContract(chainId, addressV1, HappyRedPacketV1ABI as AbiItem[]) + const v2 = useContract(chainId, addressV2, HappyRedPacketV2ABI as AbiItem[]) + const v3 = useContract(chainId, addressV3, HappyRedPacketV3ABI as AbiItem[]) + const v4 = useContract(chainId, addressV4, HappyRedPacketV4ABI as AbiItem[]) const versions = [v1, v2, v3, v4] as const return versions[version - 1] } diff --git a/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts b/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts index 0d2e707df03d..39e15c687d5c 100644 --- a/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts @@ -5,5 +5,5 @@ import { ChainId, useContract, useTraderConstants } from '@masknet/web3-shared-e export function useExchangeProxyContract(chainId?: ChainId) { const { BALANCER_EXCHANGE_PROXY_ADDRESS } = useTraderConstants(chainId) - return useContract(BALANCER_EXCHANGE_PROXY_ADDRESS, ExchangeProxyABI as AbiItem[], chainId) + return useContract(chainId, BALANCER_EXCHANGE_PROXY_ADDRESS, ExchangeProxyABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/usePairContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/usePairContract.ts index bdb977472aa1..b59156abd965 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/usePairContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/usePairContract.ts @@ -1,12 +1,14 @@ import type { AbiItem } from 'web3-utils' import type { Pair } from '@masknet/web3-contracts/types/Pair' import PairABI from '@masknet/web3-contracts/abis/Pair.json' -import { ChainId, useContract, useContracts } from '@masknet/web3-shared-evm' +import { ChainId, useChainId, useContract, useContracts } from '@masknet/web3-shared-evm' export function usePairContract(address: string, chainId?: ChainId) { - return useContract(address, PairABI as AbiItem[], chainId) + const _chainId = useChainId() + return useContract(chainId ?? _chainId, address, PairABI as AbiItem[]) } export function usePairContracts(listOfAddress: string[], chainId?: ChainId) { - return useContracts(listOfAddress, PairABI as AbiItem[], chainId) + const _chainId = useChainId() + return useContracts(chainId ?? _chainId, listOfAddress, PairABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts index 332d2e39585b..6f60874a80f9 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts @@ -1,12 +1,13 @@ import PoolStateV3ABI from '@masknet/web3-contracts/abis/PoolStateV3.json' import type { PoolStateV3 } from '@masknet/web3-contracts/types/PoolStateV3' -import { ChainId, useContract, useContracts } from '@masknet/web3-shared-evm' +import { ChainId, useChainId, useContract, useContracts } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function usePoolContract(address: string) { - return useContract(address, PoolStateV3ABI as AbiItem[]) + const chainId = useChainId() + return useContract(chainId, address, PoolStateV3ABI as AbiItem[]) } export function usePoolContracts(listOfAddress: string[], chainId?: ChainId) { - return useContracts(listOfAddress, PoolStateV3ABI as AbiItem[], chainId) + return useContracts(chainId, listOfAddress, PoolStateV3ABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts index 2ff8636ae904..caf0fdbbdbf2 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts @@ -5,5 +5,5 @@ import type { AbiItem } from 'web3-utils' export function useQuoterContract(chainId?: ChainId) { const { UNISWAP_V3_QUOTER_ADDRESS } = useTraderConstants(chainId) - return useContract(UNISWAP_V3_QUOTER_ADDRESS, QuoterABI as AbiItem[], chainId) + return useContract(chainId, UNISWAP_V3_QUOTER_ADDRESS, QuoterABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/useRouterV2Contract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/useRouterV2Contract.ts index 07580f224eef..ca24c4cfcb0b 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/useRouterV2Contract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/useRouterV2Contract.ts @@ -1,8 +1,9 @@ import type { AbiItem } from 'web3-utils' import RouterV2ABI from '@masknet/web3-contracts/abis/RouterV2.json' import type { RouterV2 } from '@masknet/web3-contracts/types/RouterV2' -import { ChainId, useContract } from '@masknet/web3-shared-evm' +import { ChainId, useChainId, useContract } from '@masknet/web3-shared-evm' export function useRouterV2Contract(address?: string, chainId?: ChainId) { - return useContract(address, RouterV2ABI as AbiItem[], chainId) + const _chainId = useChainId() + return useContract(chainId ?? _chainId, address, RouterV2ABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/useSwapRouterContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/useSwapRouterContract.ts index df9b5c1e57e2..88e9c5902d1c 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/useSwapRouterContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/useSwapRouterContract.ts @@ -1,8 +1,9 @@ import type { AbiItem } from 'web3-utils' import SwapRouterABI from '@masknet/web3-contracts/abis/SwapRouter.json' import type { SwapRouter } from '@masknet/web3-contracts/types/SwapRouter' -import { ChainId, useContract } from '@masknet/web3-shared-evm' +import { ChainId, useChainId, useContract } from '@masknet/web3-shared-evm' export function useSwapRouterContract(address?: string, chainId?: ChainId) { - return useContract(address, SwapRouterABI as AbiItem[], chainId) + const _chainId = useChainId() + return useContract(chainId ?? _chainId, address, SwapRouterABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/dHEDGE/contracts/useDHedgePool.ts b/packages/mask/src/plugins/dHEDGE/contracts/useDHedgePool.ts index 31e19082b969..dc9ba54abd23 100644 --- a/packages/mask/src/plugins/dHEDGE/contracts/useDHedgePool.ts +++ b/packages/mask/src/plugins/dHEDGE/contracts/useDHedgePool.ts @@ -5,16 +5,19 @@ import DHedgePoolManagerABI from '@masknet/web3-contracts/abis/DHedgePoolManager import type { DHedgePoolV1 } from '@masknet/web3-contracts/types/DHedgePoolV1' import type { DHedgePoolV2 } from '@masknet/web3-contracts/types/DHedgePoolV2' import type { DHedgePoolManager } from '@masknet/web3-contracts/types/DHedgePoolManager' -import { useContract } from '@masknet/web3-shared-evm' +import { useChainId, useContract } from '@masknet/web3-shared-evm' export function useDHedgePoolV1Contract(address?: string) { - return useContract(address, DHedgePoolV1ABI as AbiItem[]) + const chainId = useChainId() + return useContract(chainId, address, DHedgePoolV1ABI as AbiItem[]) } export function useDHedgePoolV2Contract(address?: string) { - return useContract(address, DHedgePoolV2ABI as AbiItem[]) + const chainId = useChainId() + return useContract(chainId, address, DHedgePoolV2ABI as AbiItem[]) } export function useDHedgePoolManagerContract(address?: string) { - return useContract(address, DHedgePoolManagerABI as AbiItem[]) + const chainId = useChainId() + return useContract(chainId, address, DHedgePoolManagerABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useBalanceChecker.ts b/packages/web3-shared/evm/contracts/useBalanceChecker.ts index 1429800c8caf..e07a48e9d7af 100644 --- a/packages/web3-shared/evm/contracts/useBalanceChecker.ts +++ b/packages/web3-shared/evm/contracts/useBalanceChecker.ts @@ -2,10 +2,12 @@ import BalanceCheckerABI from '@masknet/web3-contracts/abis/BalanceChecker.json' import type { BalanceChecker } from '@masknet/web3-contracts/types/BalanceChecker' import type { AbiItem } from 'web3-utils' import { useEthereumConstants } from '../constants' +import { useChainId } from '../hooks' import { useContract } from '../hooks/useContract' import type { ChainId } from '../types' export function useBalanceCheckerContract(chainId?: ChainId) { + const _chainId = useChainId() const { BALANCE_CHECKER_ADDRESS } = useEthereumConstants(chainId) - return useContract(BALANCE_CHECKER_ADDRESS, BalanceCheckerABI as AbiItem[]) + return useContract(chainId ?? _chainId, BALANCE_CHECKER_ADDRESS, BalanceCheckerABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useERC1155TokenContract.ts b/packages/web3-shared/evm/contracts/useERC1155TokenContract.ts index a4b9512b8507..ad59feed0e68 100644 --- a/packages/web3-shared/evm/contracts/useERC1155TokenContract.ts +++ b/packages/web3-shared/evm/contracts/useERC1155TokenContract.ts @@ -1,7 +1,8 @@ import ERC1155 from '@masknet/web3-contracts/abis/ERC1155.json' import type { AbiItem } from 'web3-utils' -import { useContract } from '../hooks' +import { useChainId, useContract } from '../hooks' export function useERC1155TokenContract(address: string) { - return useContract(address, ERC1155 as AbiItem[]) + const chainId = useChainId() + return useContract(chainId, address, ERC1155 as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useERC20TokenBytes32Contract.ts b/packages/web3-shared/evm/contracts/useERC20TokenBytes32Contract.ts index 5e96dc008c42..a10683ba6d5d 100644 --- a/packages/web3-shared/evm/contracts/useERC20TokenBytes32Contract.ts +++ b/packages/web3-shared/evm/contracts/useERC20TokenBytes32Contract.ts @@ -1,13 +1,16 @@ import ERC20Bytes32ABI from '@masknet/web3-contracts/abis/ERC20Bytes32.json' import type { ERC20Bytes32 } from '@masknet/web3-contracts/types/ERC20Bytes32' import type { AbiItem } from 'web3-utils' +import { useChainId } from '../hooks' import { useContract, useContracts } from '../hooks/useContract' import type { ChainId } from '../types' export function useERC20TokenBytes32Contract(address?: string, chainId?: ChainId) { - return useContract(address, ERC20Bytes32ABI as AbiItem[], chainId) + const _chainId = useChainId() + return useContract(chainId ?? _chainId, address, ERC20Bytes32ABI as AbiItem[]) } export function useERC20TokenBytes32Contracts(listOfAddress: string[], chainId?: ChainId) { - return useContracts(listOfAddress, ERC20Bytes32ABI as AbiItem[], chainId) + const _chainId = useChainId() + return useContracts(chainId ?? _chainId, listOfAddress, ERC20Bytes32ABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useERC20TokenContract.ts b/packages/web3-shared/evm/contracts/useERC20TokenContract.ts index 34de6bd91550..2d3286fde286 100644 --- a/packages/web3-shared/evm/contracts/useERC20TokenContract.ts +++ b/packages/web3-shared/evm/contracts/useERC20TokenContract.ts @@ -3,11 +3,14 @@ import ERC20ABI from '@masknet/web3-contracts/abis/ERC20.json' import type { ERC20 } from '@masknet/web3-contracts/types/ERC20' import { useContract, useContracts } from '../hooks/useContract' import type { ChainId } from '../types' +import { useChainId } from '../hooks' export function useERC20TokenContract(address?: string, chainId?: ChainId) { - return useContract(address, ERC20ABI as AbiItem[], chainId) + const _chainId = useChainId() + return useContract(chainId ?? _chainId, address, ERC20ABI as AbiItem[]) } export function useERC20TokenContracts(listOfAddress: string[], chainId?: ChainId) { - return useContracts(listOfAddress, ERC20ABI as AbiItem[], chainId) + const _chainId = useChainId() + return useContracts(chainId ?? _chainId, listOfAddress, ERC20ABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useERC721TokenContract.ts b/packages/web3-shared/evm/contracts/useERC721TokenContract.ts index 49e4e3d2c548..56d849a64a7f 100644 --- a/packages/web3-shared/evm/contracts/useERC721TokenContract.ts +++ b/packages/web3-shared/evm/contracts/useERC721TokenContract.ts @@ -2,7 +2,9 @@ import type { AbiItem } from 'web3-utils' import ERC721ABI from '@masknet/web3-contracts/abis/ERC721.json' import type { ERC721 } from '@masknet/web3-contracts/types/ERC721' import { useContract } from '../hooks/useContract' +import { useChainId } from '../hooks' export function useERC721TokenContract(address?: string) { - return useContract(address, ERC721ABI as AbiItem[]) + const chainId = useChainId() + return useContract(chainId, address, ERC721ABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useERC721TokenContracts.ts b/packages/web3-shared/evm/contracts/useERC721TokenContracts.ts index 3a7190214ea1..1ea507c31a6e 100644 --- a/packages/web3-shared/evm/contracts/useERC721TokenContracts.ts +++ b/packages/web3-shared/evm/contracts/useERC721TokenContracts.ts @@ -1,8 +1,10 @@ import ERC721ABI from '@masknet/web3-contracts/abis/ERC721.json' import type { ERC721 } from '@masknet/web3-contracts/types/ERC721' import type { AbiItem } from 'web3-utils' +import { useChainId } from '../hooks' import { useContracts } from '../hooks/useContract' export function useERC721TokenContracts(listOfAddress: string[]) { - return useContracts(listOfAddress, ERC721ABI as AbiItem[]) + const chainId = useChainId() + return useContracts(chainId, listOfAddress, ERC721ABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useMulticallContract.ts b/packages/web3-shared/evm/contracts/useMulticallContract.ts index 47b20e9aa883..b371e7281a3b 100644 --- a/packages/web3-shared/evm/contracts/useMulticallContract.ts +++ b/packages/web3-shared/evm/contracts/useMulticallContract.ts @@ -2,10 +2,12 @@ import MulticallABI from '@masknet/web3-contracts/abis/Multicall.json' import type { Multicall } from '@masknet/web3-contracts/types/Multicall' import type { AbiItem } from 'web3-utils' import { useEthereumConstants } from '../constants' +import { useChainId } from '../hooks' import { useContract } from '../hooks/useContract' import type { ChainId } from '../types' export function useMulticallContract(chainId?: ChainId) { + const _chainId = useChainId() const { MULTICALL_ADDRESS } = useEthereumConstants(chainId) - return useContract(MULTICALL_ADDRESS, MulticallABI as AbiItem[]) + return useContract(chainId ?? _chainId, MULTICALL_ADDRESS, MulticallABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useReverseLookupContract.ts b/packages/web3-shared/evm/contracts/useReverseLookupContract.ts index cf01f064b96e..8260a86d80ad 100644 --- a/packages/web3-shared/evm/contracts/useReverseLookupContract.ts +++ b/packages/web3-shared/evm/contracts/useReverseLookupContract.ts @@ -4,8 +4,10 @@ import type { AbiItem } from 'web3-utils' import { ChainId } from '../types' import { useContract } from '../hooks/useContract' import { useEthereumConstants } from '../constants' +import { useChainId } from '../hooks' export function useReverseRecordsContract() { + const chainId = useChainId() const { ENS_REVERSE_RECORDS_ADDRESS } = useEthereumConstants(ChainId.Mainnet) - return useContract(ENS_REVERSE_RECORDS_ADDRESS, ReverseRecordsABI as AbiItem[]) + return useContract(chainId, ENS_REVERSE_RECORDS_ADDRESS, ReverseRecordsABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useWrappedEtherContract.ts b/packages/web3-shared/evm/contracts/useWrappedEtherContract.ts index 65fee1ab9e59..636d872e856c 100644 --- a/packages/web3-shared/evm/contracts/useWrappedEtherContract.ts +++ b/packages/web3-shared/evm/contracts/useWrappedEtherContract.ts @@ -2,10 +2,12 @@ import WETH_ABI from '@masknet/web3-contracts/abis/WETH.json' import type { WETH } from '@masknet/web3-contracts/types/WETH' import type { AbiItem } from 'web3-utils' import { useTokenConstants } from '../constants' +import { useChainId } from '../hooks' import { useContract } from '../hooks/useContract' import type { ChainId } from '../types' export function useNativeTokenWrapperContract(chainId?: ChainId) { + const _chainId = useChainId() const { WNATIVE_ADDRESS } = useTokenConstants(chainId) - return useContract(WNATIVE_ADDRESS, WETH_ABI as AbiItem[]) + return useContract(chainId ?? _chainId, WNATIVE_ADDRESS, WETH_ABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/hooks/useContract.ts b/packages/web3-shared/evm/hooks/useContract.ts index 6fa0ced8fc55..d4740702ce5b 100644 --- a/packages/web3-shared/evm/hooks/useContract.ts +++ b/packages/web3-shared/evm/hooks/useContract.ts @@ -21,7 +21,7 @@ export function createContract(web3: Web3, address: stri * @param ABI * @param chainId */ -export function useContract(address = '', ABI: AbiItem[] = [], chainId?: ChainId) { +export function useContract(chainId: ChainId, address = '', ABI: AbiItem[] = []) { const web3 = useWeb3(chainId ? { chainId } : {}) return useMemo(() => createContract(web3, address, ABI), [web3, address, ABI]) } @@ -32,7 +32,7 @@ export function useContract(address = '', ABI: AbiItem[] * @param ABI * @param chainId */ -export function useContracts(listOfAddress: string[], ABI: AbiItem[] = [], chainId?: ChainId) { +export function useContracts(chainId: ChainId, listOfAddress: string[], ABI: AbiItem[] = []) { const web3 = useWeb3(chainId ? { chainId } : {}) const contracts = useMemo( () => listOfAddress.map((address) => createContract(web3, address, ABI)), From 3bbd444e2cb756e1db2d4c49f2d0da055703d866 Mon Sep 17 00:00:00 2001 From: lelenei Date: Wed, 18 May 2022 00:32:02 +0800 Subject: [PATCH 77/80] fix: typo --- .../src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts index 7c3e49b2e1fe..5a05aebf4f98 100644 --- a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts +++ b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts @@ -5,5 +5,5 @@ import { useChainId, useContract } from '@masknet/web3-shared-evm' export function usePoolTogetherPoolContract(address?: string) { const chainId = useChainId() - return useContract(chainid, address, PoolTogetherPoolABI as AbiItem[]) + return useContract(chainId, address, PoolTogetherPoolABI as AbiItem[]) } From 15c0bd132630ea3974b8338c4c7a5cd42d15248f Mon Sep 17 00:00:00 2001 From: lelenei Date: Wed, 18 May 2022 00:34:42 +0800 Subject: [PATCH 78/80] fix: reply review --- .../src/plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts | 7 ++++--- .../plugins/ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts index 6abb4d1575cf..08bce553c927 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts @@ -3,12 +3,13 @@ import ITO_ABI from '@masknet/web3-contracts/abis/ITO.json' import ITO2_ABI from '@masknet/web3-contracts/abis/ITO2.json' import type { ITO } from '@masknet/web3-contracts/types/ITO' import type { ITO2 } from '@masknet/web3-contracts/types/ITO2' -import { useITOConstants, useContract, isSameAddress } from '@masknet/web3-shared-evm' +import { useITOConstants, useContract, isSameAddress, useChainId } from '@masknet/web3-shared-evm' export function useITO_Contract(contractAddress?: string) { + const chainId = useChainId() const { ITO_CONTRACT_ADDRESS, ITO2_CONTRACT_ADDRESS } = useITOConstants() - const ITO_CONTRACT = useContract(ITO_CONTRACT_ADDRESS, ITO_ABI as AbiItem[]) - const ITO2_CONTRACT = useContract(ITO2_CONTRACT_ADDRESS, ITO2_ABI as AbiItem[]) + const ITO_CONTRACT = useContract(chainId, ITO_CONTRACT_ADDRESS, ITO_ABI as AbiItem[]) + const ITO2_CONTRACT = useContract(chainId, ITO2_CONTRACT_ADDRESS, ITO2_ABI as AbiItem[]) return contractAddress && isSameAddress(contractAddress, ITO_CONTRACT_ADDRESS) ? { contract: ITO_CONTRACT, version: 1 } diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts index 602c92ba639e..fafd9a45d916 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts @@ -1,9 +1,10 @@ import MaskITO_ABI from '@masknet/web3-contracts/abis/MaskITO.json' import type { MaskITO } from '@masknet/web3-contracts/types/MaskITO' -import { useContract, useITOConstants } from '@masknet/web3-shared-evm' +import { useChainId, useContract, useITOConstants } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function useMaskITO_Contract() { + const chainId = useChainId() const { MASK_ITO_CONTRACT_ADDRESS } = useITOConstants() - return useContract(MASK_ITO_CONTRACT_ADDRESS, MaskITO_ABI as AbiItem[]) + return useContract(chainId, MASK_ITO_CONTRACT_ADDRESS, MaskITO_ABI as AbiItem[]) } From 36e46a8ef77ce714e5f8b6dec519a8eea7017bc9 Mon Sep 17 00:00:00 2001 From: lelenei Date: Wed, 18 May 2022 00:49:53 +0800 Subject: [PATCH 79/80] fix: reply review --- packages/mask/src/plugins/PoolTogether/base.tsx | 2 +- .../PoolTogether/contracts/usePoolTogetherTicket.ts | 5 +++-- .../SNSAdaptor/hooks/useRedPacketContract.ts | 11 ++++++----- .../contracts/balancer/useExchangeProxyContract.ts | 9 +++++++-- .../Trader/contracts/uniswap/usePoolContract.ts | 3 ++- .../Trader/contracts/uniswap/useQuoterContract.ts | 5 +++-- packages/mask/src/plugins/dHEDGE/base.tsx | 2 +- packages/plugins/CyberConnect/src/base.tsx | 2 +- 8 files changed, 24 insertions(+), 15 deletions(-) diff --git a/packages/mask/src/plugins/PoolTogether/base.tsx b/packages/mask/src/plugins/PoolTogether/base.tsx index 54347f8623cb..948c07d5d994 100644 --- a/packages/mask/src/plugins/PoolTogether/base.tsx +++ b/packages/mask/src/plugins/PoolTogether/base.tsx @@ -5,7 +5,7 @@ export const base: Plugin.Shared.Definition = { ID: POOLTOGETHER_PLUGIN_ID, name: { fallback: 'Pooltogether' }, description: { fallback: 'PoolTogether is a protocol for no-loss prize games on the Ethereum blockchain' }, - publisher: { name: { fallback: 'Mask Network' }, link: 'https://mask.io/' }, + publisher: { name: { fallback: 'iRhonin' }, link: 'https://github.com/iRhonin' }, enableRequirement: { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, diff --git a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherTicket.ts b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherTicket.ts index ebfd8b217d2c..ff251806b163 100644 --- a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherTicket.ts +++ b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherTicket.ts @@ -1,8 +1,9 @@ import type { AbiItem } from 'web3-utils' import PoolTogetherTicketABI from '@masknet/web3-contracts/abis/PoolTogetherTicket.json' import type { PoolTogetherTicket } from '@masknet/web3-contracts/types/PoolTogetherTicket' -import { useContracts } from '@masknet/web3-shared-evm' +import { useChainId, useContracts } from '@masknet/web3-shared-evm' export function usePoolTogetherTicketContracts(addresses: string[]) { - return useContracts(addresses, PoolTogetherTicketABI as AbiItem[]) + const chainId = useChainId() + return useContracts(chainId, addresses, PoolTogetherTicketABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts index ec518fa7a6ec..af78d6f5e6b8 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts @@ -6,20 +6,21 @@ import type { HappyRedPacketV1 } from '@masknet/web3-contracts/types/HappyRedPac import type { HappyRedPacketV2 } from '@masknet/web3-contracts/types/HappyRedPacketV2' import type { HappyRedPacketV3 } from '@masknet/web3-contracts/types/HappyRedPacketV3' import type { HappyRedPacketV4 } from '@masknet/web3-contracts/types/HappyRedPacketV4' -import { useContract, useRedPacketConstants, ChainId } from '@masknet/web3-shared-evm' +import { useContract, useRedPacketConstants, ChainId, useChainId } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function useRedPacketContract(version: number, chainId?: ChainId) { + const _chainId = useChainId() const { HAPPY_RED_PACKET_ADDRESS_V1: addressV1, HAPPY_RED_PACKET_ADDRESS_V2: addressV2, HAPPY_RED_PACKET_ADDRESS_V3: addressV3, HAPPY_RED_PACKET_ADDRESS_V4: addressV4, } = useRedPacketConstants(chainId) - const v1 = useContract(chainId, addressV1, HappyRedPacketV1ABI as AbiItem[]) - const v2 = useContract(chainId, addressV2, HappyRedPacketV2ABI as AbiItem[]) - const v3 = useContract(chainId, addressV3, HappyRedPacketV3ABI as AbiItem[]) - const v4 = useContract(chainId, addressV4, HappyRedPacketV4ABI as AbiItem[]) + const v1 = useContract(chainId ?? _chainId, addressV1, HappyRedPacketV1ABI as AbiItem[]) + const v2 = useContract(chainId ?? _chainId, addressV2, HappyRedPacketV2ABI as AbiItem[]) + const v3 = useContract(chainId ?? _chainId, addressV3, HappyRedPacketV3ABI as AbiItem[]) + const v4 = useContract(chainId ?? _chainId, addressV4, HappyRedPacketV4ABI as AbiItem[]) const versions = [v1, v2, v3, v4] as const return versions[version - 1] } diff --git a/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts b/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts index 39e15c687d5c..e6aea7e0eb80 100644 --- a/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts @@ -1,9 +1,14 @@ import type { AbiItem } from 'web3-utils' import ExchangeProxyABI from '@masknet/web3-contracts/abis/ExchangeProxy.json' import type { ExchangeProxy } from '@masknet/web3-contracts/types/ExchangeProxy' -import { ChainId, useContract, useTraderConstants } from '@masknet/web3-shared-evm' +import { ChainId, useChainId, useContract, useTraderConstants } from '@masknet/web3-shared-evm' export function useExchangeProxyContract(chainId?: ChainId) { + const _chainId = useChainId() const { BALANCER_EXCHANGE_PROXY_ADDRESS } = useTraderConstants(chainId) - return useContract(chainId, BALANCER_EXCHANGE_PROXY_ADDRESS, ExchangeProxyABI as AbiItem[]) + return useContract( + chainId ?? _chainId, + BALANCER_EXCHANGE_PROXY_ADDRESS, + ExchangeProxyABI as AbiItem[], + ) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts index 6f60874a80f9..bbb9b455aa6a 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts @@ -9,5 +9,6 @@ export function usePoolContract(address: string) { } export function usePoolContracts(listOfAddress: string[], chainId?: ChainId) { - return useContracts(chainId, listOfAddress, PoolStateV3ABI as AbiItem[]) + const _chainId = useChainId() + return useContracts(chainId ?? _chainId, listOfAddress, PoolStateV3ABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts index caf0fdbbdbf2..6c7ef00e012f 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts @@ -1,9 +1,10 @@ import QuoterABI from '@masknet/web3-contracts/abis/Quoter.json' import type { Quoter } from '@masknet/web3-contracts/types/Quoter' -import { ChainId, useContract, useTraderConstants } from '@masknet/web3-shared-evm' +import { ChainId, useChainId, useContract, useTraderConstants } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function useQuoterContract(chainId?: ChainId) { + const _chainId = useChainId() const { UNISWAP_V3_QUOTER_ADDRESS } = useTraderConstants(chainId) - return useContract(chainId, UNISWAP_V3_QUOTER_ADDRESS, QuoterABI as AbiItem[]) + return useContract(chainId ?? _chainId, UNISWAP_V3_QUOTER_ADDRESS, QuoterABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/dHEDGE/base.tsx b/packages/mask/src/plugins/dHEDGE/base.tsx index 02840bce32ae..bae18a0d05d5 100644 --- a/packages/mask/src/plugins/dHEDGE/base.tsx +++ b/packages/mask/src/plugins/dHEDGE/base.tsx @@ -5,7 +5,7 @@ export const base: Plugin.Shared.Definition = { ID: DHEDGE_PLUGIN_ID, name: { fallback: 'dHEDGE' }, description: { fallback: 'Decentralized hedge funds on Ethereum.' }, - publisher: { name: { fallback: 'ArtBlocks' }, link: 'https://www.artblocks.io/' }, + publisher: { name: { fallback: 'iRhonin' }, link: 'https://github.com/iRhonin' }, enableRequirement: { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, diff --git a/packages/plugins/CyberConnect/src/base.tsx b/packages/plugins/CyberConnect/src/base.tsx index bb018467ee70..83a0be124b1d 100644 --- a/packages/plugins/CyberConnect/src/base.tsx +++ b/packages/plugins/CyberConnect/src/base.tsx @@ -7,7 +7,7 @@ export const base: Plugin.Shared.Definition = { description: { fallback: 'A plugin for https://cyberconnect.me/', }, - publisher: { name: { fallback: 'ArtBlocks' }, link: 'https://www.artblocks.io/' }, + publisher: { name: { fallback: 'CyberConnect' }, link: 'https://github.com/cyberconnecthq' }, enableRequirement: { architecture: { app: false, web: true }, networks: { type: 'opt-out', networks: {} }, From 076c87f14a96ae1990691008d25b1295cf88aa5c Mon Sep 17 00:00:00 2001 From: lelenei Date: Wed, 18 May 2022 01:09:37 +0800 Subject: [PATCH 80/80] fix: revert code --- .../plugins/ArtBlocks/hooks/useArtBlocksContract.ts | 4 +--- .../CryptoartAI/hooks/useCryptoArtAI_Contract.ts | 11 ++--------- .../Gitcoin/contracts/useBulkCheckoutWallet.ts | 5 ++--- .../GoodGhosting/contracts/useGoodGhostingContract.ts | 5 ++--- .../contracts/useGoodGhostingIncentivesContract.ts | 4 +--- .../plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts | 7 +++---- .../ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts | 5 ++--- .../ITO/SNSAdaptor/hooks/useQualificationContract.ts | 7 +++---- .../ITO/SNSAdaptor/hooks/useSpaceStationContract.ts | 5 ++--- .../src/plugins/MaskBox/hooks/useMaskBoxContract.ts | 5 ++--- .../MaskBox/hooks/useMaskBoxQualificationContract.ts | 5 ++--- .../PoolTogether/contracts/usePoolTogetherPool.ts | 5 ++--- .../PoolTogether/contracts/usePoolTogetherTicket.ts | 5 ++--- .../SNSAdaptor/hooks/useNftRedPacketContract.ts | 5 ++--- .../SNSAdaptor/hooks/useRedPacketContract.ts | 11 +++++------ .../contracts/balancer/useExchangeProxyContract.ts | 9 ++------- .../Trader/contracts/uniswap/usePairContract.ts | 8 +++----- .../Trader/contracts/uniswap/usePoolContract.ts | 8 +++----- .../Trader/contracts/uniswap/useQuoterContract.ts | 5 ++--- .../Trader/contracts/uniswap/useRouterV2Contract.ts | 5 ++--- .../Trader/contracts/uniswap/useSwapRouterContract.ts | 5 ++--- .../src/plugins/dHEDGE/contracts/useDHedgePool.ts | 11 ++++------- .../web3-shared/evm/contracts/useBalanceChecker.ts | 4 +--- .../evm/contracts/useERC1155TokenContract.ts | 5 ++--- .../evm/contracts/useERC20TokenBytes32Contract.ts | 7 ++----- .../evm/contracts/useERC20TokenContract.ts | 7 ++----- .../evm/contracts/useERC721TokenContract.ts | 4 +--- .../evm/contracts/useERC721TokenContracts.ts | 4 +--- .../web3-shared/evm/contracts/useMulticallContract.ts | 4 +--- .../evm/contracts/useReverseLookupContract.ts | 4 +--- .../evm/contracts/useWrappedEtherContract.ts | 4 +--- packages/web3-shared/evm/hooks/useContract.ts | 4 ++-- 32 files changed, 65 insertions(+), 122 deletions(-) diff --git a/packages/mask/src/plugins/ArtBlocks/hooks/useArtBlocksContract.ts b/packages/mask/src/plugins/ArtBlocks/hooks/useArtBlocksContract.ts index 768c8b0c356b..3f75f28411fa 100644 --- a/packages/mask/src/plugins/ArtBlocks/hooks/useArtBlocksContract.ts +++ b/packages/mask/src/plugins/ArtBlocks/hooks/useArtBlocksContract.ts @@ -1,14 +1,12 @@ import type { AbiItem } from 'web3-utils' -import { useContract, useArtBlocksConstants, useChainId } from '@masknet/web3-shared-evm' +import { useContract, useArtBlocksConstants } from '@masknet/web3-shared-evm' import ArtBlocksCoreContractABI from '@masknet/web3-contracts/abis/ArtBlocksMinterContract.json' import type { ArtBlocksMinterContract } from '@masknet/web3-contracts/types/ArtBlocksMinterContract' export function useArtBlocksContract() { - const chainId = useChainId() const { GEN_ART_721_MINTER } = useArtBlocksConstants() const genArt721MinterContract = useContract( - chainId, GEN_ART_721_MINTER, ArtBlocksCoreContractABI as AbiItem[], ) diff --git a/packages/mask/src/plugins/CryptoartAI/hooks/useCryptoArtAI_Contract.ts b/packages/mask/src/plugins/CryptoartAI/hooks/useCryptoArtAI_Contract.ts index f388810e2d8c..7bff90145df4 100644 --- a/packages/mask/src/plugins/CryptoartAI/hooks/useCryptoArtAI_Contract.ts +++ b/packages/mask/src/plugins/CryptoartAI/hooks/useCryptoArtAI_Contract.ts @@ -5,26 +5,19 @@ import CANFTMarket_ABI from '@masknet/web3-contracts/abis/CryptoArtAICANFTMarket import type { CryptoArtAIKnownOriginDigitalAssetV2 } from '@masknet/web3-contracts/types/CryptoArtAIKnownOriginDigitalAssetV2' import type { CryptoArtAIArtistAcceptingBidsV2 } from '@masknet/web3-contracts/types/CryptoArtAIArtistAcceptingBidsV2' import type { CryptoArtAICANFTMarket } from '@masknet/web3-contracts/types/CryptoArtAICANFTMarket' -import { useChainId, useContract, useCryptoArtAIConstants } from '@masknet/web3-shared-evm' +import { useContract, useCryptoArtAIConstants } from '@masknet/web3-shared-evm' export function useCryptoArtAI_Contract() { - const chainId = useChainId() const { KNOWN_ORIGIN_DIGITAL_ASSET_V2, ARTIST_ACCEPTING_BIDS_V2, CANFT_MARKET } = useCryptoArtAIConstants() const KnownOriginDigitalAssetV2_CONTRACT = useContract( - chainId, KNOWN_ORIGIN_DIGITAL_ASSET_V2, KnownOriginDigitalAssetV2_ABI as AbiItem[], ) const ArtistAcceptingBidsV2_CONTRACT = useContract( - chainId, ARTIST_ACCEPTING_BIDS_V2, ArtistAcceptingBidsV2_ABI as AbiItem[], ) - const CANFTMarket_CONTRACT = useContract( - chainId, - CANFT_MARKET, - CANFTMarket_ABI as AbiItem[], - ) + const CANFTMarket_CONTRACT = useContract(CANFT_MARKET, CANFTMarket_ABI as AbiItem[]) return { knownOriginDigitalAssetV2_contract: KnownOriginDigitalAssetV2_CONTRACT, diff --git a/packages/mask/src/plugins/Gitcoin/contracts/useBulkCheckoutWallet.ts b/packages/mask/src/plugins/Gitcoin/contracts/useBulkCheckoutWallet.ts index 259d4a07f18f..16d844d82495 100644 --- a/packages/mask/src/plugins/Gitcoin/contracts/useBulkCheckoutWallet.ts +++ b/packages/mask/src/plugins/Gitcoin/contracts/useBulkCheckoutWallet.ts @@ -1,10 +1,9 @@ import BulkCheckoutABI from '@masknet/web3-contracts/abis/BulkCheckout.json' import type { BulkCheckout } from '@masknet/web3-contracts/types/BulkCheckout' -import { useChainId, useContract, useGitcoinConstants } from '@masknet/web3-shared-evm' +import { useContract, useGitcoinConstants } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function useBulkCheckoutContract() { - const chainId = useChainId() const { BULK_CHECKOUT_ADDRESS } = useGitcoinConstants() - return useContract(chainId, BULK_CHECKOUT_ADDRESS, BulkCheckoutABI as AbiItem[]) + return useContract(BULK_CHECKOUT_ADDRESS, BulkCheckoutABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingContract.ts b/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingContract.ts index fc53a64380c6..98f705cb194e 100644 --- a/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingContract.ts +++ b/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingContract.ts @@ -1,9 +1,8 @@ import type { AbiItem } from 'web3-utils' import type { GoodGhostingPolygon } from '@masknet/web3-contracts/types/GoodGhostingPolygon' import GoodGhostingPolygonABI from '@masknet/web3-contracts/abis/GoodGhostingPolygon.json' -import { useChainId, useContract } from '@masknet/web3-shared-evm' +import { useContract } from '@masknet/web3-shared-evm' export function useGoodGhostingContract(address: string) { - const chainId = useChainId() - return useContract(chainId, address, GoodGhostingPolygonABI as AbiItem[]) + return useContract(address, GoodGhostingPolygonABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingIncentivesContract.ts b/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingIncentivesContract.ts index cdd427a752d8..aa8c26ee6ac6 100644 --- a/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingIncentivesContract.ts +++ b/packages/mask/src/plugins/GoodGhosting/contracts/useGoodGhostingIncentivesContract.ts @@ -1,13 +1,11 @@ import type { AbiItem } from 'web3-utils' import type { GoodGhostingIncentives } from '@masknet/web3-contracts/types/GoodGhostingIncentives' import GoodGhostingIncentivesABI from '@masknet/web3-contracts/abis/GoodGhostingIncentives.json' -import { useChainId, useContract, useGoodGhostingConstants } from '@masknet/web3-shared-evm' +import { useContract, useGoodGhostingConstants } from '@masknet/web3-shared-evm' export function useGoodGhostingIncentiveContract() { - const chainId = useChainId() const { GOOD_GHOSTING_INCENTIVES_CONTRACT_ADDRESS } = useGoodGhostingConstants() return useContract( - chainId, GOOD_GHOSTING_INCENTIVES_CONTRACT_ADDRESS, GoodGhostingIncentivesABI as AbiItem[], ) diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts index 08bce553c927..6abb4d1575cf 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useITO_Contract.ts @@ -3,13 +3,12 @@ import ITO_ABI from '@masknet/web3-contracts/abis/ITO.json' import ITO2_ABI from '@masknet/web3-contracts/abis/ITO2.json' import type { ITO } from '@masknet/web3-contracts/types/ITO' import type { ITO2 } from '@masknet/web3-contracts/types/ITO2' -import { useITOConstants, useContract, isSameAddress, useChainId } from '@masknet/web3-shared-evm' +import { useITOConstants, useContract, isSameAddress } from '@masknet/web3-shared-evm' export function useITO_Contract(contractAddress?: string) { - const chainId = useChainId() const { ITO_CONTRACT_ADDRESS, ITO2_CONTRACT_ADDRESS } = useITOConstants() - const ITO_CONTRACT = useContract(chainId, ITO_CONTRACT_ADDRESS, ITO_ABI as AbiItem[]) - const ITO2_CONTRACT = useContract(chainId, ITO2_CONTRACT_ADDRESS, ITO2_ABI as AbiItem[]) + const ITO_CONTRACT = useContract(ITO_CONTRACT_ADDRESS, ITO_ABI as AbiItem[]) + const ITO2_CONTRACT = useContract(ITO2_CONTRACT_ADDRESS, ITO2_ABI as AbiItem[]) return contractAddress && isSameAddress(contractAddress, ITO_CONTRACT_ADDRESS) ? { contract: ITO_CONTRACT, version: 1 } diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts index fafd9a45d916..602c92ba639e 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useMaskITO_Contract.ts @@ -1,10 +1,9 @@ import MaskITO_ABI from '@masknet/web3-contracts/abis/MaskITO.json' import type { MaskITO } from '@masknet/web3-contracts/types/MaskITO' -import { useChainId, useContract, useITOConstants } from '@masknet/web3-shared-evm' +import { useContract, useITOConstants } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function useMaskITO_Contract() { - const chainId = useChainId() const { MASK_ITO_CONTRACT_ADDRESS } = useITOConstants() - return useContract(chainId, MASK_ITO_CONTRACT_ADDRESS, MaskITO_ABI as AbiItem[]) + return useContract(MASK_ITO_CONTRACT_ADDRESS, MaskITO_ABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useQualificationContract.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useQualificationContract.ts index 405718ba2660..e458e5be9e61 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useQualificationContract.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useQualificationContract.ts @@ -3,13 +3,12 @@ import type { Qualification } from '@masknet/web3-contracts/types/Qualification' import type { Qualification2 } from '@masknet/web3-contracts/types/Qualification2' import QualificationABI from '@masknet/web3-contracts/abis/Qualification.json' import Qualification2ABI from '@masknet/web3-contracts/abis/Qualification2.json' -import { useContract, isSameAddress, useITOConstants, useChainId } from '@masknet/web3-shared-evm' +import { useContract, isSameAddress, useITOConstants } from '@masknet/web3-shared-evm' export function useQualificationContract(address?: string, ito_address?: string) { - const chainId = useChainId() const { ITO_CONTRACT_ADDRESS } = useITOConstants() - const QLF_CONTRACT = useContract(chainId, address, QualificationABI as AbiItem[]) - const QLF2_CONTRACT = useContract(chainId, address, Qualification2ABI as AbiItem[]) + const QLF_CONTRACT = useContract(address, QualificationABI as AbiItem[]) + const QLF2_CONTRACT = useContract(address, Qualification2ABI as AbiItem[]) return isSameAddress(ito_address, ITO_CONTRACT_ADDRESS) ? { diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useSpaceStationContract.ts b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useSpaceStationContract.ts index f8fd892dab93..7411f79059aa 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useSpaceStationContract.ts +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/hooks/useSpaceStationContract.ts @@ -1,10 +1,9 @@ import type { AbiItem } from 'web3-utils' import spaceStationGalaxy_ABI from '@masknet/web3-contracts/abis/SpaceStationGalaxy.json' import type { SpaceStationGalaxy } from '@masknet/web3-contracts/types/SpaceStationGalaxy' -import { useSpaceStationGalaxyConstants, useContract, useChainId } from '@masknet/web3-shared-evm' +import { useSpaceStationGalaxyConstants, useContract } from '@masknet/web3-shared-evm' export function useSpaceStationContract() { - const chainId = useChainId() const { CONTRACT_ADDRESS } = useSpaceStationGalaxyConstants() - return useContract(chainId, CONTRACT_ADDRESS, spaceStationGalaxy_ABI as AbiItem[]) + return useContract(CONTRACT_ADDRESS, spaceStationGalaxy_ABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxContract.ts b/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxContract.ts index ab066737c835..1c9a7c0df2a0 100644 --- a/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxContract.ts +++ b/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxContract.ts @@ -1,10 +1,9 @@ import type { AbiItem } from 'web3-utils' import type { MaskBox } from '@masknet/web3-contracts/types/MaskBox' import MASK_BOX_ABI from '@masknet/web3-contracts/abis/MaskBox.json' -import { useChainId, useContract, useMaskBoxConstants } from '@masknet/web3-shared-evm' +import { useContract, useMaskBoxConstants } from '@masknet/web3-shared-evm' export function useMaskBoxContract() { - const chainId = useChainId() const { MASK_BOX_CONTRACT_ADDRESS } = useMaskBoxConstants() - return useContract(chainId, MASK_BOX_CONTRACT_ADDRESS, MASK_BOX_ABI as AbiItem[]) + return useContract(MASK_BOX_CONTRACT_ADDRESS, MASK_BOX_ABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxQualificationContract.ts b/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxQualificationContract.ts index f278f2c9420e..b013cb1f3d64 100644 --- a/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxQualificationContract.ts +++ b/packages/mask/src/plugins/MaskBox/hooks/useMaskBoxQualificationContract.ts @@ -1,9 +1,8 @@ import type { AbiItem } from 'web3-utils' -import { useChainId, useContract } from '@masknet/web3-shared-evm' +import { useContract } from '@masknet/web3-shared-evm' import type { MaskBoxQualification } from '@masknet/web3-contracts/types/MaskBoxQualification' import MASK_BOX_QUALIFICATION_CONTRACT from '@masknet/web3-contracts/abis/MaskBoxQualification.json' export function useMaskBoxQualificationContract(address?: string) { - const chainId = useChainId() - return useContract(chainId, address, MASK_BOX_QUALIFICATION_CONTRACT as AbiItem[]) + return useContract(address, MASK_BOX_QUALIFICATION_CONTRACT as AbiItem[]) } diff --git a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts index 5a05aebf4f98..6cde2c00e6e0 100644 --- a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts +++ b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherPool.ts @@ -1,9 +1,8 @@ import type { AbiItem } from 'web3-utils' import PoolTogetherPoolABI from '@masknet/web3-contracts/abis/PoolTogetherPool.json' import type { PoolTogetherPool } from '@masknet/web3-contracts/types/PoolTogetherPool' -import { useChainId, useContract } from '@masknet/web3-shared-evm' +import { useContract } from '@masknet/web3-shared-evm' export function usePoolTogetherPoolContract(address?: string) { - const chainId = useChainId() - return useContract(chainId, address, PoolTogetherPoolABI as AbiItem[]) + return useContract(address, PoolTogetherPoolABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherTicket.ts b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherTicket.ts index ff251806b163..ebfd8b217d2c 100644 --- a/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherTicket.ts +++ b/packages/mask/src/plugins/PoolTogether/contracts/usePoolTogetherTicket.ts @@ -1,9 +1,8 @@ import type { AbiItem } from 'web3-utils' import PoolTogetherTicketABI from '@masknet/web3-contracts/abis/PoolTogetherTicket.json' import type { PoolTogetherTicket } from '@masknet/web3-contracts/types/PoolTogetherTicket' -import { useChainId, useContracts } from '@masknet/web3-shared-evm' +import { useContracts } from '@masknet/web3-shared-evm' export function usePoolTogetherTicketContracts(addresses: string[]) { - const chainId = useChainId() - return useContracts(chainId, addresses, PoolTogetherTicketABI as AbiItem[]) + return useContracts(addresses, PoolTogetherTicketABI as AbiItem[]) } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useNftRedPacketContract.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useNftRedPacketContract.ts index 65dfc2efc037..f61aad97f449 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useNftRedPacketContract.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useNftRedPacketContract.ts @@ -1,11 +1,10 @@ import NftRedPacketABI from '@masknet/web3-contracts/abis/NftRedPacket.json' -import { useChainId, useContract, useNftRedPacketConstants } from '@masknet/web3-shared-evm' +import { useContract, useNftRedPacketConstants } from '@masknet/web3-shared-evm' import type { NftRedPacket } from '@masknet/web3-contracts/types/NftRedPacket' import type { AbiItem } from 'web3-utils' export function useNftRedPacketContract() { - const chainId = useChainId() const { RED_PACKET_NFT_ADDRESS } = useNftRedPacketConstants() - const contract = useContract(chainId, RED_PACKET_NFT_ADDRESS, NftRedPacketABI as AbiItem[]) + const contract = useContract(RED_PACKET_NFT_ADDRESS, NftRedPacketABI as AbiItem[]) return contract } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts index af78d6f5e6b8..2b0039114616 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/hooks/useRedPacketContract.ts @@ -6,21 +6,20 @@ import type { HappyRedPacketV1 } from '@masknet/web3-contracts/types/HappyRedPac import type { HappyRedPacketV2 } from '@masknet/web3-contracts/types/HappyRedPacketV2' import type { HappyRedPacketV3 } from '@masknet/web3-contracts/types/HappyRedPacketV3' import type { HappyRedPacketV4 } from '@masknet/web3-contracts/types/HappyRedPacketV4' -import { useContract, useRedPacketConstants, ChainId, useChainId } from '@masknet/web3-shared-evm' +import { useContract, useRedPacketConstants, ChainId } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function useRedPacketContract(version: number, chainId?: ChainId) { - const _chainId = useChainId() const { HAPPY_RED_PACKET_ADDRESS_V1: addressV1, HAPPY_RED_PACKET_ADDRESS_V2: addressV2, HAPPY_RED_PACKET_ADDRESS_V3: addressV3, HAPPY_RED_PACKET_ADDRESS_V4: addressV4, } = useRedPacketConstants(chainId) - const v1 = useContract(chainId ?? _chainId, addressV1, HappyRedPacketV1ABI as AbiItem[]) - const v2 = useContract(chainId ?? _chainId, addressV2, HappyRedPacketV2ABI as AbiItem[]) - const v3 = useContract(chainId ?? _chainId, addressV3, HappyRedPacketV3ABI as AbiItem[]) - const v4 = useContract(chainId ?? _chainId, addressV4, HappyRedPacketV4ABI as AbiItem[]) + const v1 = useContract(addressV1, HappyRedPacketV1ABI as AbiItem[], chainId) + const v2 = useContract(addressV2, HappyRedPacketV2ABI as AbiItem[], chainId) + const v3 = useContract(addressV3, HappyRedPacketV3ABI as AbiItem[], chainId) + const v4 = useContract(addressV4, HappyRedPacketV4ABI as AbiItem[], chainId) const versions = [v1, v2, v3, v4] as const return versions[version - 1] } diff --git a/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts b/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts index e6aea7e0eb80..0d2e707df03d 100644 --- a/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/balancer/useExchangeProxyContract.ts @@ -1,14 +1,9 @@ import type { AbiItem } from 'web3-utils' import ExchangeProxyABI from '@masknet/web3-contracts/abis/ExchangeProxy.json' import type { ExchangeProxy } from '@masknet/web3-contracts/types/ExchangeProxy' -import { ChainId, useChainId, useContract, useTraderConstants } from '@masknet/web3-shared-evm' +import { ChainId, useContract, useTraderConstants } from '@masknet/web3-shared-evm' export function useExchangeProxyContract(chainId?: ChainId) { - const _chainId = useChainId() const { BALANCER_EXCHANGE_PROXY_ADDRESS } = useTraderConstants(chainId) - return useContract( - chainId ?? _chainId, - BALANCER_EXCHANGE_PROXY_ADDRESS, - ExchangeProxyABI as AbiItem[], - ) + return useContract(BALANCER_EXCHANGE_PROXY_ADDRESS, ExchangeProxyABI as AbiItem[], chainId) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/usePairContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/usePairContract.ts index b59156abd965..bdb977472aa1 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/usePairContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/usePairContract.ts @@ -1,14 +1,12 @@ import type { AbiItem } from 'web3-utils' import type { Pair } from '@masknet/web3-contracts/types/Pair' import PairABI from '@masknet/web3-contracts/abis/Pair.json' -import { ChainId, useChainId, useContract, useContracts } from '@masknet/web3-shared-evm' +import { ChainId, useContract, useContracts } from '@masknet/web3-shared-evm' export function usePairContract(address: string, chainId?: ChainId) { - const _chainId = useChainId() - return useContract(chainId ?? _chainId, address, PairABI as AbiItem[]) + return useContract(address, PairABI as AbiItem[], chainId) } export function usePairContracts(listOfAddress: string[], chainId?: ChainId) { - const _chainId = useChainId() - return useContracts(chainId ?? _chainId, listOfAddress, PairABI as AbiItem[]) + return useContracts(listOfAddress, PairABI as AbiItem[], chainId) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts index bbb9b455aa6a..332d2e39585b 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/usePoolContract.ts @@ -1,14 +1,12 @@ import PoolStateV3ABI from '@masknet/web3-contracts/abis/PoolStateV3.json' import type { PoolStateV3 } from '@masknet/web3-contracts/types/PoolStateV3' -import { ChainId, useChainId, useContract, useContracts } from '@masknet/web3-shared-evm' +import { ChainId, useContract, useContracts } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function usePoolContract(address: string) { - const chainId = useChainId() - return useContract(chainId, address, PoolStateV3ABI as AbiItem[]) + return useContract(address, PoolStateV3ABI as AbiItem[]) } export function usePoolContracts(listOfAddress: string[], chainId?: ChainId) { - const _chainId = useChainId() - return useContracts(chainId ?? _chainId, listOfAddress, PoolStateV3ABI as AbiItem[]) + return useContracts(listOfAddress, PoolStateV3ABI as AbiItem[], chainId) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts index 6c7ef00e012f..2ff8636ae904 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/useQuoterContract.ts @@ -1,10 +1,9 @@ import QuoterABI from '@masknet/web3-contracts/abis/Quoter.json' import type { Quoter } from '@masknet/web3-contracts/types/Quoter' -import { ChainId, useChainId, useContract, useTraderConstants } from '@masknet/web3-shared-evm' +import { ChainId, useContract, useTraderConstants } from '@masknet/web3-shared-evm' import type { AbiItem } from 'web3-utils' export function useQuoterContract(chainId?: ChainId) { - const _chainId = useChainId() const { UNISWAP_V3_QUOTER_ADDRESS } = useTraderConstants(chainId) - return useContract(chainId ?? _chainId, UNISWAP_V3_QUOTER_ADDRESS, QuoterABI as AbiItem[]) + return useContract(UNISWAP_V3_QUOTER_ADDRESS, QuoterABI as AbiItem[], chainId) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/useRouterV2Contract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/useRouterV2Contract.ts index ca24c4cfcb0b..07580f224eef 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/useRouterV2Contract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/useRouterV2Contract.ts @@ -1,9 +1,8 @@ import type { AbiItem } from 'web3-utils' import RouterV2ABI from '@masknet/web3-contracts/abis/RouterV2.json' import type { RouterV2 } from '@masknet/web3-contracts/types/RouterV2' -import { ChainId, useChainId, useContract } from '@masknet/web3-shared-evm' +import { ChainId, useContract } from '@masknet/web3-shared-evm' export function useRouterV2Contract(address?: string, chainId?: ChainId) { - const _chainId = useChainId() - return useContract(chainId ?? _chainId, address, RouterV2ABI as AbiItem[]) + return useContract(address, RouterV2ABI as AbiItem[], chainId) } diff --git a/packages/mask/src/plugins/Trader/contracts/uniswap/useSwapRouterContract.ts b/packages/mask/src/plugins/Trader/contracts/uniswap/useSwapRouterContract.ts index 88e9c5902d1c..df9b5c1e57e2 100644 --- a/packages/mask/src/plugins/Trader/contracts/uniswap/useSwapRouterContract.ts +++ b/packages/mask/src/plugins/Trader/contracts/uniswap/useSwapRouterContract.ts @@ -1,9 +1,8 @@ import type { AbiItem } from 'web3-utils' import SwapRouterABI from '@masknet/web3-contracts/abis/SwapRouter.json' import type { SwapRouter } from '@masknet/web3-contracts/types/SwapRouter' -import { ChainId, useChainId, useContract } from '@masknet/web3-shared-evm' +import { ChainId, useContract } from '@masknet/web3-shared-evm' export function useSwapRouterContract(address?: string, chainId?: ChainId) { - const _chainId = useChainId() - return useContract(chainId ?? _chainId, address, SwapRouterABI as AbiItem[]) + return useContract(address, SwapRouterABI as AbiItem[], chainId) } diff --git a/packages/mask/src/plugins/dHEDGE/contracts/useDHedgePool.ts b/packages/mask/src/plugins/dHEDGE/contracts/useDHedgePool.ts index dc9ba54abd23..31e19082b969 100644 --- a/packages/mask/src/plugins/dHEDGE/contracts/useDHedgePool.ts +++ b/packages/mask/src/plugins/dHEDGE/contracts/useDHedgePool.ts @@ -5,19 +5,16 @@ import DHedgePoolManagerABI from '@masknet/web3-contracts/abis/DHedgePoolManager import type { DHedgePoolV1 } from '@masknet/web3-contracts/types/DHedgePoolV1' import type { DHedgePoolV2 } from '@masknet/web3-contracts/types/DHedgePoolV2' import type { DHedgePoolManager } from '@masknet/web3-contracts/types/DHedgePoolManager' -import { useChainId, useContract } from '@masknet/web3-shared-evm' +import { useContract } from '@masknet/web3-shared-evm' export function useDHedgePoolV1Contract(address?: string) { - const chainId = useChainId() - return useContract(chainId, address, DHedgePoolV1ABI as AbiItem[]) + return useContract(address, DHedgePoolV1ABI as AbiItem[]) } export function useDHedgePoolV2Contract(address?: string) { - const chainId = useChainId() - return useContract(chainId, address, DHedgePoolV2ABI as AbiItem[]) + return useContract(address, DHedgePoolV2ABI as AbiItem[]) } export function useDHedgePoolManagerContract(address?: string) { - const chainId = useChainId() - return useContract(chainId, address, DHedgePoolManagerABI as AbiItem[]) + return useContract(address, DHedgePoolManagerABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useBalanceChecker.ts b/packages/web3-shared/evm/contracts/useBalanceChecker.ts index e07a48e9d7af..91c4059b9dff 100644 --- a/packages/web3-shared/evm/contracts/useBalanceChecker.ts +++ b/packages/web3-shared/evm/contracts/useBalanceChecker.ts @@ -2,12 +2,10 @@ import BalanceCheckerABI from '@masknet/web3-contracts/abis/BalanceChecker.json' import type { BalanceChecker } from '@masknet/web3-contracts/types/BalanceChecker' import type { AbiItem } from 'web3-utils' import { useEthereumConstants } from '../constants' -import { useChainId } from '../hooks' import { useContract } from '../hooks/useContract' import type { ChainId } from '../types' export function useBalanceCheckerContract(chainId?: ChainId) { - const _chainId = useChainId() const { BALANCE_CHECKER_ADDRESS } = useEthereumConstants(chainId) - return useContract(chainId ?? _chainId, BALANCE_CHECKER_ADDRESS, BalanceCheckerABI as AbiItem[]) + return useContract(BALANCE_CHECKER_ADDRESS, BalanceCheckerABI as AbiItem[], chainId) } diff --git a/packages/web3-shared/evm/contracts/useERC1155TokenContract.ts b/packages/web3-shared/evm/contracts/useERC1155TokenContract.ts index ad59feed0e68..a4b9512b8507 100644 --- a/packages/web3-shared/evm/contracts/useERC1155TokenContract.ts +++ b/packages/web3-shared/evm/contracts/useERC1155TokenContract.ts @@ -1,8 +1,7 @@ import ERC1155 from '@masknet/web3-contracts/abis/ERC1155.json' import type { AbiItem } from 'web3-utils' -import { useChainId, useContract } from '../hooks' +import { useContract } from '../hooks' export function useERC1155TokenContract(address: string) { - const chainId = useChainId() - return useContract(chainId, address, ERC1155 as AbiItem[]) + return useContract(address, ERC1155 as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useERC20TokenBytes32Contract.ts b/packages/web3-shared/evm/contracts/useERC20TokenBytes32Contract.ts index a10683ba6d5d..5e96dc008c42 100644 --- a/packages/web3-shared/evm/contracts/useERC20TokenBytes32Contract.ts +++ b/packages/web3-shared/evm/contracts/useERC20TokenBytes32Contract.ts @@ -1,16 +1,13 @@ import ERC20Bytes32ABI from '@masknet/web3-contracts/abis/ERC20Bytes32.json' import type { ERC20Bytes32 } from '@masknet/web3-contracts/types/ERC20Bytes32' import type { AbiItem } from 'web3-utils' -import { useChainId } from '../hooks' import { useContract, useContracts } from '../hooks/useContract' import type { ChainId } from '../types' export function useERC20TokenBytes32Contract(address?: string, chainId?: ChainId) { - const _chainId = useChainId() - return useContract(chainId ?? _chainId, address, ERC20Bytes32ABI as AbiItem[]) + return useContract(address, ERC20Bytes32ABI as AbiItem[], chainId) } export function useERC20TokenBytes32Contracts(listOfAddress: string[], chainId?: ChainId) { - const _chainId = useChainId() - return useContracts(chainId ?? _chainId, listOfAddress, ERC20Bytes32ABI as AbiItem[]) + return useContracts(listOfAddress, ERC20Bytes32ABI as AbiItem[], chainId) } diff --git a/packages/web3-shared/evm/contracts/useERC20TokenContract.ts b/packages/web3-shared/evm/contracts/useERC20TokenContract.ts index 2d3286fde286..34de6bd91550 100644 --- a/packages/web3-shared/evm/contracts/useERC20TokenContract.ts +++ b/packages/web3-shared/evm/contracts/useERC20TokenContract.ts @@ -3,14 +3,11 @@ import ERC20ABI from '@masknet/web3-contracts/abis/ERC20.json' import type { ERC20 } from '@masknet/web3-contracts/types/ERC20' import { useContract, useContracts } from '../hooks/useContract' import type { ChainId } from '../types' -import { useChainId } from '../hooks' export function useERC20TokenContract(address?: string, chainId?: ChainId) { - const _chainId = useChainId() - return useContract(chainId ?? _chainId, address, ERC20ABI as AbiItem[]) + return useContract(address, ERC20ABI as AbiItem[], chainId) } export function useERC20TokenContracts(listOfAddress: string[], chainId?: ChainId) { - const _chainId = useChainId() - return useContracts(chainId ?? _chainId, listOfAddress, ERC20ABI as AbiItem[]) + return useContracts(listOfAddress, ERC20ABI as AbiItem[], chainId) } diff --git a/packages/web3-shared/evm/contracts/useERC721TokenContract.ts b/packages/web3-shared/evm/contracts/useERC721TokenContract.ts index 56d849a64a7f..49e4e3d2c548 100644 --- a/packages/web3-shared/evm/contracts/useERC721TokenContract.ts +++ b/packages/web3-shared/evm/contracts/useERC721TokenContract.ts @@ -2,9 +2,7 @@ import type { AbiItem } from 'web3-utils' import ERC721ABI from '@masknet/web3-contracts/abis/ERC721.json' import type { ERC721 } from '@masknet/web3-contracts/types/ERC721' import { useContract } from '../hooks/useContract' -import { useChainId } from '../hooks' export function useERC721TokenContract(address?: string) { - const chainId = useChainId() - return useContract(chainId, address, ERC721ABI as AbiItem[]) + return useContract(address, ERC721ABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useERC721TokenContracts.ts b/packages/web3-shared/evm/contracts/useERC721TokenContracts.ts index 1ea507c31a6e..3a7190214ea1 100644 --- a/packages/web3-shared/evm/contracts/useERC721TokenContracts.ts +++ b/packages/web3-shared/evm/contracts/useERC721TokenContracts.ts @@ -1,10 +1,8 @@ import ERC721ABI from '@masknet/web3-contracts/abis/ERC721.json' import type { ERC721 } from '@masknet/web3-contracts/types/ERC721' import type { AbiItem } from 'web3-utils' -import { useChainId } from '../hooks' import { useContracts } from '../hooks/useContract' export function useERC721TokenContracts(listOfAddress: string[]) { - const chainId = useChainId() - return useContracts(chainId, listOfAddress, ERC721ABI as AbiItem[]) + return useContracts(listOfAddress, ERC721ABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useMulticallContract.ts b/packages/web3-shared/evm/contracts/useMulticallContract.ts index b371e7281a3b..220e18523c7e 100644 --- a/packages/web3-shared/evm/contracts/useMulticallContract.ts +++ b/packages/web3-shared/evm/contracts/useMulticallContract.ts @@ -2,12 +2,10 @@ import MulticallABI from '@masknet/web3-contracts/abis/Multicall.json' import type { Multicall } from '@masknet/web3-contracts/types/Multicall' import type { AbiItem } from 'web3-utils' import { useEthereumConstants } from '../constants' -import { useChainId } from '../hooks' import { useContract } from '../hooks/useContract' import type { ChainId } from '../types' export function useMulticallContract(chainId?: ChainId) { - const _chainId = useChainId() const { MULTICALL_ADDRESS } = useEthereumConstants(chainId) - return useContract(chainId ?? _chainId, MULTICALL_ADDRESS, MulticallABI as AbiItem[]) + return useContract(MULTICALL_ADDRESS, MulticallABI as AbiItem[], chainId) } diff --git a/packages/web3-shared/evm/contracts/useReverseLookupContract.ts b/packages/web3-shared/evm/contracts/useReverseLookupContract.ts index 8260a86d80ad..cf01f064b96e 100644 --- a/packages/web3-shared/evm/contracts/useReverseLookupContract.ts +++ b/packages/web3-shared/evm/contracts/useReverseLookupContract.ts @@ -4,10 +4,8 @@ import type { AbiItem } from 'web3-utils' import { ChainId } from '../types' import { useContract } from '../hooks/useContract' import { useEthereumConstants } from '../constants' -import { useChainId } from '../hooks' export function useReverseRecordsContract() { - const chainId = useChainId() const { ENS_REVERSE_RECORDS_ADDRESS } = useEthereumConstants(ChainId.Mainnet) - return useContract(chainId, ENS_REVERSE_RECORDS_ADDRESS, ReverseRecordsABI as AbiItem[]) + return useContract(ENS_REVERSE_RECORDS_ADDRESS, ReverseRecordsABI as AbiItem[]) } diff --git a/packages/web3-shared/evm/contracts/useWrappedEtherContract.ts b/packages/web3-shared/evm/contracts/useWrappedEtherContract.ts index 636d872e856c..9e2f33d8b58f 100644 --- a/packages/web3-shared/evm/contracts/useWrappedEtherContract.ts +++ b/packages/web3-shared/evm/contracts/useWrappedEtherContract.ts @@ -2,12 +2,10 @@ import WETH_ABI from '@masknet/web3-contracts/abis/WETH.json' import type { WETH } from '@masknet/web3-contracts/types/WETH' import type { AbiItem } from 'web3-utils' import { useTokenConstants } from '../constants' -import { useChainId } from '../hooks' import { useContract } from '../hooks/useContract' import type { ChainId } from '../types' export function useNativeTokenWrapperContract(chainId?: ChainId) { - const _chainId = useChainId() const { WNATIVE_ADDRESS } = useTokenConstants(chainId) - return useContract(chainId ?? _chainId, WNATIVE_ADDRESS, WETH_ABI as AbiItem[]) + return useContract(WNATIVE_ADDRESS, WETH_ABI as AbiItem[], chainId) } diff --git a/packages/web3-shared/evm/hooks/useContract.ts b/packages/web3-shared/evm/hooks/useContract.ts index d4740702ce5b..6fa0ced8fc55 100644 --- a/packages/web3-shared/evm/hooks/useContract.ts +++ b/packages/web3-shared/evm/hooks/useContract.ts @@ -21,7 +21,7 @@ export function createContract(web3: Web3, address: stri * @param ABI * @param chainId */ -export function useContract(chainId: ChainId, address = '', ABI: AbiItem[] = []) { +export function useContract(address = '', ABI: AbiItem[] = [], chainId?: ChainId) { const web3 = useWeb3(chainId ? { chainId } : {}) return useMemo(() => createContract(web3, address, ABI), [web3, address, ABI]) } @@ -32,7 +32,7 @@ export function useContract(chainId: ChainId, address = * @param ABI * @param chainId */ -export function useContracts(chainId: ChainId, listOfAddress: string[], ABI: AbiItem[] = []) { +export function useContracts(listOfAddress: string[], ABI: AbiItem[] = [], chainId?: ChainId) { const web3 = useWeb3(chainId ? { chainId } : {}) const contracts = useMemo( () => listOfAddress.map((address) => createContract(web3, address, ABI)),