Skip to content

better support Contract Naming in AccountId #2297

Description

@shrugs

AccountId is currently a dead-end leaf (chainId + address only). Make it chainable so contracts (resolvers, registries, registrars, list NFTs, etc.) can be walked into their ENS state — "contracts have names too".

Proposed (additive, non-breaking):

  • AccountId.account: Account! — bridge a CAIP-10 id to the address-keyed Account hub, unlocking domains, efp, resolve, etc.
  • AccountId.resolve with a chain-defaulted primaryName — the AccountId's chainId supplies the default coinType (via evmChainIdToCoinType), so accountId.resolve.primaryName {} resolves the primary name on the AccountId's own chain (override still allowed).

Follow-up (breaking, minor): convert clear actor Address fields to Account (Event.sender/from/to, EfpList.owner/user/manager, EfpAccountMetadata.address), matching the existing Domain.owner convention.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions