UpshiftMultiAssetHistoricalReader

Documentation for eth_defi.erc_4626.vault_protocol.upshift.vault.UpshiftMultiAssetHistoricalReader Python class.

class UpshiftMultiAssetHistoricalReader

Bases: eth_defi.vault.base.VaultHistoricalReader

Read Upshift multi-asset vault accounting history.

Upshift multi-asset vaults are not plain ERC-4626 share-token contracts. The vault proxy exposes accounting methods like getSharePrice() and getTotalAssets(), while lpTokenAddress() points to the ERC-20 share token used for name, symbol, decimals and total supply.

Relevant verified implementation: Upshift multiAssetVault.

Create a historical reader for Upshift multi-asset vaults.

Parameters
  • vault – Upshift vault adapter.

  • stateful – Whether to attach adaptive reader state used by the shared historical multicaller.

Attributes summary

address

first_block

Methods summary

__init__(vault, stateful)

Create a historical reader for Upshift multi-asset vaults.

construct_multicalls()

Construct historical multicalls for Upshift multi-asset vaults.

process_result(block_number, timestamp, ...)

Convert Upshift multi-asset multicalls to a vault price row.

__init__(vault, stateful)

Create a historical reader for Upshift multi-asset vaults.

Parameters
construct_multicalls()

Construct historical multicalls for Upshift multi-asset vaults.

Returns

Calls for vault share price, NAV, LP token supply, pause flags and configured maximum deposit/withdrawal amounts.

Return type

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

process_result(block_number, timestamp, call_results)

Convert Upshift multi-asset multicalls to a vault price row.

Parameters
Returns

VaultHistoricalRead with Upshift share price, NAV and LP token supply.

Return type

eth_defi.vault.base.VaultHistoricalRead