Implement batch minting for appending tokens

This commit is contained in:
Serkan Reis 2023-01-17 16:23:17 +03:00
parent 5ff7f6f649
commit a372f70e31

View File

@ -298,27 +298,35 @@ const CollectionCreationPage: NextPage = () => {
await uploadFiles() await uploadFiles()
.then(async (baseUri) => { .then(async (baseUri) => {
setUploading(false) setUploading(false)
setBaseTokenUri( if (uploadDetails.assetFiles.length === 1) {
`${baseUri}/${(uploadDetails.baseMinterMetadataFile as File).name.substring( setBaseTokenUri(
0, `${baseUri}/${(uploadDetails.baseMinterMetadataFile as File).name.substring(
(uploadDetails.baseMinterMetadataFile as File).name.lastIndexOf('.'),
)}`,
)
const result = await baseMinterContract
.use(baseMinterDetails?.existingBaseMinter as string)
?.mint(
wallet.address,
`ipfs://${baseUri}/${(uploadDetails.baseMinterMetadataFile as File).name.substring(
0, 0,
(uploadDetails.baseMinterMetadataFile as File).name.lastIndexOf('.'), (uploadDetails.baseMinterMetadataFile as File).name.lastIndexOf('.'),
)}`, )}`,
) )
const result = await baseMinterContract
.use(baseMinterDetails?.existingBaseMinter as string)
?.mint(
wallet.address,
`ipfs://${baseUri}/${(uploadDetails.baseMinterMetadataFile as File).name.substring(
0,
(uploadDetails.baseMinterMetadataFile as File).name.lastIndexOf('.'),
)}`,
)
console.log(result)
return result
}
setBaseTokenUri(baseUri)
const result = await baseMinterContract
.use(baseMinterDetails?.existingBaseMinter as string)
?.batchMint(wallet.address, `ipfs://${baseUri}`, uploadDetails.assetFiles.length)
console.log(result) console.log(result)
return result return result
}) })
.then((result) => { .then((result) => {
toast.success(`Token minted & appended to the collection successfully! Tx Hash: ${result}`, { toast.success(`Token(s) minted & appended to the collection successfully! Tx Hash: ${result}`, {
style: { maxWidth: 'none' }, style: { maxWidth: 'none' },
duration: 5000, duration: 5000,
}) })
@ -1120,7 +1128,7 @@ const CollectionCreationPage: NextPage = () => {
onClick={performUploadAndMintChecks} onClick={performUploadAndMintChecks}
variant="solid" variant="solid"
> >
Mint & Append Token Mint & Append Token(s)
</Button> </Button>
</Conditional> </Conditional>
</div> </div>