mirror of
https://github.com/neynarxyz/create-farcaster-mini-app.git
synced 2025-11-15 23:58:56 -05:00
This reverts commit b1fdfc19a92241638692d58494f48ce1bb25df74, reversing changes made to b9e2087bd8cd9e8ed7a5862936609b5bf29aa911.
129 lines
3.9 KiB
TypeScript
129 lines
3.9 KiB
TypeScript
import { type AccountAssociation } from '@farcaster/miniapp-node';
|
|
|
|
/**
|
|
* Application constants and configuration values.
|
|
*
|
|
* This file contains all the configuration constants used throughout the mini app.
|
|
* These values are either sourced from environment variables or hardcoded and provide
|
|
* configuration for the app's appearance, behavior, and integration settings.
|
|
*
|
|
* NOTE: This file is automatically updated by the init script.
|
|
* Manual changes may be overwritten during project initialization.
|
|
*/
|
|
|
|
// --- App Configuration ---
|
|
/**
|
|
* The base URL of the application.
|
|
* Used for generating absolute URLs for assets and API endpoints.
|
|
*/
|
|
export const APP_URL: string = process.env.NEXT_PUBLIC_URL!;
|
|
|
|
/**
|
|
* The name of the mini app as displayed to users.
|
|
* Used in titles, headers, and app store listings.
|
|
*/
|
|
export const APP_NAME: string = 'Starter Kit';
|
|
|
|
/**
|
|
* A brief description of the mini app's functionality.
|
|
* Used in app store listings and metadata.
|
|
*/
|
|
export const APP_DESCRIPTION: string = 'A demo of the Neynar Starter Kit';
|
|
|
|
/**
|
|
* The primary category for the mini app.
|
|
* Used for app store categorization and discovery.
|
|
*/
|
|
export const APP_PRIMARY_CATEGORY: string = 'developer-tools';
|
|
|
|
/**
|
|
* Tags associated with the mini app.
|
|
* Used for search and discovery in app stores.
|
|
*/
|
|
export const APP_TAGS: string[] = ['neynar', 'starter-kit', 'demo'];
|
|
|
|
// --- Asset URLs ---
|
|
/**
|
|
* URL for the app's icon image.
|
|
* Used in app store listings and UI elements.
|
|
*/
|
|
export const APP_ICON_URL: string = `${APP_URL}/icon.png`;
|
|
|
|
/**
|
|
* URL for the app's Open Graph image.
|
|
* Used for social media sharing and previews.
|
|
*/
|
|
export const APP_OG_IMAGE_URL: string = `${APP_URL}/api/opengraph-image`;
|
|
|
|
/**
|
|
* URL for the app's splash screen image.
|
|
* Displayed during app loading.
|
|
*/
|
|
export const APP_SPLASH_URL: string = `${APP_URL}/splash.png`;
|
|
|
|
/**
|
|
* Background color for the splash screen.
|
|
* Used as fallback when splash image is loading.
|
|
*/
|
|
export const APP_SPLASH_BACKGROUND_COLOR: string = "#f7f7f7";
|
|
|
|
/**
|
|
* Account association for the mini app.
|
|
* Used to associate the mini app with a Farcaster account.
|
|
* If not provided, the mini app will be unsigned and have limited capabilities.
|
|
*/
|
|
export const APP_ACCOUNT_ASSOCIATION: AccountAssociation | undefined = undefined;
|
|
|
|
// --- UI Configuration ---
|
|
/**
|
|
* Text displayed on the main action button.
|
|
* Used for the primary call-to-action in the mini app.
|
|
*/
|
|
export const APP_BUTTON_TEXT: string = 'Launch NSK';
|
|
|
|
// --- Integration Configuration ---
|
|
/**
|
|
* Webhook URL for receiving events from Neynar.
|
|
*
|
|
* If Neynar API key and client ID are configured, uses the official
|
|
* Neynar webhook endpoint. Otherwise, falls back to a local webhook
|
|
* endpoint for development and testing.
|
|
*/
|
|
export const APP_WEBHOOK_URL: string = process.env.NEYNAR_API_KEY && process.env.NEYNAR_CLIENT_ID
|
|
? `https://api.neynar.com/f/app/${process.env.NEYNAR_CLIENT_ID}/event`
|
|
: `${APP_URL}/api/webhook`;
|
|
|
|
/**
|
|
* Flag to enable/disable wallet functionality.
|
|
*
|
|
* When true, wallet-related components and features are rendered.
|
|
* When false, wallet functionality is completely hidden from the UI.
|
|
* Useful for mini apps that don't require wallet integration.
|
|
*/
|
|
export const USE_WALLET: boolean = true;
|
|
|
|
/**
|
|
* Flag to enable/disable analytics tracking.
|
|
*
|
|
* When true, usage analytics are collected and sent to Neynar.
|
|
* When false, analytics collection is disabled.
|
|
* Useful for privacy-conscious users or development environments.
|
|
*/
|
|
export const ANALYTICS_ENABLED: boolean = true;
|
|
|
|
// PLEASE DO NOT UPDATE THIS
|
|
export const SIGNED_KEY_REQUEST_VALIDATOR_EIP_712_DOMAIN = {
|
|
name: 'Farcaster SignedKeyRequestValidator',
|
|
version: '1',
|
|
chainId: 10,
|
|
verifyingContract:
|
|
'0x00000000fc700472606ed4fa22623acf62c60553' as `0x${string}`,
|
|
};
|
|
|
|
// PLEASE DO NOT UPDATE THIS
|
|
export const SIGNED_KEY_REQUEST_TYPE = [
|
|
{ name: 'requestFid', type: 'uint256' },
|
|
{ name: 'key', type: 'bytes' },
|
|
{ name: 'deadline', type: 'uint256' },
|
|
];
|