Skip to content

Universal Resolution #11

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
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Universal Resolution #11

wants to merge 6 commits into from

Conversation

TateB
Copy link
Collaborator

@TateB TateB commented Oct 14, 2024

No description provided.

Copy link

cloudflare-workers-and-pages bot commented Oct 14, 2024

Deploying ensips with  Cloudflare Pages  Cloudflare Pages

Latest commit: d14a4ab
Status: ✅  Deploy successful!
Preview URL: https://8be5da9e.ensips.pages.dev
Branch Preview URL: https://ensip-universal-resolution.ensips.pages.dev

View logs

Copy link
Member

@Arachnid Arachnid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to explicitly state that callers must handle CCIP-Read reverts.

@makoto
Copy link
Member

makoto commented Jan 16, 2025

Should the ENSIP mention upgrade paths or are they more of the implementation detail? I personally thinks it should be mentioned as A: if it's user initiated upgrade, there must be a public API that initiates the upgrade, B: If it's DAO initiated upgrade, there still needs a API DAO has to call and also the user should aware that the resolution logic is not immutable

- `bytes`: The data returned by the resolver
- `address`: The address of the resolver that resolved the name

### reverse
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can reverse also handle multicall so that user can pass multiple cointypes?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't really see a use-case

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the implementation for resolve is graceful in preserving a single-call happy path, whereas you can't really preserve that for reverse.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about batch reverse resolution - eg, for things like leaderboards?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's not much of a difference between something like viem's native batching (via multicall), and what a batch for many names in reverse resolution would do. if there are specific patterns for ccip-read that wouldn't use a batch gateway but instead would go straight to the source gateway, there's always the option of creating a ccip-read friendly multicall contract that assumes that scenario is true.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't you make the same argument about forward resolution?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

batching for many different names means finding many different resolvers, whereas batching many records for one name (forward) is only 1 resolution lookup when using a multicall array.
for forward lookups, it also allows the potential removal of reliance on the batch gateway for some calls.

Co-authored-by: Nick Johnson <[email protected]>
@TateB
Copy link
Collaborator Author

TateB commented Mar 19, 2025

@Arachnid by "callers", do you mean clients? or UniversalResolver implementations?

@TateB
Copy link
Collaborator Author

TateB commented Mar 19, 2025

@makoto i don't think adding implementation detail on upgrade paths is worth it, upgradability is down to each individual implementation and it isn't particularly relevant to universal resolution itself imo

@TateB TateB requested review from Arachnid and makoto March 19, 2025 16:26
Copy link
Member

@Arachnid Arachnid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TateB TateB marked this pull request as ready for review March 27, 2025 16:40
@TateB TateB requested a review from Arachnid March 27, 2025 16:40
- `bytes`: The data returned by the resolver
- `address`: The address of the resolver that resolved the name

### reverse
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about batch reverse resolution - eg, for things like leaderboards?

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.

3 participants