erc_4626.vault_protocol.euler.offchain_metadata

Documentation for eth_defi.erc_4626.vault_protocol.euler.offchain_metadata Python module.

Euler vault labelling

  • Euler has put vault names offchain in Github, because of course Solidity programmers would do something like this

  • name() accessor in Euler vault returns just a running counter

Functions

fetch_euler_vault_metadata(web3, vault_address)

Fetch vault metadata from offchain source.

fetch_euler_vaults_file_for_chain(chain_id)

Fetch and cache Euler offchain vault metadata for a given chain.

Classes

EulerVaultMetadata

Metadata about an Euler vault from offchain source.

DEFAULT_CACHE_PATH = PosixPath('/home/runner/.cache/euler')

Where we copy files from Euelr Github repo

class EulerVaultMetadata

Bases: TypedDict

Metadata about an Euler vault from offchain source.

https://raw.githubusercontent.com/euler-xyz/euler-labels/refs/heads/master/130/vaults.json

__init__(*args, **kwargs)
__new__(**kwargs)
clear() None.  Remove all items from D.
copy() a shallow copy of D
fromkeys(value=None, /)

Create a new dictionary with keys from iterable and values set to value.

get(key, default=None, /)

Return the value for key if key is in the dictionary, else default.

items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
pop(k[, d]) v, remove specified key and return the corresponding value.

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

setdefault(key, default=None, /)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

update([E, ]**F) None.  Update D from mapping/iterable E and F.

If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values() an object providing a view on D's values
fetch_euler_vaults_file_for_chain(chain_id, cache_path=PosixPath('/home/runner/.cache/euler'), github_base_url='https://raw.githubusercontent.com/euler-xyz/euler-labels/refs/heads/master', now_=None, max_cache_duration=datetime.timedelta(days=2))

Fetch and cache Euler offchain vault metadata for a given chain.

  • One JSON file per chain

  • Multiprocess safe

Parameters

chain_id (int) –

Return type

dict

fetch_euler_vault_metadata(web3, vault_address)

Fetch vault metadata from offchain source.

  • Do both in-process and disk cache to avoid repeated fetches

Parameters
Return type

eth_defi.erc_4626.vault_protocol.euler.offchain_metadata.EulerVaultMetadata | None