Skip to content
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

Add multicoin support for ENS / AsyncENS address() and setup_address() #3030

Merged
merged 7 commits into from
Jul 17, 2023

Conversation

fselmo
Copy link
Collaborator

@fselmo fselmo commented Jul 7, 2023

What was wrong?

Extended support for ENSIP-9 Multichain Address Resolution via ENS / AsyncENS address() and setup_address() methods

closes #1839

How was it fixed?

  • Add ns.address(name, coin_type=coin_type) + ns.setup_address(name, address, coin_type=coin_type, transact=transact)
  • Minor DRY / refactors along the way in ens/ens.py and ens/async_ens.py
  • Point internal ENS test contracts to the contract data in the dynamically compiled contracts located in web3/_utils/contract_sources/contract_data rather than using static values for bytecode, abi, etc.

--
Note: This originally aimed to add more methods but those seem unnecessary when users can already interact with the resolver contract via the updated ABI from #2700

Todo:

  • Add entry to the release notes
  • Add tests for multicoin support in address() and setup_address()
  • Add relevant documentation

Cute Animal Picture

Screenshot 2023-07-07 at 09 08 19

@fselmo fselmo changed the title Add more ENS functionality Add multicoin support for ENS / AsyncENS address() and setup_address() Jul 11, 2023
@fselmo fselmo force-pushed the update-ens-resolver branch 5 times, most recently from fb98eb5 to fdca2b8 Compare July 12, 2023 17:02
@fselmo fselmo marked this pull request as ready for review July 12, 2023 17:03
@fselmo fselmo requested review from kclowes, pacrob and reedsa July 12, 2023 17:10
docs/ens_overview.rst Show resolved Hide resolved
ens/contract_data.py Outdated Show resolved Hide resolved
ens/contract_data.py Outdated Show resolved Hide resolved
ens/ens.py Show resolved Hide resolved
ens/async_ens.py Outdated Show resolved Hide resolved
Copy link
Contributor

@pacrob pacrob left a comment

Choose a reason for hiding this comment

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

lgtm!

fselmo added a commit to fselmo/web3.py that referenced this pull request Jul 12, 2023
fselmo added a commit to fselmo/web3.py that referenced this pull request Jul 12, 2023
Copy link
Collaborator

@kclowes kclowes left a comment

Choose a reason for hiding this comment

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

Looks good to me! :shipit:

ens/async_ens.py Show resolved Hide resolved
@fselmo
Copy link
Collaborator Author

fselmo commented Jul 17, 2023

@reedsa, did you get a chance to see my comments here? Let me know if your original comments were all addressed 👀

Copy link
Contributor

@reedsa reedsa left a comment

Choose a reason for hiding this comment

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

All good, thanks for your responses!

@fselmo fselmo merged commit 58195db into ethereum:main Jul 17, 2023
@fselmo fselmo deleted the update-ens-resolver branch July 17, 2023 22:23
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.

Support ENS multicoin EIP-2304
4 participants