Adapter

ENS Fees

ENS is a naming protocol for wallets, websites and more.

Sub-Adapters 1

Preview and test each sub adapter.

Ethereum Name Service (ens)

Metadata

ID
ens
name

"Ethereum Name Service"

icon
protocolLaunch

"2020-08-07"

category

"Application Protocol"

subcategory

"Identity"

description

"ENS is a naming protocol for wallets, websites and more."

feeDescription

"Registration fees are paid to the DAO treasury."

blockchain

"Ethereum"

source

"The Graph Protocol"

website

"https://ens.domains"

tokenticker

"ENS"

tokencoingecko

"ethereum-name-service"

events

[ { "date": "2021-11-09", "description": "ENS DAO & token launched" } ]

Queries

Adapter Code

Check the entire code written for the Adapter.

Source code

Showing TS source.
1export const name = 'ENS Fees';
2export const version = '0.1.6';
3export const license = 'MIT';
4
5export function setup(sdk: Context) {
6  const getFees = async (startDate: string, endDate: string): Promise<number> => {
7    const startOfDayBlock = await sdk.chainData.getBlockNumber(startDate);
8    const endOfDayBlock = await sdk.chainData.getBlockNumber(endDate);
9
10    const query = `query txFees {
11      startOfDay: ens(id: "ens", block: {number: ${startOfDayBlock}}) {
12        usdCollected
13      }
14      endOfDay: ens(id: "ens", block: {number: ${endOfDayBlock}}) {
15        usdCollected
16      }
17    }`
18
19    const data = await sdk.graph.query({
20      subgraphId: '9ZA2QGwURbZ8S3PfdKs4UyKKTvyoHfG4SsLkGBaiVi1Y',
21      query,
22    });
23
24    const fees = parseFloat(data.endOfDay.usdCollected) - parseFloat(data.startOfDay.usdCollected);
25
26    return fees;
27  }
28
29  const getOneDayFees = (date: string) => {
30    const nextDay = sdk.date.offsetDaysFormatted(date, 1);
31    return getFees(date, nextDay);
32  }
33
34  sdk.register({
35    id: 'ens',
36    queries: {
37      oneDayTotalFees: getOneDayFees,
38      oneDayProtocolFees: getOneDayFees,
39      dateRangeTotalFees: getFees,
40      dateRangeProtocolFees: getFees,
41    },
42    metadata: {
43      name: 'Ethereum Name Service',
44      icon: sdk.ipfs.getDataURILoader('QmcVVHX9MmeJkATvuhNBhVUL4sXqNuU5eT6m6W47E2yxnN', 'image/svg+xml'),
45      protocolLaunch: '2020-08-07', // Don't currently have data before this
46      category: 'Application Protocol',
47      subcategory: 'Identity',
48      description: 'ENS is a naming protocol for wallets, websites and more.',
49      feeDescription: 'Registration fees are paid to the DAO treasury.',
50      blockchain: 'Ethereum',
51      source: 'The Graph Protocol',
52      website: 'https://ens.domains',
53      tokenticker: 'ENS',
54      tokencoingecko: 'ethereum-name-service', 
55      events: [
56        {
57          date: '2021-11-09',
58          description: 'ENS DAO & token launched',
59        },
60      ],
61    },
62  })
63}
64

It's something off?

Report it to the discussion board on Discord, we will take care of it.

Adapter Info

Version

0.1.6

License

MIT

IPFS CID

QmZk4XRRbuuNir9hbRweKY8YxeF1MCdxKt5WeLyazsdGV6

CID (source)

QmS7eyhGpn7GHQFSUavskXiMQKP3PuHWeNgoQexH1RWuHM

Collections

Author

mihal.eth