1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-06-30 05:41:41 +02:00

Merge pull request #47 from oceanprotocol/feature/advanced-data

price data structure additions
This commit is contained in:
Matthias Kretschmann 2020-08-06 10:24:39 +02:00 committed by GitHub
commit 374305673d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 9 deletions

View File

@ -25,6 +25,8 @@ export interface MetadataPublishForm {
price: {
tokensToMint: number
type: 'simple' | 'advanced' | string
weightOnDataToken: string
ownerFee: string
}
access: 'Download' | 'Compute' | string
termsAndConditions: boolean

View File

@ -77,14 +77,14 @@ export default function Advanced({
name="ocean"
symbol="OCEAN"
value={ocean}
weight={`${100 - Number(weightOnDataToken)}%`}
weight={`${100 - Number(Number(weightOnDataToken) * 10)}%`}
onChange={onChange}
/>
<Coin
name="tokensToMint"
symbol="OCEAN-CAV"
value={tokensToMint.toString()}
weight={`${weightOnDataToken}%`}
weight={`${Number(weightOnDataToken) * 10}%`}
readOnly
/>
</div>

View File

@ -8,8 +8,8 @@ import { useField } from 'formik'
export default function Price(props: InputProps): ReactElement {
const [field, meta, helpers] = useField(props)
const { weightOnDataToken } = field.value
const weightOnDataToken = '90' // in %
const [ocean, setOcean] = useState('1')
const [tokensToMint, setTokensToMint] = useState<number>()
@ -24,7 +24,7 @@ export default function Price(props: InputProps): ReactElement {
// Always update everything when ocean changes
useEffect(() => {
const tokensToMint = Number(ocean) * (Number(weightOnDataToken) / 10)
const tokensToMint = Number(ocean) * Number(weightOnDataToken)
setTokensToMint(tokensToMint)
console.log(field.value)
helpers.setValue({ ...field.value, tokensToMint })

View File

@ -34,7 +34,7 @@ export default function PublishPage({
`)
const metadata = transformPublishFormToMetadata(values)
const { tokensToMint, type } = values.price
const { tokensToMint, type, weightOnDataToken, ownerFee } = values.price
const serviceType = values.access === 'Download' ? 'access' : 'compute'
console.log(`
@ -60,8 +60,8 @@ export default function PublishPage({
accountId,
ddo.dataToken,
tokensToMint.toString(),
'9',
'0.03'
weightOnDataToken,
ownerFee
)
}
}

View File

@ -10,7 +10,9 @@ export const validationSchema = Yup.object().shape<MetadataPublishForm>({
tokensToMint: Yup.number().required('Required'),
type: Yup.string()
.matches(/simple|advanced/g)
.required('Required')
.required('Required'),
weightOnDataToken: Yup.string().required('Required'),
ownerFee: Yup.string()
}),
files: Yup.array<FileMetadata>().required('Required').nullable(),
description: Yup.string().required('Required'),
@ -31,7 +33,9 @@ export const initialValues: MetadataPublishForm = {
author: undefined,
price: {
type: 'simple',
tokensToMint: 1
tokensToMint: 1,
weightOnDataToken: '9', // 90% on data token
ownerFee: '0.03' // in %
},
files: undefined,
description: undefined,