diff --git a/src/components/organisms/AssetActions/Compute/index.tsx b/src/components/organisms/AssetActions/Compute/index.tsx
index 3286acb75..c716ab58b 100644
--- a/src/components/organisms/AssetActions/Compute/index.tsx
+++ b/src/components/organisms/AssetActions/Compute/index.tsx
@@ -3,7 +3,6 @@ import {
DDO,
File as FileMetadata,
Logger,
- ServiceType,
publisherTrustedAlgorithm,
BestPrice
} from '@oceanprotocol/lib'
@@ -34,11 +33,8 @@ import FormStartComputeDataset from './FormComputeDataset'
import styles from './index.module.css'
import SuccessConfetti from '../../../atoms/SuccessConfetti'
import Button from '../../../atoms/Button'
-import { gql, useQuery } from '@apollo/client'
-import { FrePrice } from '../../../../@types/apollo/FrePrice'
-import { PoolPrice } from '../../../../@types/apollo/PoolPrice'
import { secondsToString } from '../../../../utils/metadata'
-import { getPreviousOrders } from '../../../../utils/subgraph'
+import { getPreviousOrders, getPrice } from '../../../../utils/subgraph'
const SuccessAction = () => (
)
-const freQuery = gql`
- query AlgorithmFrePrice($datatoken: String) {
- fixedRateExchanges(orderBy: id, where: { datatoken: $datatoken }) {
- rate
- id
- }
- }
-`
-const poolQuery = gql`
- query AlgorithmPoolPrice($datatoken: String) {
- pools(where: { datatokenAddress: $datatoken }) {
- spotPrice
- }
- }
-`
-
export default function Compute({
isBalanceSufficient,
dtBalance,
@@ -91,7 +71,6 @@ export default function Compute({
)
const [algorithmDTBalance, setalgorithmDTBalance] = useState()
const [algorithmPrice, setAlgorithmPrice] = useState()
- const [variables, setVariables] = useState({})
const [
previousAlgorithmOrderId,
setPreviousAlgorithmOrderId
@@ -99,25 +78,6 @@ export default function Compute({
const [datasetTimeout, setDatasetTimeout] = useState()
const [algorithmTimeout, setAlgorithmTimeout] = useState()
- /* eslint-disable @typescript-eslint/no-unused-vars */
- const {
- refetch: refetchFre,
- startPolling: startPollingFre,
- data: frePrice
- } = useQuery(freQuery, {
- variables,
- skip: false
- })
- const {
- refetch: refetchPool,
- startPolling: startPollingPool,
- data: poolPrice
- } = useQuery(poolQuery, {
- variables,
- skip: false
- })
- /* eslint-enable @typescript-eslint/no-unused-vars */
-
const isComputeButtonDisabled =
isJobStarting === true || file === null || !ocean || !isBalanceSufficient
const hasDatatoken = Number(dtBalance) >= 1
@@ -211,37 +171,10 @@ export default function Compute({
setDatasetTimeout(secondsToString(timeout))
}, [ddo])
- useEffect(() => {
- if (
- !frePrice ||
- frePrice.fixedRateExchanges.length === 0 ||
- algorithmPrice.type !== 'exchange'
- )
- return
- setAlgorithmPrice((prevState) => ({
- ...prevState,
- value: frePrice.fixedRateExchanges[0].rate,
- address: frePrice.fixedRateExchanges[0].id
- }))
- }, [frePrice])
-
- useEffect(() => {
- if (
- !poolPrice ||
- poolPrice.pools.length === 0 ||
- algorithmPrice.type !== 'pool'
- )
- return
- setAlgorithmPrice((prevState) => ({
- ...prevState,
- value: poolPrice.pools[0].spotPrice
- }))
- }, [poolPrice])
-
const initMetadata = useCallback(async (ddo: DDO): Promise => {
if (!ddo) return
- setAlgorithmPrice(ddo.price)
- setVariables({ datatoken: ddo?.dataToken.toLowerCase() })
+ const price = await getPrice(ddo)
+ setAlgorithmPrice(price)
}, [])
useEffect(() => {