create_probe_calls

Documentation for eth_defi.erc_4626.classification.create_probe_calls function.

create_probe_calls(addresses, share_probe_amount=1000000, chain_id=None)

Create calls that call each vault address using multicall.

  • Because ERC standards are such a shit show, and nobody is using good interface standard, we figure out the vault type by probing it with various calls

  • Skips protocol-specific probes for protocols only deployed on certain chains (see CHAIN_RESTRICTED_PROBES for the list)

Parameters
  • addresses (collections.abc.Iterable[eth_typing.evm.HexAddress]) – Iterable of vault contract addresses to probe.

  • share_probe_amount – Amount used for convertToShares() probe call.

  • chain_id (int | None) – If provided, filters out probe calls for protocols that are not deployed on this chain. This reduces unnecessary RPC calls when scanning chains where certain protocols don’t exist. Protocols deployed on 3 or fewer chains have their probes skipped on other chains. If None, all probes are generated (no filtering).

Return type

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