Skip to main content

ENS Record Changed

Updated on
Dec 15, 2023

Overview

ENS (Ethereum Name Service) allows users to set metadata with their ENS names. This metadata has values associated with keys.

A key can be a wallet address, content hash (IPFS), ABI, email, description, avatar, website URL, and social handles like Twitter (X), GitHub, Discord, etc.

ENS Record Updated

The ENS Resolver smart contract emits the following event whenever someone updates any metadata value: TextChanged (index_topic_1 bytes32 node, index_topic_2 string indexedKey, string key)

To create our expression, we will need to target two values:

  1. The ENS Resolver contract address - We'll use the contract address of the ENS Public Resolver deployed on the Ethereum Mainnet, but if you have your own custom Resolver contract, use that contract address instead. This value gets set as the tx_logs_address, as we will be looking for any transactions from this address (the contract).
  2. The event the contract emits when the action we're interested in occurs - In the case of ENS Resolver, it is the TextChanged event (event documentation from ENS). On EVM blockchains, the event is encoded and can be found in tx_logs_topic0. To get the encoded value, you will need to take the event definition (event name and parameters' types), run it through the Keccak-256 hash function, and prefix it with 0x.
TextChanged(bytes32,string,string)

d8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550

0xd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550
Expression
Deploy
1
tx_logs_address == '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41'
2
&&
3
tx_logs_topic0 == '0xd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550'
Share this doc