Update whitelist mint price denom wrt selected denom

This commit is contained in:
Serkan Reis 2023-08-06 21:09:43 +03:00
parent 8aaff38238
commit c77e583d53
3 changed files with 18 additions and 7 deletions

View File

@ -125,7 +125,7 @@ export const MintingDetails = ({
<div className="flex flex-row items-center"> <div className="flex flex-row items-center">
<NumberInput {...unitPriceState} isRequired /> <NumberInput {...unitPriceState} isRequired />
<select <select
className="py-[9px] px-4 mt-14 ml-4 placeholder:text-white/50 bg-white/10 rounded border-2 border-white/20 focus:ring focus:ring-plumbus-20" className="py-[9px] px-4 mt-14 ml-2 placeholder:text-white/50 bg-white/10 rounded border-2 border-white/20 focus:ring focus:ring-plumbus-20"
onChange={(e) => setSelectedMintToken(tokensList.find((t) => t.displayName === e.target.value))} onChange={(e) => setSelectedMintToken(tokensList.find((t) => t.displayName === e.target.value))}
> >
{vendingMinterList {vendingMinterList

View File

@ -8,6 +8,7 @@ import { useInputState, useNumberInputState } from 'components/forms/FormInput.h
import { InputDateTime } from 'components/InputDateTime' import { InputDateTime } from 'components/InputDateTime'
import type { WhitelistFlexMember } from 'components/WhitelistFlexUpload' import type { WhitelistFlexMember } from 'components/WhitelistFlexUpload'
import { WhitelistFlexUpload } from 'components/WhitelistFlexUpload' import { WhitelistFlexUpload } from 'components/WhitelistFlexUpload'
import type { TokenInfo } from 'config/token'
import React, { useEffect, useState } from 'react' import React, { useEffect, useState } from 'react'
import { isValidAddress } from 'utils/isValidAddress' import { isValidAddress } from 'utils/isValidAddress'
@ -18,6 +19,7 @@ import { WhitelistUpload } from '../../WhitelistUpload'
interface WhitelistDetailsProps { interface WhitelistDetailsProps {
onChange: (data: WhitelistDetailsDataProps) => void onChange: (data: WhitelistDetailsDataProps) => void
mintingTokenFromFactory?: TokenInfo
} }
export interface WhitelistDetailsDataProps { export interface WhitelistDetailsDataProps {
@ -38,7 +40,7 @@ type WhitelistState = 'none' | 'existing' | 'new'
type WhitelistType = 'standard' | 'flex' type WhitelistType = 'standard' | 'flex'
export const WhitelistDetails = ({ onChange }: WhitelistDetailsProps) => { export const WhitelistDetails = ({ onChange, mintingTokenFromFactory }: WhitelistDetailsProps) => {
const [whitelistState, setWhitelistState] = useState<WhitelistState>('none') const [whitelistState, setWhitelistState] = useState<WhitelistState>('none')
const [whitelistType, setWhitelistType] = useState<WhitelistType>('standard') const [whitelistType, setWhitelistType] = useState<WhitelistType>('standard')
const [startDate, setStartDate] = useState<Date | undefined>(undefined) const [startDate, setStartDate] = useState<Date | undefined>(undefined)
@ -58,7 +60,9 @@ export const WhitelistDetails = ({ onChange }: WhitelistDetailsProps) => {
id: 'unit-price', id: 'unit-price',
name: 'unitPrice', name: 'unitPrice',
title: 'Unit Price', title: 'Unit Price',
subtitle: 'Token price for whitelisted addresses \n (min. 0 STARS)', subtitle: `Token price for whitelisted addresses \n (min. 0 ${
mintingTokenFromFactory ? mintingTokenFromFactory.displayName : 'STARS'
})`,
placeholder: '25', placeholder: '25',
}) })

View File

@ -494,7 +494,10 @@ const CollectionCreationPage: NextPage = () => {
members: whitelistDetails?.members, members: whitelistDetails?.members,
start_time: whitelistDetails?.startTime, start_time: whitelistDetails?.startTime,
end_time: whitelistDetails?.endTime, end_time: whitelistDetails?.endTime,
mint_price: coin(String(Number(whitelistDetails?.unitPrice)), 'ustars'), mint_price: coin(
String(Number(whitelistDetails?.unitPrice)),
mintTokenFromVendingFactory ? mintTokenFromVendingFactory.denom : 'ustars',
),
per_address_limit: whitelistDetails?.perAddressLimit, per_address_limit: whitelistDetails?.perAddressLimit,
member_limit: whitelistDetails?.memberLimit, member_limit: whitelistDetails?.memberLimit,
admins: whitelistDetails?.admins || [wallet.address], admins: whitelistDetails?.admins || [wallet.address],
@ -505,7 +508,10 @@ const CollectionCreationPage: NextPage = () => {
members: whitelistDetails?.members, members: whitelistDetails?.members,
start_time: whitelistDetails?.startTime, start_time: whitelistDetails?.startTime,
end_time: whitelistDetails?.endTime, end_time: whitelistDetails?.endTime,
mint_price: coin(String(Number(whitelistDetails?.unitPrice)), 'ustars'), mint_price: coin(
String(Number(whitelistDetails?.unitPrice)),
mintTokenFromVendingFactory ? mintTokenFromVendingFactory.denom : 'ustars',
),
member_limit: whitelistDetails?.memberLimit, member_limit: whitelistDetails?.memberLimit,
admins: whitelistDetails?.admins || [wallet.address], admins: whitelistDetails?.admins || [wallet.address],
admins_mutable: whitelistDetails?.adminsMutable, admins_mutable: whitelistDetails?.adminsMutable,
@ -1221,7 +1227,7 @@ const CollectionCreationPage: NextPage = () => {
setVendingMinterCreationFee(vendingFactoryParameters?.params?.creation_fee?.amount) setVendingMinterCreationFee(vendingFactoryParameters?.params?.creation_fee?.amount)
setMinimumMintPrice(vendingFactoryParameters?.params?.min_mint_price?.amount) setMinimumMintPrice(vendingFactoryParameters?.params?.min_mint_price?.amount)
} }
console.log('Vending Factory Parameters: ', vendingFactoryParameters)
setMintTokenFromVendingFactory( setMintTokenFromVendingFactory(
tokensList.find((token) => token.denom === vendingFactoryParameters?.params?.min_mint_price?.denom), tokensList.find((token) => token.denom === vendingFactoryParameters?.params?.min_mint_price?.denom),
) )
@ -1729,6 +1735,7 @@ const CollectionCreationPage: NextPage = () => {
? Number(minimumUpdatableMintPrice) / 1000000 ? Number(minimumUpdatableMintPrice) / 1000000
: Number(minimumMintPrice) / 1000000 : Number(minimumMintPrice) / 1000000
} }
mintingTokenFromFactory={mintTokenFromVendingFactory}
numberOfTokens={uploadDetails?.assetFiles.length} numberOfTokens={uploadDetails?.assetFiles.length}
onChange={setMintingDetails} onChange={setMintingDetails}
uploadMethod={uploadDetails?.uploadMethod as UploadMethod} uploadMethod={uploadDetails?.uploadMethod as UploadMethod}
@ -1757,7 +1764,7 @@ const CollectionCreationPage: NextPage = () => {
> >
<div className="my-6"> <div className="my-6">
<Conditional test={minterType === 'vending'}> <Conditional test={minterType === 'vending'}>
<WhitelistDetails onChange={setWhitelistDetails} /> <WhitelistDetails mintingTokenFromFactory={mintTokenFromVendingFactory} onChange={setWhitelistDetails} />
<div className="my-6" /> <div className="my-6" />
</Conditional> </Conditional>
<RoyaltyDetails onChange={setRoyaltyDetails} /> <RoyaltyDetails onChange={setRoyaltyDetails} />