hooks#useActiveWeb3React TypeScript Examples
The following examples show how to use
hooks#useActiveWeb3React.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: App.tsx From interface-v2 with GNU General Public License v3.0 | 6 votes |
function Gelato({ children }: { children?: React.ReactNode }) {
const { library, chainId, account } = useActiveWeb3React();
const toggleWalletModal = useWalletModalToggle();
return (
<GelatoProvider
library={library}
chainId={chainId}
account={account ?? undefined}
handler={'quickswap'}
toggleWalletModal={toggleWalletModal}
useDefaultTheme={false}
>
{children}
</GelatoProvider>
);
}
Example #2
Source File: useGetLocalProfile.ts From mozartfinance-swap-interface with GNU General Public License v3.0 | 6 votes |
useGetLocalProfile = () => {
const [profile, setProfile] = useState(initialState)
const { account } = useActiveWeb3React()
useEffect(() => {
if (account) {
try {
const localData = Cookies.get(`profile_${account}`)
if (localData) {
const localProfile = JSON.parse(localData)
setProfile((prevProfile) => ({
...prevProfile,
username: localProfile.username,
image: localProfile.avatar,
}))
}
} catch (error) {
setProfile(initialState)
}
} else {
setProfile(initialState)
}
}, [account, setProfile])
return profile
}
Example #3
Source File: useGetLocalProfile.ts From panther-frontend-dex with GNU General Public License v3.0 | 6 votes |
useGetLocalProfile = () => {
const [profile, setProfile] = useState(initialState)
const { account } = useActiveWeb3React()
useEffect(() => {
if (account) {
try {
const localData = localStorage.getItem(`profile_${account}`)
if (localData) {
const localProfile = JSON.parse(localData)
setProfile((prevProfile) => ({
...prevProfile,
username: localProfile.username,
image: localProfile.avatar,
}))
}
} catch (error) {
setProfile(initialState)
}
} else {
setProfile(initialState)
}
}, [account, setProfile])
return profile
}
Example #4
Source File: BuyFiatModal.tsx From interface-v2 with GNU General Public License v3.0 | 5 votes |
BuyFiatModal: React.FC<BuyFiatModalProps> = ({
open,
onClose,
buyMoonpay,
}) => {
const classes = useStyles();
const { account } = useActiveWeb3React();
const { breakpoints } = useTheme();
const mobileWindowSize = useMediaQuery(breakpoints.down('sm'));
const { initTransak } = useInitTransak();
return (
<CustomModal open={open} onClose={onClose}>
<Box padding={3}>
<Box display='flex' justifyContent='space-between' alignItems='center'>
<Typography variant='subtitle2' color='textPrimary'>
Fiat gateway providers
</Typography>
<CloseIcon style={{ cursor: 'pointer' }} onClick={onClose} />
</Box>
<Box className={classes.paymentBox}>
<img src={Moonpay} alt='moonpay' />
<Box className={classes.buyButton} onClick={buyMoonpay}>
Buy
</Box>
</Box>
<Box className={classes.paymentBox}>
<img src={Transak} alt='transak' />
<Box
className={classes.buyButton}
onClick={() => {
onClose();
initTransak(account, mobileWindowSize);
}}
>
Buy
</Box>
</Box>
<Box mt={3} display='flex'>
<Box display='flex' mt={0.3}>
<HelpIcon />
</Box>
<Box ml={1.5} width='calc(100% - 32px)'>
<Typography variant='body2'>
Fiat services on Quickswap are provided by third-parties.
Quickswap is not associated with, responsible or liable for the
performance of these third-party services. Any claims & questions
should be addressed with the selected provider.
</Typography>
</Box>
</Box>
</Box>
</CustomModal>
);
}
Example #5
Source File: RecentTransactionsModal.tsx From goose-frontend-amm with GNU General Public License v3.0 | 5 votes |
RecentTransactionsModal = ({ onDismiss = defaultOnDismiss }: RecentTransactionsModalProps) => {
const { account, chainId } = useActiveWeb3React()
const allTransactions = useAllTransactions()
// Logic taken from Web3Status/index.tsx line 175
const sortedRecentTransactions = useMemo(() => {
const txs = Object.values(allTransactions)
return txs.filter(isTransactionRecent).sort(newTransactionsFirst)
}, [allTransactions])
return (
<Modal title="Recent Transactions" onDismiss={onDismiss}>
{!account && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
Please connect your wallet to view your recent transactions
</Text>
<Button variant="tertiary" size="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account && chainId && sortedRecentTransactions.length === 0 && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
No recent transactions
</Text>
<Button variant="tertiary" size="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account &&
chainId &&
sortedRecentTransactions.map((sortedRecentTransaction) => {
const { hash, summary } = sortedRecentTransaction
const { icon, color } = getRowStatus(sortedRecentTransaction)
return (
<>
<Flex key={hash} alignItems="center" justifyContent="space-between" mb="4px">
<LinkExternal href={getEtherscanLink(chainId, hash, 'transaction')} color={color}>
{summary ?? hash}
</LinkExternal>
{icon}
</Flex>
</>
)
})}
</Modal>
)
}
Example #6
Source File: RecentTransactionsModal.tsx From mozartfinance-swap-interface with GNU General Public License v3.0 | 5 votes |
RecentTransactionsModal = ({ onDismiss = defaultOnDismiss, translateString }: RecentTransactionsModalProps) => {
const TranslateString = translateString
const { account, chainId } = useActiveWeb3React()
const allTransactions = useAllTransactions()
// Logic taken from Web3Status/index.tsx line 175
const sortedRecentTransactions = useMemo(() => {
const txs = Object.values(allTransactions)
return txs.filter(isTransactionRecent).sort(newTransactionsFirst)
}, [allTransactions])
return (
<Modal title={TranslateString(1202, 'Recent transactions')} onDismiss={onDismiss}>
{!account && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
Please connect your wallet to view your recent transactions
</Text>
<Button variant="tertiary" scale="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account && chainId && sortedRecentTransactions.length === 0 && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
No recent transactions
</Text>
<Button variant="tertiary" scale="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account &&
chainId &&
sortedRecentTransactions.map((sortedRecentTransaction) => {
const { hash, summary } = sortedRecentTransaction
const { icon, color } = getRowStatus(sortedRecentTransaction)
return (
<>
<Flex key={hash} alignItems="center" justifyContent="space-between" mb="4px">
<LinkExternal href={getBscScanLink(chainId, hash, 'transaction')} color={color}>
{summary ?? hash}
</LinkExternal>
{icon}
</Flex>
</>
)
})}
</Modal>
)
}
Example #7
Source File: RecentTransactionsModal.tsx From pancake-swap-exchange-testnet with GNU General Public License v3.0 | 5 votes |
RecentTransactionsModal = ({ onDismiss = defaultOnDismiss, translateString }: RecentTransactionsModalProps) => {
const { account, chainId } = useActiveWeb3React()
const allTransactions = useAllTransactions()
// Logic taken from Web3Status/index.tsx line 175
const sortedRecentTransactions = useMemo(() => {
const txs = Object.values(allTransactions)
return txs.filter(isTransactionRecent).sort(newTransactionsFirst)
}, [allTransactions])
return (
<Modal title={translateString(1202, 'Recent transactions')} onDismiss={onDismiss}>
{!account && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
Please connect your wallet to view your recent transactions
</Text>
<Button variant="tertiary" scale="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account && chainId && sortedRecentTransactions.length === 0 && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
No recent transactions
</Text>
<Button variant="tertiary" scale="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account &&
chainId &&
sortedRecentTransactions.map((sortedRecentTransaction) => {
const { hash, summary } = sortedRecentTransaction
const { icon, color } = getRowStatus(sortedRecentTransaction)
return (
<>
<Flex key={hash} alignItems="center" justifyContent="space-between" mb="4px">
<LinkExternal href={getBscScanLink(chainId, hash, 'transaction')} color={color}>
{summary ?? hash}
</LinkExternal>
{icon}
</Flex>
</>
)
})}
</Modal>
)
}
Example #8
Source File: RecentTransactionsModal.tsx From pancake-swap-testnet with MIT License | 5 votes |
RecentTransactionsModal = ({ onDismiss = defaultOnDismiss, translateString }: RecentTransactionsModalProps) => {
const { account, chainId } = useActiveWeb3React()
const allTransactions = useAllTransactions()
// Logic taken from Web3Status/index.tsx line 175
const sortedRecentTransactions = useMemo(() => {
const txs = Object.values(allTransactions)
return txs.filter(isTransactionRecent).sort(newTransactionsFirst)
}, [allTransactions])
return (
<Modal title={translateString(1202, 'Recent transactions')} onDismiss={onDismiss}>
{!account && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
Please connect your wallet to view your recent transactions
</Text>
<Button variant="tertiary" scale="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account && chainId && sortedRecentTransactions.length === 0 && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
No recent transactions
</Text>
<Button variant="tertiary" scale="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account &&
chainId &&
sortedRecentTransactions.map((sortedRecentTransaction) => {
const { hash, summary } = sortedRecentTransaction
const { icon, color } = getRowStatus(sortedRecentTransaction)
return (
<>
<Flex key={hash} alignItems="center" justifyContent="space-between" mb="4px">
<LinkExternal href={getBscScanLink(chainId, hash, 'transaction')} color={color}>
{summary ?? hash}
</LinkExternal>
{icon}
</Flex>
</>
)
})}
</Modal>
)
}
Example #9
Source File: RecentTransactionsModal.tsx From panther-frontend-dex with GNU General Public License v3.0 | 5 votes |
RecentTransactionsModal = ({ onDismiss = defaultOnDismiss }: RecentTransactionsModalProps) => {
const { account, chainId } = useActiveWeb3React()
const allTransactions = useAllTransactions()
// Logic taken from Web3Status/index.tsx line 175
const sortedRecentTransactions = useMemo(() => {
const txs = Object.values(allTransactions)
return txs.filter(isTransactionRecent).sort(newTransactionsFirst)
}, [allTransactions])
return (
<Modal title="Recent Transactions" onDismiss={onDismiss}>
{!account && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
Please connect your wallet to view your recent transactions
</Text>
<Button variant="tertiary" size="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account && chainId && sortedRecentTransactions.length === 0 && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
No recent transactions
</Text>
<Button variant="tertiary" size="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account &&
chainId &&
sortedRecentTransactions.map((sortedRecentTransaction) => {
const { hash, summary } = sortedRecentTransaction
const { icon, color } = getRowStatus(sortedRecentTransaction)
return (
<>
<Flex key={hash} alignItems="center" justifyContent="space-between" mb="4px">
<LinkExternal href={getBscScanLink(chainId, hash, 'transaction')} color={color}>
{summary ?? hash}
</LinkExternal>
{icon}
</Flex>
</>
)
})}
</Modal>
)
}
Example #10
Source File: ImportRow.tsx From forward.swaps with GNU General Public License v3.0 | 5 votes |
export default function ImportRow({
token,
style,
dim,
showImportView,
setImportToken
}: {
token: Token
style?: CSSProperties
dim?: boolean
showImportView: () => void
setImportToken: (token: Token) => void
}) {
// gloabls
const { chainId } = useActiveWeb3React()
const theme = useTheme()
// check if token comes from list
const inactiveTokenList = useCombinedInactiveList()
const list = chainId && inactiveTokenList?.[chainId]?.[token.address]?.list
// check if already active on list or local storage tokens
const isAdded = useIsUserAddedToken(token)
const isActive = useIsTokenActive(token)
return (
<TokenSection style={style}>
<CurrencyLogo currency={token} size={'24px'} style={{ opacity: dim ? '0.6' : '1' }} />
<AutoColumn gap="4px" style={{ opacity: dim ? '0.6' : '1' }}>
<AutoRow>
<TYPE.body fontWeight={500}>{token.symbol}</TYPE.body>
<TYPE.darkGray ml="8px" fontWeight={300}>
<NameOverflow title={token.name}>{token.name}</NameOverflow>
</TYPE.darkGray>
</AutoRow>
{list && list.logoURI && (
<RowFixed>
<TYPE.small mr="4px" color={theme.text3}>
via {list.name}
</TYPE.small>
<ListLogo logoURI={list.logoURI} size="12px" />
</RowFixed>
)}
</AutoColumn>
{!isActive && !isAdded ? (
<ButtonPrimary
width="fit-content"
padding="6px 12px"
fontWeight={500}
fontSize="14px"
onClick={() => {
setImportToken && setImportToken(token)
showImportView()
}}
>
Import
</ButtonPrimary>
) : (
<RowFixed style={{ minWidth: 'fit-content' }}>
<CheckIcon />
<TYPE.main color={theme.green1}>Active</TYPE.main>
</RowFixed>
)}
{/* </RowBetween> */}
</TokenSection>
)
}
Example #11
Source File: RecentTransactionsModal.tsx From pancakeswap-testnet with GNU General Public License v3.0 | 5 votes |
RecentTransactionsModal = ({ onDismiss = defaultOnDismiss, translateString }: RecentTransactionsModalProps) => {
const TranslateString = translateString
const { account, chainId } = useActiveWeb3React()
const allTransactions = useAllTransactions()
// Logic taken from Web3Status/index.tsx line 175
const sortedRecentTransactions = useMemo(() => {
const txs = Object.values(allTransactions)
return txs.filter(isTransactionRecent).sort(newTransactionsFirst)
}, [allTransactions])
return (
<Modal title={TranslateString(1202, 'Recent transactions')} onDismiss={onDismiss}>
{!account && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
Please connect your wallet to view your recent transactions
</Text>
<Button variant="tertiary" scale="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account && chainId && sortedRecentTransactions.length === 0 && (
<Flex justifyContent="center" flexDirection="column" alignItems="center">
<Text mb="8px" bold>
No recent transactions
</Text>
<Button variant="tertiary" scale="sm" onClick={onDismiss}>
Close
</Button>
</Flex>
)}
{account &&
chainId &&
sortedRecentTransactions.map((sortedRecentTransaction) => {
const { hash, summary } = sortedRecentTransaction
const { icon, color } = getRowStatus(sortedRecentTransaction)
return (
<>
<Flex key={hash} alignItems="center" justifyContent="space-between" mb="4px">
<LinkExternal href={getBscScanLink(chainId, hash, 'transaction')} color={color}>
{summary ?? hash}
</LinkExternal>
{icon}
</Flex>
</>
)
})}
</Modal>
)
}
Example #12
Source File: AccountDetails.tsx From interface-v2 with GNU General Public License v3.0 | 4 votes |
AccountDetails: React.FC<AccountDetailsProps> = ({
toggleWalletModal,
pendingTransactions,
confirmedTransactions,
ENSName,
openOptions,
}) => {
const { chainId, account, connector } = useActiveWeb3React();
const classes = useStyles();
const { palette } = useTheme();
const dispatch = useDispatch<AppDispatch>();
function formatConnectorName() {
const { ethereum } = window as any;
const isMetaMask = !!(
ethereum &&
!ethereum.isBitKeep &&
ethereum.isMetaMask
);
const isBitkeep = !!(ethereum && ethereum.isBitKeep);
const isBlockWallet = !!(ethereum && ethereum.isBlockWallet);
const name = Object.keys(SUPPORTED_WALLETS)
.filter(
(k) =>
SUPPORTED_WALLETS[k].connector === connector &&
(connector !== injected ||
(isBlockWallet && k === 'BLOCKWALLET') ||
(isBitkeep && k === 'BITKEEP') ||
(isMetaMask && k === 'METAMASK')),
)
.map((k) => SUPPORTED_WALLETS[k].name)[0];
return <Typography variant='body2'>Connected with {name}</Typography>;
}
const clearAllTransactionsCallback = useCallback(() => {
if (chainId) dispatch(clearAllTransactions({ chainId }));
}, [dispatch, chainId]);
return (
<Box paddingX={3} paddingY={4}>
<Box display='flex' justifyContent='space-between'>
<Typography variant='h5'>Account</Typography>
<Close style={{ cursor: 'pointer' }} onClick={toggleWalletModal} />
</Box>
<Box
mt={2}
padding={2}
borderRadius={10}
bgcolor={palette.secondary.dark}
>
<Box display='flex' justifyContent='space-between' alignItems='center'>
{formatConnectorName()}
<Box display='flex' alignItems='center'>
{connector !== injected &&
connector !== walletlink &&
connector !== safeApp && (
<Typography
style={{ cursor: 'pointer', marginRight: 8 }}
onClick={() => {
(connector as any).close();
}}
variant='body2'
>
Disconnect
</Typography>
)}
{connector !== safeApp && (
<Typography
style={{ cursor: 'pointer' }}
onClick={() => {
openOptions();
}}
variant='body2'
>
Change
</Typography>
)}
</Box>
</Box>
<Box display='flex' alignItems='center' my={1.5}>
<StatusIcon />
<Typography
variant='h5'
style={{ marginLeft: 8 }}
id='web3-account-identifier-row'
>
{ENSName ? ENSName : account && shortenAddress(account)}
</Typography>
</Box>
<Box display='flex' justifyContent='space-between' alignItems='center'>
{account && (
<Copy toCopy={account}>
<span style={{ marginLeft: '4px' }}>Copy Address</span>
</Copy>
)}
{chainId && account && (
<a
className={classes.addressLink}
href={
chainId &&
getEtherscanLink(
chainId,
ENSName ? ENSName : account,
'address',
)
}
target='_blank'
rel='noopener noreferrer'
>
<LinkIcon size={16} />
<Typography variant='body2'>View on Block Explorer</Typography>
</a>
)}
</Box>
</Box>
{!!pendingTransactions.length || !!confirmedTransactions.length ? (
<>
<Box
display='flex'
justifyContent='space-between'
alignItems='center'
paddingX={2}
pt={2}
mb={1}
>
<Typography variant='body2'>Recent Transactions</Typography>
<Typography
variant='body2'
style={{ cursor: 'pointer' }}
onClick={clearAllTransactionsCallback}
>
Clear all
</Typography>
</Box>
<Box paddingX={2} flex={1} overflow='auto'>
{renderTransactions(pendingTransactions)}
{renderTransactions(confirmedTransactions)}
</Box>
</>
) : (
<Box paddingX={2} pt={2}>
<Typography variant='body2'>
Your transactions will appear here...
</Typography>
</Box>
)}
</Box>
);
}