Skip to content

Commit 5092b18

Browse files
authored
feat: Replace Etherlink-Testnet with Etherlink-Shadownet (#943)
* feat: Replace Etherlink-Testnet with Etherlink-Shadownet - Add custom chain definition for Etherlink Shadownet (chain ID: 127823) - Update network config, RPC URLs, and explorer URLs - Update Firebase collection names to use Shadownet - Update wagmi provider and context for shadownet detection - Update voting defaults and network switching logic - Update E2E and unit tests * ci: Disable treating warnings as errors in build step
1 parent 8965671 commit 5092b18

14 files changed

Lines changed: 67 additions & 41 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ jobs:
3838

3939
- name: Build
4040
run: yarn run build
41+
env:
42+
CI: false
4143

4244
# TO-DO: Uncomment when tests are ready to be run on CI (such as those in issues #129-#131)
4345
# - name: Test

e2e/etherlink-postdeploy-banner.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { test, expect } from "@playwright/test"
22

33
test("shows post-deploy banner with explorer link", async ({ page }) => {
44
const tx = `0x${"a".repeat(64)}`
5-
await page.goto(`/explorer/daos?postDeploy=dao-created&network=etherlink_testnet&tx=${tx}`)
5+
await page.goto(`/explorer/daos?postDeploy=dao-created&network=etherlink_shadownet&tx=${tx}`)
66

77
await page.waitForLoadState("domcontentloaded")
88

@@ -14,7 +14,7 @@ test("shows post-deploy banner with explorer link", async ({ page }) => {
1414
await expect(viewTx).toBeVisible()
1515

1616
const href = await viewTx.getAttribute("href")
17-
expect(href).toContain("https://testnet.explorer.etherlink.com")
17+
expect(href).toContain("https://shadownet.explorer.etherlink.com")
1818
expect(href).toContain("/tx/")
1919
})
2020

e2e/etherlink.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { test, expect } from "@playwright/test"
22

3-
test("shows v4 daos on switching to etherlink testnet", async ({ page }) => {
3+
test("shows v4 daos on switching to etherlink shadownet", async ({ page }) => {
44
await page.goto(`/explorer/daos`)
55

66
await page.waitForLoadState("domcontentloaded")
@@ -13,10 +13,10 @@ test("shows v4 daos on switching to etherlink testnet", async ({ page }) => {
1313
console.log("Modal Title", modalTitleText)
1414
await expect(modalTitleText).toContain("Choose Network")
1515

16-
const etherlinkTestnet = await modalTitle.locator("text=Etherlink Testnet")
17-
await expect(etherlinkTestnet).toBeVisible()
16+
const etherlinkShadownet = await modalTitle.locator("text=Etherlink Shadownet")
17+
await expect(etherlinkShadownet).toBeVisible()
1818

19-
await etherlinkTestnet.click()
19+
await etherlinkShadownet.click()
2020

2121
await page.waitForTimeout(10000)
2222
await page.reload()

src/__tests__/etherlink/batchActions.spec.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { useEvmProposalOps } from "services/contracts/etherlinkDAO/hooks/useEvmP
88
import { EtherlinkContext } from "services/wagmi/context"
99

1010
jest.mock("services/beacon/hooks/useTezos", () => ({
11-
useTezos: () => ({ etherlink: {}, network: "etherlink_testnet" })
11+
useTezos: () => ({ etherlink: {}, network: "etherlink_shadownet" })
1212
}))
1313

1414
jest.mock("services/wagmi/etherlink/hooks/useProposalUiOverride", () => ({

src/__tests__/etherlink/transferAssets.spec.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { ethers } from "ethers"
1010

1111
// Mock hooks that require wallet/providers
1212
jest.mock("services/beacon/hooks/useTezos", () => ({
13-
useTezos: () => ({ etherlink: {}, network: "etherlink_testnet" })
13+
useTezos: () => ({ etherlink: {}, network: "etherlink_shadownet" })
1414
}))
1515

1616
jest.mock("services/wagmi/etherlink/hooks/useProposalUiOverride", () => ({

src/modules/etherlink/bridge/components/TxStatus.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export const TxStatus = ({
3030
<Typography variant="caption">
3131
{label}:{" "}
3232
<Link
33-
href={`https://testnet.explorer.etherlink.com/tx/${hash}`}
33+
href={`https://shadownet.explorer.etherlink.com/tx/${hash}`}
3434
target="_blank"
3535
rel="noopener noreferrer"
3636
style={{ color: "#4FC3F7" }}

src/modules/etherlink/creator/EvmDaoVoting.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ export const EvmDaoVoting: React.FC<EvmDaoVotingProps> = ({ onSubmit: _onSubmit
4444
const defaultsAppliedRef = React.useRef(false)
4545

4646
React.useEffect(() => {
47-
const isEtherlinkTestnet = network === "etherlink_testnet"
47+
const isEtherlinkShadownet = network === "etherlink_shadownet"
4848
const isEtherlinkMainnet = network === "etherlink_mainnet"
4949

50-
if (!(isEtherlinkTestnet || isEtherlinkMainnet)) return
50+
if (!(isEtherlinkShadownet || isEtherlinkMainnet)) return
5151
if (defaultsAppliedRef.current) return
5252

5353
const delayDays = Number(daoData.voting.votingBlocksDay) || 0

src/modules/etherlink/creator/votingDefaults.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ export interface VotingDefaults {
1919

2020
/**
2121
* Get network-specific voting defaults based on the Etherlink network.
22-
* @param network - The network identifier ("etherlink_testnet" | "etherlink_mainnet")
22+
* @param network - The network identifier ("etherlink_shadownet" | "etherlink_mainnet")
2323
* @returns VotingDefaults object or undefined for unrecognized networks
2424
*/
2525
export function getVotingDefaults(network: string): VotingDefaults | undefined {
2626
switch (network) {
27-
case "etherlink_testnet":
27+
case "etherlink_shadownet":
2828
return {
2929
voting: {
3030
// Voting Delay: 1 minute

src/modules/etherlink/explorer/router.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ const EtherlinkDAOProvider: React.FC<{ daoId: string }> = ({ daoId, children })
116116
// If not found and we have a list, try alternate network once.
117117
if (daos.length > 0 && !isLoadingDaos && !attemptedSwitchRef.current) {
118118
attemptedSwitchRef.current = true
119-
const alt = network === "etherlink_testnet" ? "etherlink_mainnet" : "etherlink_testnet"
119+
const alt = network === "etherlink_shadownet" ? "etherlink_mainnet" : "etherlink_shadownet"
120120
switchToNetwork?.(alt)
121121
}
122122
}, [daoId, daos, isLoadingDaos, network, selectDao, switchToNetwork, daoSelected?.id])

src/modules/etherlink/utils.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import { proposalInterfaces } from "./config"
33
import { IContractWriteMethod, IProposalType } from "./types"
44

55
export const networkConfig = {
6-
etherlink_testnet: {
7-
network: "testnet",
8-
explorerUrl: "https://testnet.explorer.etherlink.com",
9-
explorerApiUrl: "https://testnet.explorer.etherlink.com/api/v2",
10-
firebaseRootCollection: "idaosEtherlink-Testnet",
11-
firebaseRootTokenCollection: "tokensEtherlink-Testnet",
12-
firebaseMemberCollection: "iMembersEtherlink-Testnet"
6+
etherlink_shadownet: {
7+
network: "shadownet",
8+
explorerUrl: "https://shadownet.explorer.etherlink.com",
9+
explorerApiUrl: "https://shadownet.explorer.etherlink.com/api/v2",
10+
firebaseRootCollection: "idaosEtherlink-Shadownet",
11+
firebaseRootTokenCollection: "tokensEtherlink-Shadownet",
12+
firebaseMemberCollection: "iMembersEtherlink-Shadownet"
1313
},
1414
etherlink_mainnet: {
1515
network: "mainnet",
@@ -22,7 +22,7 @@ export const networkConfig = {
2222
}
2323

2424
export function getFirestoreNetworkName(internalNetwork: string): string {
25-
if (internalNetwork === "etherlink_testnet") return "Etherlink-Testnet"
25+
if (internalNetwork === "etherlink_shadownet") return "Etherlink-Shadownet"
2626
if (internalNetwork === "etherlink_mainnet") return "Etherlink"
2727
if (internalNetwork === "localhost") return "Localhost"
2828
return internalNetwork

0 commit comments

Comments
 (0)