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

Projects

Status
No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions