-
Notifications
You must be signed in to change notification settings - Fork 15
ENSv2 Plugin #1280
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
shrugs
wants to merge
115
commits into
main
Choose a base branch
from
feat/ensv2
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
ENSv2 Plugin #1280
Changes from all commits
Commits
Show all changes
115 commits
Select commit
Hold shift + click to select a range
3d6232b
checkpoint
shrugs a12d0b8
Merge branch 'main' into feat/ensv2
shrugs fc91a0f
checkpoint
shrugs d109dc4
checkpoint, gql api
shrugs a7aab18
feat: account.names
shrugs e332176
checkpoint: initial graph traversal
shrugs ccdcf9d
checkpoint
shrugs 9f0e80d
fix: remove reconciliation for now
shrugs 157a48e
checkpoint
shrugs d4d464d
checkpoint
shrugs 4f26dbe
checkpoint
shrugs 8a0aa48
checkpoint
shrugs ae47be6
checkpoint
shrugs edfc6e2
checkpoint
shrugs a9ebd3e
checkpoint: fixed typings for datasource package
shrugs b8204e8
checkpoint
shrugs 8c1a7bb
fix: revert cointype storage to bigint
shrugs 763ae9d
checkpoint
shrugs d267671
checkpoint
shrugs f95d356
checkpoint: batch healing
shrugs a35b628
checkpoint
shrugs 87f8b00
checkpoint
shrugs a592fd7
fix: remove deferred healing
shrugs c08504f
checkpoint
shrugs d8f301c
checkpoint
shrugs ceeeb38
remove holesky
shrugs e5576fc
checkpoint
shrugs 07362d8
add back deferrred batch healing
shrugs e2bb295
checkpoint
shrugs a050ea2
checkpoint
shrugs 4cacc6f
oops
shrugs bdd20d4
fix: adjust invariants for registrar controllers
shrugs f9f535d
checkpoint
shrugs 524ce0b
Merge branch 'main' into feat/ensv2
shrugs cbde7e5
fix: addressable latest registrations with superceding
shrugs 521b666
fix: namewrapper name decoding for encoded-labelhash-looking names oops
shrugs 4db5dd3
add ensrainbow error message
shrugs 2faaa5f
ens-test-env default urls
shrugs caf47ed
checkpoint
shrugs e57c69c
checkpoint
shrugs a1ff54f
dedicated and bridged resolver extensions
shrugs fc13bb7
checkpoint: cursors and connections
shrugs 0025515
Merge branch 'main' into feat/ensv2
shrugs 82dca36
fix tests
shrugs 29c4647
fix: switch to actual helthcechck for integration script
shrugs 147d769
checkpoint
shrugs 31c8941
checkpoint
shrugs 25f615c
feat: separate v1 and v2 domains in datamodel
shrugs 0cbec9a
feat: polymorphic cursor for account.doamins
shrugs 3229ade
checkpoint
shrugs f223a49
checkpoint
shrugs 7c7be22
fix
shrugs d246d60
v2 registrations
shrugs bcc3fe6
forward traversal
shrugs 96ce01a
fix: lint
shrugs 6a46c9f
fix weird namerenewed error and move lists to connections
shrugs c910e71
v2 drr
shrugs 7c25a1a
fix: threedns
shrugs 8ddcebf
fix: update to latest namechain
shrugs 540a045
fix: dev methods
shrugs 7debf8b
expiration to expiry
shrugs 9966569
docs(changeset): BREAKING: Removed holesky ENSNamespace.
shrugs a8d5b51
changeset
shrugs da99ed8
docs(changeset): Introduces the ENSv2 Plugin ('ensv2') for indexing b…
shrugs 790176a
docs and stuff
shrugs c906736
docs
shrugs 9f3beab
fix: lint
shrugs 9f420db
fix: ensapi init log
shrugs 321aa60
docs
shrugs 178bdfa
Merge branch 'main' into feat/ensv2
shrugs 078590b
pnpm to latest
shrugs 1311939
feat: point to new seploia namespace (temp)
shrugs 9e4ca10
Merge branch 'main' into feat/ensv2
shrugs c7d397c
checkpoint
shrugs efdef66
fix internal circ dep
shrugs 5896625
fix lint
shrugs c99a53f
ENSv2 forwards all resolution api requests to the universal resolver v2
shrugs f6abc03
try blacksmith docker actions
shrugs fd6de3b
fix: route through proxy, remove logs on unreachablename
shrugs d66b3e3
refactor: move registration expiration logic into sdk
shrugs 2b955e8
add expired and isInGracePeriod methods to registration
shrugs 43dd193
feat: implement EAC joins for resolvers, registyr permissions
shrugs e96781a
feat: allow filtering permissions by accountid
shrugs fe2c558
ix: permissions names
shrugs d785938
Merge branch 'main' into feat/ensv2
shrugs a2278c5
add extended to resolver
shrugs 39c26ce
fixes
shrugs 3ade537
refactor registration expiration arg name
shrugs a5c3bfb
fix: remove test from merge conflict
shrugs be02b8a
simplify drizzle logging
shrugs 2180bd8
Merge branch 'main' into feat/ensv2
shrugs 172123a
pnpm to latest
shrugs bd846c2
Merge branch 'main' into feat/ensv2
shrugs 77418e9
Merge branch 'main' into feat/ensv2
shrugs f94875e
fix: use correct registry ref in new subgraph plugin.ts lol oops
shrugs 5499386
feat: Registration and Renewals improvements
shrugs 65c0521
feat: renewals in the api
shrugs 78fac58
refactor expose to just field
shrugs 3ba8be4
Merge branch 'main' into feat/ensv2
shrugs c4ce1c0
fix: update addresses, handle re-registration
shrugs c70bcf6
fix: universalresolver works in docker-compose now
shrugs 0959ed4
fix: reset to normal sepolia
shrugs d452f02
fix: update old sepolia datasource to new naming and add ensv2 stubs
shrugs af8319a
feat: another self review, add Resolver.dedicated.owner
shrugs b743f20
fix: incorrectly calling isInterpertedLabel
shrugs 6321796
fix: forward-resolution starts at ensv1 registry for now
shrugs fad3f84
fix: revert can-accelerate testing
shrugs 66f0425
move protocol-acceleration logic to shared and do runtime checks in f…
shrugs fdd5dfe
fix: remove runtime-dependent resolver logic from index
shrugs f3e80a4
Merge branch 'main' into feat/ensv2
shrugs 6d1bf62
Merge branch 'main' into feat/ensv2
shrugs 5e00ae5
fix: update RegistryOld to new naming
shrugs aeafe26
Merge branch 'main' into feat/ensv2
shrugs f860fdd
fix: use raw params correctly
shrugs d0d0e02
don't need to fetch resolver entity silly
shrugs File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| --- | ||
| "@ensnode/ensnode-schema": minor | ||
| "@ensnode/datasources": minor | ||
| "ensindexer": minor | ||
| "ensapi": minor | ||
| --- | ||
|
|
||
| Introduces the ENSv2 Plugin ('ensv2') for indexing both ENSv1 and the future ENSv2 protocol. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| "ensindexer": minor | ||
| "@ensnode/datasources": minor | ||
| --- | ||
|
|
||
| BREAKING: Removed holesky ENSNamespace. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,7 +5,7 @@ | |
|
|
||
| # Set default timeout if not provided by environment | ||
| # Use env var if set, otherwise default to 60 seconds | ||
| : "${HEALTH_CHECK_TIMEOUT:=60}" | ||
| : "${HEALTH_CHECK_TIMEOUT:=60}" | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Updated the script to do an actual health check instead of tailing the logs |
||
|
|
||
| # Detect if running from CI or local | ||
| if [ -n "$GITHUB_WORKSPACE" ]; then | ||
|
|
@@ -38,19 +38,27 @@ PID=$! | |
|
|
||
| echo "ENSIndexer started with PID: $PID" | ||
|
|
||
| # Require ENSINDEXER_URL to be set | ||
| if [ -z "$ENSINDEXER_URL" ]; then | ||
| echo "Error: ENSINDEXER_URL environment variable must be set" | ||
| kill -9 $PID 2>/dev/null || true | ||
| wait $PID 2>/dev/null || true | ||
| rm -f "$LOG_FILE" | ||
| [ -f "$ENV_FILE" ] && rm -f "$ENV_FILE" | ||
| exit 1 | ||
| fi | ||
|
|
||
| # Wait for health check to pass | ||
| echo "Waiting for health check to pass (up to $HEALTH_CHECK_TIMEOUT seconds)..." | ||
| echo "Waiting for health check to pass at ${ENSINDEXER_URL}/health (up to $HEALTH_CHECK_TIMEOUT seconds)..." | ||
| health_check_start=$(date +%s) | ||
| last_log_check=0 | ||
|
|
||
| while true; do | ||
| current_time=$(date +%s) | ||
|
|
||
| # Periodically show log progress (every 15 seconds) to prevent CI timeout | ||
| # Periodically show progress (every 15 seconds) to prevent CI timeout | ||
| if [ $((current_time - last_log_check)) -ge 15 ]; then | ||
| echo "Still waiting for health check at $(date) (elapsed: $((current_time - health_check_start)) seconds)..." | ||
| echo "Recent log entries:" | ||
| tail -n 10 "$LOG_FILE" | ||
| last_log_check=$current_time | ||
| fi | ||
|
|
||
|
|
@@ -63,38 +71,33 @@ while true; do | |
| echo "Last 30 lines of log:" | ||
| tail -n 30 "$LOG_FILE" | ||
| rm -f "$LOG_FILE" | ||
| # Clean up env file | ||
| [ -f "$ENV_FILE" ] && rm -f "$ENV_FILE" | ||
| exit 1 | ||
| fi | ||
|
|
||
| # Check for health ready message | ||
| if grep -q "Started returning 200 responses from /health endpoint" "$LOG_FILE"; then | ||
| # Check health endpoint | ||
| if curl -sf "${ENSINDEXER_URL}/health" >/dev/null 2>&1; then | ||
| echo "Health check passed! ENSIndexer is up and running." | ||
| echo "Test successful - terminating ENSIndexer" | ||
| # Force kill the ENSIndexer process | ||
| kill -9 $PID 2>/dev/null || true | ||
| # Make sure we don't wait for the process to exit since we've force killed it | ||
| wait $PID 2>/dev/null || true | ||
| # Clean up the log file and env file | ||
| rm -f "$LOG_FILE" | ||
| [ -f "$ENV_FILE" ] && rm -f "$ENV_FILE" | ||
| # Explicitly exit with success code | ||
| echo "Exiting with success code 0" | ||
| exit 0 | ||
| fi | ||
|
|
||
| # Check if we've reached the health check timeout | ||
| elapsed=$((current_time - health_check_start)) | ||
|
|
||
| if [ $elapsed -ge $HEALTH_CHECK_TIMEOUT ]; then | ||
| echo "Health check timeout reached. ENSIndexer did not become healthy." | ||
| kill -9 $PID 2>/dev/null || true | ||
| wait $PID 2>/dev/null || true | ||
| echo "Last 30 lines of log:" | ||
| tail -n 30 "$LOG_FILE" | ||
| rm -f "$LOG_FILE" | ||
| # Clean up env file | ||
| [ -f "$ENV_FILE" ] && rm -f "$ENV_FILE" | ||
| exit 1 | ||
| fi | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -69,9 +69,6 @@ jobs: | |
| #SEPOLIA | ||
| echo "SEPOLIA_API_SVC_ID="${{ secrets.GREEN_SEPOLIA_API_SVC_ID }} >> "$GITHUB_ENV" | ||
| echo "SEPOLIA_INDEXER_SVC_ID="${{ secrets.GREEN_SEPOLIA_INDEXER_SVC_ID }} >> "$GITHUB_ENV" | ||
| #HOLESKY | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. removed holesky |
||
| echo "HOLESKY_API_SVC_ID="${{ secrets.GREEN_HOLESKY_API_SVC_ID }} >> "$GITHUB_ENV" | ||
| echo "HOLESKY_INDEXER_SVC_ID="${{ secrets.GREEN_HOLESKY_INDEXER_SVC_ID }} >> "$GITHUB_ENV" | ||
| #ENSRAINBOW | ||
| echo "ENSRAINBOW_SVC_ID="${{ secrets.GREEN_ENSRAINBOW_SVC_ID }} >> "$GITHUB_ENV" | ||
| #ENSADMIN | ||
|
|
@@ -93,9 +90,6 @@ jobs: | |
| #SEPOLIA | ||
| echo "SEPOLIA_API_SVC_ID="${{ secrets.BLUE_SEPOLIA_API_SVC_ID }} >> "$GITHUB_ENV" | ||
| echo "SEPOLIA_INDEXER_SVC_ID="${{ secrets.BLUE_SEPOLIA_INDEXER_SVC_ID }} >> "$GITHUB_ENV" | ||
| #HOLESKY | ||
| echo "HOLESKY_API_SVC_ID="${{ secrets.BLUE_HOLESKY_API_SVC_ID }} >> "$GITHUB_ENV" | ||
| echo "HOLESKY_INDEXER_SVC_ID="${{ secrets.BLUE_HOLESKY_INDEXER_SVC_ID }} >> "$GITHUB_ENV" | ||
| #ENSRAINBOW | ||
| echo "ENSRAINBOW_SVC_ID="${{ secrets.BLUE_ENSRAINBOW_SVC_ID }} >> "$GITHUB_ENV" | ||
| #ENSADMIN | ||
|
|
@@ -144,9 +138,6 @@ jobs: | |
| #SEPOLIA | ||
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${SEPOLIA_API_SVC_ID} ${{ env.ENSAPI_DOCKER_IMAGE }} | ||
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${SEPOLIA_INDEXER_SVC_ID} ${{ env.ENSINDEXER_DOCKER_IMAGE }} | ||
| #HOLESKY | ||
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${HOLESKY_API_SVC_ID} ${{ env.ENSAPI_DOCKER_IMAGE }} | ||
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${HOLESKY_INDEXER_SVC_ID} ${{ env.ENSINDEXER_DOCKER_IMAGE }} | ||
| #ENSRAINBOW | ||
| update_service_image ${RAILWAY_ENVIRONMENT_ID} ${ENSRAINBOW_SVC_ID} ${{ env.ENSRAINBOW_DOCKER_IMAGE }} | ||
| #ENSADMIN | ||
|
|
@@ -174,7 +165,6 @@ jobs: | |
| set_shared_variable ${RAILWAY_ENVIRONMENT_ID} "MAINNET_DATABASE_SCHEMA" "mainnetSchema${TAG}" | ||
| set_shared_variable ${RAILWAY_ENVIRONMENT_ID} "ALPHA-SEPOLIA_DATABASE_SCHEMA" "alphaSepoliaSchema${TAG}" | ||
| set_shared_variable ${RAILWAY_ENVIRONMENT_ID} "SEPOLIA_DATABASE_SCHEMA" "sepoliaSchema${TAG}" | ||
| set_shared_variable ${RAILWAY_ENVIRONMENT_ID} "HOLESKY_DATABASE_SCHEMA" "holeskySchema${TAG}" | ||
|
|
||
| - name: Redeploy ENSNode instances | ||
| run: | | ||
|
|
@@ -203,9 +193,6 @@ jobs: | |
| #SEPOLIA | ||
| redeploy_service ${RAILWAY_ENVIRONMENT_ID} ${SEPOLIA_API_SVC_ID} | ||
| redeploy_service ${RAILWAY_ENVIRONMENT_ID} ${SEPOLIA_INDEXER_SVC_ID} | ||
| #HOLESKY | ||
| redeploy_service ${RAILWAY_ENVIRONMENT_ID} ${HOLESKY_API_SVC_ID} | ||
| redeploy_service ${RAILWAY_ENVIRONMENT_ID} ${HOLESKY_INDEXER_SVC_ID} | ||
| #ENSRAINBOW | ||
| redeploy_service ${RAILWAY_ENVIRONMENT_ID} ${ENSRAINBOW_SVC_ID} | ||
| #ENSADMIN | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,2 @@ | ||
| nodejs 22.14.0 | ||
| pnpm 10.20.0 | ||
| pnpm 10.26.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| { | ||
| "version": "0.2.0", | ||
| "configurations": [ | ||
| { | ||
| "type": "node", | ||
| "request": "launch", | ||
| "name": "Debug Script: ENSApi Dev", | ||
| "runtimeExecutable": "pnpm", | ||
| "runtimeArgs": ["run", "dev"], | ||
| "cwd": "${workspaceFolder}/apps/ensapi", | ||
| "env": { | ||
| "NODE_ENV": "development" | ||
| }, | ||
| "console": "integratedTerminal", | ||
| "outputCapture": "std" | ||
| } | ||
| ] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this can be expanded closer to actual release