Skip to content

Commit 3812d37

Browse files
committed
Merge branch 'main' of https://github.com/ensdomains/ens-app-v3 into fix-safe
2 parents eaa3ae9 + ac7b951 commit 3812d37

57 files changed

Lines changed: 3486 additions & 1599 deletions

Some content is hidden

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

.env

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ BATCH_GATEWAY_URLS='["https://ccip-v2.ens.xyz/"]'
2020

2121
NEXT_PUBLIC_POSTHOG_KEY=phc_Fgf9Nr86STb590T6qQQ5XI3G63UQ4LQGyA1aKS5ROvS
2222
NEXT_PUBLIC_POSTHOG_HOST=https://jakob.ens.domains
23+
24+
NEXT_PUBLIC_PARA_API_KEY_PROD=c5695b18d016139ac4db1c7f98a87e68

.github/workflows/knip.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ jobs:
88
steps:
99
- uses: actions/checkout@v4
1010

11+
- name: Install corepack
12+
run: npm i -g corepack
13+
1114
- name: Install pnpm
1215
run: npm i -g --force corepack && corepack enable pnpm
1316

.github/workflows/pages-deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: Cloudflare Pages
33
env:
44
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
55
NEXT_PUBLIC_INTERCOM_ID: re9q5yti
6+
NEXT_PUBLIC_PARA_API_KEY_PROD: ${{ secrets.PARA_API_KEY_PROD }}
67
NEXT_PUBLIC_DRPC_KEY: AnmpasF2C0JBqeAEzxVO8aTteiMlrW4R75hpDonbV6cR
78

89
on: [push]
@@ -20,6 +21,9 @@ jobs:
2021
- name: Install Misc. Deps
2122
run: sudo apt-get install -y libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
2223

24+
- name: Install corepack
25+
run: npm i -g corepack
26+
2327
- name: Install pnpm
2428
run: npm i -g --force corepack && corepack enable pnpm
2529

.github/workflows/test.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ jobs:
1111
steps:
1212
- uses: actions/checkout@v4
1313

14+
- name: Install corepack
15+
run: npm i -g corepack
16+
1417
- name: Install pnpm
1518
run: npm i -g --force corepack && corepack enable pnpm
1619

@@ -34,6 +37,9 @@ jobs:
3437
steps:
3538
- uses: actions/checkout@v4
3639

40+
- name: Install corepack
41+
run: npm i -g corepack
42+
3743
- name: Install pnpm
3844
run: npm i -g --force corepack && corepack enable pnpm
3945

@@ -67,6 +73,9 @@ jobs:
6773
steps:
6874
- uses: actions/checkout@v4
6975

76+
- name: Install corepack
77+
run: npm i -g corepack
78+
7079
- name: Install pnpm
7180
run: npm i -g --force corepack && corepack enable pnpm
7281

@@ -132,6 +141,9 @@ jobs:
132141
steps:
133142
- uses: actions/checkout@v4
134143

144+
- name: Install corepack
145+
run: npm i -g corepack
146+
135147
- name: Install pnpm
136148
run: npm i -g --force corepack && corepack enable pnpm
137149

@@ -217,7 +229,7 @@ jobs:
217229
"pnpm wrangle" \
218230
"pnpm wait-on http://127.0.0.1:8788 && pnpm playwright test --shard=${{matrix.shard}}/${{strategy.job-total}} --project=stateful"
219231
env:
220-
# NEXT_PUBLIC_GRAPH_URI: https://api.studio.thegraph.com/query/49574/ensholesky/version/latest
232+
NEXT_PUBLIC_CHAIN_NAME: holesky
221233
SECRET_WORDS: ${{ secrets.SECRET_WORDS }}
222234

223235
- uses: actions/upload-artifact@v4

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,5 @@ tsconfig.vitest-temp.json
7272
.sentryclirc
7373

7474
.dev.vars
75+
76+
certificates

e2e/specs/stateful/address.spec.ts

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

33
import { test } from '../../../playwright/index.js'
44

5-
test('should allow user to connect', async ({ page, login }) => {
5+
test('should allow user with primary name to connect', async ({ page, login }) => {
66
test.slow()
7-
await page.goto('/')
7+
await page.goto('/?chain=holesky')
88
await login.connect()
99

1010
await page.getByTestId('header-profile').click()
11-
await expect(page.getByText('Profile')).toBeVisible()
12-
await page.getByTestId('header-profile').click()
13-
await expect(page.getByText('Profile')).not.toBeVisible()
11+
await expect(page.getByText('Disconnect')).toBeVisible()
1412
})
1513

1614
test('should go to the address page', async ({ page, login }) => {
1715
test.slow()
18-
await page.goto('/')
16+
await page.goto('/?chain=holesky')
1917
await login.connect()
2018

2119
await page
@@ -30,7 +28,7 @@ test('should not show the profile if there is no primary name for the address',
3028
login,
3129
}) => {
3230
test.slow()
33-
await page.goto('/')
31+
await page.goto('/?chain=holesky')
3432
await login.connect()
3533
await page
3634
.getByPlaceholder('Search for a name')

e2e/specs/stateful/dnsclaim.spec.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ test.describe('Import DNSSEC name', () => {
77
page,
88
login,
99
}) => {
10-
await page.goto('/notdnssec.com')
10+
await page.goto('/notdnssec.com?chain=holesky')
1111
await login.connect()
1212

1313
await page.getByTestId('onchain-radio').click()
@@ -21,7 +21,7 @@ test.describe('Import DNSSEC name', () => {
2121
page,
2222
login,
2323
}) => {
24-
await page.goto('/noenssubdomain.com')
24+
await page.goto('/noenssubdomain.com?chain=holesky')
2525
await login.connect()
2626

2727
await page.getByTestId('onchain-radio').click()
@@ -36,7 +36,7 @@ test.describe('Import DNSSEC name', () => {
3636
page,
3737
login,
3838
}) => {
39-
await page.goto('/noenssubdomain.com')
39+
await page.goto('/noenssubdomain.com?chain=holesky')
4040
await login.connect()
4141

4242
await page.getByTestId('offchain-radio').click()
@@ -50,7 +50,7 @@ test.describe('Import DNSSEC name', () => {
5050
page,
5151
login,
5252
}) => {
53-
await page.goto('/invalidensrecord.com')
53+
await page.goto('/invalidensrecord.com?chain=holesky')
5454
await login.connect()
5555

5656
await page.getByTestId('onchain-radio').click()
@@ -61,7 +61,7 @@ test.describe('Import DNSSEC name', () => {
6161
})
6262

6363
test('should resolve .pw domains', async ({ page, login }) => {
64-
await page.goto('/test.pw')
64+
await page.goto('/test.pw?chain=holesky')
6565
await login.connect()
6666

6767
await page.getByTestId('onchain-radio').click()

e2e/specs/stateful/profile.spec.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,19 +90,19 @@ test.describe('Profile', () => {
9090
})
9191

9292
test('should show a warning if name is not supported', async ({ page }) => {
93-
await page.goto('/name.nottld')
93+
await page.goto('/name.nottld?chain=holesky')
9494
await expect(page.getByText('This TLD is not supported')).toBeVisible({ timeout: 25000 })
9595
})
9696

9797
test('should load emoji domain pages', async ({ page }) => {
98-
await page.goto('/%E2%9D%A4%EF%B8%8F%E2%9D%A4%EF%B8%8F%E2%9D%A4%EF%B8%8F.eth')
98+
await page.goto('/%E2%9D%A4%EF%B8%8F%E2%9D%A4%EF%B8%8F%E2%9D%A4%EF%B8%8F.eth?chain=holesky')
9999
await expect(page.getByTestId('profile-snippet-name')).toContainText('❤️❤️❤️.eth', {
100100
timeout: 25000,
101101
})
102102
})
103103

104104
test('should allow searching for emoji domain', async ({ page, login }) => {
105-
await page.goto('/')
105+
await page.goto('/?chain=holesky')
106106
await login.connect()
107107

108108
await page.getByPlaceholder('Search for a name').fill('❤️❤️❤️❤️❤️❤️.eth')
@@ -114,7 +114,7 @@ test.describe('Profile', () => {
114114

115115
for (const profile of profiles) {
116116
test(`should load profile for: ${profile.name}`, async ({ page, login }) => {
117-
await page.goto('/')
117+
await page.goto('/?chain=holesky')
118118
await login.connect()
119119

120120
await page.getByPlaceholder('Search for a name').fill(profile.name)
@@ -233,20 +233,22 @@ test.describe('Profile', () => {
233233
}
234234

235235
test('should decode an unknown label', async ({ page, login }) => {
236-
await page.goto('/')
236+
await page.goto('/?chain=holesky')
237237
await login.connect()
238-
// eslint-disable-next-line no-restricted-syntax
239-
await page.goto('/[8df9cfc425ad5e1853259e1cef0a8d1d44591fbec8e3feb6f930d9dfacd5eff2].eth')
238+
await page.goto(
239+
// eslint-disable-next-line no-restricted-syntax
240+
'/[8df9cfc425ad5e1853259e1cef0a8d1d44591fbec8e3feb6f930d9dfacd5eff2].eth?chain=holesky',
241+
)
240242
await expect(page.getByTestId('profile-snippet')).toContainText('wrapmebaby.eth', {
241243
timeout: 25000,
242244
})
243245
})
244246

245247
test('should show wrapped DNS name warning', async ({ page, login }) => {
246-
await page.goto('/')
248+
await page.goto('/?chain=holesky')
247249
await login.connect()
248250

249-
await page.goto('/wrappeddnsname.com')
251+
await page.goto('/wrappeddnsname.com?chain=holesky')
250252
await expect(page.getByTestId('profile-snippet')).toContainText('wrappeddnsname.com')
251253
})
252254
})

e2e/specs/stateless/ownership.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1166,9 +1166,9 @@ test.describe('Extend name', () => {
11661166
await expect(extendNamesModal.getInvoiceTransactionFee).toContainText('$0.13')
11671167
await expect(extendNamesModal.getInvoiceTotal).toContainText(/\$10\.1/)
11681168
await extendNamesModal.getCounterMinusButton.click()
1169-
await expect(extendNamesModal.getInvoiceExtensionFee).toContainText('$5.00')
1169+
await expect(extendNamesModal.getInvoiceExtensionFee).toContainText(/\$5\.0/)
11701170
await expect(extendNamesModal.getInvoiceTransactionFee).toContainText('$0.13')
1171-
await expect(extendNamesModal.getInvoiceTotal).toContainText('$5.13')
1171+
await expect(extendNamesModal.getInvoiceTotal).toContainText(/\$5\.1/)
11721172
})
11731173

11741174
await test.step('should extend', async () => {

e2e/specs/stateless/verifications.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,9 +685,11 @@ test.describe('OAuth flow', () => {
685685
})
686686
})
687687

688-
await page.goto(`/?iss=${DENTITY_ISS}&code=dummyCode`)
688+
await page.goto('/')
689689
await login.connect()
690690

691+
await page.goto(`/?iss=${DENTITY_ISS}&code=dummyCode`)
692+
691693
await expect(page).toHaveURL(`/${name}`)
692694

693695
await expect(transactionModal.transactionModal).toBeVisible()

0 commit comments

Comments
 (0)