diff --git a/src/hooks/useMetadata/useMetadata.ts b/src/hooks/useMetadata/useMetadata.ts index 3d9b037..bdf5eac 100644 --- a/src/hooks/useMetadata/useMetadata.ts +++ b/src/hooks/useMetadata/useMetadata.ts @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react' import { DID, DDO, Metadata, MetadataStore, Logger } from '@oceanprotocol/lib' import { useOcean } from '../../providers' import ProviderStatus from '../../providers/OceanProvider/ProviderStatus' -import { getBestDataTokenPrice } from '../../utils/dtUtils' +import { getBestDataTokenPrice, getCheapestPool } from '../../utils/dtUtils' interface UseMetadata { ddo: DDO @@ -12,6 +12,9 @@ interface UseMetadata { getMetadata: (did: DID | string) => Promise getTitle: (did: DID | string) => Promise getBestPrice: (dataTokenAddress: string) => Promise + getBestPool: ( + dataTokenAddress: string + ) => Promise<{ poolAddress: string; poolPrice: string }> } function useMetadata(did?: DID | string): UseMetadata { @@ -35,6 +38,11 @@ function useMetadata(did?: DID | string): UseMetadata { async function getBestPrice(dataTokenAddress: string): Promise { return await getBestDataTokenPrice(ocean, accountId, dataTokenAddress) } + async function getBestPool( + dataTokenAddress: string + ): Promise<{ poolAddress: string; poolPrice: string }> { + return await getCheapestPool(ocean, accountId, dataTokenAddress) + } async function getMetadata(did: DID | string): Promise { const ddo = await getDDO(did) @@ -68,7 +76,8 @@ function useMetadata(did?: DID | string): UseMetadata { getDDO, getMetadata, getTitle, - getBestPrice + getBestPrice, + getBestPool } }