From 8eb8220309acdc0c6c909ec20c618aa1ccf2e2c5 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Tue, 12 Nov 2024 15:18:03 -0500 Subject: [PATCH] changed isDev to constant in env.ts - add env var to set constant later --- README.md | 1 - env.ts | 1 + examples/react/src/components/Connected.tsx | 2 -- examples/react/src/config.ts | 1 - examples/react/src/utils/helpers.ts | 1 - packages/checkout/README.md | 1 - packages/checkout/src/api/data.ts | 14 +++++++------- packages/checkout/src/contexts/CheckoutModal.ts | 1 - .../checkout/src/contexts/SelectPaymentModal.ts | 3 +-- .../checkout/src/hooks/useSelectPaymentModal.ts | 12 +++++++++--- packages/checkout/src/utils/sardine.ts | 9 +++++---- .../PaymentSelection/PayWithCreditCard/index.tsx | 14 +------------- .../checkout/src/views/PendingTransaction.tsx | 12 +++++------- packages/kit/README.md | 1 - packages/kit/src/config/defaultConnectors.ts | 12 ++++-------- .../wagmiConnectors/sequenceWaasConnector.ts | 6 +++--- packages/kit/src/hooks/useAPIClient.ts | 5 +++-- packages/kit/src/hooks/useIndexerClient.ts | 16 ++++++++-------- packages/kit/src/hooks/useMetadataClient.ts | 6 +++--- packages/kit/src/types.ts | 1 - 20 files changed, 50 insertions(+), 69 deletions(-) create mode 100644 env.ts diff --git a/README.md b/README.md index 5f12627a..00460f44 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,6 @@ interface CreateConfigOptions { chainId: number }> ethAuth?: EthAuthSettings - isDev?: boolean wagmiConfig?: WagmiConfig // optional wagmiConfig overrides diff --git a/env.ts b/env.ts new file mode 100644 index 00000000..24254c1b --- /dev/null +++ b/env.ts @@ -0,0 +1 @@ +export const DEVMODE = false diff --git a/examples/react/src/components/Connected.tsx b/examples/react/src/components/Connected.tsx index 89903ae3..011ac5ec 100644 --- a/examples/react/src/components/Connected.tsx +++ b/examples/react/src/components/Connected.tsx @@ -352,7 +352,6 @@ export const Connected = () => { currencyAddress, collectionAddress, creditCardProviders: ['sardine'], - isDev: true, copyrightText: 'ⓒ2024 Sequence', onSuccess: (txnHash: string) => { console.log('success!', txnHash) @@ -382,7 +381,6 @@ export const Connected = () => { nftId: checkoutTokenId, nftAddress: checkoutTokenContractAddress, nftQuantity, - isDev: true, approvedSpenderAddress: orderbookAddress, calldata: getOrderbookCalldata({ orderId: checkoutOrderId, diff --git a/examples/react/src/config.ts b/examples/react/src/config.ts index 571e70b8..6c45af82 100644 --- a/examples/react/src/config.ts +++ b/examples/react/src/config.ts @@ -23,7 +23,6 @@ export const kitConfig: KitConfig = { projectName: 'Kit Demo', useMock: isDebugMode }, - isDev: isDebugMode, displayedAssets: [ // Native token { diff --git a/examples/react/src/utils/helpers.ts b/examples/react/src/utils/helpers.ts index 1cf33e21..3c34994f 100644 --- a/examples/react/src/utils/helpers.ts +++ b/examples/react/src/utils/helpers.ts @@ -35,7 +35,6 @@ export interface GetCheckoutSettings { calldata: string approvedSpenderAddress?: string nftDecimals?: string - isDev?: boolean } export const getCheckoutSettings = (args: GetCheckoutSettings) => { diff --git a/packages/checkout/README.md b/packages/checkout/README.md index 5b6f587f..9d7874a4 100644 --- a/packages/checkout/README.md +++ b/packages/checkout/README.md @@ -116,7 +116,6 @@ const creditCardCheckout = { nftId: checkoutTokenId, nftAddress: checkoutTokenContractAddress, nftQuantity, - isDev: true, calldata: getOrderbookCalldata({ orderId: checkoutOrderId, quantity: nftQuantity, diff --git a/packages/checkout/src/api/data.ts b/packages/checkout/src/api/data.ts index 9950e401..40a2e5b5 100644 --- a/packages/checkout/src/api/data.ts +++ b/packages/checkout/src/api/data.ts @@ -3,6 +3,8 @@ import { ChainId, networks } from '@0xsequence/network' import { CreditCardCheckout } from '../contexts' +import { DEVMODE } from '../../../../env' + export interface FetchSardineClientTokenReturn { token: string orderId: string @@ -14,20 +16,18 @@ export interface MethodArguments { export interface FetchSardineClientTokenArgs { order: CreditCardCheckout - isDev: boolean projectAccessKey: string tokenMetadata?: TokenMetadata } export const fetchSardineClientToken = async ({ order, - isDev, projectAccessKey, tokenMetadata }: FetchSardineClientTokenArgs): Promise => { // Test credentials: https://docs.sardine.ai/docs/integrate-payments/nft-checkout-testing-credentials - const accessKey = isDev ? '17xhjK4yjRf1fr0am8kgKfICAAAAAAAAA' : projectAccessKey - const url = isDev + const accessKey = DEVMODE ? '17xhjK4yjRf1fr0am8kgKfICAAAAAAAAA' : projectAccessKey + const url = DEVMODE ? 'https://dev-api.sequence.app/rpc/API/SardineGetNFTCheckoutToken' : 'https://api.sequence.app/rpc/API/SardineGetNFTCheckoutToken' @@ -68,10 +68,10 @@ export const fetchSardineClientToken = async ({ } } -export const fetchSardineOrderStatus = async (orderId: string, isDev: boolean, projectAccessKey: string) => { +export const fetchSardineOrderStatus = async (orderId: string, projectAccessKey: string) => { // Test credentials: https://docs.sardine.ai/docs/integrate-payments/nft-checkout-testing-credentials - const accessKey = isDev ? '17xhjK4yjRf1fr0am8kgKfICAAAAAAAAA' : projectAccessKey - const url = isDev + const accessKey = DEVMODE ? '17xhjK4yjRf1fr0am8kgKfICAAAAAAAAA' : projectAccessKey + const url = DEVMODE ? 'https://dev-api.sequence.app/rpc/API/SardineGetNFTCheckoutOrderStatus' : 'https://api.sequence.app/rpc/API/SardineGetNFTCheckoutOrderStatus' const response = await fetch(url, { diff --git a/packages/checkout/src/contexts/CheckoutModal.ts b/packages/checkout/src/contexts/CheckoutModal.ts index 1956bc94..ff6fb59d 100644 --- a/packages/checkout/src/contexts/CheckoutModal.ts +++ b/packages/checkout/src/contexts/CheckoutModal.ts @@ -31,7 +31,6 @@ export interface CreditCardCheckout { calldata: string onSuccess?: (transactionHash: string, settings: CreditCardCheckout) => void onError?: (error: Error, settings: CreditCardCheckout) => void - isDev?: boolean approvedSpenderAddress?: string } diff --git a/packages/checkout/src/contexts/SelectPaymentModal.ts b/packages/checkout/src/contexts/SelectPaymentModal.ts index 9f477637..8324aec4 100644 --- a/packages/checkout/src/contexts/SelectPaymentModal.ts +++ b/packages/checkout/src/contexts/SelectPaymentModal.ts @@ -9,7 +9,7 @@ export interface Collectible { quantity: string decimals?: number price?: string - } +} export interface SelectPaymentSettings { collectibles: Collectible[] @@ -21,7 +21,6 @@ export interface SelectPaymentSettings { collectionAddress: string | Hex recipientAddress: string | Hex approvedSpenderAddress?: string - isDev?: boolean transactionConfirmations?: number onSuccess?: (txHash: string) => void onError?: (error: Error) => void diff --git a/packages/checkout/src/hooks/useSelectPaymentModal.ts b/packages/checkout/src/hooks/useSelectPaymentModal.ts index 0da8a8e0..8fb699b2 100644 --- a/packages/checkout/src/hooks/useSelectPaymentModal.ts +++ b/packages/checkout/src/hooks/useSelectPaymentModal.ts @@ -19,7 +19,6 @@ export const getERC1155SaleContractConfig = ({ recipientAddress, collectibles, collectionAddress, - isDev = false, ...restProps }: ERC1155SaleContractSettings): SelectPaymentSettings => { const erc1155SalesContractAbi = [ @@ -43,7 +42,15 @@ export const getERC1155SaleContractConfig = ({ const purchaseTransactionData = encodeFunctionData({ abi: erc1155SalesContractAbi, functionName: 'mint', - args: [recipientAddress, collectibles.map(c => BigInt(c.tokenId)), collectibles.map(c => BigInt(c.quantity)), toHex(0), currencyAddress, price, [toHex(0, { size: 32 })]] + args: [ + recipientAddress, + collectibles.map(c => BigInt(c.tokenId)), + collectibles.map(c => BigInt(c.quantity)), + toHex(0), + currencyAddress, + price, + [toHex(0, { size: 32 })] + ] }) return { @@ -53,7 +60,6 @@ export const getERC1155SaleContractConfig = ({ recipientAddress, collectibles, collectionAddress, - isDev, txData: purchaseTransactionData, ...restProps } diff --git a/packages/checkout/src/utils/sardine.ts b/packages/checkout/src/utils/sardine.ts index 672222e9..e4e36aa8 100644 --- a/packages/checkout/src/utils/sardine.ts +++ b/packages/checkout/src/utils/sardine.ts @@ -1,21 +1,22 @@ import { ChainId, networks } from '@0xsequence/network' import { ethers } from 'ethers' +import { DEVMODE } from '../../../../env' + export interface CheckSardineWhitelistStatusArgs { - isDev: boolean chainId: number marketplaceAddress: string } export const checkSardineWhitelistStatus = async ( - { isDev, chainId, marketplaceAddress }: CheckSardineWhitelistStatusArgs, + { chainId, marketplaceAddress }: CheckSardineWhitelistStatusArgs, projectAccessKey: string ) => { const referenceId = `sequence-kit-sardine-whitelist-check` - const accessKey = isDev ? '17xhjK4yjRf1fr0am8kgKfICAAAAAAAAA' : projectAccessKey + const accessKey = DEVMODE ? '17xhjK4yjRf1fr0am8kgKfICAAAAAAAAA' : projectAccessKey - const url = isDev + const url = DEVMODE ? 'https://dev-api.sequence.app/rpc/API/SardineGetNFTCheckoutToken' : 'https://api.sequence.app/rpc/API/SardineGetNFTCheckoutToken' diff --git a/packages/checkout/src/views/PaymentSelection/PayWithCreditCard/index.tsx b/packages/checkout/src/views/PaymentSelection/PayWithCreditCard/index.tsx index ceb7a4b3..05a2166c 100644 --- a/packages/checkout/src/views/PaymentSelection/PayWithCreditCard/index.tsx +++ b/packages/checkout/src/views/PaymentSelection/PayWithCreditCard/index.tsx @@ -1,15 +1,5 @@ import { useEffect } from 'react' -import { - ArrowRightIcon, - Box, - Card, - PaymentsIcon, - SendIcon, - Spinner, - Text, - Scroll, - useMediaQuery -} from '@0xsequence/design-system' +import { ArrowRightIcon, Box, Card, PaymentsIcon, Spinner, Text } from '@0xsequence/design-system' import { useContractInfo } from '@0xsequence/kit' import { findSupportedNetwork } from '@0xsequence/network' import { useState } from 'react' @@ -36,7 +26,6 @@ export const PayWithCreditCard = ({ settings, disableButtons }: PayWithCreditCar collectibles, collectionAddress, approvedSpenderAddress, - isDev = false, onSuccess = () => {}, onError = () => {}, creditCardProviders = [] @@ -93,7 +82,6 @@ export const PayWithCreditCard = ({ settings, disableButtons }: PayWithCreditCar nftAddress: collectionAddress, nftQuantity: collectible.quantity, nftDecimals: collectible.decimals === undefined ? undefined : String(collectible.decimals), - isDev, calldata: txData, approvedSpenderAddress: approvedSpenderAddress || targetContractAddress } diff --git a/packages/checkout/src/views/PendingTransaction.tsx b/packages/checkout/src/views/PendingTransaction.tsx index 819f9ca9..48976799 100644 --- a/packages/checkout/src/views/PendingTransaction.tsx +++ b/packages/checkout/src/views/PendingTransaction.tsx @@ -1,11 +1,13 @@ import { Box, Spinner, Text } from '@0xsequence/design-system' import { useProjectAccessKey, useTokenMetadata } from '@0xsequence/kit' -import React, { useEffect } from 'react' +import { useEffect } from 'react' import { fetchSardineOrderStatus } from '../api' import { TransactionPendingNavigation } from '../contexts' import { useNavigation, useCheckoutModal, useSardineClientToken, useTransactionStatusModal } from '../hooks' +import { DEVMODE } from '../../../../env' + const POLLING_TIME = 10 * 1000 export const PendingTransaction = () => { @@ -26,14 +28,11 @@ export const PendingTransaction = () => { ) const tokenMetadata = tokensMetadata ? tokensMetadata[0] : undefined - const isDev = settings?.creditCardCheckout?.isDev || false - const disableSardineClientTokenFetch = isLoadingTokenMetadata const { data, isLoading, isError } = useSardineClientToken( { order: creditCardCheckout, - isDev, projectAccessKey: projectAccessKey, tokenMetadata: tokenMetadata }, @@ -42,7 +41,7 @@ export const PendingTransaction = () => { const authToken = data?.token - const url = isDev + const url = DEVMODE ? `https://sardine-checkout-sandbox.sequence.info?api_url=https://sardine-api-sandbox.sequence.info&client_token=${authToken}&show_features=true` : `https://sardine-checkout.sequence.info?api_url=https://sardine-api.sequence.info&client_token=${authToken}&show_features=true` @@ -55,9 +54,8 @@ export const PendingTransaction = () => { const { orderId } = data console.log('Polling for transaction status') - const isDev = creditCardCheckout?.isDev || false - const pollResponse = await fetchSardineOrderStatus(orderId, isDev, projectAccessKey) + const pollResponse = await fetchSardineOrderStatus(orderId, projectAccessKey) const status = pollResponse.resp.status const transactionHash = pollResponse.resp?.transactionHash diff --git a/packages/kit/README.md b/packages/kit/README.md index 9bab04e2..24ecda62 100644 --- a/packages/kit/README.md +++ b/packages/kit/README.md @@ -55,7 +55,6 @@ interface CreateConfigOptions { chainId: number }> ethAuth?: EthAuthSettings - isDev?: boolean wagmiConfig?: WagmiConfig // optional wagmiConfig overrides diff --git a/packages/kit/src/config/defaultConnectors.ts b/packages/kit/src/config/defaultConnectors.ts index a4fddb3c..178d1404 100644 --- a/packages/kit/src/config/defaultConnectors.ts +++ b/packages/kit/src/config/defaultConnectors.ts @@ -23,7 +23,6 @@ export interface CommonConnectorOptions { export interface DefaultWaasConnectorOptions extends CommonConnectorOptions { waasConfigKey: string enableConfirmationModal?: boolean - isDev?: boolean email?: boolean @@ -98,7 +97,7 @@ export const getDefaultConnectors = (walletType: T, option } export const getDefaultWaasConnectors = (options: DefaultWaasConnectorOptions): CreateConnectorFn[] => { - const { projectAccessKey, waasConfigKey, appName, enableConfirmationModal, defaultChainId, isDev } = options + const { projectAccessKey, waasConfigKey, appName, enableConfirmationModal, defaultChainId } = options const wallets: Wallet[] = [] @@ -108,8 +107,7 @@ export const getDefaultWaasConnectors = (options: DefaultWaasConnectorOptions): projectAccessKey, waasConfigKey, enableConfirmationModal, - network: defaultChainId, - isDev + network: defaultChainId }) ) } @@ -123,8 +121,7 @@ export const getDefaultWaasConnectors = (options: DefaultWaasConnectorOptions): waasConfigKey, googleClientId, enableConfirmationModal, - network: defaultChainId, - isDev + network: defaultChainId }) ) } @@ -140,8 +137,7 @@ export const getDefaultWaasConnectors = (options: DefaultWaasConnectorOptions): appleClientId, appleRedirectURI, enableConfirmationModal, - network: defaultChainId, - isDev + network: defaultChainId }) ) } diff --git a/packages/kit/src/connectors/wagmiConnectors/sequenceWaasConnector.ts b/packages/kit/src/connectors/wagmiConnectors/sequenceWaasConnector.ts index 92456207..3ee33217 100644 --- a/packages/kit/src/connectors/wagmiConnectors/sequenceWaasConnector.ts +++ b/packages/kit/src/connectors/wagmiConnectors/sequenceWaasConnector.ts @@ -20,13 +20,14 @@ import { createConnector } from 'wagmi' import { LocalStorageKey } from '../../constants/localStorage' +import { DEVMODE } from '../../../../../env' + export interface SequenceWaasConnectConfig { googleClientId?: string appleClientId?: string appleRedirectURI?: string enableConfirmationModal?: boolean loginType: 'email' | 'google' | 'apple' - isDev?: boolean } export type BaseSequenceWaasConnectorOptions = SequenceConfig & SequenceWaasConnectConfig & Partial @@ -51,8 +52,7 @@ export function sequenceWaasWallet(params: BaseSequenceWaasConnectorOptions) { [LocalStorageKey.WaasSignInEmail]: string } - const isDev = !!params?.isDev - const nodesUrl = isDev ? 'https://dev-nodes.sequence.app' : 'https://nodes.sequence.app' + const nodesUrl = DEVMODE ? 'https://dev-nodes.sequence.app' : 'https://nodes.sequence.app' const showConfirmationModal = params.enableConfirmationModal ?? false diff --git a/packages/kit/src/hooks/useAPIClient.ts b/packages/kit/src/hooks/useAPIClient.ts index 5b4d879a..a86202db 100644 --- a/packages/kit/src/hooks/useAPIClient.ts +++ b/packages/kit/src/hooks/useAPIClient.ts @@ -5,11 +5,12 @@ import { useKitConfig } from '../contexts/KitConfig' import { useProjectAccessKey } from './useProjectAccessKey' +import { DEVMODE } from '../../../../env' + export const useAPIClient = () => { const projectAccessKey = useProjectAccessKey() - const { isDev = false } = useKitConfig() - const clientUrl = isDev ? 'https://dev-api.sequence.app' : 'https://api.sequence.app' + const clientUrl = DEVMODE ? 'https://dev-api.sequence.app' : 'https://api.sequence.app' const apiClient = useMemo(() => { return new SequenceAPIClient(clientUrl, projectAccessKey) diff --git a/packages/kit/src/hooks/useIndexerClient.ts b/packages/kit/src/hooks/useIndexerClient.ts index d6082ab9..2fdab3bf 100644 --- a/packages/kit/src/hooks/useIndexerClient.ts +++ b/packages/kit/src/hooks/useIndexerClient.ts @@ -6,17 +6,17 @@ import { useKitConfig } from '../contexts/KitConfig' import { useProjectAccessKey } from './useProjectAccessKey' +import { DEVMODE } from '../../../../env' + export const useIndexerClient = (chainId: ChainId) => { const projectAccessKey = useProjectAccessKey() - const { isDev = false } = useKitConfig() - const indexerClients = useMemo(() => { return new Map() - }, [projectAccessKey, isDev]) + }, [projectAccessKey]) const network = networks[chainId] - const clientUrl = isDev ? `https://dev-${network.name}-indexer.sequence.app` : `https://${network.name}-indexer.sequence.app` + const clientUrl = DEVMODE ? `https://dev-${network.name}-indexer.sequence.app` : `https://${network.name}-indexer.sequence.app` if (!indexerClients.has(chainId)) { indexerClients.set(chainId, new SequenceIndexer(clientUrl, projectAccessKey)) @@ -34,17 +34,17 @@ export const useIndexerClient = (chainId: ChainId) => { export const useIndexerClients = (chainIds: ChainId[]) => { const projectAccessKey = useProjectAccessKey() - const { isDev = false } = useKitConfig() - const indexerClients = useMemo(() => { return new Map() - }, [projectAccessKey, isDev]) + }, [projectAccessKey]) const result = new Map() for (const chainId of chainIds) { const network = networks[chainId] - const clientUrl = isDev ? `https://dev-${network.name}-indexer.sequence.app` : `https://${network.name}-indexer.sequence.app` + const clientUrl = DEVMODE + ? `https://dev-${network.name}-indexer.sequence.app` + : `https://${network.name}-indexer.sequence.app` if (!indexerClients.has(chainId)) { indexerClients.set(chainId, new SequenceIndexer(clientUrl, projectAccessKey)) diff --git a/packages/kit/src/hooks/useMetadataClient.ts b/packages/kit/src/hooks/useMetadataClient.ts index c3aec1f3..42dd05b5 100644 --- a/packages/kit/src/hooks/useMetadataClient.ts +++ b/packages/kit/src/hooks/useMetadataClient.ts @@ -5,13 +5,13 @@ import { useKitConfig } from '../contexts/KitConfig' import { useProjectAccessKey } from './useProjectAccessKey' +import { DEVMODE } from '../../../../env' + export const useMetadataClient = () => { const projectAccessKey = useProjectAccessKey() - const { isDev = false } = useKitConfig() - const metadataClient = useMemo(() => { - const clientUrl = isDev ? 'https://dev-metadata.sequence.app' : 'https://metadata.sequence.app' + const clientUrl = DEVMODE ? 'https://dev-metadata.sequence.app' : 'https://metadata.sequence.app' return new SequenceMetadata(clientUrl, projectAccessKey) }, [projectAccessKey]) diff --git a/packages/kit/src/types.ts b/packages/kit/src/types.ts index 5ef32da5..f407809d 100644 --- a/packages/kit/src/types.ts +++ b/packages/kit/src/types.ts @@ -75,7 +75,6 @@ export interface KitConfig { } displayedAssets?: DisplayedAsset[] ethAuth?: EthAuthSettings - isDev?: boolean } export type StorageItem = {