WithdrawalPeriod

Documentation for eth_defi.vault.base.WithdrawalPeriod Python class.

class WithdrawalPeriod

Bases: object

Protocol withdrawal timing bounds exported by the vault scanner.

min_period and max_period describe the wait from a valid withdrawal request to redemption availability when the protocol’s smart contracts enforce a timing rule. These binding values exclude liquidity shortages, paused contracts, and other exceptional operating conditions. They are serialised as seconds in the public lifetime-metrics JSON export.

estimated_settlement is deliberately separate. It is a non-binding offchain operating estimate for backtesting, such as how often a curator normally performs a request-batch settlement or the expected duration of a liquidity-dependent redemption. It must not be used to decide whether a withdrawal is claimable or promised to settle by a particular time.

Attributes summary

min_period

Shortest contract-enforced wait before a withdrawal can become available.

max_period

Longest contract-enforced wait, including any protocol scheduling window.

delay_type

Whether the availability rule is a time delay or epoch window.

estimated_settlement

Non-binding offchain estimate of a settlement cycle or redemption wait.

Methods summary

__init__(min_period, max_period, delay_type)

min_period: Optional[datetime.timedelta]

Shortest contract-enforced wait before a withdrawal can become available. None when the protocol has no binding timing bound.

max_period: Optional[datetime.timedelta]

Longest contract-enforced wait, including any protocol scheduling window. None when the protocol has no binding timing bound.

delay_type: eth_defi.vault.base.WithdrawalDelayType

Whether the availability rule is a time delay or epoch window.

estimated_settlement: Optional[datetime.timedelta]

Non-binding offchain estimate of a settlement cycle or redemption wait. Used exclusively for backtesting; it never replaces a binding smart-contract withdrawal period and settlement may not occur at all.

__init__(min_period, max_period, delay_type, estimated_settlement=None)
Parameters
Return type

None