1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-12-02 05:57:29 +01:00

remove all useWeb3 imports

This commit is contained in:
Matthias Kretschmann 2023-01-19 00:22:32 +00:00
parent feafce022b
commit 25d17b4d7d
Signed by: m
GPG Key ID: 606EEEF3C479A91F
13 changed files with 38 additions and 38 deletions

View File

@ -1,18 +1,19 @@
import { useEffect, useState } from 'react' import { useEffect, useState } from 'react'
import { NftFactory } from '@oceanprotocol/lib' import { NftFactory } from '@oceanprotocol/lib'
import { useWeb3 } from '@hooks/useBalance'
import { getOceanConfig } from '@utils/ocean' import { getOceanConfig } from '@utils/ocean'
import { useNetwork } from 'wagmi'
function useNftFactory(): NftFactory { function useNftFactory(): NftFactory {
const { web3, chainId } = useWeb3() const { chain } = useNetwork()
const [nftFactory, setNftFactory] = useState<NftFactory>() const [nftFactory, setNftFactory] = useState<NftFactory>()
useEffect(() => { useEffect(() => {
if (!web3 || !chainId) return if (!web3 || !chain?.id) return
const config = getOceanConfig(chainId)
const config = getOceanConfig(chain.id)
const factory = new NftFactory(config?.nftFactoryAddress, web3) const factory = new NftFactory(config?.nftFactoryAddress, web3)
setNftFactory(factory) setNftFactory(factory)
}, [web3, chainId]) }, [web3, chain?.id])
return nftFactory return nftFactory
} }

View File

@ -67,7 +67,7 @@ export function generateNftCreateData(
nftMetadata: NftMetadata, nftMetadata: NftMetadata,
accountId: string, accountId: string,
transferable = true transferable = true
): any { ): NftCreateData {
const nftCreateData: NftCreateData = { const nftCreateData: NftCreateData = {
name: nftMetadata.name, name: nftMetadata.name,
symbol: nftMetadata.symbol, symbol: nftMetadata.symbol,

View File

@ -2,8 +2,6 @@ import React, { FormEvent, ReactElement } from 'react'
import Button from '../../../@shared/atoms/Button' import Button from '../../../@shared/atoms/Button'
import styles from './index.module.css' import styles from './index.module.css'
import Loader from '../../../@shared/atoms/Loader' import Loader from '../../../@shared/atoms/Loader'
import { useWeb3 } from '@hooks/useBalance'
import Web3 from 'web3'
export interface ButtonBuyProps { export interface ButtonBuyProps {
action: 'download' | 'compute' action: 'download' | 'compute'
@ -185,7 +183,6 @@ export default function ButtonBuy({
retry, retry,
isSupportedOceanNetwork isSupportedOceanNetwork
}: ButtonBuyProps): ReactElement { }: ButtonBuyProps): ReactElement {
const { web3 } = useWeb3()
const buttonText = retry const buttonText = retry
? 'Retry' ? 'Retry'
: action === 'download' : action === 'download'

View File

@ -7,7 +7,6 @@ import { compareAsBN } from '@utils/numbers'
import ButtonBuy from '../ButtonBuy' import ButtonBuy from '../ButtonBuy'
import PriceOutput from './PriceOutput' import PriceOutput from './PriceOutput'
import { useAsset } from '@context/Asset' import { useAsset } from '@context/Asset'
import { useWeb3 } from '@hooks/useBalance'
import content from '../../../../../content/pages/startComputeDataset.json' import content from '../../../../../content/pages/startComputeDataset.json'
import { Asset, ZERO_ADDRESS } from '@oceanprotocol/lib' import { Asset, ZERO_ADDRESS } from '@oceanprotocol/lib'
import { getAccessDetails } from '@utils/accessDetailsAndPricing' import { getAccessDetails } from '@utils/accessDetailsAndPricing'
@ -16,6 +15,9 @@ import Alert from '@shared/atoms/Alert'
import { getTokenBalanceFromSymbol } from '@utils/web3' import { getTokenBalanceFromSymbol } from '@utils/web3'
import { MAX_DECIMALS } from '@utils/constants' import { MAX_DECIMALS } from '@utils/constants'
import Decimal from 'decimal.js' import Decimal from 'decimal.js'
import { useAccount } from 'wagmi'
import useBalance from '@hooks/useBalance'
import useNetworkMetadata from '@hooks/useNetworkMetadata'
export default function FormStartCompute({ export default function FormStartCompute({
algorithms, algorithms,
@ -77,7 +79,9 @@ export default function FormStartCompute({
retry: boolean retry: boolean
}): ReactElement { }): ReactElement {
const { siteContent } = useMarketMetadata() const { siteContent } = useMarketMetadata()
const { accountId, balance, isSupportedOceanNetwork } = useWeb3() const { address: accountId } = useAccount()
const { balance } = useBalance()
const { isSupportedOceanNetwork } = useNetworkMetadata()
const { isValid, values }: FormikContextType<{ algorithm: string }> = const { isValid, values }: FormikContextType<{ algorithm: string }> =
useFormikContext() useFormikContext()
const { asset, isAssetNetwork } = useAsset() const { asset, isAssetNetwork } = useAsset()

View File

@ -5,7 +5,7 @@ import Tooltip from '@shared/atoms/Tooltip'
import styles from './PriceOutput.module.css' import styles from './PriceOutput.module.css'
import { MAX_DECIMALS } from '@utils/constants' import { MAX_DECIMALS } from '@utils/constants'
import Decimal from 'decimal.js' import Decimal from 'decimal.js'
import { useWeb3 } from '@hooks/useBalance' import useNetworkMetadata from '@hooks/useNetworkMetadata'
interface PriceOutputProps { interface PriceOutputProps {
hasPreviousOrder: boolean hasPreviousOrder: boolean
@ -42,7 +42,7 @@ function Row({
sign?: string sign?: string
type?: string type?: string
}) { }) {
const { isSupportedOceanNetwork } = useWeb3() const { isSupportedOceanNetwork } = useNetworkMetadata()
return ( return (
<div className={styles.priceRow}> <div className={styles.priceRow}>

View File

@ -19,7 +19,6 @@ import { toast } from 'react-toastify'
import Price from '@shared/Price' import Price from '@shared/Price'
import FileIcon from '@shared/FileIcon' import FileIcon from '@shared/FileIcon'
import Alert from '@shared/atoms/Alert' import Alert from '@shared/atoms/Alert'
import { useWeb3 } from '@hooks/useBalance'
import { Formik } from 'formik' import { Formik } from 'formik'
import { getInitialValues, validationSchema } from './_constants' import { getInitialValues, validationSchema } from './_constants'
import FormStartComputeDataset from './FormComputeDataset' import FormStartComputeDataset from './FormComputeDataset'
@ -46,8 +45,10 @@ import { getComputeFeedback } from '@utils/feedback'
import { initializeProviderForCompute } from '@utils/provider' import { initializeProviderForCompute } from '@utils/provider'
import { useUserPreferences } from '@context/UserPreferences' import { useUserPreferences } from '@context/UserPreferences'
import { useAsset } from '@context/Asset' import { useAsset } from '@context/Asset'
import { useAccount } from 'wagmi'
const refreshInterval = 10000 // 10 sec. const refreshInterval = 10000 // 10 sec.
export default function Compute({ export default function Compute({
asset, asset,
dtBalance, dtBalance,
@ -61,7 +62,7 @@ export default function Compute({
fileIsLoading?: boolean fileIsLoading?: boolean
consumableFeedback?: string consumableFeedback?: string
}): ReactElement { }): ReactElement {
const { accountId, web3, isSupportedOceanNetwork, networkId } = useWeb3() const { address: accountId } = useAccount()
const { chainIds } = useUserPreferences() const { chainIds } = useUserPreferences()
const { isAssetNetwork } = useAsset() const { isAssetNetwork } = useAsset()

View File

@ -2,7 +2,6 @@ import React, { ReactElement, useEffect, useState } from 'react'
import FileIcon from '@shared/FileIcon' import FileIcon from '@shared/FileIcon'
import Price from '@shared/Price' import Price from '@shared/Price'
import { useAsset } from '@context/Asset' import { useAsset } from '@context/Asset'
import { useWeb3 } from '@hooks/useBalance'
import ButtonBuy from './ButtonBuy' import ButtonBuy from './ButtonBuy'
import { secondsToString } from '@utils/ddo' import { secondsToString } from '@utils/ddo'
import AlgorithmDatasetsListForCompute from './Compute/AlgorithmDatasetsListForCompute' import AlgorithmDatasetsListForCompute from './Compute/AlgorithmDatasetsListForCompute'
@ -17,6 +16,8 @@ import { useIsMounted } from '@hooks/useIsMounted'
import { useMarketMetadata } from '@context/MarketMetadata' import { useMarketMetadata } from '@context/MarketMetadata'
import Alert from '@shared/atoms/Alert' import Alert from '@shared/atoms/Alert'
import Loader from '@shared/atoms/Loader' import Loader from '@shared/atoms/Loader'
import { useAccount } from 'wagmi'
import useNetworkMetadata from '@hooks/useNetworkMetadata'
export default function Download({ export default function Download({
asset, asset,
@ -33,7 +34,8 @@ export default function Download({
fileIsLoading?: boolean fileIsLoading?: boolean
consumableFeedback?: string consumableFeedback?: string
}): ReactElement { }): ReactElement {
const { accountId, web3, isSupportedOceanNetwork } = useWeb3() const { address: accountId } = useAccount()
const { isSupportedOceanNetwork } = useNetworkMetadata()
const { getOpcFeeForToken } = useMarketMetadata() const { getOpcFeeForToken } = useMarketMetadata()
const { isInPurgatory, isAssetNetwork } = useAsset() const { isInPurgatory, isAssetNetwork } = useAsset()
const isMounted = useIsMounted() const isMounted = useIsMounted()

View File

@ -1,4 +1,3 @@
import { useWeb3 } from '@hooks/useBalance'
import { Formik } from 'formik' import { Formik } from 'formik'
import React, { ReactElement, useState } from 'react' import React, { ReactElement, useState } from 'react'
import FormEditComputeDataset from './FormEditComputeDataset' import FormEditComputeDataset from './FormEditComputeDataset'
@ -24,6 +23,7 @@ import { useAsset } from '@context/Asset'
import EditFeedback from './EditFeedback' import EditFeedback from './EditFeedback'
import { setNftMetadata } from '@utils/nft' import { setNftMetadata } from '@utils/nft'
import { ComputeEditForm } from './_types' import { ComputeEditForm } from './_types'
import { useAccount } from 'wagmi'
export default function EditComputeDataset({ export default function EditComputeDataset({
asset asset
@ -31,7 +31,7 @@ export default function EditComputeDataset({
asset: AssetExtended asset: AssetExtended
}): ReactElement { }): ReactElement {
const { debug } = useUserPreferences() const { debug } = useUserPreferences()
const { accountId, web3 } = useWeb3() const { address: accountId } = useAccount()
const { fetchAsset, isAssetNetwork } = useAsset() const { fetchAsset, isAssetNetwork } = useAsset()
const [success, setSuccess] = useState<string>() const [success, setSuccess] = useState<string>()
const [error, setError] = useState<string>() const [error, setError] = useState<string>()

View File

@ -12,7 +12,6 @@ import {
import { validationSchema } from './_validation' import { validationSchema } from './_validation'
import { getInitialValues } from './_constants' import { getInitialValues } from './_constants'
import { MetadataEditForm } from './_types' import { MetadataEditForm } from './_types'
import { useWeb3 } from '@hooks/useBalance'
import { useUserPreferences } from '@context/UserPreferences' import { useUserPreferences } from '@context/UserPreferences'
import Web3Feedback from '@shared/Web3Feedback' import Web3Feedback from '@shared/Web3Feedback'
import FormEditMetadata from './FormEditMetadata' import FormEditMetadata from './FormEditMetadata'
@ -28,6 +27,7 @@ import { setNftMetadata } from '@utils/nft'
import { sanitizeUrl } from '@utils/url' import { sanitizeUrl } from '@utils/url'
import { getEncryptedFiles } from '@utils/provider' import { getEncryptedFiles } from '@utils/provider'
import { assetStateToNumber } from '@utils/assetState' import { assetStateToNumber } from '@utils/assetState'
import { useAccount } from 'wagmi'
export default function Edit({ export default function Edit({
asset asset
@ -36,7 +36,7 @@ export default function Edit({
}): ReactElement { }): ReactElement {
const { debug } = useUserPreferences() const { debug } = useUserPreferences()
const { fetchAsset, isAssetNetwork, assetState } = useAsset() const { fetchAsset, isAssetNetwork, assetState } = useAsset()
const { accountId, web3 } = useWeb3() const { address: accountId } = useAccount()
const newAbortController = useAbortController() const newAbortController = useAbortController()
const [success, setSuccess] = useState<string>() const [success, setSuccess] = useState<string>()
const [paymentCollector, setPaymentCollector] = useState<string>() const [paymentCollector, setPaymentCollector] = useState<string>()

View File

@ -10,9 +10,9 @@ import Button from '@shared/atoms/Button'
import styles from './Results.module.css' import styles from './Results.module.css'
import FormHelp from '@shared/FormInput/Help' import FormHelp from '@shared/FormInput/Help'
import content from '../../../../../content/pages/history.json' import content from '../../../../../content/pages/history.json'
import { useWeb3 } from '@hooks/useBalance'
import { useCancelToken } from '@hooks/useCancelToken' import { useCancelToken } from '@hooks/useCancelToken'
import { getAsset } from '@utils/aquarius' import { getAsset } from '@utils/aquarius'
import { useAccount } from 'wagmi'
export default function Results({ export default function Results({
job job
@ -20,7 +20,7 @@ export default function Results({
job: ComputeJobMetaData job: ComputeJobMetaData
}): ReactElement { }): ReactElement {
const providerInstance = new Provider() const providerInstance = new Provider()
const { accountId, web3 } = useWeb3() const { address: accountId } = useAccount()
const isFinished = job.dateFinished !== null const isFinished = job.dateFinished !== null
const [datasetProvider, setDatasetProvider] = useState<string>() const [datasetProvider, setDatasetProvider] = useState<string>()

View File

@ -17,7 +17,6 @@ import { mapTimeoutStringToSeconds } from '@utils/ddo'
import { generateNftCreateData } from '@utils/nft' import { generateNftCreateData } from '@utils/nft'
import { getEncryptedFiles } from '@utils/provider' import { getEncryptedFiles } from '@utils/provider'
import slugify from 'slugify' import slugify from 'slugify'
import Web3 from 'web3'
import { algorithmContainerPresets } from './_constants' import { algorithmContainerPresets } from './_constants'
import { FormPublishData, MetadataAlgorithmContainer } from './_types' import { FormPublishData, MetadataAlgorithmContainer } from './_types'
import { import {
@ -28,6 +27,7 @@ import {
} from '../../../app.config' } from '../../../app.config'
import { sanitizeUrl } from '@utils/url' import { sanitizeUrl } from '@utils/url'
import { getContainerChecksum } from '@utils/docker' import { getContainerChecksum } from '@utils/docker'
import { utils } from 'ethers'
function getUrlFileExtension(fileUrl: string): string { function getUrlFileExtension(fileUrl: string): string {
const splittedFileUrl = fileUrl.split('.') const splittedFileUrl = fileUrl.split('.')
@ -206,8 +206,7 @@ export async function createTokensAndPricing(
values: FormPublishData, values: FormPublishData,
accountId: string, accountId: string,
config: Config, config: Config,
nftFactory: NftFactory, nftFactory: NftFactory
web3: Web3
) { ) {
const nftCreateData: NftCreateData = generateNftCreateData( const nftCreateData: NftCreateData = generateNftCreateData(
values.metadata.nft, values.metadata.nft,
@ -274,8 +273,8 @@ export async function createTokensAndPricing(
// both will be just 1 for the market // both will be just 1 for the market
const dispenserParams: DispenserCreationParams = { const dispenserParams: DispenserCreationParams = {
dispenserAddress: config.dispenserAddress, dispenserAddress: config.dispenserAddress,
maxTokens: web3.utils.toWei('1'), maxTokens: utils.parseEther('1').toString(),
maxBalance: web3.utils.toWei('1'), maxBalance: utils.parseEther('1').toString(),
withMint: true, withMint: true,
allowedSwapper: ZERO_ADDRESS allowedSwapper: ZERO_ADDRESS
} }

View File

@ -2,7 +2,6 @@ import React, { ReactElement, useState, useRef } from 'react'
import { Form, Formik } from 'formik' import { Form, Formik } from 'formik'
import { initialPublishFeedback, initialValues } from './_constants' import { initialPublishFeedback, initialValues } from './_constants'
import { useAccountPurgatory } from '@hooks/useAccountPurgatory' import { useAccountPurgatory } from '@hooks/useAccountPurgatory'
import { useWeb3 } from '@hooks/useBalance'
import { createTokensAndPricing, transformPublishFormToDdo } from './_utils' import { createTokensAndPricing, transformPublishFormToDdo } from './_utils'
import PageHeader from '@shared/Page/PageHeader' import PageHeader from '@shared/Page/PageHeader'
import Title from './Title' import Title from './Title'
@ -19,6 +18,7 @@ import { getOceanConfig } from '@utils/ocean'
import { validationSchema } from './_validation' import { validationSchema } from './_validation'
import { useAbortController } from '@hooks/useAbortController' import { useAbortController } from '@hooks/useAbortController'
import { setNFTMetadataAndTokenURI } from '@utils/nft' import { setNFTMetadataAndTokenURI } from '@utils/nft'
import { useAccount, useNetwork } from 'wagmi'
export default function PublishPage({ export default function PublishPage({
content content
@ -26,7 +26,8 @@ export default function PublishPage({
content: { title: string; description: string; warning: string } content: { title: string; description: string; warning: string }
}): ReactElement { }): ReactElement {
const { debug } = useUserPreferences() const { debug } = useUserPreferences()
const { accountId, web3, chainId } = useWeb3() const { address: accountId } = useAccount()
const { chain } = useNetwork()
const { isInPurgatory, purgatoryData } = useAccountPurgatory(accountId) const { isInPurgatory, purgatoryData } = useAccountPurgatory(accountId)
const scrollToRef = useRef() const scrollToRef = useRef()
const nftFactory = useNftFactory() const nftFactory = useNftFactory()
@ -60,17 +61,11 @@ export default function PublishPage({
})) }))
try { try {
const config = getOceanConfig(chainId) const config = getOceanConfig(chain?.id)
LoggerInstance.log('[publish] using config: ', config) LoggerInstance.log('[publish] using config: ', config)
const { erc721Address, datatokenAddress, txHash } = const { erc721Address, datatokenAddress, txHash } =
await createTokensAndPricing( await createTokensAndPricing(values, accountId, config, nftFactory)
values,
accountId,
config,
nftFactory,
web3
)
const isSuccess = Boolean(erc721Address && datatokenAddress && txHash) const isSuccess = Boolean(erc721Address && datatokenAddress && txHash)
if (!isSuccess) throw new Error('No Token created. Please try again.') if (!isSuccess) throw new Error('No Token created. Please try again.')

View File

@ -15,6 +15,7 @@ export default function PageProfile(): ReactElement {
const [finalAccountId, setFinalAccountId] = useState<string>() const [finalAccountId, setFinalAccountId] = useState<string>()
const [finalAccountEns, setFinalAccountEns] = useState<string>() const [finalAccountEns, setFinalAccountEns] = useState<string>()
const [ownAccount, setOwnAccount] = useState(false) const [ownAccount, setOwnAccount] = useState(false)
// Have accountId in path take over, if not present fall back to web3 // Have accountId in path take over, if not present fall back to web3
useEffect(() => { useEffect(() => {
async function init() { async function init() {