tokenised_fund.securitize.chronicle

Documentation for eth_defi.tokenised_fund.securitize.chronicle Python module.

Normalise signed Chronicle Proof of Asset history for Securitize funds.

Chronicle’s public STAC dashboard is a visualisation of signed, off-chain Proof of Asset records. Unlike RedStone, it does not currently document a stable public history endpoint. This module deliberately accepts an explicit operator-provided JSON URL instead of guessing an undocumented route.

The parser supports the dashboard’s compact timestamp, nav and totalValueLocked record shape. A configured source can therefore use the same in-memory Securitize merger as RedStone without a second Parquet rewrite.

Reference: https://chroniclelabs.org/dashboard/proofofasset/securitize-stac

Module Attributes

DEFAULT_CHRONICLE_API_TIMEOUT

Timeout for a public Chronicle history request in seconds.

UNIX_MILLISECONDS_THRESHOLD

Unix seconds above this are interpreted as milliseconds.

CHRONICLE_SECURITIZE_FEEDS

Securitize products currently announced as Chronicle Proof of Asset feeds.

Functions

fetch_chronicle_price_history(feed, ...[, ...])

Fetch Chronicle Proof of Asset NAV history from an explicit JSON URL.

Classes

ChroniclePricePoint

One Chronicle-verified NAV and optional total-value observation.

ChronicleSecuritizeFeed

One Securitize product verified by Chronicle Proof of Asset.

Exceptions

ChronicleAPIError

Raised when a configured Chronicle history source is malformed.

DEFAULT_CHRONICLE_API_TIMEOUT = 20.0

Timeout for a public Chronicle history request in seconds.

UNIX_MILLISECONDS_THRESHOLD = 10000000000

Unix seconds above this are interpreted as milliseconds.

exception ChronicleAPIError

Bases: RuntimeError

Raised when a configured Chronicle history source is malformed.

__init__(*args, **kwargs)
__new__(**kwargs)
add_note(note, /)

Add a note to the exception

with_traceback(tb, /)

Set self.__traceback__ to tb and return self.

class ChronicleSecuritizeFeed

Bases: object

One Securitize product verified by Chronicle Proof of Asset.

chain_id: int

EVM chain hosting the Securitize DSToken.

token: eth_typing.evm.HexAddress

Lower-case DSToken address.

dashboard_slug: str

Chronicle public dashboard slug.

__init__(chain_id, token, dashboard_slug)
Parameters
Return type

None

class ChroniclePricePoint

Bases: object

One Chronicle-verified NAV and optional total-value observation.

timestamp: datetime.datetime

UTC timestamp of the signed observation.

share_price: decimal.Decimal

Verified fund NAV per share in USD.

total_assets: Optional[decimal.Decimal]

Optional verified total fund value in USD.

__init__(timestamp, share_price, total_assets)
Parameters
Return type

None

CHRONICLE_SECURITIZE_FEEDS: dict[tuple[int, eth_typing.evm.HexAddress], eth_defi.tokenised_fund.securitize.chronicle.ChronicleSecuritizeFeed] = {(1, '0x51c2d74017390cbbd30550179a16a1c28f7210fc'): ChronicleSecuritizeFeed(chain_id=1, token='0x51c2d74017390cbbd30550179a16a1c28f7210fc', dashboard_slug='securitize-stac')}

Securitize products currently announced as Chronicle Proof of Asset feeds.

fetch_chronicle_price_history(feed, history_url, *, timeout=20.0)

Fetch Chronicle Proof of Asset NAV history from an explicit JSON URL.

The caller must supply the source URL because Chronicle has not documented a stable public API endpoint for the STAC dashboard. The response may be a list directly or an envelope containing a data list.

Parameters
Returns

Oldest-to-newest distinct signed observations.

Raises

ChronicleAPIError – If the source response does not contain a supported history list.

Return type

collections.abc.Iterator[eth_defi.tokenised_fund.securitize.chronicle.ChroniclePricePoint]