SygnumVaultHistoricalReader

Documentation for eth_defi.tokenised_fund.sygnum.historical.SygnumVaultHistoricalReader Python class.

class SygnumVaultHistoricalReader

Bases: eth_defi.vault.base.VaultHistoricalReader

Read FILQ supply and its official Chainlink bundle NAV.

FILQ’s price feed is a Chainlink bundle proxy rather than an AggregatorV3 feed. Historical state reads use latestBundle() at the sampled block; the targeted Sygnum backfill separately reads every accepted report event through eth_defi.chainlink.bundle_aggregator and Hypersync.

Create the FILQ state reader.

Parameters
  • vault – FILQ adapter.

  • stateful – Retained for shared reader compatibility.

Attributes summary

address

first_block

share_price_change_threshold

Return this reader's sparse share-price comparison threshold.

uses_contextual_history

Return whether this reader supplies protocol-sourced observations.

uses_share_price_equivalence

Return whether cash flows must be ignored by the sparse filter.

write_all_samples

Retain every successful static Multicall sample, including unchanged NAVs.

Methods summary

__init__(vault, stateful)

Create the FILQ state reader.

construct_multicalls()

Construct FILQ supply and Chainlink bundle calls.

fetch_contextual_historical_reads(...)

Yield protocol-sourced historical rows outside the static call grid.

process_result(block_number, timestamp, ...)

Convert supply and bundle results to a priced history row.

__init__(vault, stateful)

Create the FILQ state reader.

Parameters
  • vault (SygnumVault) – FILQ adapter.

  • stateful (bool) – Retained for shared reader compatibility.

construct_multicalls()

Construct FILQ supply and Chainlink bundle calls.

Returns

Supply, bundle, report-timestamp and schema-validation calls.

Return type

collections.abc.Iterable[eth_defi.event_reader.multicall_batcher.EncodedCall]

process_result(block_number, timestamp, call_results)

Convert supply and bundle results to a priced history row.

Parameters
Returns

FILQ supply, NAV/share and total NAV history row.

Return type

eth_defi.vault.base.VaultHistoricalRead

fetch_contextual_historical_reads(start_block, end_block, step)

Yield protocol-sourced historical rows outside the static call grid.

Contextual readers override this method and read an already-prefilled local cache. Network collection belongs before the common price scan.

Parameters
  • start_block (int) – Inclusive archive block boundary.

  • end_block (int) – Exclusive archive block boundary.

  • step (int) – Approximate block spacing used to downsample source observations.

Returns

Ordinary VaultHistoricalRead rows for the common writer.

Raises

NotImplementedError – If a reader opts into contextual history without implementing it.

Return type

Iterable[eth_defi.vault.base.VaultHistoricalRead]

property share_price_change_threshold: float

Return this reader’s sparse share-price comparison threshold.

Event-only readers may require every exact price change; ordinary readers retain the existing ten-basis-point suppression threshold.

Returns

Non-negative relative suppression threshold.

property uses_contextual_history: bool

Return whether this reader supplies protocol-sourced observations.

Most EVM vaults expose static calldata that the common multicaller can execute on a regular block grid. Protocols such as GMX instead expose sparse value events that are prefetched into a protocol-owned cache.

Returns

False for the ordinary static-multicall path.

property uses_share_price_equivalence: bool

Return whether cash flows must be ignored by the sparse filter.

Vault-like products without a standard share-price method can still expose a supply-normalised price equivalent. Their TVL and supply changes must not create false performance observations.

Returns

True when the vault carries the share_price_equivalence feature.