ERC20BalanceCall

Documentation for eth_defi.balances.ERC20BalanceCall Python class.

class ERC20BalanceCall

Bases: eth_defi.event_reader.multicall_batcher.MulticallWrapper

Multicall wrapper for ERC-20 balanceOf calls.

Attributes summary

token_address

holder_address

call

Bound web3.py function with args in the place

contract_address

debug

Set for extensive info logging

Methods summary

__init__(call[, debug, token_address, ...])

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(succeed, 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.

get_key()

Get key that will identify this call in the result dictionary

Return type

Hashable

handle(succeed, raw_return_value)

Parse the call result.

Parameters
  • succeed (bool) – 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

int | None

__init__(call, debug=False, token_address=None, holder_address=None)
Parameters
Return type

None

get_human_args()

Get Solidity args as human readable string for debugging.

Return type

str

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