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

  1. 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)
  1. Collecting Swap Events:

  1. Updating Pool Prices:

  2. call slot0 function.

UniswapV3TokenJob

Filter Logic

This job filters for logs from the Uniswap V3 NFT contract address.

Key Processing Steps

  1. Collecting Token Data:

Filter token ownership transfers and liquidity adjustments for each tokenId.

  1. Fetching Token Ownership and Position Data:

call owner and positions

  1. Collect Token Information:

  1. Collect Liquidity Updates and Fee Collection Events::

Last updated