TokenisedFundDepositManager
Documentation for eth_defi.tokenised_fund.vault.TokenisedFundDepositManager Python class.
- class TokenisedFundDepositManager
Bases:
eth_defi.vault.deposit_redeem.VaultDepositManagerNon-operational manager for permissioned tokenised funds.
The manager exposes the common vault-flow interface so scanner metadata can distinguish a deliberately unsupported permissioned product from an adapter whose capability is unknown. It never constructs, settles, or analyses a transaction because tokenised-fund dealing requires issuer-specific eligibility and servicing.
Attributes summary
web3Methods summary
__init__(vault)analyse_deposit(claim_tx_hash, deposit_ticket)Reject analysis because this manager cannot produce deposit transactions.
analyse_redemption(claim_tx_hash, ...)Reject analysis because this manager cannot produce redemption transactions.
can_create_deposit_request(owner)Return false because public tokenised-fund deposits are unsupported.
Return false because public tokenised-fund redemptions are unsupported.
can_finish_deposit(deposit_ticket)Return false because this manager cannot create deposits.
can_finish_redeem(redemption_ticket)Return false because this manager cannot create redemptions.
create_deposit_request(owner[, to, amount, ...])Reject creation of a public tokenised-fund deposit.
create_redemption_request(owner[, to, ...])Reject creation of a public tokenised-fund redemption.
estimate_deposit(owner, amount[, ...])Reject estimation of an unsupported deposit.
estimate_redeem(owner, shares[, ...])Reject estimation of an unsupported redemption.
Reject delay estimation for an unsupported redemption.
Find an operator-owned terminal redemption transaction when available.
fetch_vault_flow_events(hypersync_client, ...)Fetch asynchronous vault request events from an indexed backend.
finish_deposit(deposit_ticket)Reject completion of an unsupported deposit.
finish_redemption(redemption_ticket)Reject completion of an unsupported redemption.
force_settle(ticket)Reject settlement of an unsupported tokenised-fund flow.
Return the ERC-20 spender required for a deposit request.
get_deposit_delay_over(address)Estimate when a pending async deposit request will settle.
get_deposit_request_status(ticket)Query the current status of an async deposit request.
get_max_deposit(owner)Return zero because this manager refuses public deposits.
get_redemption_delay_over(address)Return no deadline because no redemption can be created.
get_redemption_request_status(ticket)Query the current status of an async redemption request.
Return false because no public deposit flow is supported.
Return false because no public redemption flow is supported.
is_deposit_in_progress(owner)Return false because this manager cannot create deposits.
is_redemption_in_progress(owner)Return false because this manager cannot create redemptions.
reclaim_deposit(ticket)Reject recovery because this manager cannot create deposit tickets.
reclaim_withdrawal(ticket)Reject recovery because this manager cannot create redemption tickets.
Reconstruct a deposit ticket from a serialised dict.
Reconstruct a redemption ticket from a serialised dict.
serialize_deposit_ticket(ticket)Serialise a deposit ticket to a dict for persistence.
serialize_redemption_ticket(ticket)Serialise a redemption ticket to a dict for persistence.
- force_settle(ticket)
Reject settlement of an unsupported tokenised-fund flow.
- Parameters
ticket (Optional[Union[eth_defi.vault.deposit_redeem.DepositTicket, eth_defi.vault.deposit_redeem.RedemptionTicket]]) –
- Return type
- reclaim_deposit(ticket)
Reject recovery because this manager cannot create deposit tickets.
- Parameters
ticket (eth_defi.vault.deposit_redeem.DepositTicket) –
- Return type
Optional[web3.contract.contract.ContractFunction]
- reclaim_withdrawal(ticket)
Reject recovery because this manager cannot create redemption tickets.
- Parameters
- Return type
Optional[web3.contract.contract.ContractFunction]
- has_synchronous_deposit()
Return false because no public deposit flow is supported.
- Return type
- has_synchronous_redemption()
Return false because no public redemption flow is supported.
- Return type
- estimate_deposit(owner, amount, block_identifier='latest')
Reject estimation of an unsupported deposit.
- Parameters
owner (Optional[eth_typing.evm.HexAddress]) –
amount (decimal.Decimal) –
block_identifier (Union[Literal['latest', 'earliest', 'pending', 'safe', 'finalized'], eth_typing.evm.BlockNumber, eth_typing.evm.Hash32, eth_typing.encoding.HexStr, int]) –
- Return type
- estimate_redeem(owner, shares, block_identifier='latest')
Reject estimation of an unsupported redemption.
- Parameters
owner (Optional[eth_typing.evm.HexAddress]) –
shares (decimal.Decimal) –
block_identifier (Union[Literal['latest', 'earliest', 'pending', 'safe', 'finalized'], eth_typing.evm.BlockNumber, eth_typing.evm.Hash32, eth_typing.encoding.HexStr, int]) –
- Return type
- create_deposit_request(owner, to=None, amount=None, raw_amount=None, check_max_deposit=True, check_enough_token=True)
Reject creation of a public tokenised-fund deposit.
- Parameters
owner (eth_typing.evm.HexAddress) –
to (eth_typing.evm.HexAddress) –
amount (decimal.Decimal) –
raw_amount (int) –
check_max_deposit (bool) –
check_enough_token (bool) –
- Return type
- create_redemption_request(owner, to=None, shares=None, raw_shares=None, check_max_deposit=True, check_enough_token=True)
Reject creation of a public tokenised-fund redemption.
- Parameters
owner (eth_typing.evm.HexAddress) –
to (eth_typing.evm.HexAddress) –
shares (decimal.Decimal) –
raw_shares (int) –
check_max_deposit (bool) –
check_enough_token (bool) –
- Return type
- is_redemption_in_progress(owner)
Return false because this manager cannot create redemptions.
- Parameters
owner (eth_typing.evm.HexAddress) –
- Return type
- is_deposit_in_progress(owner)
Return false because this manager cannot create deposits.
- Parameters
owner (eth_typing.evm.HexAddress) –
- Return type
- can_create_deposit_request(owner)
Return false because public tokenised-fund deposits are unsupported.
- Parameters
owner (eth_typing.evm.HexAddress) –
- Return type
- get_max_deposit(owner)
Return zero because this manager refuses public deposits.
- Parameters
owner (eth_typing.evm.HexAddress) –
- Return type
- can_create_redemption_request(owner)
Return false because public tokenised-fund redemptions are unsupported.
- Parameters
owner (eth_typing.evm.HexAddress) –
- Return type
- can_finish_redeem(redemption_ticket)
Return false because this manager cannot create redemptions.
- Parameters
redemption_ticket (eth_defi.vault.deposit_redeem.RedemptionTicket) –
- Return type
- can_finish_deposit(deposit_ticket)
Return false because this manager cannot create deposits.
- Parameters
deposit_ticket (eth_defi.vault.deposit_redeem.DepositTicket) –
- Return type
- finish_deposit(deposit_ticket)
Reject completion of an unsupported deposit.
- Parameters
deposit_ticket (eth_defi.vault.deposit_redeem.DepositTicket) –
- Return type
web3.contract.contract.ContractFunction
- finish_redemption(redemption_ticket)
Reject completion of an unsupported redemption.
- Parameters
redemption_ticket (eth_defi.vault.deposit_redeem.RedemptionTicket) –
- Return type
Optional[web3.contract.contract.ContractFunction]
- estimate_redemption_delay()
Reject delay estimation for an unsupported redemption.
- Return type
- get_redemption_delay_over(address)
Return no deadline because no redemption can be created.
- Parameters
address (Union[eth_typing.evm.HexAddress, str]) –
- Return type
- analyse_deposit(claim_tx_hash, deposit_ticket)
Reject analysis because this manager cannot produce deposit transactions.
- Parameters
deposit_ticket (Optional[eth_defi.vault.deposit_redeem.DepositTicket]) –
- Return type
Union[eth_defi.vault.deposit_redeem.DepositRedeemEventAnalysis, eth_defi.vault.deposit_redeem.DepositRedeemEventFailure]
- analyse_redemption(claim_tx_hash, redemption_ticket)
Reject analysis because this manager cannot produce redemption transactions.
- Parameters
redemption_ticket (Optional[eth_defi.vault.deposit_redeem.RedemptionTicket]) –
- Return type
Union[eth_defi.vault.deposit_redeem.DepositRedeemEventAnalysis, eth_defi.vault.deposit_redeem.DepositRedeemEventFailure]
- __init__(vault)
- Parameters
vault (eth_defi.vault.base.VaultBase) –
- fetch_completed_redemption_tx_hash(ticket)
Find an operator-owned terminal redemption transaction when available.
Claim-based protocols finish through
finish_redemption()and do not need this lookup. Operator-finalised protocols override the hook to find and validate the transaction that paid the requested receiver.- Parameters
ticket (eth_defi.vault.deposit_redeem.RedemptionTicket) – Persisted redemption request to locate.
- Returns
Terminal transaction hash, or
Noneif the protocol has not observed one yet.- Return type
Optional[hexbytes.main.HexBytes]
- fetch_vault_flow_events(hypersync_client, start_block, end_block)
Fetch asynchronous vault request events from an indexed backend.
The base implementation returns no events for vault managers that do not have a two-phase deposit or redemption flow.
- Parameters
- Returns
Iterator of protocol-neutral pending vault flow events.
- Return type
collections.abc.Iterator[eth_defi.vault.flow_events.PendingVaultFlow]
- get_deposit_approval_target()
Return the ERC-20 spender required for a deposit request.
Standard ERC-4626 and the currently supported async adapters pull denomination tokens from the vault address itself. An adapter using a different router or silo must override this method; guarded callers use it to whitelist and validate the exact approval calldata.
- Returns
ERC-20 approval spender address.
- Return type
- get_deposit_delay_over(address)
Estimate when a pending async deposit request will settle.
Mirror of
get_redemption_delay_over()for the deposit side.Used to show an estimated settlement time for unsettled deposits (e.g. in the trade-executor
trade-uitable).Default returns
None: the protocol has no deterministic on-chain settlement schedule (e.g. operator-driven ERC-7540 vaults like Lagoon). Subclasses with a predictable settlement cadence (e.g. Ostium V1.5) override this to return an estimated UTC timestamp.
- Parameters
address (Union[eth_typing.evm.HexAddress, str]) – Owner of the pending deposit request.
- Returns
Naive UTC timestamp when the deposit is expected to settle, or
Nonewhen no on-chain estimate is available.- Return type
- get_deposit_request_status(ticket)
Query the current status of an async deposit request.
Default implementation probes via
can_finish_deposit(). Subclasses should override for more accurate status reporting (e.g. distinguishingreclaimablefrompending).- Parameters
ticket (eth_defi.vault.deposit_redeem.DepositTicket) –
- Return type
- get_redemption_request_status(ticket)
Query the current status of an async redemption request.
Default implementation probes via
can_finish_redeem(). Subclasses should override for more accurate status reporting.- Parameters
- Return type
- reconstruct_deposit_ticket(data)
Reconstruct a deposit ticket from a serialised dict.
Default returns a base
DepositTicket. Subclasses override for protocol-specific ticket types.- Parameters
data (dict) –
- Return type
- reconstruct_redemption_ticket(data)
Reconstruct a redemption ticket from a serialised dict.
Async vault managers must override this to return their protocol-specific ticket subclass. The base implementation raises
NotImplementedErrorbecauseRedemptionTickethas abstract methods.- Parameters
data (dict) –
- Return type
- serialize_deposit_ticket(ticket)
Serialise a deposit ticket to a dict for persistence.
The trade-executor stores this in
trade.other_dataso that the settlement retry module can reconstruct the ticket after a process restart.Default implementation stores base
DepositTicketfields. Subclasses override to add protocol-specific fields (e.g.settlement_idfor Ostium,requestIdfor ERC-7540).- Parameters
ticket (eth_defi.vault.deposit_redeem.DepositTicket) –
- Return type
- serialize_redemption_ticket(ticket)
Serialise a redemption ticket to a dict for persistence.
Default implementation stores base
RedemptionTicketfields. Subclasses override to add protocol-specific fields.- Parameters
- Return type