Skip to content

Commit f71544d

Browse files
committed
2.0.0
0 parents  commit f71544d

510 files changed

Lines changed: 49279 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_style = space
8+
indent_size = 2
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false

.env.example

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# =============================================================================
2+
# GoodWallet V2 — environment template
3+
# -----------------------------------------------------------------------------
4+
# Copy this file to `.env.development` or `.env.production` and fill in real
5+
# values for your environment. NEVER commit those files: they are gitignored.
6+
#
7+
# Variables prefixed with NEXT_PUBLIC_ are inlined into the client bundle by
8+
# Next.js and are therefore visible to anyone who loads the app. Treat them as
9+
# public configuration, not secrets. Everything else is server-only.
10+
# =============================================================================
11+
12+
# --- Web3Auth / Torus (PUBLIC, client-side) -----------------------------------
13+
# "mainnet" | "testnet"
14+
NEXT_PUBLIC_WEB3AUTH_NETWORK=mainnet
15+
NEXT_PUBLIC_WEB3AUTH_CLIENTID=
16+
NEXT_PUBLIC_WEB3AUTH_COREKIT_ENABLED=false
17+
18+
NEXT_PUBLIC_WEB3AUTH_GOOGLE_CLIENTID=
19+
NEXT_PUBLIC_WEB3AUTH_GOOGLE_VERIFIER=
20+
NEXT_PUBLIC_WEB3AUTH_GOOGLE_SUBVERIFIER=
21+
22+
NEXT_PUBLIC_WEB3AUTH_FACEBOOK_CLIENTID=
23+
NEXT_PUBLIC_WEB3AUTH_FACEBOOK_VERIFIER=
24+
25+
NEXT_PUBLIC_WEB3AUTH_AUTH0_CAPTCHA_KEY=
26+
NEXT_PUBLIC_WEB3AUTH_AUTH0_CLIENTID=
27+
NEXT_PUBLIC_WEB3AUTH_AUTH0_VERIFIER=
28+
NEXT_PUBLIC_WEB3AUTH_AUTH0_DOMAIN=
29+
30+
# --- RPC URLs (PUBLIC, client-side) ------------------------------------------
31+
# Any provider-specific API keys placed in these URLs are exposed in the
32+
# client bundle. Use rate-limited or domain-restricted keys here.
33+
# Alchemy keys are assumed for the missing URLs. Please adjust config.ts#alchemyConfig according to the entered RPCs
34+
NEXT_PUBLIC_ETHEREUM_RPC_URL=
35+
NEXT_PUBLIC_FUSE_RPC_URL=https://rpc.fuse.io
36+
NEXT_PUBLIC_CELO_RPC_URL=
37+
NEXT_PUBLIC_SEPOLIA_RPC_URL=
38+
NEXT_PUBLIC_HOODI_RPC_URL=
39+
NEXT_PUBLIC_POLYGON_RPC_URL=
40+
NEXT_PUBLIC_OPTIMISM_RPC_URL=
41+
NEXT_PUBLIC_BNB_RPC_URL=
42+
NEXT_PUBLIC_BASE_RPC_URL=
43+
NEXT_PUBLIC_SOLANA_RPC_URL=mainnet
44+
NEXT_PUBLIC_SOLANA_DEVNET_RPC_URL=devnet
45+
NEXT_PUBLIC_XDC_RPC_URL=https://rpc.xdc.org
46+
NEXT_PUBLIC_XRP_RPC_URL=
47+
NEXT_PUBLIC_XRP_TESTNET_RPC_URL=
48+
49+
# XDC does not support EIP-1559; gas price override in wei.
50+
NEXT_PUBLIC_XDC_GAS_PRICE_WEI=12500000000
51+
52+
# Default chain used for invite codes (50 = XDC).
53+
NEXT_PUBLIC_PRIMARY_INVITE_CHAIN_ID=50
54+
55+
# Include testnet tokens in the UI (typically true in dev, false in prod).
56+
NEXT_PUBLIC_INCLUDE_TESTNET_TOKENS=true
57+
58+
# --- GoodDollar --------------------------------------------------------------
59+
# "development" | "production"
60+
NEXT_PUBLIC_GOODDOLLAR_CONTRACTS=development
61+
NEXT_PUBLIC_GOODDOLLAR_FEED_TAG=publishWalletV2
62+
NEXT_PUBLIC_GOODDOLLAR_FEED_CTX=
63+
NEXT_PUBLIC_GOODDOLLAR_FEED_URL=https://feed-dev.gooddollar.org/api/ceramic-feed/posts/
64+
65+
# --- Auth / login toggles ----------------------------------------------------
66+
NEXT_PUBLIC_LOGIN_PWLESS_ENABLED=true
67+
NEXT_PUBLIC_LOGIN_GOOGLE_ENABLED=true
68+
NEXT_PUBLIC_LOGIN_FACEBOOK_ENABLED=false
69+
70+
# Test login (dev only — never enable in production).
71+
NEXT_PUBLIC_TEST_LOGIN_ENABLED=false
72+
NEXT_PUBLIC_TEST_LOGIN_MASTER_SEED=
73+
NEXT_PUBLIC_TEST_LOGIN_USER_NAME=
74+
NEXT_PUBLIC_TEST_LOGIN_PROFILE_IMAGE=
75+
76+
# --- WalletConnect (PUBLIC) ---------------------------------------------------
77+
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=
78+
79+
# --- Monitoring & analytics (PUBLIC) -----------------------------------------
80+
NEXT_PUBLIC_SENTRY_DSN=
81+
NEXT_PUBLIC_SENTRY_DEBUG=false
82+
NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE=0.1
83+
NEXT_PUBLIC_SENTRY_REPLAY_SESSION_SAMPLE_RATE=0.0
84+
NEXT_PUBLIC_SENTRY_REPLAY_ON_ERROR_SAMPLE_RATE=0.1
85+
NEXT_PUBLIC_AMPLITUDE_API_KEY=
86+
87+
# =============================================================================
88+
# SERVER-ONLY SECRETS — never expose to the client, never commit real values
89+
# =============================================================================
90+
91+
# Alchemy multi-chain API key (used by server-side routes).
92+
ALCHEMY_SERVER_API_KEY=
93+
94+
# Tatum API keys (used by server-side chain routes).
95+
TATUM_MAINNET_API_KEY=
96+
TATUM_TESTNET_API_KEY=
97+
98+
# XDC explorer (BlocksScan / Ledger) API keys for transaction history.
99+
LEDGER_XDC_KEY1=
100+
LEDGER_XDC_KEY2=
101+
LEDGER_XDC_KEY3=
102+
103+
# Polymarket builder credentials (used by /api/polymarket/sign).
104+
POLYMARKET_BUILDER_API_KEY=
105+
POLYMARKET_BUILDER_SECRET=
106+
POLYMARKET_BUILDER_PASSPHRASE=
107+
108+
# Tokens database. Local development can use pglite; production uses Postgres.
109+
POSTGRES_TOKENS_DATABASE_URL=pglite://./data/local.db
110+
111+
# Server-to-server API key for the airdrop registration endpoint.
112+
AIRDROP_API_KEY=

.github/dependabot.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "npm" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"
12+
open-pull-requests-limit: 10
13+
groups:
14+
lifi-depts:
15+
patterns:
16+
- "@lifi/*"
17+
- "@bigmi/client"
18+
react-next-deps:
19+
patterns:
20+
- "react"
21+
- "react-dom"
22+
- "@types/react"
23+
- "@types/react-dom"
24+
- "next"
25+
- "@next/*"
26+
typescript-deps:
27+
patterns:
28+
- "typescript"
29+
valtio-deps:
30+
patterns:
31+
- "valtio"
32+
walletconnect-deps:
33+
patterns:
34+
- "@walletconnect/*"
35+
- "@reown/walletkit"
36+
- "@json-rpc-tools/utils"
37+
bitcoin-deps:
38+
patterns:
39+
- "bitcoinjs-lib"
40+
- "@bitcoin-js/tiny-secp256k1-asmjs"
41+
- "ecpair"
42+
solana-deps:
43+
patterns:
44+
- "gill"
45+
- "ed25519-hd-key"
46+
- "@solana/*"
47+
- "@solana-name-service/sns-sdk-kit"
48+
tracking-deps:
49+
patterns:
50+
- "@amplitude/*"
51+
- "@sentry/nextjs"
52+
53+
54+
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Check build
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
workflow_dispatch:
11+
12+
jobs:
13+
build:
14+
name: Build workspace
15+
runs-on: ubuntu-latest
16+
17+
permissions:
18+
contents: read
19+
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Install Node.js
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: 24
28+
29+
- name: Run install
30+
uses: borales/actions-yarn@v5
31+
with:
32+
cmd: install
33+
34+
- name: Run Biome Check
35+
uses: borales/actions-yarn@v5
36+
with:
37+
cmd: biome:verify:all
38+
39+
- name: Run Build
40+
env:
41+
NODE_OPTIONS: --max_old_space_size=4096
42+
run: yarn build
43+
44+
- name: Run Tests
45+
uses: borales/actions-yarn@v5
46+
with:
47+
cmd: test

.gitignore

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
node_modules
5+
.pnp
6+
.pnp.js
7+
8+
# testing
9+
coverage
10+
11+
# next.js
12+
.next/
13+
out/
14+
build
15+
16+
# misc
17+
.DS_Store
18+
*.pem
19+
20+
# debug
21+
npm-debug.log*
22+
yarn-debug.log*
23+
yarn-error.log*
24+
25+
# local env files
26+
.env
27+
.env.local
28+
.env.development
29+
.env.development.local
30+
.env.test.local
31+
.env.production
32+
.env.production.local
33+
34+
# turbo
35+
.turbo
36+
37+
# vercel
38+
.vercel
39+
40+
.yarn/*
41+
!.yarn/patches
42+
!.yarn/plugins
43+
!.yarn/releases
44+
!.yarn/sdks
45+
!.yarn/versions
46+
47+
# webstorm
48+
.idea/
49+
.prettierrc
50+
51+
# Nix
52+
.direnv/
53+
.devenv/
54+
.env*.local
55+
src/app/api/storage/local_cache.json
56+
/data
57+
drizzle-neon
58+
59+
# vscode
60+
.vscode
61+
next-env.d.ts
62+
.claude
63+
tsconfig.tsbuildinfo
64+
65+
# Codex
66+
codex-resume
67+
.agents/skills
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
diff --git a/lib/constants.js b/lib/constants.js
2+
index 1dff8b5928ded11183c67428e17496991e5cf2f9..eb22641ff501e48b7b9b903ab6b7522089a77c5a 100644
3+
--- a/lib/constants.js
4+
+++ b/lib/constants.js
5+
@@ -6,15 +6,19 @@ exports.multicall2Address = "0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696";
6+
// same address on all networks: https://www.multicall3.com/deployments
7+
exports.multicall3Address = "0xcA11bde05977b3631167028862bE2a173976CA11";
8+
exports.multicall3ZkSyncAddress = "0xF9cda624FBC7e059355ce98a31693d299FACd963";
9+
+exports.multicall3XDCAddress = "0x0B1795ccA8E4eC4df02346a082df54D437F8D9aF";
10+
+
11+
exports.multicallAddresses = new Set([
12+
exports.multicall2Address.toLowerCase(),
13+
exports.multicall3Address.toLowerCase(),
14+
exports.multicall3ZkSyncAddress.toLowerCase(),
15+
+ exports.multicall3XDCAddress.toLowerCase()
16+
]);
17+
exports.multicall3ChainAddress = {
18+
280: exports.multicall3ZkSyncAddress, // zkSync Era Goerli
19+
300: exports.multicall3ZkSyncAddress, // zkSync Era Sepolia
20+
324: exports.multicall3ZkSyncAddress, // zkSync Era
21+
+ 50: exports.multicall3XDCAddress, // XDC mainnet
22+
};
23+
exports.multicall3DeploymentBlockNumbers = {
24+
1: 14353601, // Mainnet

0 commit comments

Comments
 (0)