diff --git a/contracts/whitelistMerkleTree/contract.ts b/contracts/whitelistMerkleTree/contract.ts index aa4912a..b81fb2d 100644 --- a/contracts/whitelistMerkleTree/contract.ts +++ b/contracts/whitelistMerkleTree/contract.ts @@ -1,5 +1,5 @@ import type { SigningCosmWasmClient } from '@cosmjs/cosmwasm-stargate' -import type { Coin } from '@cosmjs/proto-signing' +import { type Coin, coin } from '@cosmjs/proto-signing' import type { WhitelistFlexMember } from 'components/WhitelistFlexUpload' export interface InstantiateResponse { @@ -273,6 +273,7 @@ export const WhiteListMerkleTree = (client: SigningCosmWasmClient, txSigner: str ): Promise => { const result = await client.instantiate(txSigner, codeId, initMsg, label, 'auto', { admin, + funds: [coin(1000000000, 'ustars')], }) return { diff --git a/pages/collections/create.tsx b/pages/collections/create.tsx index c52eb81..caca51a 100644 --- a/pages/collections/create.tsx +++ b/pages/collections/create.tsx @@ -1381,20 +1381,34 @@ const CollectionCreationPage: NextPage = () => { const checkwalletBalance = async () => { await (await wallet.getCosmWasmClient()).getBalance(wallet.address || '', 'ustars').then((balance) => { - if (minterType === 'vending' && whitelistDetails?.whitelistState === 'new' && whitelistDetails.memberLimit) { - const amountNeeded = - Math.ceil(Number(whitelistDetails.memberLimit) / 1000) * 100000000 + - (whitelistDetails.whitelistType === 'flex' - ? Number(vendingMinterFlexCreationFee) - : collectionDetails?.updatable - ? Number(vendingMinterUpdatableCreationFee) - : Number(vendingMinterCreationFee)) - if (amountNeeded >= Number(balance.amount)) - throw new Error( - `Insufficient wallet balance to instantiate the required contracts. Needed amount: ${( - amountNeeded / 1000000 - ).toString()} STARS`, - ) + if (minterType === 'vending' && whitelistDetails?.whitelistState === 'new') { + if (whitelistDetails.whitelistType !== 'merkletree' && whitelistDetails.memberLimit) { + const amountNeeded = + Math.ceil(Number(whitelistDetails.memberLimit) / 1000) * 100000000 + + (whitelistDetails.whitelistType === 'flex' + ? Number(vendingMinterFlexCreationFee) + : collectionDetails?.updatable + ? Number(vendingMinterUpdatableCreationFee) + : Number(vendingMinterCreationFee)) + if (amountNeeded >= Number(balance.amount)) + throw new Error( + `Insufficient wallet balance to instantiate the required contracts. Needed amount: ${( + amountNeeded / 1000000 + ).toString()} STARS`, + ) + } else if (whitelistDetails.whitelistType === 'merkletree') { + const amountNeeded = + 1000000000 + + (collectionDetails?.updatable + ? Number(vendingMinterUpdatableCreationFee) + : Number(vendingMinterCreationFee)) + if (amountNeeded >= Number(balance.amount)) + throw new Error( + `Insufficient wallet balance to instantiate the required contracts. Needed amount: ${( + amountNeeded / 1000000 + ).toString()} STARS`, + ) + } } else { const amountNeeded = minterType === 'vending'