Skip to content

feat: Replace Ghostnet with Shadownet for Tezos and Etherlink testnets#944

Open
EightRice wants to merge 8 commits intomasterfrom
feature/replace-ghostnet-with-shadownet
Open

feat: Replace Ghostnet with Shadownet for Tezos and Etherlink testnets#944
EightRice wants to merge 8 commits intomasterfrom
feature/replace-ghostnet-with-shadownet

Conversation

@EightRice
Copy link
Collaborator

@EightRice EightRice commented Jan 29, 2026

Summary

Migrates both Tezos and Etherlink testnets from Ghostnet to Shadownet:

  • Tezos L1: Ghostnet → Shadownet (RPC: rpc.shadownet.teztnets.com)
  • Etherlink L2: Etherlink Testnet → Etherlink Shadownet (chain ID: 127823)

Reference: https://teztnets.com/shadownet-about

Changes

  • Updated Network type from ghostnet to shadownet and etherlink_testnet to etherlink_shadownet
  • Updated RPC endpoints for both networks
  • Updated TzKT explorer links to shadownet.tzkt.io
  • Updated Etherlink explorer to shadownet.explorer.etherlink.com
  • Added custom Etherlink Shadownet chain definition in wagmi config
  • Updated Beacon wallet config with custom network settings for Shadownet
  • Updated Firebase collection names for Shadownet
  • Fixed useEthersProvider to handle undefined publicClient gracefully
  • Updated all E2E and unit tests

Additional Work Required

Before merging, the following infrastructure changes are needed:

  • Hasura Indexer: Reconfigure to point to Shadownet RPC
  • Database: Reset/migrate database (Shadownet is a new chain)
  • Smart Contracts: Redeploy base contracts to Shadownet
  • Environment Variables: Update production env vars

See MIGRATION-GHOSTNET-TO-SHADOWNET.md for the full migration checklist.

Breaking Changes

  • Existing Ghostnet DAOs will no longer be accessible (expected - Ghostnet is being deprecated)
  • Users will need to reconnect wallets on Shadownet

Test Plan

  • Verify network selector shows "Tezos Shadownet" and "Etherlink Shadownet"
  • Verify wallet connection works on both Shadownet networks
  • Verify TzKT explorer links open correctly
  • Verify Etherlink explorer links open correctly
  • Test DAO creation flow (requires indexer migration)

- Replace Tezos Ghostnet with Shadownet (RPC: rpc.shadownet.teztnets.com)
- Replace Etherlink Testnet with Etherlink Shadownet (chain ID: 127823)
- Update TzKT explorer links to shadownet.tzkt.io
- Update Etherlink explorer to shadownet.explorer.etherlink.com
- Update Firebase collection names for Shadownet
- Add custom chain definition for Etherlink Shadownet in wagmi config
- Update Beacon wallet config with custom network for Shadownet
- Fix useEthersProvider to handle undefined publicClient gracefully
- Update all tests and E2E specs

Note: Hasura indexer needs to be reconfigured to point to Shadownet.
See MIGRATION-GHOSTNET-TO-SHADOWNET.md for full migration checklist.
@netlify
Copy link

netlify bot commented Jan 29, 2026

Deploy Preview for tezos-homebase ready!

Name Link
🔨 Latest commit bdf9272
🔍 Latest deploy log https://app.netlify.com/projects/tezos-homebase/deploys/6982718837936a0008ff5e27
😎 Deploy Preview https://deploy-preview-944--tezos-homebase.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 24 (🔴 down 6 from production)
Accessibility: 91 (no change from production)
Best Practices: 83 (🔴 down 17 from production)
SEO: 92 (no change from production)
PWA: 70 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

- Upgrade @airgap/beacon-sdk and @airgap/beacon-types from 4.2.2 to 4.7.0
- Use NetworkType.SHADOWNET instead of NetworkType.CUSTOM
- Remove WalletConnect version pinning that conflicted with newer Beacon SDK
- Simplify wallet creation since Shadownet is now a first-class network type

This fixes Kukai wallet connection issues on Shadownet.
- TxStatus.tsx: Update explorer URL to shadownet.explorer.etherlink.com
- stats/index.ts: Update Etherlink explorer API URL pattern
- web3provider.tsx: Use etherlinkShadownet instead of etherlinkTestnet
…Shadownet

The wallet was connecting to mainnet instead of shadownet because
requestPermissions() was called without a network parameter. This fix
explicitly passes the network config (including rpcUrl for shadownet)
to requestPermissions(), ensuring the wallet connects to the correct network.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant