Files
tycho-protocol-sdk/substreams/ethereum-ambient/Readme.md
Louise Poole ad0a391f72 chore: clean up ambient (#136)
* fix: remove unnecessary tx field in ProtocolComponent

* chore: move ambient protobuf files to ambient module

* chore: remove dependency on common message types

This allows us to isolate the ambient specific messages within the ambient module

* feat: update ambient substream with new message structs

* chore: update substream configs

And remove use of deprecated BlockContractChanges.

* feat: implement From for AmbientProtocolComponent to ProtocolComponent
2025-01-27 10:36:13 +02:00

36 lines
1.4 KiB
Markdown

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.ambient.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 `BlockChanges`. 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.BlockChanges`.