Merge pull request #323 from public-awesome/featured-check

Add option to create featured collections (mainnet)
This commit is contained in:
Serkan Reis 2024-01-31 20:01:48 +02:00 committed by GitHub
commit 3cb943c6d0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 104 additions and 3 deletions

View File

@ -13,8 +13,10 @@ NEXT_PUBLIC_BASE_MINTER_CODE_ID=2598
NEXT_PUBLIC_OPEN_EDITION_MINTER_CODE_ID=2579
NEXT_PUBLIC_VENDING_FACTORY_ADDRESS="stars18h7ugh8eaug7wr0w4yjw0ls5s937z35pnkg935ucsek2y9xl3gaqqk4jtx"
NEXT_PUBLIC_FEATURED_VENDING_FACTORY_ADDRESS="stars14pd96yk3t6gq9l6uyrkg0n5dr09n8rt5y9v3at8x4wl4lrkxhlzq4trqmh"
NEXT_PUBLIC_VENDING_FACTORY_UPDATABLE_ADDRESS="stars1h65nms9gwg4vdktyqj84tu50gwlm34e0eczl5w2ezllxuzfxy9esa9qlt0"
NEXT_PUBLIC_VENDING_FACTORY_FLEX_ADDRESS="stars1hvu2ghqkcnvhtj2fc6wuazxt4dqcftslp2rwkkkcxy269a35a9pq60ug2q"
NEXT_PUBLIC_FEATURED_VENDING_FACTORY_FLEX_ADDRESS="stars1hvu2ghqkcnvhtj2fc6wuazxt4dqcftslp2rwkkkcxy269a35a9pq60ug2q"
NEXT_PUBLIC_VENDING_FACTORY_UPDATABLE_FLEX_ADDRESS=
# NEXT_PUBLIC_VENDING_IBC_ATOM_FACTORY_ADDRESS=

View File

@ -146,7 +146,10 @@ export const MintingDetails = ({
value={selectedMintToken?.displayName}
>
{vendingMinterList
.filter((minter) => minter.factoryAddress !== undefined && minter.updatable === false)
.filter(
(minter) =>
minter.factoryAddress !== undefined && minter.updatable === false && minter.featured === false,
)
.map((minter) => (
<option key={minter.id} className="bg-black" value={minter.supportedToken.displayName}>
{minter.supportedToken.displayName}

View File

@ -1,4 +1,6 @@
import {
FEATURED_VENDING_FACTORY_ADDRESS,
FEATURED_VENDING_FACTORY_FLEX_ADDRESS,
OPEN_EDITION_FACTORY_ADDRESS,
OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS,
OPEN_EDITION_IBC_CRBRUS_FACTORY_ADDRESS,
@ -71,6 +73,7 @@ export interface MinterInfo {
supportedToken: TokenInfo
updatable?: boolean
flexible?: boolean
featured?: boolean
}
export const openEditionStarsMinter: MinterInfo = {
@ -78,6 +81,7 @@ export const openEditionStarsMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_FACTORY_ADDRESS,
supportedToken: stars,
updatable: false,
featured: false,
}
export const openEditionUpdatableStarsMinter: MinterInfo = {
@ -85,6 +89,7 @@ export const openEditionUpdatableStarsMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS,
supportedToken: stars,
updatable: true,
featured: false,
}
export const openEditionIbcAtomMinter: MinterInfo = {
@ -92,6 +97,7 @@ export const openEditionIbcAtomMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS,
supportedToken: ibcAtom,
updatable: false,
featured: false,
}
export const openEditionUpdatableIbcAtomMinter: MinterInfo = {
@ -99,6 +105,7 @@ export const openEditionUpdatableIbcAtomMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_UPDATABLE_IBC_ATOM_FACTORY_ADDRESS,
supportedToken: ibcAtom,
updatable: true,
featured: false,
}
export const openEditionIbcUsdcMinter: MinterInfo = {
@ -106,6 +113,7 @@ export const openEditionIbcUsdcMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_IBC_USDC_FACTORY_ADDRESS,
supportedToken: ibcUsdc,
updatable: false,
featured: false,
}
export const openEditionIbcNbtcMinter: MinterInfo = {
@ -113,6 +121,7 @@ export const openEditionIbcNbtcMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_IBC_NBTC_FACTORY_ADDRESS,
supportedToken: ibcNbtc,
updatable: false,
featured: false,
}
export const openEditionUpdatableIbcUsdcMinter: MinterInfo = {
@ -120,6 +129,7 @@ export const openEditionUpdatableIbcUsdcMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_UPDATABLE_IBC_USDC_FACTORY_ADDRESS,
supportedToken: ibcUsdc,
updatable: true,
featured: false,
}
export const openEditionUpdatableIbcNbtcMinter: MinterInfo = {
@ -127,6 +137,7 @@ export const openEditionUpdatableIbcNbtcMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_UPDATABLE_IBC_NBTC_FACTORY_ADDRESS,
supportedToken: ibcNbtc,
updatable: true,
featured: false,
}
export const openEditionIbcFrnzMinter: MinterInfo = {
@ -134,6 +145,7 @@ export const openEditionIbcFrnzMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_IBC_FRNZ_FACTORY_ADDRESS,
supportedToken: ibcFrnz,
updatable: false,
featured: false,
}
export const openEditionUpdatableIbcFrnzMinter: MinterInfo = {
@ -141,6 +153,7 @@ export const openEditionUpdatableIbcFrnzMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_UPDATABLE_IBC_FRNZ_FACTORY_ADDRESS,
supportedToken: ibcFrnz,
updatable: true,
featured: false,
}
export const openEditionIbcUskMinter: MinterInfo = {
@ -148,6 +161,7 @@ export const openEditionIbcUskMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_IBC_USK_FACTORY_ADDRESS,
supportedToken: ibcUsk,
updatable: false,
featured: false,
}
export const openEditionUpdatableIbcUskMinter: MinterInfo = {
@ -155,6 +169,7 @@ export const openEditionUpdatableIbcUskMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_UPDATABLE_IBC_USK_FACTORY_ADDRESS,
supportedToken: ibcUsk,
updatable: true,
featured: false,
}
export const openEditionIbcKujiMinter: MinterInfo = {
@ -162,6 +177,7 @@ export const openEditionIbcKujiMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_IBC_KUJI_FACTORY_ADDRESS,
supportedToken: ibcKuji,
updatable: false,
featured: false,
}
export const openEditionIbcHuahuaMinter: MinterInfo = {
@ -169,6 +185,7 @@ export const openEditionIbcHuahuaMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_IBC_HUAHUA_FACTORY_ADDRESS,
supportedToken: ibcHuahua,
updatable: false,
featured: false,
}
export const openEditionIbcCrbrusMinter: MinterInfo = {
@ -176,6 +193,7 @@ export const openEditionIbcCrbrusMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_IBC_CRBRUS_FACTORY_ADDRESS,
supportedToken: ibcCrbrus,
updatable: false,
featured: false,
}
export const openEditionNativeStrdstMinter: MinterInfo = {
@ -183,6 +201,7 @@ export const openEditionNativeStrdstMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_NATIVE_STRDST_FACTORY_ADDRESS,
supportedToken: nativeStardust,
updatable: false,
featured: false,
}
export const openEditionNativeBrnchMinter: MinterInfo = {
@ -190,6 +209,7 @@ export const openEditionNativeBrnchMinter: MinterInfo = {
factoryAddress: OPEN_EDITION_NATIVE_BRNCH_FACTORY_ADDRESS,
supportedToken: nativeBrnch,
updatable: false,
featured: false,
}
export const openEditionMinterList = [
@ -218,6 +238,16 @@ export const vendingStarsMinter: MinterInfo = {
supportedToken: stars,
updatable: false,
flexible: false,
featured: false,
}
export const vendingFeaturedStarsMinter: MinterInfo = {
id: 'vending-stars-minter',
factoryAddress: FEATURED_VENDING_FACTORY_ADDRESS,
supportedToken: stars,
updatable: false,
flexible: false,
featured: true,
}
export const vendingUpdatableStarsMinter: MinterInfo = {
@ -226,6 +256,7 @@ export const vendingUpdatableStarsMinter: MinterInfo = {
supportedToken: stars,
updatable: true,
flexible: false,
featured: false,
}
export const vendingIbcAtomMinter: MinterInfo = {
@ -234,6 +265,7 @@ export const vendingIbcAtomMinter: MinterInfo = {
supportedToken: ibcAtom,
updatable: false,
flexible: false,
featured: false,
}
export const vendingUpdatableIbcAtomMinter: MinterInfo = {
@ -242,6 +274,7 @@ export const vendingUpdatableIbcAtomMinter: MinterInfo = {
supportedToken: ibcAtom,
updatable: true,
flexible: false,
featured: false,
}
export const vendingIbcUsdcMinter: MinterInfo = {
@ -250,6 +283,7 @@ export const vendingIbcUsdcMinter: MinterInfo = {
supportedToken: ibcUsdc,
updatable: false,
flexible: false,
featured: false,
}
export const vendingIbcNbtcMinter: MinterInfo = {
@ -258,6 +292,7 @@ export const vendingIbcNbtcMinter: MinterInfo = {
supportedToken: ibcNbtc,
updatable: false,
flexible: false,
featured: false,
}
export const vendingUpdatableIbcUsdcMinter: MinterInfo = {
@ -266,6 +301,7 @@ export const vendingUpdatableIbcUsdcMinter: MinterInfo = {
supportedToken: ibcUsdc,
updatable: true,
flexible: false,
featured: false,
}
export const vendingUpdatableIbcNbtcMinter: MinterInfo = {
@ -274,6 +310,7 @@ export const vendingUpdatableIbcNbtcMinter: MinterInfo = {
supportedToken: ibcNbtc,
updatable: true,
flexible: false,
featured: false,
}
export const vendingIbcUskMinter: MinterInfo = {
@ -282,6 +319,7 @@ export const vendingIbcUskMinter: MinterInfo = {
supportedToken: ibcUsk,
updatable: false,
flexible: false,
featured: false,
}
export const vendingUpdatableIbcUskMinter: MinterInfo = {
@ -290,6 +328,7 @@ export const vendingUpdatableIbcUskMinter: MinterInfo = {
supportedToken: ibcUsk,
updatable: true,
flexible: false,
featured: false,
}
export const vendingIbcKujiMinter: MinterInfo = {
@ -298,6 +337,7 @@ export const vendingIbcKujiMinter: MinterInfo = {
supportedToken: ibcKuji,
updatable: false,
flexible: false,
featured: false,
}
export const vendingIbcHuahuaMinter: MinterInfo = {
@ -306,6 +346,7 @@ export const vendingIbcHuahuaMinter: MinterInfo = {
supportedToken: ibcHuahua,
updatable: false,
flexible: false,
featured: false,
}
export const vendingIbcCrbrusMinter: MinterInfo = {
@ -314,6 +355,7 @@ export const vendingIbcCrbrusMinter: MinterInfo = {
supportedToken: ibcCrbrus,
updatable: false,
flexible: false,
featured: false,
}
export const vendingNativeStardustMinter: MinterInfo = {
@ -322,6 +364,7 @@ export const vendingNativeStardustMinter: MinterInfo = {
supportedToken: nativeStardust,
updatable: false,
flexible: false,
featured: false,
}
export const vendingUpdatableNativeStardustMinter: MinterInfo = {
@ -330,6 +373,7 @@ export const vendingUpdatableNativeStardustMinter: MinterInfo = {
supportedToken: nativeStardust,
updatable: true,
flexible: false,
featured: false,
}
export const vendingNativeBrnchMinter: MinterInfo = {
@ -338,6 +382,7 @@ export const vendingNativeBrnchMinter: MinterInfo = {
supportedToken: nativeBrnch,
updatable: false,
flexible: false,
featured: false,
}
export const vendingUpdatableNativeBrnchMinter: MinterInfo = {
@ -346,10 +391,12 @@ export const vendingUpdatableNativeBrnchMinter: MinterInfo = {
supportedToken: nativeBrnch,
updatable: true,
flexible: false,
featured: false,
}
export const vendingMinterList = [
vendingStarsMinter,
vendingFeaturedStarsMinter,
vendingUpdatableStarsMinter,
vendingIbcAtomMinter,
vendingUpdatableIbcAtomMinter,
@ -374,6 +421,16 @@ export const flexibleVendingStarsMinter: MinterInfo = {
supportedToken: stars,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleFeaturedVendingStarsMinter: MinterInfo = {
id: 'flexible-vending-stars-minter',
factoryAddress: FEATURED_VENDING_FACTORY_FLEX_ADDRESS,
supportedToken: stars,
updatable: false,
flexible: true,
featured: true,
}
export const flexibleVendingUpdatableStarsMinter: MinterInfo = {
@ -382,6 +439,7 @@ export const flexibleVendingUpdatableStarsMinter: MinterInfo = {
supportedToken: stars,
updatable: true,
flexible: true,
featured: false,
}
export const flexibleVendingIbcAtomMinter: MinterInfo = {
@ -390,6 +448,7 @@ export const flexibleVendingIbcAtomMinter: MinterInfo = {
supportedToken: ibcAtom,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleVendingUpdatableIbcAtomMinter: MinterInfo = {
@ -398,6 +457,7 @@ export const flexibleVendingUpdatableIbcAtomMinter: MinterInfo = {
supportedToken: ibcAtom,
updatable: true,
flexible: true,
featured: false,
}
export const flexibleVendingIbcUsdcMinter: MinterInfo = {
@ -406,6 +466,7 @@ export const flexibleVendingIbcUsdcMinter: MinterInfo = {
supportedToken: ibcUsdc,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleVendingIbcNbtcMinter: MinterInfo = {
@ -414,6 +475,7 @@ export const flexibleVendingIbcNbtcMinter: MinterInfo = {
supportedToken: ibcNbtc,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleVendingUpdatableIbcUsdcMinter: MinterInfo = {
@ -422,6 +484,7 @@ export const flexibleVendingUpdatableIbcUsdcMinter: MinterInfo = {
supportedToken: ibcUsdc,
updatable: true,
flexible: true,
featured: false,
}
export const flexibleVendingUpdatableIbcNbtcMinter: MinterInfo = {
@ -430,6 +493,7 @@ export const flexibleVendingUpdatableIbcNbtcMinter: MinterInfo = {
supportedToken: ibcNbtc,
updatable: true,
flexible: true,
featured: false,
}
export const flexibleVendingIbcUskMinter: MinterInfo = {
@ -438,6 +502,7 @@ export const flexibleVendingIbcUskMinter: MinterInfo = {
supportedToken: ibcUsk,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleVendingUpdatableIbcUskMinter: MinterInfo = {
@ -446,6 +511,7 @@ export const flexibleVendingUpdatableIbcUskMinter: MinterInfo = {
supportedToken: ibcUsk,
updatable: true,
flexible: true,
featured: false,
}
export const flexibleVendingIbcKujiMinter: MinterInfo = {
@ -454,6 +520,7 @@ export const flexibleVendingIbcKujiMinter: MinterInfo = {
supportedToken: ibcKuji,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleVendingIbcHuahuaMinter: MinterInfo = {
@ -462,6 +529,7 @@ export const flexibleVendingIbcHuahuaMinter: MinterInfo = {
supportedToken: ibcHuahua,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleVendingIbcCrbrusMinter: MinterInfo = {
@ -470,6 +538,7 @@ export const flexibleVendingIbcCrbrusMinter: MinterInfo = {
supportedToken: ibcCrbrus,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleVendingStrdstMinter: MinterInfo = {
@ -478,6 +547,7 @@ export const flexibleVendingStrdstMinter: MinterInfo = {
supportedToken: nativeStardust,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleVendingBrnchMinter: MinterInfo = {
@ -486,10 +556,12 @@ export const flexibleVendingBrnchMinter: MinterInfo = {
supportedToken: nativeBrnch,
updatable: false,
flexible: true,
featured: false,
}
export const flexibleVendingMinterList = [
flexibleVendingStarsMinter,
flexibleFeaturedVendingStarsMinter,
flexibleVendingUpdatableStarsMinter,
flexibleVendingIbcAtomMinter,
flexibleVendingUpdatableIbcAtomMinter,

2
env.d.ts vendored
View File

@ -25,8 +25,10 @@ declare namespace NodeJS {
readonly NEXT_PUBLIC_VENDING_MINTER_CODE_ID: string
readonly NEXT_PUBLIC_VENDING_MINTER_FLEX_CODE_ID: string
readonly NEXT_PUBLIC_VENDING_FACTORY_ADDRESS: string
readonly NEXT_PUBLIC_FEATURED_VENDING_FACTORY_ADDRESS: string
readonly NEXT_PUBLIC_VENDING_FACTORY_UPDATABLE_ADDRESS: string
readonly NEXT_PUBLIC_VENDING_FACTORY_FLEX_ADDRESS: string
readonly NEXT_PUBLIC_FEATURED_VENDING_FACTORY_FLEX_ADDRESS: string
readonly NEXT_PUBLIC_VENDING_FACTORY_UPDATABLE_FLEX_ADDRESS: string
readonly NEXT_PUBLIC_VENDING_IBC_ATOM_FACTORY_ADDRESS: string
readonly NEXT_PUBLIC_VENDING_IBC_ATOM_UPDATABLE_FACTORY_ADDRESS: string

View File

@ -147,6 +147,7 @@ const CollectionCreationPage: NextPage = () => {
[baseFactoryContract, wallet.address, wallet.isWalletConnected],
)
const [isFeaturedCollection, setIsFeaturedCollection] = useState<boolean>(false)
const [uploading, setUploading] = useState(false)
const [isMintingComplete, setIsMintingComplete] = useState(false)
const [initialParametersFetched, setInitialParametersFetched] = useState(false)
@ -584,7 +585,8 @@ const CollectionCreationPage: NextPage = () => {
mintingDetails?.selectedMintToken?.displayName === 'KUJI' ||
mintingDetails?.selectedMintToken?.displayName === 'HUAHUA' ||
mintingDetails?.selectedMintToken?.displayName === 'BRNCH' ||
mintingDetails?.selectedMintToken?.displayName === 'CRBRUS'
mintingDetails?.selectedMintToken?.displayName === 'CRBRUS' ||
isFeaturedCollection
? STRDST_SG721_CODE_ID
: SG721_CODE_ID,
name: collectionDetails?.name,
@ -1273,7 +1275,8 @@ const CollectionCreationPage: NextPage = () => {
(minter) =>
minter.supportedToken === mintingDetails?.selectedMintToken &&
minter.updatable === collectionDetails?.updatable &&
minter.flexible === (whitelistDetails?.whitelistType === 'flex'),
minter.flexible === (whitelistDetails?.whitelistType === 'flex') &&
minter.featured === isFeaturedCollection,
)?.factoryAddress
if (vendingFactoryForSelectedDenom) {
setVendingFactoryAddress(vendingFactoryForSelectedDenom)
@ -1304,6 +1307,7 @@ const CollectionCreationPage: NextPage = () => {
wallet.isWalletConnected,
whitelistDetails?.whitelistState,
whitelistDetails?.whitelistType,
isFeaturedCollection,
])
const checkwalletBalance = async () => {
@ -1855,6 +1859,22 @@ const CollectionCreationPage: NextPage = () => {
/>
</Conditional>
<Conditional test={minterType === 'vending'}>
<div className="flex-row p-2 mb-3 w-full rounded border-2 border-white/20 form-control">
<label className="justify-start ml-8 w-2/5 cursor-pointer label">
<span className="mr-2 font-bold">Is this a featured collection?</span>
<input
checked={isFeaturedCollection}
className={`${isFeaturedCollection ? `bg-stargaze` : `bg-gray-600`} checkbox`}
onClick={() => {
setIsFeaturedCollection(!isFeaturedCollection)
}}
type="checkbox"
/>
</label>
</div>
</Conditional>
<Conditional
test={
minterType === 'vending' ||

View File

@ -12,8 +12,10 @@ export const WHITELIST_FLEX_CODE_ID = parseInt(process.env.NEXT_PUBLIC_WHITELIST
export const VENDING_MINTER_CODE_ID = parseInt(process.env.NEXT_PUBLIC_VENDING_MINTER_CODE_ID, 10)
export const VENDING_MINTER_FLEX_CODE_ID = parseInt(process.env.NEXT_PUBLIC_VENDING_MINTER_FLEX_CODE_ID, 10)
export const VENDING_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_VENDING_FACTORY_ADDRESS
export const FEATURED_VENDING_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_FEATURED_VENDING_FACTORY_ADDRESS
export const VENDING_FACTORY_UPDATABLE_ADDRESS = process.env.NEXT_PUBLIC_VENDING_FACTORY_UPDATABLE_ADDRESS
export const VENDING_FACTORY_FLEX_ADDRESS = process.env.NEXT_PUBLIC_VENDING_FACTORY_FLEX_ADDRESS
export const FEATURED_VENDING_FACTORY_FLEX_ADDRESS = process.env.NEXT_PUBLIC_FEATURED_VENDING_FACTORY_FLEX_ADDRESS
export const VENDING_FACTORY_UPDATABLE_FLEX_ADDRESS = process.env.NEXT_PUBLIC_VENDING_FACTORY_UPDATABLE_FLEX_ADDRESS
export const VENDING_IBC_ATOM_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_VENDING_IBC_ATOM_FACTORY_ADDRESS
export const VENDING_IBC_ATOM_UPDATABLE_FACTORY_ADDRESS =