blockchain-etl / ethereum-etl-airflow

Airflow DAGs for exporting, loading, and parsing the Ethereum blockchain data. How to get any Ethereum smart contract into BigQuery https://towardsdatascience.com/how-to-get-any-ethereum-smart-contract-into-bigquery-in-8-mins-bab5db1fdeee
MIT License
405 stars 190 forks source link

Add Unstoppable Domains support (.crypto and new ones) #718

Closed mexcool closed 5 months ago

mexcool commented 5 months ago

What?

Add support for Unstoppable Domains by adding the events from the Registry contracts. The initial set up was only for .crypto TLD and then they made it for many more. I split into Crypto Name System (CNS) and Unstoppable Name System (UNS).

How?

I used abi-parser to build the table definitions. The new Registry contract for UNS is a proxy contract with the implementation being this.

All contracts are here.

I added all of them under one parent folder/dataset unstoppable_domains and kept same table_name as the contract name. I added a description to the CNS Registry to clarify those are for CNS.

Related PRs (optional)

Analogous PR for Polygon: https://github.com/nansen-ai/evmchain-etl-table-definitions/pull/283

Anything Else?

  1. The contract_address must be the proxy right? even if I used the implementation in the parser.

More info here: https://docs.unstoppabledomains.com/smart-contracts/overview/uns-architecture-overview/#smart-contract-architecture

araa47 commented 5 months ago

@mexcool , I would restructure this slightly so all the files are within the folder unstopabbledomains or similar based on the entity.

Then you can split between uns/cns based on file names. CnsRegistry and UnsRegistry.