import React from 'react' import { allowDynamicPricing, allowFixedPricing } from '../../../app.config.js' import { FormPublishData, PublishFeedback, StepContent } from './_types' import content from '../../../content/publish/form.json' import PricingFields from './Pricing' import MetadataFields from './Metadata' import ServicesFields from './Services' import Preview from './Preview' import Submission from './Submission' import { ServiceComputeOptions } from '@oceanprotocol/lib' import contentFeedback from '../../../content/publish/feedback.json' export const wizardSteps: StepContent[] = [ { step: 1, title: content.metadata.title, component: }, { step: 2, title: content.services.title, component: }, { step: 3, title: content.pricing.title, component: }, { step: 4, title: content.preview.title, component: }, { step: 5, title: content.submission.title, component: } ] const computeOptions: ServiceComputeOptions = { allowRawAlgorithm: false, allowNetworkAccess: true, publisherTrustedAlgorithmPublishers: null, publisherTrustedAlgorithms: null } export const initialValues: FormPublishData = { user: { stepCurrent: 1, chainId: 1, accountId: '' }, metadata: { nft: { name: '', symbol: '', description: '', image_data: '' }, transferable: true, type: 'dataset', name: '', author: '', description: '', tags: '', termsAndConditions: false, dockerImage: '', dockerImageCustom: '', dockerImageCustomTag: '', dockerImageCustomEntrypoint: '' }, services: [ { files: [{ url: '' }], links: [{ url: '' }], dataTokenOptions: { name: '', symbol: '' }, timeout: '', access: 'access', providerUrl: { url: 'https://provider.mainnet.oceanprotocol.com', valid: true }, computeOptions } ], pricing: { price: 0, type: allowDynamicPricing === 'true' ? 'dynamic' : allowFixedPricing === 'true' ? 'fixed' : 'free', amountDataToken: allowDynamicPricing === 'true' ? 50 : 1000, amountOcean: 50, weightOnOcean: '5', // 50% on OCEAN weightOnDataToken: '5', // 50% on datatoken swapFee: 0.1, // in % freeAgreement: false } } export interface MetadataAlgorithmContainer { entrypoint: string image: string tag: string checksum: string } export const algorithmContainerPresets: MetadataAlgorithmContainer[] = [ { image: 'node', tag: 'latest', entrypoint: 'node $ALGO', checksum: '' // TODO: how to get? Most likely needs to be fetched from DockerHub. }, { image: 'python', tag: 'latest', entrypoint: 'python $ALGO', checksum: '' } ] export const initialPublishFeedback: PublishFeedback = contentFeedback