ValuationMulticallWrapper
Documentation for eth_defi.vault.valuation.ValuationMulticallWrapper Python class.
- class ValuationMulticallWrapper[source]
Wrap the undertlying Multicall with diagnostics data.
Because the underlying Multicall lib is not powerful enough.
And we do not have time to fix it
Attributes summary
call
Bound web3.py function with args in the place
debug
Set for extensive info logging
quoter
route
amount_in
contract_address
Methods summary
__init__
(call, debug, quoter, route, amount_in)Create underlying call about.
get_address_and_data
()get_human_args
()Get Solidity args as human readable string for debugging.
get_human_id
()get_key
()Get key that will identify this call in the result dictionary
handle
(success, raw_return_value)Parse the call result.
multicall_callback
(succeed, raw_return_value)Convert the raw Solidity function call result to a denominated token amount.
- handle(success, raw_return_value)[source]
Parse the call result.
- Parameters
succeed – Did we revert or not
raw_return_value (bytes) – Undecoded bytes from the Solidity function call
- Returns
The value placed in the return dict
- Return type
decimal.Decimal | None
- __init__(call, debug, quoter, route, amount_in)
- Parameters
call (web3.contract.contract.ContractFunction) –
debug (bool) –
quoter (eth_defi.vault.valuation.ValuationQuoter) –
route (eth_defi.vault.valuation.Route) –
amount_in (int) –
- Return type
None