erc_4626.vault_protocol.lagoon.settlement

Documentation for eth_defi.erc_4626.vault_protocol.lagoon.settlement Python module.

Lagoon settlement event reader.

This module scans Lagoon vault settlement events and stores them in the generic vault settlement DuckDB database. It records when settlement logs happened; queue sizes and per-user accounting stay out of this storage layer.

Functions

build_settlement_rows_from_logs(vault, logs)

Build generic settlement rows from Lagoon settlement logs.

fetch_lagoon_settlements(vault, start_block, ...)

Fetch Lagoon settlement transactions for a vault.

get_settlement_events_by_topic(vault)

Return Lagoon settlement event classes keyed by topic0.

update_lagoon_settlement_database(database, ...)

Fetch and store Lagoon settlements for one vault.

fetch_lagoon_settlements(vault, start_block, end_block, use_hypersync=None, chunk_size=50000)

Fetch Lagoon settlement transactions for a vault.

A settlement is any log that emits SettleDeposit or SettleRedeem. If a transaction emits both events, both logs are stored. TotalAssetsUpdated alone is deliberately ignored because Lagoon can emit valuation-only updates.

Parameters
Returns

Generic settlement rows sorted by block and transaction hash.

Return type

list[eth_defi.vault.settlement_data.VaultSettlement]

update_lagoon_settlement_database(database, vault, start_block, end_block, use_hypersync=None, chunk_size=50000)

Fetch and store Lagoon settlements for one vault.

Parameters
Returns

Number of settlement rows written.

Return type

int

get_settlement_events_by_topic(vault)

Return Lagoon settlement event classes keyed by topic0.

Parameters

vault (eth_defi.erc_4626.vault_protocol.lagoon.vault.LagoonVault) – Lagoon vault adapter.

Returns

Mapping from topic0 to event class.

Return type

dict[str, web3.contract.contract.ContractEvent]

build_settlement_rows_from_logs(vault, logs, event_by_topic=None)

Build generic settlement rows from Lagoon settlement logs.

Parameters
Returns

Settlement rows sorted by block and transaction hash.

Return type

list[eth_defi.vault.settlement_data.VaultSettlement]