diff --git a/src/@utils/nft.ts b/src/@utils/nft.ts index 8eef3fef6..3f2ae08a7 100644 --- a/src/@utils/nft.ts +++ b/src/@utils/nft.ts @@ -5,7 +5,8 @@ import { Nft, ProviderInstance, DDO, - MetadataAndTokenURI + MetadataAndTokenURI, + NftCreateData } from '@oceanprotocol/lib' import { SvgWaves } from './SvgWaves' import Web3 from 'web3' @@ -64,13 +65,15 @@ const tokenUriPrefix = 'data:application/json;base64,' export function generateNftCreateData( nftMetadata: NftMetadata, - accountId: string + accountId: string, + transferable = true ): any { - const nftCreateData = { + const nftCreateData: NftCreateData = { name: nftMetadata.name, symbol: nftMetadata.symbol, templateIndex: 1, tokenURI: '', + transferable, owner: accountId } diff --git a/src/components/Publish/_constants.tsx b/src/components/Publish/_constants.tsx index 42b1ecb14..8a9223197 100644 --- a/src/components/Publish/_constants.tsx +++ b/src/components/Publish/_constants.tsx @@ -53,6 +53,7 @@ export const initialValues: FormPublishData = { }, metadata: { nft: { name: '', symbol: '', description: '', image_data: '' }, + transferable: true, type: 'dataset', name: '', author: '', diff --git a/src/components/Publish/_types.ts b/src/components/Publish/_types.ts index a2acb06d2..1df06f1c1 100644 --- a/src/components/Publish/_types.ts +++ b/src/components/Publish/_types.ts @@ -29,6 +29,7 @@ export interface FormPublishData { } metadata: { nft: NftMetadata + transferable: boolean type: 'dataset' | 'algorithm' name: string description: string diff --git a/src/components/Publish/_utils.ts b/src/components/Publish/_utils.ts index 7844c416b..7ca0813e4 100644 --- a/src/components/Publish/_utils.ts +++ b/src/components/Publish/_utils.ts @@ -181,8 +181,7 @@ export async function transformPublishFormToDdo( } ], nft: { - ...generateNftCreateData(values?.metadata.nft, accountId), - owner: accountId + ...generateNftCreateData(values?.metadata.nft, accountId) } }) } @@ -199,7 +198,8 @@ export async function createTokensAndPricing( ) { const nftCreateData: NftCreateData = generateNftCreateData( values.metadata.nft, - accountId + accountId, + values.metadata.transferable ) const { appConfig } = getSiteMetadata() LoggerInstance.log('[publish] Creating NFT with metadata', nftCreateData)