Hey is a decentralized and permissionless social media app built with Lens Protocol 馃尶
1import { chains } from "@lens-chain/sdk/viem";
2import { LENS_ENDPOINT } from "./lens-endpoints";
3import getEnvConfig from "./utils/getEnvConfig";
4
5// Lens and Hey Env Config
6export const LENS_NETWORK = process.env.LENS_NETWORK || "mainnet";
7
8export const LENS_API_URL = getEnvConfig().lensApiEndpoint;
9export const DEFAULT_COLLECT_TOKEN = getEnvConfig().defaultCollectToken;
10export const HEY_APP = getEnvConfig().appAddress;
11export const HEY_TREASURY = "0x03Ba34f6Ea1496fa316873CF8350A3f7eaD317EF";
12export const HEY_API_URL = process.env.HEY_API_URL || "https://api.hey.xyz";
13
14export const IS_MAINNET = LENS_API_URL === LENS_ENDPOINT.Mainnet;
15export const CHAIN = IS_MAINNET ? chains.mainnet : chains.testnet;
16export const ADDRESS_PLACEHOLDER = "0x03Ba3...7EF";
17
18// Subscription
19export const SUBSCRIPTION_AMOUNT = 20;
20
21// Application
22export const BRAND_COLOR = "#FB3A5D";
23
24// URLs
25export const STATIC_ASSETS_URL = "https://static.hey.xyz";
26export const STATIC_IMAGES_URL = `${STATIC_ASSETS_URL}/images`;
27export const LENS_MEDIA_SNAPSHOT_URL = "https://ik.imagekit.io/lens";
28export const DEFAULT_AVATAR = `${STATIC_IMAGES_URL}/default.png`;
29export const PLACEHOLDER_IMAGE = `${STATIC_IMAGES_URL}/placeholder.webp`;
30export const BLOCK_EXPLORER_URL = IS_MAINNET
31 ? "https://lenscan.io"
32 : "https://testnet.lenscan.io";
33export const BASE_RPC_URL = "https://base.llamarpc.com";
34
35// Storage
36export const STORAGE_NODE_URL = "https://api.grove.storage";
37export const IPFS_GATEWAY = "https://gw.ipfs-lens.dev/ipfs";
38export const EVER_API = "https://endpoint.4everland.co";
39export const EVER_REGION = "4EVERLAND";
40export const EVER_BUCKET = "heyverse";
41
42// Tokens / Keys
43export const WALLETCONNECT_PROJECT_ID = "cd542acc70c2b548030f9901a52e70c8";
44export const GIPHY_KEY = "yNwCXMKkiBrxyyFduF56xCbSuJJM8cMd"; // Read only safe key
45export const ZORA_API_KEY =
46 "zora_api_2b019182fe376a45b4495c89bbb18393d6d529ef9e9d0c799321116a8bfb8f47";
47
48export const LENS_NAMESPACE = "lens/";
49export const NATIVE_TOKEN_SYMBOL = IS_MAINNET ? "GHO" : "GRASS";
50export const WRAPPED_NATIVE_TOKEN_SYMBOL = IS_MAINNET ? "WGHO" : "WGRASS";
51
52export const MAX_IMAGE_UPLOAD = 8;
53
54// Named transforms for ImageKit
55export const TRANSFORMS = {
56 ATTACHMENT: "tr:w-1000",
57 AVATAR_BIG: "tr:w-350,h-350",
58 AVATAR_SMALL: "tr:w-100,h-100",
59 AVATAR_TINY: "tr:w-50,h-50",
60 COVER: "tr:w-1350,h-350",
61 EXPANDED_AVATAR: "tr:w-1000,h-1000"
62};
63
64export const BANNER_IDS = {
65 BETA: "77727211532641772361026076963509019960782537128878733125792525478249531516748",
66 PRO: "91121314879992189064880690246403275227925211745526529128205988492742121673395"
67};
68
69export const PERMISSIONS = {
70 BETA: "0x287b09fAa3AfC548F1b28DEa36C30c1edc574C06",
71 PREFER_NAME_IN_FEED: "0xA942e6BE7A6EA8822316284619B94e7838fA69ac",
72 STAFF: "0xA7f2835e54998c6d7d4A0126eC0ebE91b5E43c69",
73 SUBSCRIPTION: "0x4BE5b4519814A57E6f9AaFC6afBB37eAEeE35aA3"
74} as const;
75
76export const HEY_ENS_NAMESPACE = "0x6821262A0E15Ed3b4bFD54c1B4fe558C093A103B";
77
78export const MeVariables = {
79 betaBannerId: BANNER_IDS.BETA,
80 proBannerId: BANNER_IDS.PRO
81};