Trigger and Function
UniSwapV3PoolJob
Filter Logic
def get_filter(self):
return TransactionFilterByLogs(
[
TopicSpecification(addresses=[self._factory_address], topics=[self._create_pool_topic0]),
TopicSpecification(topics=self._pool_price_topic0_list),
]
)This job filters for logs from the factory address with the pool creation topic, and logs with topics indicating pool price changes.
Key Processing Steps
Collecting Pool Data:
def _collect_pool_batch(self, logs):
for log in logs:
if self._factory_address == log.address and self._create_pool_topic0 == log.topic0:
entity = decode_pool_created(self._nft_address, self._factory_address, log)
self._collect_item(UniswapV3Pool.type(), entity)Collecting Swap Events:
Updating Pool Prices:
call
slot0function.
UniswapV3TokenJob
Filter Logic
This job filters for logs from the Uniswap V3 NFT contract address.
Key Processing Steps
Collecting Token Data:
Filter token ownership transfers and liquidity adjustments for each tokenId.
Fetching Token Ownership and Position Data:
call owner and positions
Collect Token Information:
Collect Liquidity Updates and Fee Collection Events::
Last updated