From 6b076766842c10bc17d27d769483a64c0e636d4f Mon Sep 17 00:00:00 2001 From: Shreerang Kale Date: Fri, 25 Jul 2025 12:15:58 +0530 Subject: [PATCH] Add gorbagana chain genesis hash reference --- src/app/api/registry/route.ts | 3 ++- src/app/page.tsx | 10 +++++++++- src/components/PaymentModal.tsx | 3 ++- src/constants/payments.ts | 2 -- src/utils/gorbagana.ts | 1 + 5 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 src/utils/gorbagana.ts diff --git a/src/app/api/registry/route.ts b/src/app/api/registry/route.ts index 78f1388..4d0c429 100644 --- a/src/app/api/registry/route.ts +++ b/src/app/api/registry/route.ts @@ -9,9 +9,10 @@ import { verifyUnusedSolanaPayment } from '@/utils/solana-verify'; import { transferLNTTokens } from '@/services/laconic-transfer'; import { getRegistry, getRegistryConfig } from '@/config'; import { getRequiredTokenInfo, RequiredTokenInfo } from '@/services/jupiter-price'; -import { IS_NAT_GOR_TRANSFER_ENABLED, SOLANA_GOR_MINT_ADDRESS } from '@/constants/payments'; +import { SOLANA_GOR_MINT_ADDRESS } from '@/constants/payments'; import { PaymentMethod } from '@/types'; import { getCostOfDeployment } from '@/services/registry'; +import { IS_NAT_GOR_TRANSFER_ENABLED } from '@/utils/gorbagana'; assert(process.env.NEXT_PUBLIC_SOLANA_RPC_URL, 'SOLANA_RPC_URL is required'); assert(!IS_NAT_GOR_TRANSFER_ENABLED || process.env.NEXT_PUBLIC_GORBAGANA_RPC_URL, 'GORBAGANA_RPC_URL is required when NAT GOR transfer is enabled'); diff --git a/src/app/page.tsx b/src/app/page.tsx index 0aa153e..bd80876 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -10,13 +10,21 @@ import { BackpackWalletName } from '@solana/wallet-adapter-backpack'; import URLForm from '@/components/URLForm'; import StatusDisplay from '@/components/StatusDisplay'; import { createApplicationDeploymentRequest } from '@/services/registry'; -import { IS_NAT_GOR_TRANSFER_ENABLED, PAYMENT_METHOD_LABELS } from '@/constants/payments'; +import { PAYMENT_METHOD_LABELS } from '@/constants/payments'; import { usePaymentMethod } from '@/contexts/PaymentMethodContext'; import { PaymentMethod } from '@/types'; +import { IS_NAT_GOR_TRANSFER_ENABLED } from '@/utils/gorbagana'; // Dynamically import components to avoid SSR issues with browser APIs const PaymentModal = dynamic(() => import('@/components/PaymentModal'), { ssr: false }); +// Use following curl request to get Gorbagana chain genesis hash: +// curl https://rpc.gorbagana.wtf \ +// -X POST \ +// -H "Content-Type: application/json" \ +// --data '{"jsonrpc":"2.0","id":1,"method":"getGenesisHash"}' +// +// RPC endpoint reference: https://docs.gorbagana.wtf/testnet-v2-devnet.html const GORBAGANA_GENESIS_HASH = '533uBE9RRquhTBqEX58oV52FdTTsReMdAvaUvP6hNjsn'; export default function Home() { diff --git a/src/components/PaymentModal.tsx b/src/components/PaymentModal.tsx index 2e6f212..03012d8 100644 --- a/src/components/PaymentModal.tsx +++ b/src/components/PaymentModal.tsx @@ -9,9 +9,10 @@ import { useConnection, useWallet } from '@solana/wallet-adapter-react'; import { sendSolanaPayment } from '@/services/solana'; import { getRequiredTokenInfo, RequiredTokenInfo } from '@/services/jupiter-price'; import { PaymentMethod, PaymentModalProps, PaymentRequest } from '@/types'; -import { IS_NAT_GOR_TRANSFER_ENABLED, PAYMENT_METHOD_LABELS, SOLANA_GOR_MINT_ADDRESS } from '@/constants/payments'; +import { PAYMENT_METHOD_LABELS, SOLANA_GOR_MINT_ADDRESS } from '@/constants/payments'; import { usePaymentMethod } from '@/contexts/PaymentMethodContext'; import { getCostOfDeployment } from '@/services/registry'; +import { IS_NAT_GOR_TRANSFER_ENABLED } from '@/utils/gorbagana'; assert(!IS_NAT_GOR_TRANSFER_ENABLED || process.env.NEXT_PUBLIC_GORBAGANA_RPC_URL, 'GORBAGANA_RPC_URL is required when NAT GOR transfer is enabled'); diff --git a/src/constants/payments.ts b/src/constants/payments.ts index 4b67298..7e0c683 100644 --- a/src/constants/payments.ts +++ b/src/constants/payments.ts @@ -7,5 +7,3 @@ export const PAYMENT_METHOD_LABELS: Record = { }; export const SOLANA_GOR_MINT_ADDRESS = '71Jvq4Epe2FCJ7JFSF7jLXdNk1Wy4Bhqd9iL6bEFELvg'; - -export const IS_NAT_GOR_TRANSFER_ENABLED = process.env.NEXT_PUBLIC_ENABLE_NATIVE_GOR_TRANSFER === "true"; diff --git a/src/utils/gorbagana.ts b/src/utils/gorbagana.ts new file mode 100644 index 0000000..8555e72 --- /dev/null +++ b/src/utils/gorbagana.ts @@ -0,0 +1 @@ +export const IS_NAT_GOR_TRANSFER_ENABLED = process.env.NEXT_PUBLIC_ENABLE_NATIVE_GOR_TRANSFER === "true";