fetch_euler_vaults_file_for_chain
Documentation for eth_defi.erc_4626.vault_protocol.euler.offchain_metadata.fetch_euler_vaults_file_for_chain function.
- fetch_euler_vaults_file_for_chain(chain_id, cache_path=PosixPath('/home/runner/.tradingstrategy/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.
Fetches
{chainId}/products.jsonfrom theeuler-xyz/euler-labelsGitHub repository, builds a flat per-vault reverse index via_build_vault_index(), and writes the result to a local JSON cache file.The cache is per-chain and expires after max_cache_duration (default 2 days). The function is multiprocess-safe via
wait_other_writers().- Parameters
chain_id (int) – EVM chain ID (e.g.
1for Ethereum mainnet).cache_path – Directory for the local JSON cache files.
github_base_url – Base URL for the
euler-xyz/euler-labelsraw GitHub files.now – Override for “current time” used in cache-expiry checks (useful in tests).
max_cache_duration – How long to keep a cached file before re-fetching from GitHub.
- Returns
Dict mapping checksummed vault address →
EulerVaultMetadata. Returns an empty dict when the chain has no products file.- Return type
dict[str, eth_defi.erc_4626.vault_protocol.euler.offchain_metadata.EulerVaultMetadata]