ValuationMulticallWrapper

Documentation for eth_defi.vault.valuation.ValuationMulticallWrapper Python class.

class ValuationMulticallWrapper

Bases: eth_defi.event_reader.multicall_batcher.MulticallWrapper

Wrap a valuation quoter call with diagnostics data for multicall batching.

Attributes summary

quoter

route

amount_in

call

contract_address

debug

Methods summary

__init__(call, debug, quoter, route, amount_in)

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.

__init__(call, debug, quoter, route, amount_in)
Parameters
Return type

None

get_human_args()

Get Solidity args as human readable string for debugging.

Return type

str

get_key()

Get key that will identify this call in the result dictionary

Return type

Hashable

handle(success, raw_return_value)

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

Optional[decimal.Decimal]

multicall_callback(succeed, raw_return_value)

Convert the raw Solidity function call result to a denominated token amount.

  • Multicall library callback

Returns

The token amount in the reserve currency we get on the market sell.

None if this path was not supported (Solidity reverted).

Parameters
  • succeed (bool) –

  • raw_return_value (Any) –

Return type

Any