mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
prepare displaying firstPrice
This commit is contained in:
parent
8756a8e688
commit
77e1d08a08
@ -12,7 +12,6 @@ import stylesIndex from './index.module.css'
|
||||
import { useFormikContext } from 'formik'
|
||||
import { PriceOptionsMarket } from '../../../../../@types/MetaData'
|
||||
import { DDO } from '@oceanprotocol/lib'
|
||||
import Fixed from './Fixed'
|
||||
import Price from './Price'
|
||||
|
||||
export default function Dynamic({
|
||||
@ -25,16 +24,32 @@ export default function Dynamic({
|
||||
const { account, balance, networkId, refreshBalance } = useOcean()
|
||||
const { dtSymbol, dtName } = usePricing(ddo)
|
||||
|
||||
const [firstPrice, setFirstPrice] = useState<string>()
|
||||
|
||||
// Connect with form
|
||||
const { values } = useFormikContext()
|
||||
const {
|
||||
price,
|
||||
weightOnDataToken,
|
||||
weightOnOcean
|
||||
weightOnOcean,
|
||||
swapFee
|
||||
} = values as PriceOptionsMarket
|
||||
|
||||
const [error, setError] = useState<string>()
|
||||
|
||||
// Calculate firstPrice whenever
|
||||
useEffect(() => {
|
||||
const tokenAmountOut = 1
|
||||
const weightRatio = Decimal(weightOnDataToken).div(Decimal(weightOnOcean))
|
||||
const diff = Decimal(dtBalance).minus(tokenAmountOut)
|
||||
const y = Decimal(dtBalance).div(diff)
|
||||
const foo = y.pow(weightRatio).minus(Decimal(1))
|
||||
const tokenAmountIn = Decimal(oceanBalance)
|
||||
.times(foo)
|
||||
.div(Decimal(1).minus(Decimal(swapFee)))
|
||||
setFirstPrice(tokenAmountIn)
|
||||
}, [swapFee, weightOnOcean, weightOnDataToken])
|
||||
|
||||
// Check: account, network & insufficient balance
|
||||
useEffect(() => {
|
||||
if (!account) {
|
||||
@ -80,6 +95,8 @@ export default function Dynamic({
|
||||
|
||||
<Price ddo={ddo} />
|
||||
|
||||
{firstPrice}
|
||||
|
||||
<h4 className={styles.title}>
|
||||
Datatoken Liquidity Pool <Tooltip content={content.tooltips.poolInfo} />
|
||||
</h4>
|
||||
|
@ -30,7 +30,8 @@ export default function AssetContent({
|
||||
|
||||
const isOwner = accountId === ddo.publicKey[0].owner
|
||||
const hasNoPrice = ddo.price.type === ''
|
||||
const showPricing = isOwner && hasNoPrice
|
||||
// TODO: ONLY FOR DEBUGGING
|
||||
const showPricing = true || (isOwner && hasNoPrice)
|
||||
|
||||
return (
|
||||
<article className={styles.grid}>
|
||||
|
Loading…
Reference in New Issue
Block a user