Files
tycho-protocol-sdk/substreams/ethereum-ambient
Zizou 39934347b3 refactor(substreams): remove workspace dependencies (#129)
This is to make each substreams completely independent, before when we would need a new version of a dependency, we would have to change it for every crate which would lead to a change of every substreams module hash. We want to make every Substreams completely independant and frozen, this also helps to maintain a correct versionning.

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2025-01-07 16:04:17 +00:00
..

Substreams Ethereum Ambient Module

Modules Description

map_pool_changes

  • Type: Map
  • Purpose: This module detects new pools within the Ethereum blockchain and balance changes.
  • Inputs: Ethereum block data (sf.ethereum.type.v2.Block).
  • Output: Emits data of type proto:tycho.evm.state.v1.BlockPoolChanges.

store_pools_balances

  • Type: Store
  • Purpose: Accumulates and stores the balances of pools detected by map_pool_changes. It uses an additive update policy, implying that new values are added to existing balances.
  • Inputs: Data mapped by map_pool_changes.

store_pools

  • Type: Store
  • Purpose: Maintains a store of pool information using the ProtocolComponent data structure. This store is updated whenever map_pool_changes emits new pool data.
  • Inputs: Data mapped by map_pool_changes.

map_changes

  • Type: Map
  • Purpose: This module integrates all the processed information to generate comprehensive BlockContractChanges. It considers new pools, balance changes and contract changes.
  • Inputs:
    • Ethereum block data (sf.ethereum.type.v2.Block).
    • Data from map_pool_changes.
    • Data from store_pools_balances.
    • Data from store_pools.
  • Output: Emits proto:tycho.evm.state.v1.BlockContractChanges.