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

wip compute jobs

This commit is contained in:
Bogdan Fazakas 2022-03-08 01:13:36 +02:00
parent f1f1c17535
commit 95a65e784d
2 changed files with 59 additions and 68 deletions

View File

@ -8,7 +8,8 @@ import {
DDO,
Service,
ProviderInstance,
ComputeEnvironment
ComputeEnvironment,
ComputeJob
} from '@oceanprotocol/lib'
import { CancelToken } from 'axios'
import { gql } from 'urql'
@ -24,6 +25,7 @@ import { getOceanConfig } from './ocean'
import { SortTermOptions } from 'src/@types/aquarius/SearchQuery'
import { AssetSelectionAsset } from '@shared/FormFields/AssetSelection'
import { transformAssetToAssetSelection } from './assetConvertor'
import { AssetExtended } from 'src/@types/AssetExtended'
const getComputeOrders = gql`
query ComputeOrders($user: String!) {
@ -321,75 +323,64 @@ function getServiceEndpoints(data: TokenOrder[], assets: Asset[]): string[] {
// return computeJobs
// }
// function getDtList(data: TokenOrder[]): string[] {
// const dtList = []
export async function getComputeJobs(
chainIds: number[],
accountId: string,
asset?: AssetExtended,
token?: CancelToken
): Promise<ComputeResults> {
if (!accountId) return
const assetDTAddress = asset.datatokens[0].address
const computeResult: ComputeResults = {
computeJobs: [],
isLoaded: false
}
let isLoading = true
const variables = assetDTAddress
? {
user: accountId.toLowerCase(),
datatokenAddress: assetDTAddress.toLowerCase()
}
: {
user: accountId.toLowerCase()
}
// for (let i = 0; i < data.length; i++) {
// dtList.push(data[i].datatokenId.address)
// }
const results = await fetchDataForMultipleChains(
assetDTAddress ? getComputeOrdersByDatatokenAddress : getComputeOrders,
variables,
assetDTAddress ? [asset?.chainId] : chainIds
)
// return dtList
// }
let data: TokenOrder[] = results.map((result) =>
result.tokenOrders.forEach((tokenOrder: TokenOrder) => {
return tokenOrder
})
)
// export async function getComputeJobs(
// chainIds: number[],
// account: Account,
// ddo?: Asset,
// token?: CancelToken
// ): Promise<ComputeResults> {
// const assetDTAddress = ddo?.dataTokenInfo?.address
// let computeResult: ComputeResults = {
// computeJobs: [],
// isLoaded: false
// }
// let isLoading = true
// const variables = assetDTAddress
// ? {
// user: account?.getId().toLowerCase(),
// datatokenAddress: assetDTAddress.toLowerCase()
// }
// : {
// user: account?.getId().toLowerCase()
// }
if (data.length === 0) {
return computeResult
}
// const result = await fetchDataForMultipleChains(
// assetDTAddress ? getComputeOrdersByDatatokenAddress : getComputeOrders,
// variables,
// assetDTAddress ? [ddo?.chainId] : chainIds
// )
// let data: TokenOrder[] = []
// for (let i = 0; i < result.length; i++) {
// if (!result[i]?.tokenOrders || result[i].tokenOrders.length === 0) continue
// result[i]?.tokenOrders.forEach((tokenOrder: TokenOrder) => {
// data.push(tokenOrder)
// })
// }
// if (!ocean || !account || !data) return
data = data.sort((a, b) => b.timestamp - a.timestamp)
const queryDtList = data.map((tokenOrder) => tokenOrder.datatokenId.address)
if (!queryDtList) return
// if (data.length === 0) {
// return computeResult
// }
const assets = await getAssetMetadata(queryDtList, token, chainIds)
const serviceEndpoints = getServiceEndpoints(data, assets)
// const providers: Provider[] = await getProviders(
// serviceEndpoints,
// config,
// ocean
// )
// const computeJobs = await getJobs(providers, account, assets)
isLoading = false
// computeResult = {
// computeJobs: computeJobs,
// isLoaded: isLoading
// }
// data = data.sort((a, b) => b.timestamp - a.timestamp)
// const queryDtList = getDtList(data)
// if (!queryDtList) return
// const assets = await getAssetMetadata(queryDtList, token, chainIds)
// const serviceEndpoints = getServiceEndpoints(data, assets)
// const providers: Provider[] = await getProviders(
// serviceEndpoints,
// config,
// ocean
// )
// const computeJobs = await getJobs(providers, account, assets)
// isLoading = false
// computeResult = {
// computeJobs: computeJobs,
// isLoaded: isLoading
// }
// return computeResult
// }
return computeResult
}
export async function createTrustedAlgorithmList(
selectedAlgorithms: string[], // list of DIDs,

View File

@ -10,7 +10,7 @@ import Details from './Details'
import Refresh from '@images/refresh.svg'
import { useUserPreferences } from '@context/UserPreferences'
import NetworkName from '@shared/NetworkName'
// import { getComputeJobs } from '@utils/compute'
import { getComputeJobs } from '@utils/compute'
import styles from './index.module.css'
import { useAsset } from '@context/Asset'
import { useIsMounted } from '@hooks/useIsMounted'
@ -90,9 +90,9 @@ export default function ComputeJobs({
}
try {
setIsLoading(true)
// const jobs = await getComputeJobs(chainIds, accountId, ddo)
// isMounted() && setJobs(jobs.computeJobs)
// setIsLoading(jobs.isLoaded)
const jobs = await getComputeJobs(chainIds, accountId, asset)
isMounted() && setJobs(jobs.computeJobs)
setIsLoading(jobs.isLoaded)
} catch (error) {
LoggerInstance.error(error.message)
}