Skip to content

Commit

Permalink
chore: Add the 'useNetwork' hook of wagmi (#224)
Browse files Browse the repository at this point in the history
* chore: Add the 'useNetwork' hook of wagmi

* refactor: Add semicolons, remove unnecessary spaces

Feel like lint rules might not be being properly enforced...made note to check

---------

Co-authored-by: 0xMirim <95051992+0xMirim@users.noreply.github.com>
  • Loading branch information
Itzabelli and 0xMirim committed Jul 27, 2023
1 parent 8be5f19 commit 2b643ce
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 49 deletions.
13 changes: 6 additions & 7 deletions components/VaultActions.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import {Fragment, useCallback, useState} from 'react';
import {useChain} from 'hook/useChain';
import {apeInVault, apeOutVault, approveERC20, depositERC20, withdrawWithPermitERC20} from 'utils/actions';
import {erc20ABI, fetchBalance, multicall, readContract} from '@wagmi/core';
import {Button} from '@yearn-finance/web-lib/components/Button';
Expand All @@ -18,7 +17,7 @@ import type {TVault, TVaultData} from 'utils/types';
import type {TNDict} from '@yearn-finance/web-lib/types';
import type {TransactionReceipt} from '@ethersproject/providers';
import YVAULT_V3_BASE_ABI from 'utils/ABI/yVaultV3Base.abi';
import {useNetwork } from 'wagmi';
import {useNetwork} from 'wagmi';
import { ethers } from 'ethers';
import { defaultTxStatus } from '@yearn-finance/web-lib/utils/web3/transaction';

Expand All @@ -34,8 +33,8 @@ type TVaultActionInner = {

function VaultActionZaps({vault, vaultData, onUpdateVaultData, onProceed}: TVaultActionInner): ReactElement {
const {provider, address} = useWeb3();
const chain = useChain();
const chainCoin = chain.getCurrent()?.coin || 'ETH';
const {chain} = useNetwork();
const chainCoin = chain?.nativeCurrency.symbol || 'ETH';

/**************************************************************************
** State management for our actions
Expand Down Expand Up @@ -170,8 +169,8 @@ function VaultActionApeIn({vault, vaultData, onUpdateVaultData, onProceed}: TVau
**************************************************************************/
const yearnRouterForChain = (process?.env?.YEARN_ROUTER as TNDict<string>)[vault.CHAIN_ID];
const vaultSpender = vault.VAULT_ABI === 'v3' ? yearnRouterForChain : vault.VAULT_ADDR;
const chain = useChain();
const chainCoin = chain.getCurrent()?.coin || 'ETH';
const {chain} = useNetwork();
const chainCoin = chain?.nativeCurrency.symbol || 'ETH';

/**************************************************************************
** State management for our actions
Expand Down Expand Up @@ -452,7 +451,7 @@ type TVaultAction = {
function VaultAction({vault, vaultData, onUpdateVaultData}: TVaultAction): ReactElement {
const {provider, address} = useWeb3();
const {chain} = useNetwork();
const chainId = chain?.id
const chainId = chain?.id;

/**************************************************************************
** fetchPostDepositOrWithdraw will
Expand Down
6 changes: 3 additions & 3 deletions components/VaultDetails.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {useEffect, useState} from 'react';
import {useNetwork} from 'wagmi';
import ProgressChart from 'components/ProgressChart';
import Suspense from 'components/Suspense';
import {useChain} from 'hook/useChain';
import useSWR from 'swr';
import {baseFetcher} from '@yearn-finance/web-lib/utils/fetchers';
import {formatAmount} from '@yearn-finance/web-lib/utils/format.number';
Expand All @@ -11,8 +11,8 @@ import type {ReactElement} from 'react';
import type {Maybe, TSpecificAPIResult, TVault, TVaultData} from 'utils/types';

function VaultDetails({vault, vaultData}: {vault: TVault, vaultData: TVaultData}): ReactElement {
const chain = useChain();
const chainExplorer = chain.getCurrent()?.block_explorer || 'https://etherscan.io';
const {chain} = useNetwork();
const chainExplorer = chain?.blockExplorers?.default?.url || 'https://etherscan.io';

const {data: vaultAPYSWR, isLoading} = useSWR<Maybe<TSpecificAPIResult>>(`/api/specificApy?address=${vault?.VAULT_ADDR}&network=${vault?.CHAIN_ID}`, baseFetcher, {revalidateOnMount: true, revalidateOnReconnect: true, shouldRetryOnError: true});

Expand Down
8 changes: 4 additions & 4 deletions components/VaultStrategies.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {Fragment, useCallback, useEffect, useState} from 'react';
import {useChain} from 'hook/useChain';
import {useNetwork} from 'wagmi';
import {harvestStrategy} from 'utils/actions';
import {parseMarkdown, performGet} from 'utils/utils';
import {erc20ABI, multicall, readContract} from '@wagmi/core';
Expand All @@ -20,9 +20,9 @@ type TStrategies = {
onUpdateVaultData: (fn: (v: TVaultData) => TVaultData) => void
}
function Strategies({vault, onUpdateVaultData}: TStrategies): ReactElement {
const chain = useChain();
const {safeChainID} = useChainID();
const chainExplorer = chain.getCurrent()?.block_explorer || 'https://etherscan.io';
const {chain} = useNetwork();
const {safeChainID} = useChainID();
const chainExplorer = chain?.blockExplorers?.default?.url || 'https://etherscan.io';
const {provider, isActive, address} = useWeb3();
const [strategiesData, set_strategiesData] = useState<TDict<TStrategyData>>({});
const [, set_nonce] = useState(0);
Expand Down
6 changes: 3 additions & 3 deletions components/VaultWallet.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {useChain} from 'hook/useChain';
import {useNetwork} from 'wagmi';
import {useWeb3} from '@yearn-finance/web-lib/contexts/useWeb3';
import {toAddress, truncateHex} from '@yearn-finance/web-lib/utils/address';
import {formatAmount} from '@yearn-finance/web-lib/utils/format.number';
Expand All @@ -8,8 +8,8 @@ import type {TVault, TVaultData} from 'utils/types';

function VaultWallet({vault, vaultData}: {vault: TVault, vaultData: TVaultData}): ReactElement {
const {address, ens} = useWeb3();
const chain = useChain();
const chainCoin = chain.getCurrent()?.coin || 'ETH';
const {chain} = useNetwork();
const chainCoin = chain?.nativeCurrency.symbol || 'ETH';

return (
<section aria-label={'WALLET'} className={'mt-8'}>
Expand Down
29 changes: 0 additions & 29 deletions hook/useChain.ts

This file was deleted.

7 changes: 4 additions & 3 deletions pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {Fragment, useCallback, useEffect, useState} from 'react';
import Link from 'next/link';
import {useFactory} from 'contexts/useFactory';
import GraphemeSplitter from 'grapheme-splitter';
import {useChain} from 'hook/useChain';
import {useNetwork} from 'wagmi';
import vaults from 'utils/vaults.json';
import useSWR from 'swr';
import {erc20ABI, multicall} from '@wagmi/core';
Expand Down Expand Up @@ -107,7 +107,8 @@ function DisabledVaults({vaultsInactive}: {vaultsInactive: TVault[]}): ReactElem
function Index(): ReactElement {
const {isActive, address} = useWeb3();
const {safeChainID} = useChainID();
const chain = useChain();
const {chain} = useNetwork();
const chainName = chain?.name || 'Chain';
const {communityVaults} = useFactory();
const [, set_nonce] = useState(0);
const [vaultsActiveExperimental, set_vaultsActiveExperimental] = useState<TVault[]>([]);
Expand Down Expand Up @@ -223,7 +224,7 @@ function Index(): ReactElement {
<div>
<div>
<span className={'font-mono text-base font-semibold text-neutral-900'}>
{`${chain.getCurrent()?.displayName || 'Chain'} TVL:`}
{`${chainName || 'Chain'} TVL:`}
</span>
<span className={'font-mono text-base font-normal text-neutral-700'}>
{` $${formatAmount(tvl?.tvl, 2)}`}
Expand Down

0 comments on commit 2b643ce

Please sign in to comment.