mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
price data structure additions
This commit is contained in:
parent
b35a11b3bb
commit
5d11416137
2
src/@types/MetaData.d.ts
vendored
2
src/@types/MetaData.d.ts
vendored
@ -25,6 +25,8 @@ export interface MetadataPublishForm {
|
|||||||
price: {
|
price: {
|
||||||
tokensToMint: number
|
tokensToMint: number
|
||||||
type: 'simple' | 'advanced' | string
|
type: 'simple' | 'advanced' | string
|
||||||
|
weight: string
|
||||||
|
ownerFee: string
|
||||||
}
|
}
|
||||||
access: 'Download' | 'Compute' | string
|
access: 'Download' | 'Compute' | string
|
||||||
termsAndConditions: boolean
|
termsAndConditions: boolean
|
||||||
|
@ -77,14 +77,14 @@ export default function Advanced({
|
|||||||
name="ocean"
|
name="ocean"
|
||||||
symbol="OCEAN"
|
symbol="OCEAN"
|
||||||
value={ocean}
|
value={ocean}
|
||||||
weight={`${100 - Number(weightOnDataToken)}%`}
|
weight={`${100 - Number(Number(weightOnDataToken) * 10)}%`}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
/>
|
/>
|
||||||
<Coin
|
<Coin
|
||||||
name="tokensToMint"
|
name="tokensToMint"
|
||||||
symbol="OCEAN-CAV"
|
symbol="OCEAN-CAV"
|
||||||
value={tokensToMint.toString()}
|
value={tokensToMint.toString()}
|
||||||
weight={`${weightOnDataToken}%`}
|
weight={`${Number(weightOnDataToken) * 10}%`}
|
||||||
readOnly
|
readOnly
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -8,8 +8,8 @@ import { useField } from 'formik'
|
|||||||
|
|
||||||
export default function Price(props: InputProps): ReactElement {
|
export default function Price(props: InputProps): ReactElement {
|
||||||
const [field, meta, helpers] = useField(props)
|
const [field, meta, helpers] = useField(props)
|
||||||
|
const { weight } = field.value
|
||||||
|
|
||||||
const weightOnDataToken = '90' // in %
|
|
||||||
const [ocean, setOcean] = useState('1')
|
const [ocean, setOcean] = useState('1')
|
||||||
const [tokensToMint, setTokensToMint] = useState<number>()
|
const [tokensToMint, setTokensToMint] = useState<number>()
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ export default function Price(props: InputProps): ReactElement {
|
|||||||
|
|
||||||
// Always update everything when ocean changes
|
// Always update everything when ocean changes
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const tokensToMint = Number(ocean) * (Number(weightOnDataToken) / 10)
|
const tokensToMint = Number(ocean) * Number(weight)
|
||||||
setTokensToMint(tokensToMint)
|
setTokensToMint(tokensToMint)
|
||||||
console.log(field.value)
|
console.log(field.value)
|
||||||
helpers.setValue({ ...field.value, tokensToMint })
|
helpers.setValue({ ...field.value, tokensToMint })
|
||||||
@ -41,7 +41,7 @@ export default function Price(props: InputProps): ReactElement {
|
|||||||
<Advanced
|
<Advanced
|
||||||
ocean={ocean}
|
ocean={ocean}
|
||||||
tokensToMint={tokensToMint}
|
tokensToMint={tokensToMint}
|
||||||
weightOnDataToken={weightOnDataToken}
|
weightOnDataToken={weight}
|
||||||
onChange={handleOceanChange}
|
onChange={handleOceanChange}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
|
@ -34,7 +34,7 @@ export default function PublishPage({
|
|||||||
`)
|
`)
|
||||||
|
|
||||||
const metadata = transformPublishFormToMetadata(values)
|
const metadata = transformPublishFormToMetadata(values)
|
||||||
const { tokensToMint, type } = values.price
|
const { tokensToMint, type, weight, ownerFee } = values.price
|
||||||
const serviceType = values.access === 'Download' ? 'access' : 'compute'
|
const serviceType = values.access === 'Download' ? 'access' : 'compute'
|
||||||
|
|
||||||
console.log(`
|
console.log(`
|
||||||
@ -60,8 +60,8 @@ export default function PublishPage({
|
|||||||
accountId,
|
accountId,
|
||||||
ddo.dataToken,
|
ddo.dataToken,
|
||||||
tokensToMint.toString(),
|
tokensToMint.toString(),
|
||||||
'9',
|
weight,
|
||||||
'0.03'
|
ownerFee
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,9 @@ export const validationSchema = Yup.object().shape<MetadataPublishForm>({
|
|||||||
tokensToMint: Yup.number().required('Required'),
|
tokensToMint: Yup.number().required('Required'),
|
||||||
type: Yup.string()
|
type: Yup.string()
|
||||||
.matches(/simple|advanced/g)
|
.matches(/simple|advanced/g)
|
||||||
.required('Required')
|
.required('Required'),
|
||||||
|
weight: Yup.string().required('Required'),
|
||||||
|
ownerFee: Yup.string()
|
||||||
}),
|
}),
|
||||||
files: Yup.array<FileMetadata>().required('Required').nullable(),
|
files: Yup.array<FileMetadata>().required('Required').nullable(),
|
||||||
description: Yup.string().required('Required'),
|
description: Yup.string().required('Required'),
|
||||||
@ -31,7 +33,9 @@ export const initialValues: MetadataPublishForm = {
|
|||||||
author: undefined,
|
author: undefined,
|
||||||
price: {
|
price: {
|
||||||
type: 'simple',
|
type: 'simple',
|
||||||
tokensToMint: 1
|
tokensToMint: 1,
|
||||||
|
weight: '9', // 90% on data token
|
||||||
|
ownerFee: '0.03' // in %
|
||||||
},
|
},
|
||||||
files: undefined,
|
files: undefined,
|
||||||
description: undefined,
|
description: undefined,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user