VaultDepositManagerCapability

Documentation for eth_defi.vault.deposit_redeem.VaultDepositManagerCapability Python class.

class VaultDepositManagerCapability

Bases: object

Static public integration capability of a vault deposit manager.

This describes support implemented by eth_defi, rather than the vault’s live cap, pause, allow-list, token balance, or liquidity state. A historical probe cannot establish future acceptance: consumers must make the request against current chain state and handle a current-state revert.

Parameters
  • can_deposit – Whether a complete public deposit lifecycle is implemented.

  • can_redeem – Whether a complete public redemption lifecycle is implemented.

  • deposit_flow – Request lifecycle for deposits when supported.

  • redemption_flow – Request lifecycle for redemptions when supported.

  • deposit_unsupported_reason – Stable adapter reason when deposits are deliberately unsupported.

  • redemption_unsupported_reason – Stable adapter reason when redemptions are deliberately unsupported.

  • supports_anvil_settlement – Whether the advertised asynchronous lifecycle can be advanced with its protocol-specific ticket on an Anvil fork. None means no settlement assertion is needed for the selected synchronous direction. False publishes an advertised asynchronous lifecycle which cannot be safely advanced on Anvil.

  • anvil_settlement_unsupported_reason – Stable concrete reason why an advertised asynchronous lifecycle cannot be advanced on Anvil. Required when supports_anvil_settlement=False and forbidden otherwise.

Attributes summary

can_deposit

can_redeem

deposit_flow

redemption_flow

deposit_unsupported_reason

redemption_unsupported_reason

supports_anvil_settlement

anvil_settlement_unsupported_reason

deposit_assets

Accepted token addresses for an explicit multi-asset deposit flow.

publish_partial

Allow the initial public schema to expose only one flow direction.

Methods summary

__init__(can_deposit, can_redeem[, ...])

as_dict()

Convert the capability to JSON-compatible primitives.

as_initial_public_schema()

Return the initial public capability schema.

deposit_assets: tuple[eth_typing.evm.HexAddress, ...]

Accepted token addresses for an explicit multi-asset deposit flow.

publish_partial: bool

Allow the initial public schema to expose only one flow direction.

as_dict()

Convert the capability to JSON-compatible primitives.

Returns

Directional capability object suitable for internal persistence.

Return type

dict[str, bool | str | list[eth_typing.evm.HexAddress]]

as_initial_public_schema()

Return the initial public capability schema.

Existing partial adapters remain fail-closed unless they explicitly opt in after their supported direction has been fork-proven.

Returns

JSON-compatible capability object, or None for an unpublished partial adapter.

Return type

Optional[dict[str, bool | str | list[eth_typing.evm.HexAddress]]]

__init__(can_deposit, can_redeem, deposit_flow=None, redemption_flow=None, deposit_unsupported_reason=None, redemption_unsupported_reason=None, supports_anvil_settlement=None, anvil_settlement_unsupported_reason=None, deposit_assets=(), publish_partial=False)
Parameters
Return type

None