diff --git a/.env.example b/.env.example index 538335d..45ed4b3 100644 --- a/.env.example +++ b/.env.example @@ -15,6 +15,10 @@ NEXT_PUBLIC_VENDING_IBC_ATOM_FACTORY_ADDRESS="stars1sqweqcxlf2f7qhf27gn5naqusk5q NEXT_PUBLIC_VENDING_IBC_ATOM_UPDATABLE_FACTORY_ADDRESS="stars1sqweqcxlf2f7qhf27gn5naqusk5q52fkzewmy63c4sglvle3s7ls6k828e" NEXT_PUBLIC_VENDING_IBC_USDC_FACTORY_ADDRESS="stars1sqweqcxlf2f7qhf27gn5naqusk5q52fkzewmy63c4sglvle3s7ls6k828e" NEXT_PUBLIC_VENDING_IBC_USDC_UPDATABLE_FACTORY_ADDRESS="stars1sqweqcxlf2f7qhf27gn5naqusk5q52fkzewmy63c4sglvle3s7ls6k828e" +NEXT_PUBLIC_VENDING_IBC_ATOM_FACTORY_FLEX_ADDRESS="stars1sqweqcxlf2f7qhf27gn5naqusk5q52fkzewmy63c4sglvle3s7ls6k828e" +NEXT_PUBLIC_VENDING_IBC_ATOM_UPDATABLE_FACTORY_FLEX_ADDRESS="stars1sqweqcxlf2f7qhf27gn5naqusk5q52fkzewmy63c4sglvle3s7ls6k828e" +NEXT_PUBLIC_VENDING_IBC_USDC_FACTORY_FLEX_ADDRESS="stars1sqweqcxlf2f7qhf27gn5naqusk5q52fkzewmy63c4sglvle3s7ls6k828e" +NEXT_PUBLIC_VENDING_IBC_USDC_UPDATABLE_FACTORY_FLEX_ADDRESS="stars1sqweqcxlf2f7qhf27gn5naqusk5q52fkzewmy63c4sglvle3s7ls6k828e" NEXT_PUBLIC_BASE_FACTORY_ADDRESS="stars1a45hcxty3spnmm2f0papl8v4dk5ew29s4syhn4efte8u5haex99qlkrtnx" NEXT_PUBLIC_BASE_FACTORY_UPDATABLE_ADDRESS="stars100xegx2syry4tclkmejjwxk4nfqahvcqhm9qxut5wxuzhj5d9qfsh5nmym" NEXT_PUBLIC_OPEN_EDITION_FACTORY_ADDRESS="stars1sqweqcxlf2f7qhf27gn5naqusk5q52fkzewmy63c4sglvle3s7ls6k828e" diff --git a/config/minter.ts b/config/minter.ts index b7d359f..02ebc5b 100644 --- a/config/minter.ts +++ b/config/minter.ts @@ -8,11 +8,17 @@ import { OPEN_EDITION_UPDATABLE_IBC_FRENZ_FACTORY_ADDRESS, OPEN_EDITION_UPDATABLE_IBC_USDC_FACTORY_ADDRESS, VENDING_FACTORY_ADDRESS, + VENDING_FACTORY_FLEX_ADDRESS, VENDING_FACTORY_UPDATABLE_ADDRESS, + VENDING_FACTORY_UPDATABLE_FLEX_ADDRESS, VENDING_IBC_ATOM_FACTORY_ADDRESS, + VENDING_IBC_ATOM_FACTORY_FLEX_ADDRESS, VENDING_IBC_ATOM_UPDATABLE_FACTORY_ADDRESS, + VENDING_IBC_ATOM_UPDATABLE_FACTORY_FLEX_ADDRESS, VENDING_IBC_USDC_FACTORY_ADDRESS, + VENDING_IBC_USDC_FACTORY_FLEX_ADDRESS, VENDING_IBC_USDC_UPDATABLE_FACTORY_ADDRESS, + VENDING_IBC_USDC_UPDATABLE_FACTORY_FLEX_ADDRESS, } from 'utils/constants' import type { TokenInfo } from './token' @@ -23,6 +29,7 @@ export interface MinterInfo { factoryAddress: string supportedToken: TokenInfo updatable?: boolean + flexible?: boolean } export const openEditionStarsMinter: MinterInfo = { @@ -97,6 +104,7 @@ export const vendingStarsMinter: MinterInfo = { factoryAddress: VENDING_FACTORY_ADDRESS, supportedToken: stars, updatable: false, + flexible: false, } export const vendingUpdatableStarsMinter: MinterInfo = { @@ -104,6 +112,7 @@ export const vendingUpdatableStarsMinter: MinterInfo = { factoryAddress: VENDING_FACTORY_UPDATABLE_ADDRESS, supportedToken: stars, updatable: true, + flexible: false, } export const vendingIbcAtomMinter: MinterInfo = { @@ -111,6 +120,7 @@ export const vendingIbcAtomMinter: MinterInfo = { factoryAddress: VENDING_IBC_ATOM_FACTORY_ADDRESS, supportedToken: ibcAtom, updatable: false, + flexible: false, } export const vendingUpdatableIbcAtomMinter: MinterInfo = { @@ -118,6 +128,7 @@ export const vendingUpdatableIbcAtomMinter: MinterInfo = { factoryAddress: VENDING_IBC_ATOM_UPDATABLE_FACTORY_ADDRESS, supportedToken: ibcAtom, updatable: true, + flexible: false, } export const vendingIbcUsdcMinter: MinterInfo = { @@ -125,6 +136,7 @@ export const vendingIbcUsdcMinter: MinterInfo = { factoryAddress: VENDING_IBC_USDC_FACTORY_ADDRESS, supportedToken: ibcUsdc, updatable: false, + flexible: false, } export const vendingUpdatableIbcUsdcMinter: MinterInfo = { @@ -132,6 +144,7 @@ export const vendingUpdatableIbcUsdcMinter: MinterInfo = { factoryAddress: VENDING_IBC_USDC_UPDATABLE_FACTORY_ADDRESS, supportedToken: ibcUsdc, updatable: true, + flexible: false, } export const vendingMinterList = [ @@ -142,3 +155,60 @@ export const vendingMinterList = [ vendingIbcUsdcMinter, vendingUpdatableIbcUsdcMinter, ] + +export const flexibleVendingStarsMinter: MinterInfo = { + id: 'flexible-vending-stars-minter', + factoryAddress: VENDING_FACTORY_FLEX_ADDRESS, + supportedToken: stars, + updatable: false, + flexible: true, +} + +export const flexibleVendingUpdatableStarsMinter: MinterInfo = { + id: 'flexible-vending-updatable-stars-minter', + factoryAddress: VENDING_FACTORY_UPDATABLE_FLEX_ADDRESS, + supportedToken: stars, + updatable: true, + flexible: true, +} + +export const flexibleVendingIbcAtomMinter: MinterInfo = { + id: 'flexible-vending-ibc-atom-minter', + factoryAddress: VENDING_IBC_ATOM_FACTORY_FLEX_ADDRESS, + supportedToken: ibcAtom, + updatable: false, + flexible: true, +} + +export const flexibleVendingUpdatableIbcAtomMinter: MinterInfo = { + id: 'flexible-vending-updatable-ibc-atom-minter', + factoryAddress: VENDING_IBC_ATOM_UPDATABLE_FACTORY_FLEX_ADDRESS, + supportedToken: ibcAtom, + updatable: true, + flexible: true, +} + +export const flexibleVendingIbcUsdcMinter: MinterInfo = { + id: 'flexible-vending-ibc-usdc-minter', + factoryAddress: VENDING_IBC_USDC_FACTORY_FLEX_ADDRESS, + supportedToken: ibcUsdc, + updatable: false, + flexible: true, +} + +export const flexibleVendingUpdatableIbcUsdcMinter: MinterInfo = { + id: 'flexible-vending-updatable-ibc-usdc-minter', + factoryAddress: VENDING_IBC_USDC_UPDATABLE_FACTORY_FLEX_ADDRESS, + supportedToken: ibcUsdc, + updatable: true, + flexible: true, +} + +export const flexibleVendingMinterList = [ + flexibleVendingStarsMinter, + flexibleVendingUpdatableStarsMinter, + flexibleVendingIbcAtomMinter, + flexibleVendingUpdatableIbcAtomMinter, + flexibleVendingIbcUsdcMinter, + flexibleVendingUpdatableIbcUsdcMinter, +] diff --git a/env.d.ts b/env.d.ts index 1325002..d41c8e5 100644 --- a/env.d.ts +++ b/env.d.ts @@ -23,10 +23,17 @@ 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_VENDING_FACTORY_UPDATABLE_ADDRESS: string + readonly NEXT_PUBLIC_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 readonly NEXT_PUBLIC_VENDING_IBC_USDC_FACTORY_ADDRESS: string readonly NEXT_PUBLIC_VENDING_IBC_USDC_UPDATABLE_FACTORY_ADDRESS: string + readonly NEXT_PUBLIC_VENDING_IBC_ATOM_FACTORY_FLEX_ADDRESS: string + readonly NEXT_PUBLIC_VENDING_IBC_ATOM_UPDATABLE_FACTORY_FLEX_ADDRESS: string + readonly NEXT_PUBLIC_VENDING_IBC_USDC_FACTORY_FLEX_ADDRESS: string + readonly NEXT_PUBLIC_VENDING_IBC_USDC_UPDATABLE_FACTORY_FLEX_ADDRESS: string readonly NEXT_PUBLIC_OPEN_EDITION_FACTORY_ADDRESS: string readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_FACTORY_ADDRESS: string readonly NEXT_PUBLIC_OPEN_EDITION_IBC_ATOM_FACTORY_ADDRESS: string @@ -36,8 +43,6 @@ declare namespace NodeJS { readonly NEXT_PUBLIC_OPEN_EDITION_IBC_FRENZ_FACTORY_ADDRESS: string readonly NEXT_PUBLIC_OPEN_EDITION_UPDATABLE_IBC_FRENZ_FACTORY_ADDRESS: string readonly NEXT_PUBLIC_OPEN_EDITION_MINTER_CODE_ID: string - readonly NEXT_PUBLIC_VENDING_FACTORY_UPDATABLE_ADDRESS: string - readonly NEXT_PUBLIC_VENDING_FACTORY_FLEX_ADDRESS: string readonly NEXT_PUBLIC_BASE_FACTORY_ADDRESS: string readonly NEXT_PUBLIC_BASE_FACTORY_UPDATABLE_ADDRESS: string readonly NEXT_PUBLIC_SG721_NAME_ADDRESS: string diff --git a/utils/constants.ts b/utils/constants.ts index 01b8a8a..8b919ed 100644 --- a/utils/constants.ts +++ b/utils/constants.ts @@ -12,12 +12,19 @@ export const VENDING_MINTER_FLEX_CODE_ID = parseInt(process.env.NEXT_PUBLIC_VEND export const VENDING_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_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 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 = process.env.NEXT_PUBLIC_VENDING_IBC_ATOM_UPDATABLE_FACTORY_ADDRESS export const VENDING_IBC_USDC_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_VENDING_IBC_USDC_FACTORY_ADDRESS export const VENDING_IBC_USDC_UPDATABLE_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_VENDING_IBC_USDC_UPDATABLE_FACTORY_ADDRESS +export const VENDING_IBC_ATOM_FACTORY_FLEX_ADDRESS = process.env.NEXT_PUBLIC_VENDING_IBC_ATOM_FACTORY_FLEX_ADDRESS +export const VENDING_IBC_ATOM_UPDATABLE_FACTORY_FLEX_ADDRESS = + process.env.NEXT_PUBLIC_VENDING_IBC_ATOM_UPDATABLE_FACTORY_FLEX_ADDRESS +export const VENDING_IBC_USDC_FACTORY_FLEX_ADDRESS = process.env.NEXT_PUBLIC_VENDING_IBC_USDC_FACTORY_FLEX_ADDRESS +export const VENDING_IBC_USDC_UPDATABLE_FACTORY_FLEX_ADDRESS = + process.env.NEXT_PUBLIC_VENDING_IBC_USDC_UPDATABLE_FACTORY_FLEX_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 OPEN_EDITION_FACTORY_ADDRESS = process.env.NEXT_PUBLIC_OPEN_EDITION_FACTORY_ADDRESS