ethereum / web3.py

A python interface for interacting with the Ethereum blockchain and ecosystem.
http://web3py.readthedocs.io
MIT License
5k stars 1.7k forks source link

feat: gasless dnssec ccip support #3291

Closed stanleyjzheng closed 4 days ago

stanleyjzheng commented 7 months ago

What was wrong?

Gasless DNSSEC was unsupported; eg.

from web3 import Web3, HTTPProvider
w3 = Web3(HTTPProvider("https://cloudflare-eth.com/"))

w3.ens.address("gregskril.com")

resulted in web3.exceptions.MultipleFailedRequests: Offchain lookup failed for supplied urls.


@fselmo:

How was it fixed?

Copied the CCIP handler from ENS's Rust implementation here

Apologies, I couldn't figure out how to correctly mock tests since I couldn't find a suitable sequences of tx's for async_ens_setup. But the above snippet works.

Todo:

Cute Animal Picture

_MG_0866

fselmo commented 4 days ago

Thanks for submitting this @stanleyjzheng and for the ping @mdtanrikulu. Can you confirm this is the expected behavior? I can merge once I have your 👍🏼.