Improve factory selection logic for OE collections
This commit is contained in:
parent
0eb94e4ee8
commit
b38562d9fd
@ -13,7 +13,6 @@ import type { MinterType } from 'components/collections/actions/Combobox'
|
|||||||
import { Conditional } from 'components/Conditional'
|
import { Conditional } from 'components/Conditional'
|
||||||
import { ConfirmationModal } from 'components/ConfirmationModal'
|
import { ConfirmationModal } from 'components/ConfirmationModal'
|
||||||
import { LoadingModal } from 'components/LoadingModal'
|
import { LoadingModal } from 'components/LoadingModal'
|
||||||
import { openEditionMinterList } from 'config/minter'
|
|
||||||
import { type TokenInfo } from 'config/token'
|
import { type TokenInfo } from 'config/token'
|
||||||
import { useContracts } from 'contexts/contracts'
|
import { useContracts } from 'contexts/contracts'
|
||||||
import { addLogItem } from 'contexts/log'
|
import { addLogItem } from 'contexts/log'
|
||||||
@ -23,8 +22,6 @@ import React, { useEffect, useMemo, useState } from 'react'
|
|||||||
import { toast } from 'react-hot-toast'
|
import { toast } from 'react-hot-toast'
|
||||||
import { upload } from 'services/upload'
|
import { upload } from 'services/upload'
|
||||||
import {
|
import {
|
||||||
OPEN_EDITION_FACTORY_ADDRESS,
|
|
||||||
OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS,
|
|
||||||
SG721_OPEN_EDITION_CODE_ID,
|
SG721_OPEN_EDITION_CODE_ID,
|
||||||
SG721_OPEN_EDITION_UPDATABLE_CODE_ID,
|
SG721_OPEN_EDITION_UPDATABLE_CODE_ID,
|
||||||
STRDST_SG721_CODE_ID,
|
STRDST_SG721_CODE_ID,
|
||||||
@ -74,13 +71,13 @@ export interface OpenEditionMinterDetailsDataProps {
|
|||||||
interface OpenEditionMinterCreatorProps {
|
interface OpenEditionMinterCreatorProps {
|
||||||
onChange: (data: OpenEditionMinterCreatorDataProps) => void
|
onChange: (data: OpenEditionMinterCreatorDataProps) => void
|
||||||
onDetailsChange: (data: OpenEditionMinterDetailsDataProps) => void
|
onDetailsChange: (data: OpenEditionMinterDetailsDataProps) => void
|
||||||
openEditionMinterUpdatableCreationFee?: string
|
|
||||||
openEditionMinterCreationFee?: string
|
openEditionMinterCreationFee?: string
|
||||||
minimumMintPrice?: string
|
minimumMintPrice?: string
|
||||||
minimumUpdatableMintPrice?: string
|
|
||||||
minterType?: MinterType
|
minterType?: MinterType
|
||||||
mintTokenFromFactory?: TokenInfo | undefined
|
mintTokenFromFactory?: TokenInfo | undefined
|
||||||
importedOpenEditionMinterDetails?: OpenEditionMinterDetailsDataProps
|
importedOpenEditionMinterDetails?: OpenEditionMinterDetailsDataProps
|
||||||
|
isMatchingFactoryPresent?: boolean
|
||||||
|
openEditionFactoryAddress?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface OpenEditionMinterCreatorDataProps {
|
export interface OpenEditionMinterCreatorDataProps {
|
||||||
@ -94,12 +91,12 @@ export const OpenEditionMinterCreator = ({
|
|||||||
onChange,
|
onChange,
|
||||||
onDetailsChange,
|
onDetailsChange,
|
||||||
openEditionMinterCreationFee,
|
openEditionMinterCreationFee,
|
||||||
openEditionMinterUpdatableCreationFee,
|
|
||||||
minimumMintPrice,
|
minimumMintPrice,
|
||||||
minimumUpdatableMintPrice,
|
|
||||||
minterType,
|
minterType,
|
||||||
mintTokenFromFactory,
|
mintTokenFromFactory,
|
||||||
importedOpenEditionMinterDetails,
|
importedOpenEditionMinterDetails,
|
||||||
|
isMatchingFactoryPresent,
|
||||||
|
openEditionFactoryAddress,
|
||||||
}: OpenEditionMinterCreatorProps) => {
|
}: OpenEditionMinterCreatorProps) => {
|
||||||
const wallet = useWallet()
|
const wallet = useWallet()
|
||||||
const {
|
const {
|
||||||
@ -134,24 +131,13 @@ export const OpenEditionMinterCreator = ({
|
|||||||
|
|
||||||
const thumbnailCompatibleAssetTypes: AssetType[] = ['video', 'audio', 'html']
|
const thumbnailCompatibleAssetTypes: AssetType[] = ['video', 'audio', 'html']
|
||||||
|
|
||||||
const factoryAddressForSelectedDenom =
|
|
||||||
openEditionMinterList.find((minter) => minter.supportedToken === mintTokenFromFactory && minter.updatable === false)
|
|
||||||
?.factoryAddress || OPEN_EDITION_FACTORY_ADDRESS
|
|
||||||
const updatableFactoryAddressForSelectedDenom =
|
|
||||||
openEditionMinterList.find((minter) => minter.supportedToken === mintTokenFromFactory && minter.updatable === true)
|
|
||||||
?.factoryAddress || OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS
|
|
||||||
|
|
||||||
const openEditionFactoryMessages = useMemo(
|
const openEditionFactoryMessages = useMemo(
|
||||||
() =>
|
() => openEditionFactoryContract?.use(openEditionFactoryAddress as string),
|
||||||
openEditionFactoryContract?.use(
|
|
||||||
collectionDetails?.updatable ? updatableFactoryAddressForSelectedDenom : factoryAddressForSelectedDenom,
|
|
||||||
),
|
|
||||||
[
|
[
|
||||||
openEditionFactoryContract,
|
openEditionFactoryContract,
|
||||||
wallet.address,
|
wallet.address,
|
||||||
collectionDetails?.updatable,
|
collectionDetails?.updatable,
|
||||||
factoryAddressForSelectedDenom,
|
openEditionFactoryAddress,
|
||||||
updatableFactoryAddressForSelectedDenom,
|
|
||||||
wallet.isWalletConnected,
|
wallet.isWalletConnected,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@ -325,9 +311,9 @@ export const OpenEditionMinterCreator = ({
|
|||||||
if (!mintingDetails) throw new Error('Please fill out the minting details')
|
if (!mintingDetails) throw new Error('Please fill out the minting details')
|
||||||
if (mintingDetails.unitPrice === '') throw new Error('Mint price is required')
|
if (mintingDetails.unitPrice === '') throw new Error('Mint price is required')
|
||||||
if (collectionDetails?.updatable) {
|
if (collectionDetails?.updatable) {
|
||||||
if (Number(mintingDetails.unitPrice) < Number(minimumUpdatableMintPrice))
|
if (Number(mintingDetails.unitPrice) < Number(minimumMintPrice))
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Invalid mint price: The minimum mint price is ${Number(minimumUpdatableMintPrice) / 1000000} ${
|
`Invalid mint price: The minimum mint price is ${Number(minimumMintPrice) / 1000000} ${
|
||||||
mintTokenFromFactory?.displayName
|
mintTokenFromFactory?.displayName
|
||||||
}`,
|
}`,
|
||||||
)
|
)
|
||||||
@ -368,6 +354,11 @@ export const OpenEditionMinterCreator = ({
|
|||||||
(!isValidAddress(mintingDetails.paymentAddress) || !mintingDetails.paymentAddress.startsWith('stars1'))
|
(!isValidAddress(mintingDetails.paymentAddress) || !mintingDetails.paymentAddress.startsWith('stars1'))
|
||||||
)
|
)
|
||||||
throw new Error('Invalid payment address')
|
throw new Error('Invalid payment address')
|
||||||
|
|
||||||
|
if (!isMatchingFactoryPresent)
|
||||||
|
throw new Error(
|
||||||
|
`No matching open edition factory contract found for the selected parameters (Mint Price Denom: ${mintingDetails.selectedMintToken?.displayName}, Whitelist Type: ${whitelistDetails?.whitelistType})`,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
const checkWhitelistDetails = async () => {
|
const checkWhitelistDetails = async () => {
|
||||||
@ -485,9 +476,13 @@ export const OpenEditionMinterCreator = ({
|
|||||||
|
|
||||||
const checkwalletBalance = async () => {
|
const checkwalletBalance = async () => {
|
||||||
if (!wallet.isWalletConnected) throw new Error('Wallet not connected.')
|
if (!wallet.isWalletConnected) throw new Error('Wallet not connected.')
|
||||||
const amountNeeded = collectionDetails?.updatable
|
let amountNeeded = 0
|
||||||
? Number(openEditionMinterUpdatableCreationFee)
|
if (whitelistDetails?.whitelistState === 'new' && whitelistDetails.memberLimit) {
|
||||||
: Number(openEditionMinterCreationFee)
|
amountNeeded =
|
||||||
|
Math.ceil(Number(whitelistDetails.memberLimit) / 1000) * 100000000 + Number(openEditionMinterCreationFee)
|
||||||
|
} else {
|
||||||
|
amountNeeded = openEditionMinterCreationFee ? Number(openEditionMinterCreationFee) : 0
|
||||||
|
}
|
||||||
await (await wallet.getCosmWasmClient()).getBalance(wallet.address || '', 'ustars').then((balance) => {
|
await (await wallet.getCosmWasmClient()).getBalance(wallet.address || '', 'ustars').then((balance) => {
|
||||||
if (amountNeeded >= Number(balance.amount))
|
if (amountNeeded >= Number(balance.amount))
|
||||||
throw new Error(
|
throw new Error(
|
||||||
@ -889,18 +884,11 @@ export const OpenEditionMinterCreator = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const payload: OpenEditionFactoryDispatchExecuteArgs = {
|
const payload: OpenEditionFactoryDispatchExecuteArgs = {
|
||||||
contract: collectionDetails?.updatable ? updatableFactoryAddressForSelectedDenom : factoryAddressForSelectedDenom,
|
contract: openEditionFactoryAddress as string,
|
||||||
messages: openEditionFactoryMessages,
|
messages: openEditionFactoryMessages,
|
||||||
txSigner: wallet.address || '',
|
txSigner: wallet.address || '',
|
||||||
msg,
|
msg,
|
||||||
funds: [
|
funds: [coin(openEditionMinterCreationFee as string, 'ustars')],
|
||||||
coin(
|
|
||||||
collectionDetails?.updatable
|
|
||||||
? (openEditionMinterUpdatableCreationFee as string)
|
|
||||||
: (openEditionMinterCreationFee as string),
|
|
||||||
'ustars',
|
|
||||||
),
|
|
||||||
],
|
|
||||||
updatable: collectionDetails?.updatable,
|
updatable: collectionDetails?.updatable,
|
||||||
}
|
}
|
||||||
await openEditionFactoryDispatchExecute(payload)
|
await openEditionFactoryDispatchExecute(payload)
|
||||||
@ -1064,11 +1052,7 @@ export const OpenEditionMinterCreator = ({
|
|||||||
<MintingDetails
|
<MintingDetails
|
||||||
importedMintingDetails={importedOpenEditionMinterDetails?.mintingDetails}
|
importedMintingDetails={importedOpenEditionMinterDetails?.mintingDetails}
|
||||||
isPresale={whitelistDetails?.whitelistState === 'new'}
|
isPresale={whitelistDetails?.whitelistState === 'new'}
|
||||||
minimumMintPrice={
|
minimumMintPrice={Number(minimumMintPrice) / 1000000}
|
||||||
collectionDetails?.updatable
|
|
||||||
? Number(minimumUpdatableMintPrice) / 1000000
|
|
||||||
: Number(minimumMintPrice) / 1000000
|
|
||||||
}
|
|
||||||
mintTokenFromFactory={mintTokenFromFactory}
|
mintTokenFromFactory={mintTokenFromFactory}
|
||||||
onChange={setMintingDetails}
|
onChange={setMintingDetails}
|
||||||
uploadMethod={offChainMetadataUploadDetails?.uploadMethod as UploadMethod}
|
uploadMethod={offChainMetadataUploadDetails?.uploadMethod as UploadMethod}
|
||||||
|
@ -8,14 +8,18 @@ import {
|
|||||||
FEATURED_VENDING_IBC_TIA_FACTORY_MERKLE_TREE_ADDRESS,
|
FEATURED_VENDING_IBC_TIA_FACTORY_MERKLE_TREE_ADDRESS,
|
||||||
FEATURED_VENDING_IBC_USDC_FACTORY_FLEX_ADDRESS,
|
FEATURED_VENDING_IBC_USDC_FACTORY_FLEX_ADDRESS,
|
||||||
OPEN_EDITION_FACTORY_ADDRESS,
|
OPEN_EDITION_FACTORY_ADDRESS,
|
||||||
|
OPEN_EDITION_FACTORY_FLEX_ADDRESS,
|
||||||
OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS,
|
OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS,
|
||||||
|
OPEN_EDITION_IBC_ATOM_FACTORY_FLEX_ADDRESS,
|
||||||
OPEN_EDITION_IBC_CRBRUS_FACTORY_ADDRESS,
|
OPEN_EDITION_IBC_CRBRUS_FACTORY_ADDRESS,
|
||||||
OPEN_EDITION_IBC_FRNZ_FACTORY_ADDRESS,
|
OPEN_EDITION_IBC_FRNZ_FACTORY_ADDRESS,
|
||||||
OPEN_EDITION_IBC_HUAHUA_FACTORY_ADDRESS,
|
OPEN_EDITION_IBC_HUAHUA_FACTORY_ADDRESS,
|
||||||
OPEN_EDITION_IBC_KUJI_FACTORY_ADDRESS,
|
OPEN_EDITION_IBC_KUJI_FACTORY_ADDRESS,
|
||||||
OPEN_EDITION_IBC_NBTC_FACTORY_ADDRESS,
|
OPEN_EDITION_IBC_NBTC_FACTORY_ADDRESS,
|
||||||
OPEN_EDITION_IBC_TIA_FACTORY_ADDRESS,
|
OPEN_EDITION_IBC_TIA_FACTORY_ADDRESS,
|
||||||
|
OPEN_EDITION_IBC_TIA_FACTORY_FLEX_ADDRESS,
|
||||||
OPEN_EDITION_IBC_USDC_FACTORY_ADDRESS,
|
OPEN_EDITION_IBC_USDC_FACTORY_ADDRESS,
|
||||||
|
OPEN_EDITION_IBC_USDC_FACTORY_FLEX_ADDRESS,
|
||||||
OPEN_EDITION_IBC_USK_FACTORY_ADDRESS,
|
OPEN_EDITION_IBC_USK_FACTORY_ADDRESS,
|
||||||
OPEN_EDITION_NATIVE_BRNCH_FACTORY_ADDRESS,
|
OPEN_EDITION_NATIVE_BRNCH_FACTORY_ADDRESS,
|
||||||
OPEN_EDITION_NATIVE_STRDST_FACTORY_ADDRESS,
|
OPEN_EDITION_NATIVE_STRDST_FACTORY_ADDRESS,
|
||||||
@ -98,6 +102,7 @@ export const openEditionStarsMinter: MinterInfo = {
|
|||||||
supportedToken: stars,
|
supportedToken: stars,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionUpdatableStarsMinter: MinterInfo = {
|
export const openEditionUpdatableStarsMinter: MinterInfo = {
|
||||||
@ -106,6 +111,7 @@ export const openEditionUpdatableStarsMinter: MinterInfo = {
|
|||||||
supportedToken: stars,
|
supportedToken: stars,
|
||||||
updatable: true,
|
updatable: true,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionIbcAtomMinter: MinterInfo = {
|
export const openEditionIbcAtomMinter: MinterInfo = {
|
||||||
@ -114,6 +120,7 @@ export const openEditionIbcAtomMinter: MinterInfo = {
|
|||||||
supportedToken: ibcAtom,
|
supportedToken: ibcAtom,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionUpdatableIbcAtomMinter: MinterInfo = {
|
export const openEditionUpdatableIbcAtomMinter: MinterInfo = {
|
||||||
@ -122,6 +129,7 @@ export const openEditionUpdatableIbcAtomMinter: MinterInfo = {
|
|||||||
supportedToken: ibcAtom,
|
supportedToken: ibcAtom,
|
||||||
updatable: true,
|
updatable: true,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionIbcUsdcMinter: MinterInfo = {
|
export const openEditionIbcUsdcMinter: MinterInfo = {
|
||||||
@ -130,6 +138,7 @@ export const openEditionIbcUsdcMinter: MinterInfo = {
|
|||||||
supportedToken: ibcUsdc,
|
supportedToken: ibcUsdc,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionIbcTiaMinter: MinterInfo = {
|
export const openEditionIbcTiaMinter: MinterInfo = {
|
||||||
@ -138,6 +147,7 @@ export const openEditionIbcTiaMinter: MinterInfo = {
|
|||||||
supportedToken: ibcTia,
|
supportedToken: ibcTia,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionIbcNbtcMinter: MinterInfo = {
|
export const openEditionIbcNbtcMinter: MinterInfo = {
|
||||||
@ -146,6 +156,7 @@ export const openEditionIbcNbtcMinter: MinterInfo = {
|
|||||||
supportedToken: ibcNbtc,
|
supportedToken: ibcNbtc,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionUpdatableIbcUsdcMinter: MinterInfo = {
|
export const openEditionUpdatableIbcUsdcMinter: MinterInfo = {
|
||||||
@ -154,6 +165,7 @@ export const openEditionUpdatableIbcUsdcMinter: MinterInfo = {
|
|||||||
supportedToken: ibcUsdc,
|
supportedToken: ibcUsdc,
|
||||||
updatable: true,
|
updatable: true,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionUpdatableIbcTiaMinter: MinterInfo = {
|
export const openEditionUpdatableIbcTiaMinter: MinterInfo = {
|
||||||
@ -162,6 +174,7 @@ export const openEditionUpdatableIbcTiaMinter: MinterInfo = {
|
|||||||
supportedToken: ibcTia,
|
supportedToken: ibcTia,
|
||||||
updatable: true,
|
updatable: true,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionUpdatableIbcNbtcMinter: MinterInfo = {
|
export const openEditionUpdatableIbcNbtcMinter: MinterInfo = {
|
||||||
@ -170,6 +183,7 @@ export const openEditionUpdatableIbcNbtcMinter: MinterInfo = {
|
|||||||
supportedToken: ibcNbtc,
|
supportedToken: ibcNbtc,
|
||||||
updatable: true,
|
updatable: true,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionIbcFrnzMinter: MinterInfo = {
|
export const openEditionIbcFrnzMinter: MinterInfo = {
|
||||||
@ -178,6 +192,7 @@ export const openEditionIbcFrnzMinter: MinterInfo = {
|
|||||||
supportedToken: ibcFrnz,
|
supportedToken: ibcFrnz,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionUpdatableIbcFrnzMinter: MinterInfo = {
|
export const openEditionUpdatableIbcFrnzMinter: MinterInfo = {
|
||||||
@ -186,6 +201,7 @@ export const openEditionUpdatableIbcFrnzMinter: MinterInfo = {
|
|||||||
supportedToken: ibcFrnz,
|
supportedToken: ibcFrnz,
|
||||||
updatable: true,
|
updatable: true,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionIbcUskMinter: MinterInfo = {
|
export const openEditionIbcUskMinter: MinterInfo = {
|
||||||
@ -194,6 +210,7 @@ export const openEditionIbcUskMinter: MinterInfo = {
|
|||||||
supportedToken: ibcUsk,
|
supportedToken: ibcUsk,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionUpdatableIbcUskMinter: MinterInfo = {
|
export const openEditionUpdatableIbcUskMinter: MinterInfo = {
|
||||||
@ -202,6 +219,7 @@ export const openEditionUpdatableIbcUskMinter: MinterInfo = {
|
|||||||
supportedToken: ibcUsk,
|
supportedToken: ibcUsk,
|
||||||
updatable: true,
|
updatable: true,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionIbcKujiMinter: MinterInfo = {
|
export const openEditionIbcKujiMinter: MinterInfo = {
|
||||||
@ -210,6 +228,7 @@ export const openEditionIbcKujiMinter: MinterInfo = {
|
|||||||
supportedToken: ibcKuji,
|
supportedToken: ibcKuji,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionIbcHuahuaMinter: MinterInfo = {
|
export const openEditionIbcHuahuaMinter: MinterInfo = {
|
||||||
@ -218,6 +237,7 @@ export const openEditionIbcHuahuaMinter: MinterInfo = {
|
|||||||
supportedToken: ibcHuahua,
|
supportedToken: ibcHuahua,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionIbcCrbrusMinter: MinterInfo = {
|
export const openEditionIbcCrbrusMinter: MinterInfo = {
|
||||||
@ -226,6 +246,7 @@ export const openEditionIbcCrbrusMinter: MinterInfo = {
|
|||||||
supportedToken: ibcCrbrus,
|
supportedToken: ibcCrbrus,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionNativeStrdstMinter: MinterInfo = {
|
export const openEditionNativeStrdstMinter: MinterInfo = {
|
||||||
@ -234,6 +255,7 @@ export const openEditionNativeStrdstMinter: MinterInfo = {
|
|||||||
supportedToken: nativeStardust,
|
supportedToken: nativeStardust,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionNativeBrnchMinter: MinterInfo = {
|
export const openEditionNativeBrnchMinter: MinterInfo = {
|
||||||
@ -242,6 +264,7 @@ export const openEditionNativeBrnchMinter: MinterInfo = {
|
|||||||
supportedToken: nativeBrnch,
|
supportedToken: nativeBrnch,
|
||||||
updatable: false,
|
updatable: false,
|
||||||
featured: false,
|
featured: false,
|
||||||
|
flexible: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const openEditionMinterList = [
|
export const openEditionMinterList = [
|
||||||
@ -266,6 +289,49 @@ export const openEditionMinterList = [
|
|||||||
openEditionNativeBrnchMinter,
|
openEditionNativeBrnchMinter,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
export const flexibleOpenEditionStarsMinter: MinterInfo = {
|
||||||
|
id: 'flexible-open-edition-stars-minter',
|
||||||
|
factoryAddress: OPEN_EDITION_FACTORY_FLEX_ADDRESS,
|
||||||
|
supportedToken: stars,
|
||||||
|
updatable: false,
|
||||||
|
featured: false,
|
||||||
|
flexible: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
export const flexibleOpenEditionIbcAtomMinter: MinterInfo = {
|
||||||
|
id: 'flexible-open-edition-ibc-atom-minter',
|
||||||
|
factoryAddress: OPEN_EDITION_IBC_ATOM_FACTORY_FLEX_ADDRESS,
|
||||||
|
supportedToken: ibcAtom,
|
||||||
|
updatable: false,
|
||||||
|
featured: false,
|
||||||
|
flexible: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
export const flexibleOpenEditionIbcUsdcMinter: MinterInfo = {
|
||||||
|
id: 'flexible-open-edition-ibc-usdc-minter',
|
||||||
|
factoryAddress: OPEN_EDITION_IBC_USDC_FACTORY_FLEX_ADDRESS,
|
||||||
|
supportedToken: ibcUsdc,
|
||||||
|
updatable: false,
|
||||||
|
featured: false,
|
||||||
|
flexible: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
export const flexibleOpenEditionIbcTiaMinter: MinterInfo = {
|
||||||
|
id: 'flexible-open-edition-ibc-tia-minter',
|
||||||
|
factoryAddress: OPEN_EDITION_IBC_TIA_FACTORY_FLEX_ADDRESS,
|
||||||
|
supportedToken: ibcTia,
|
||||||
|
updatable: false,
|
||||||
|
featured: false,
|
||||||
|
flexible: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
export const flexibleOpenEditionMinterList = [
|
||||||
|
flexibleOpenEditionStarsMinter,
|
||||||
|
flexibleOpenEditionIbcAtomMinter,
|
||||||
|
flexibleOpenEditionIbcUsdcMinter,
|
||||||
|
flexibleOpenEditionIbcTiaMinter,
|
||||||
|
]
|
||||||
|
|
||||||
export const vendingStarsMinter: MinterInfo = {
|
export const vendingStarsMinter: MinterInfo = {
|
||||||
id: 'vending-stars-minter',
|
id: 'vending-stars-minter',
|
||||||
factoryAddress: VENDING_FACTORY_ADDRESS,
|
factoryAddress: VENDING_FACTORY_ADDRESS,
|
||||||
|
4
env.d.ts
vendored
4
env.d.ts
vendored
@ -78,12 +78,16 @@ declare namespace NodeJS {
|
|||||||
readonly NEXT_PUBLIC_VENDING_NATIVE_BRNCH_UPDATABLE_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_VENDING_NATIVE_BRNCH_UPDATABLE_FACTORY_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_VENDING_NATIVE_BRNCH_FLEX_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_VENDING_NATIVE_BRNCH_FLEX_FACTORY_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_FACTORY_ADDRESS: string
|
||||||
|
readonly NEXT_PUBLIC_OPEN_EDITION_FACTORY_FLEX_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS: string
|
||||||
|
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_ATOM_FACTORY_FLEX_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_ATOM_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_ATOM_FACTORY_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_USDC_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_USDC_FACTORY_ADDRESS: string
|
||||||
|
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_USDC_FACTORY_FLEX_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_USDC_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_USDC_FACTORY_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_TIA_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_TIA_FACTORY_ADDRESS: string
|
||||||
|
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_TIA_FACTORY_FLEX_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_TIA_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_TIA_FACTORY_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_NBTC_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_IBC_NBTC_FACTORY_ADDRESS: string
|
||||||
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_NBTC_FACTORY_ADDRESS: string
|
readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_NBTC_FACTORY_ADDRESS: string
|
||||||
|
@ -35,6 +35,7 @@ import { LoadingModal } from 'components/LoadingModal'
|
|||||||
import type { OpenEditionMinterCreatorDataProps } from 'components/openEdition/OpenEditionMinterCreator'
|
import type { OpenEditionMinterCreatorDataProps } from 'components/openEdition/OpenEditionMinterCreator'
|
||||||
import { OpenEditionMinterCreator } from 'components/openEdition/OpenEditionMinterCreator'
|
import { OpenEditionMinterCreator } from 'components/openEdition/OpenEditionMinterCreator'
|
||||||
import {
|
import {
|
||||||
|
flexibleOpenEditionMinterList,
|
||||||
flexibleVendingMinterList,
|
flexibleVendingMinterList,
|
||||||
merkleTreeVendingMinterList,
|
merkleTreeVendingMinterList,
|
||||||
openEditionMinterList,
|
openEditionMinterList,
|
||||||
@ -61,7 +62,6 @@ import {
|
|||||||
BLOCK_EXPLORER_URL,
|
BLOCK_EXPLORER_URL,
|
||||||
NETWORK,
|
NETWORK,
|
||||||
OPEN_EDITION_FACTORY_ADDRESS,
|
OPEN_EDITION_FACTORY_ADDRESS,
|
||||||
OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS,
|
|
||||||
SG721_CODE_ID,
|
SG721_CODE_ID,
|
||||||
SG721_UPDATABLE_CODE_ID,
|
SG721_UPDATABLE_CODE_ID,
|
||||||
STARGAZE_URL,
|
STARGAZE_URL,
|
||||||
@ -130,20 +130,19 @@ const CollectionCreationPage: NextPage = () => {
|
|||||||
const [baseMinterCreationFee, setBaseMinterCreationFee] = useState<string | null>(null)
|
const [baseMinterCreationFee, setBaseMinterCreationFee] = useState<string | null>(null)
|
||||||
const [vendingMinterUpdatableCreationFee, setVendingMinterUpdatableCreationFee] = useState<string | null>(null)
|
const [vendingMinterUpdatableCreationFee, setVendingMinterUpdatableCreationFee] = useState<string | null>(null)
|
||||||
const [openEditionMinterCreationFee, setOpenEditionMinterCreationFee] = useState<string | null>(null)
|
const [openEditionMinterCreationFee, setOpenEditionMinterCreationFee] = useState<string | null>(null)
|
||||||
const [openEditionMinterUpdatableCreationFee, setOpenEditionMinterUpdatableCreationFee] = useState<string | null>(
|
|
||||||
null,
|
|
||||||
)
|
|
||||||
const [vendingMinterFlexCreationFee, setVendingMinterFlexCreationFee] = useState<string | null>(null)
|
const [vendingMinterFlexCreationFee, setVendingMinterFlexCreationFee] = useState<string | null>(null)
|
||||||
const [baseMinterUpdatableCreationFee, setBaseMinterUpdatableCreationFee] = useState<string | null>(null)
|
const [baseMinterUpdatableCreationFee, setBaseMinterUpdatableCreationFee] = useState<string | null>(null)
|
||||||
const [minimumMintPrice, setMinimumMintPrice] = useState<string | null>('0')
|
const [minimumMintPrice, setMinimumMintPrice] = useState<string | null>('0')
|
||||||
const [minimumUpdatableMintPrice, setMinimumUpdatableMintPrice] = useState<string | null>('0')
|
const [minimumUpdatableMintPrice, setMinimumUpdatableMintPrice] = useState<string | null>('0')
|
||||||
const [minimumOpenEditionMintPrice, setMinimumOpenEditionMintPrice] = useState<string | null>('0')
|
const [minimumOpenEditionMintPrice, setMinimumOpenEditionMintPrice] = useState<string | null>('0')
|
||||||
const [minimumOpenEditionUpdatableMintPrice, setMinimumOpenEditionUpdatableMintPrice] = useState<string | null>('0')
|
|
||||||
const [minimumFlexMintPrice, setMinimumFlexMintPrice] = useState<string | null>('0')
|
const [minimumFlexMintPrice, setMinimumFlexMintPrice] = useState<string | null>('0')
|
||||||
|
|
||||||
const [mintTokenFromOpenEditionFactory, setMintTokenFromOpenEditionFactory] = useState<TokenInfo | undefined>(stars)
|
const [mintTokenFromOpenEditionFactory, setMintTokenFromOpenEditionFactory] = useState<TokenInfo | undefined>(stars)
|
||||||
const [mintTokenFromVendingFactory, setMintTokenFromVendingFactory] = useState<TokenInfo | undefined>(stars)
|
const [mintTokenFromVendingFactory, setMintTokenFromVendingFactory] = useState<TokenInfo | undefined>(stars)
|
||||||
const [vendingFactoryAddress, setVendingFactoryAddress] = useState<string | null>(VENDING_FACTORY_ADDRESS)
|
const [vendingFactoryAddress, setVendingFactoryAddress] = useState<string | null>(VENDING_FACTORY_ADDRESS)
|
||||||
|
const [openEditionFactoryAddress, setOpenEditionFactoryAddress] = useState<string | undefined>(
|
||||||
|
OPEN_EDITION_FACTORY_ADDRESS,
|
||||||
|
)
|
||||||
|
|
||||||
const vendingFactoryMessages = useMemo(
|
const vendingFactoryMessages = useMemo(
|
||||||
() => vendingFactoryContract?.use(vendingFactoryAddress as string),
|
() => vendingFactoryContract?.use(vendingFactoryAddress as string),
|
||||||
@ -170,6 +169,7 @@ const CollectionCreationPage: NextPage = () => {
|
|||||||
const [coverImageUrl, setCoverImageUrl] = useState<string | null>(null)
|
const [coverImageUrl, setCoverImageUrl] = useState<string | null>(null)
|
||||||
const [transactionHash, setTransactionHash] = useState<string | null>(null)
|
const [transactionHash, setTransactionHash] = useState<string | null>(null)
|
||||||
const [isMatchingVendingFactoryPresent, setIsMatchingVendingFactoryPresent] = useState<boolean>(true)
|
const [isMatchingVendingFactoryPresent, setIsMatchingVendingFactoryPresent] = useState<boolean>(true)
|
||||||
|
const [isMatchingOpenEditionFactoryPresent, setIsMatchingOpenEditionFactoryPresent] = useState<boolean>(true)
|
||||||
|
|
||||||
const performVendingMinterChecks = () => {
|
const performVendingMinterChecks = () => {
|
||||||
try {
|
try {
|
||||||
@ -1273,32 +1273,27 @@ const CollectionCreationPage: NextPage = () => {
|
|||||||
setOpenEditionMinterCreationFee(openEditionFactoryParameters?.params?.creation_fee?.amount)
|
setOpenEditionMinterCreationFee(openEditionFactoryParameters?.params?.creation_fee?.amount)
|
||||||
setMinimumOpenEditionMintPrice(openEditionFactoryParameters?.params?.min_mint_price?.amount)
|
setMinimumOpenEditionMintPrice(openEditionFactoryParameters?.params?.min_mint_price?.amount)
|
||||||
}
|
}
|
||||||
if (OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS) {
|
|
||||||
const openEditionUpdatableFactoryParameters = await client
|
|
||||||
.queryContractSmart(OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS, { params: {} })
|
|
||||||
.catch((error) => {
|
|
||||||
toast.error(`${error.message}`, { style: { maxWidth: 'none' } })
|
|
||||||
addLogItem({ id: uid(), message: error.message, type: 'Error', timestamp: new Date() })
|
|
||||||
})
|
|
||||||
setOpenEditionMinterUpdatableCreationFee(openEditionUpdatableFactoryParameters?.params?.creation_fee?.amount)
|
|
||||||
setMinimumOpenEditionUpdatableMintPrice(openEditionUpdatableFactoryParameters?.params?.min_mint_price?.amount)
|
|
||||||
}
|
|
||||||
setInitialParametersFetched(true)
|
setInitialParametersFetched(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
const fetchOpenEditionFactoryParameters = useCallback(async () => {
|
const fetchOpenEditionFactoryParameters = useCallback(async () => {
|
||||||
const client = await wallet.getCosmWasmClient()
|
const client = await wallet.getCosmWasmClient()
|
||||||
const factoryForSelectedDenom = openEditionMinterList.find(
|
const factoryForSelectedDenom = openEditionMinterList
|
||||||
(minter) =>
|
.concat(flexibleOpenEditionMinterList)
|
||||||
minter.supportedToken === openEditionMinterDetails?.mintingDetails?.selectedMintToken &&
|
.find(
|
||||||
minter.updatable === false,
|
(minter) =>
|
||||||
)
|
minter.supportedToken === openEditionMinterDetails?.mintingDetails?.selectedMintToken &&
|
||||||
const updatableFactoryForSelectedDenom = openEditionMinterList.find(
|
minter.updatable === openEditionMinterDetails.collectionDetails?.updatable &&
|
||||||
(minter) =>
|
minter.flexible ===
|
||||||
minter.supportedToken === openEditionMinterDetails?.mintingDetails?.selectedMintToken &&
|
(openEditionMinterDetails.whitelistDetails?.whitelistState !== 'none' &&
|
||||||
minter.updatable === true,
|
openEditionMinterDetails.whitelistDetails?.whitelistType === 'flex'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
console.log('OE Factory: ', factoryForSelectedDenom?.factoryAddress)
|
||||||
if (factoryForSelectedDenom?.factoryAddress) {
|
if (factoryForSelectedDenom?.factoryAddress) {
|
||||||
|
setIsMatchingOpenEditionFactoryPresent(true)
|
||||||
|
setOpenEditionFactoryAddress(factoryForSelectedDenom.factoryAddress)
|
||||||
|
|
||||||
const openEditionFactoryParameters = await client
|
const openEditionFactoryParameters = await client
|
||||||
.queryContractSmart(factoryForSelectedDenom.factoryAddress, { params: {} })
|
.queryContractSmart(factoryForSelectedDenom.factoryAddress, { params: {} })
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
@ -1306,34 +1301,22 @@ const CollectionCreationPage: NextPage = () => {
|
|||||||
addLogItem({ id: uid(), message: error.message, type: 'Error', timestamp: new Date() })
|
addLogItem({ id: uid(), message: error.message, type: 'Error', timestamp: new Date() })
|
||||||
})
|
})
|
||||||
setOpenEditionMinterCreationFee(openEditionFactoryParameters?.params?.creation_fee?.amount)
|
setOpenEditionMinterCreationFee(openEditionFactoryParameters?.params?.creation_fee?.amount)
|
||||||
if (!openEditionMinterDetails?.collectionDetails?.updatable) {
|
setMinimumOpenEditionMintPrice(openEditionFactoryParameters?.params?.min_mint_price?.amount)
|
||||||
setMinimumOpenEditionMintPrice(openEditionFactoryParameters?.params?.min_mint_price?.amount)
|
setMintTokenFromOpenEditionFactory(
|
||||||
setMintTokenFromOpenEditionFactory(
|
tokensList.find((token) => token.denom === openEditionFactoryParameters?.params?.min_mint_price?.denom),
|
||||||
tokensList.find((token) => token.denom === openEditionFactoryParameters?.params?.min_mint_price?.denom),
|
)
|
||||||
)
|
} else if (
|
||||||
}
|
openEditionMinterDetails?.mintingDetails?.selectedMintToken &&
|
||||||
}
|
openEditionMinterDetails.whitelistDetails?.whitelistState
|
||||||
if (updatableFactoryForSelectedDenom?.factoryAddress) {
|
) {
|
||||||
const openEditionUpdatableFactoryParameters = await client
|
setIsMatchingOpenEditionFactoryPresent(false)
|
||||||
.queryContractSmart(updatableFactoryForSelectedDenom.factoryAddress, { params: {} })
|
|
||||||
.catch((error) => {
|
|
||||||
toast.error(`${error.message}`, { style: { maxWidth: 'none' } })
|
|
||||||
addLogItem({ id: uid(), message: error.message, type: 'Error', timestamp: new Date() })
|
|
||||||
})
|
|
||||||
setOpenEditionMinterUpdatableCreationFee(openEditionUpdatableFactoryParameters?.params?.creation_fee?.amount)
|
|
||||||
if (openEditionMinterDetails?.collectionDetails?.updatable) {
|
|
||||||
setMinimumOpenEditionUpdatableMintPrice(openEditionUpdatableFactoryParameters?.params?.min_mint_price?.amount)
|
|
||||||
setMintTokenFromOpenEditionFactory(
|
|
||||||
tokensList.find(
|
|
||||||
(token) => token.denom === openEditionUpdatableFactoryParameters?.params?.min_mint_price?.denom,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [
|
}, [
|
||||||
openEditionMinterDetails?.mintingDetails?.selectedMintToken,
|
openEditionMinterDetails?.mintingDetails?.selectedMintToken,
|
||||||
openEditionMinterDetails?.collectionDetails?.updatable,
|
openEditionMinterDetails?.collectionDetails?.updatable,
|
||||||
|
openEditionMinterDetails?.whitelistDetails?.whitelistType,
|
||||||
|
openEditionMinterDetails?.whitelistDetails?.whitelistState,
|
||||||
wallet.isWalletConnected,
|
wallet.isWalletConnected,
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -1930,14 +1913,14 @@ const CollectionCreationPage: NextPage = () => {
|
|||||||
<Conditional test={minterType === 'openEdition'}>
|
<Conditional test={minterType === 'openEdition'}>
|
||||||
<OpenEditionMinterCreator
|
<OpenEditionMinterCreator
|
||||||
importedOpenEditionMinterDetails={importedDetails?.openEditionMinterDetails}
|
importedOpenEditionMinterDetails={importedDetails?.openEditionMinterDetails}
|
||||||
|
isMatchingFactoryPresent={isMatchingOpenEditionFactoryPresent}
|
||||||
minimumMintPrice={minimumOpenEditionMintPrice as string}
|
minimumMintPrice={minimumOpenEditionMintPrice as string}
|
||||||
minimumUpdatableMintPrice={minimumOpenEditionUpdatableMintPrice as string}
|
|
||||||
mintTokenFromFactory={mintTokenFromOpenEditionFactory}
|
mintTokenFromFactory={mintTokenFromOpenEditionFactory}
|
||||||
minterType={minterType}
|
minterType={minterType}
|
||||||
onChange={setOpenEditionMinterCreatorData}
|
onChange={setOpenEditionMinterCreatorData}
|
||||||
onDetailsChange={setOpenEditionMinterDetails}
|
onDetailsChange={setOpenEditionMinterDetails}
|
||||||
|
openEditionFactoryAddress={openEditionFactoryAddress}
|
||||||
openEditionMinterCreationFee={openEditionMinterCreationFee as string}
|
openEditionMinterCreationFee={openEditionMinterCreationFee as string}
|
||||||
openEditionMinterUpdatableCreationFee={openEditionMinterUpdatableCreationFee as string}
|
|
||||||
/>
|
/>
|
||||||
</Conditional>
|
</Conditional>
|
||||||
<div className="mx-10">
|
<div className="mx-10">
|
||||||
|
@ -80,14 +80,21 @@ export const VENDING_NATIVE_BRNCH_FLEX_FACTORY_ADDRESS =
|
|||||||
export const BASE_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_BASE_FACTORY_ADDRESS
|
export const BASE_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_BASE_FACTORY_ADDRESS
|
||||||
export const BASE_FACTORY_UPDATABLE_ADDRESS = process.env.NEXT_PUBLIC_BASE_FACTORY_UPDATABLE_ADDRESS
|
export const BASE_FACTORY_UPDATABLE_ADDRESS = process.env.NEXT_PUBLIC_BASE_FACTORY_UPDATABLE_ADDRESS
|
||||||
export const OPEN_EDITION_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_FACTORY_ADDRESS
|
export const OPEN_EDITION_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_FACTORY_ADDRESS
|
||||||
|
export const OPEN_EDITION_FACTORY_FLEX_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_FACTORY_FLEX_ADDRESS
|
||||||
export const OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS
|
export const OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS
|
||||||
export const OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS
|
export const OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS
|
||||||
|
export const OPEN_EDITION_IBC_ATOM_FACTORY_FLEX_ADDRESS =
|
||||||
|
process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_ATOM_FACTORY_FLEX_ADDRESS
|
||||||
export const OPEN_EDITION_UPDATABLE_IBC_ATOM_FACTORY_ADDRESS =
|
export const OPEN_EDITION_UPDATABLE_IBC_ATOM_FACTORY_ADDRESS =
|
||||||
process.env.NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_ATOM_FACTORY_ADDRESS
|
process.env.NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_ATOM_FACTORY_ADDRESS
|
||||||
export const OPEN_EDITION_IBC_USDC_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_USDC_FACTORY_ADDRESS
|
export const OPEN_EDITION_IBC_USDC_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_USDC_FACTORY_ADDRESS
|
||||||
|
export const OPEN_EDITION_IBC_USDC_FACTORY_FLEX_ADDRESS =
|
||||||
|
process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_USDC_FACTORY_FLEX_ADDRESS
|
||||||
export const OPEN_EDITION_UPDATABLE_IBC_USDC_FACTORY_ADDRESS =
|
export const OPEN_EDITION_UPDATABLE_IBC_USDC_FACTORY_ADDRESS =
|
||||||
process.env.NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_USDC_FACTORY_ADDRESS
|
process.env.NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_USDC_FACTORY_ADDRESS
|
||||||
export const OPEN_EDITION_IBC_TIA_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_TIA_FACTORY_ADDRESS
|
export const OPEN_EDITION_IBC_TIA_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_TIA_FACTORY_ADDRESS
|
||||||
|
export const OPEN_EDITION_IBC_TIA_FACTORY_FLEX_ADDRESS =
|
||||||
|
process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_TIA_FACTORY_FLEX_ADDRESS
|
||||||
export const OPEN_EDITION_UPDATABLE_IBC_TIA_FACTORY_ADDRESS =
|
export const OPEN_EDITION_UPDATABLE_IBC_TIA_FACTORY_ADDRESS =
|
||||||
process.env.NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_TIA_FACTORY_ADDRESS
|
process.env.NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_TIA_FACTORY_ADDRESS
|
||||||
export const OPEN_EDITION_IBC_NBTC_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_NBTC_FACTORY_ADDRESS
|
export const OPEN_EDITION_IBC_NBTC_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_IBC_NBTC_FACTORY_ADDRESS
|
||||||
|
Loading…
Reference in New Issue
Block a user