← Files AgentBrokoARCHIVED FILE
.venv/Lib/site-packages/eth_utils/curried/__init__.py
7.01 KB · Oct 5, 2026 · 18:33 UTC
from collections.abc import (
Callable,
Generator,
Sequence,
)
from typing import (
Any,
Optional,
TypeVar,
Union,
overload,
)
from eth_utils import (
CamelModel,
ExtendedDebugLogger,
HasExtendedDebugLogger,
HasExtendedDebugLoggerMeta,
HasLogger,
HasLoggerMeta,
Network,
ValidationError,
abi_to_signature,
add_0x_prefix,
apply_formatter_at_index,
apply_formatter_if as non_curried_apply_formatter_if,
apply_formatter_to_array,
apply_formatters_to_dict as non_curried_apply_formatters_to_dict,
apply_formatters_to_sequence,
apply_key_map,
apply_one_of_formatters as non_curried_apply_one_of_formatters,
apply_to_return_value,
big_endian_to_int,
clamp,
collapse_if_tuple,
combine_argument_formatters,
combomethod,
decode_hex,
denoms,
encode_hex,
event_abi_to_log_topic,
event_signature_to_log_topic,
filter_abi_by_name,
filter_abi_by_type,
flatten_return,
from_wei,
from_wei_decimals,
function_abi_to_4byte_selector,
function_signature_to_4byte_selector,
get_abi_input_names,
get_abi_input_types,
get_abi_output_names,
get_abi_output_types,
get_aligned_abi_inputs,
get_all_event_abis,
get_all_function_abis,
get_extended_debug_logger,
get_logger,
get_normalized_abi_inputs,
hexstr_if_str as non_curried_hexstr_if_str,
humanize_bytes,
humanize_hash,
humanize_hexstr,
humanize_integer_sequence,
humanize_ipfs_uri,
humanize_seconds,
humanize_wei,
import_string,
int_to_big_endian,
is_0x_prefixed,
is_address,
is_binary_address,
is_boolean,
is_bytes,
is_canonical_address,
is_checksum_address,
is_checksum_formatted_address,
is_dict,
is_hex,
is_hex_address,
is_hexstr,
is_integer,
is_list,
is_list_like,
is_normalized_address,
is_null,
is_number,
is_same_address,
is_string,
is_text,
is_tuple,
keccak,
name_from_chain_id,
network_from_chain_id,
remove_0x_prefix,
replace_exceptions,
reversed_return,
setup_DEBUG2_logging,
short_name_from_chain_id,
sort_return,
text_if_str as non_curried_text_if_str,
to_bytes,
to_canonical_address,
to_checksum_address,
to_dict,
to_hex,
to_int,
to_list,
to_normalized_address,
to_ordered_dict,
to_set,
to_text,
to_tuple,
to_wei,
to_wei_decimals,
)
from eth_utils.toolz import (
curry,
)
TReturn = TypeVar("TReturn")
TValue = TypeVar("TValue")
@overload
def apply_formatter_if(
condition: Callable[..., bool],
) -> Callable[[Callable[..., TReturn]], Callable[[TValue], TReturn | TValue]]:
pass
@overload
def apply_formatter_if(
condition: Callable[..., bool], formatter: Callable[..., TReturn]
) -> Callable[[TValue], TReturn | TValue]:
pass
@overload
def apply_formatter_if(
condition: Callable[..., bool], formatter: Callable[..., TReturn], value: TValue
) -> TReturn | TValue:
pass
# This is just a stub to appease mypy, it gets overwritten later
def apply_formatter_if( # type: ignore
condition: Callable[..., bool],
formatter: Callable[..., TReturn] | None = None,
value: TValue | None = None,
) -> (
Callable[[Callable[..., TReturn]], Callable[[TValue], TReturn | TValue]]
| Callable[[TValue], TReturn | TValue]
| TReturn
| TValue
):
pass
@overload
def apply_one_of_formatters(
formatter_condition_pairs: Sequence[
tuple[Callable[..., bool], Callable[..., TReturn]]
],
) -> Callable[[TValue], TReturn]:
...
@overload
def apply_one_of_formatters(
formatter_condition_pairs: Sequence[
tuple[Callable[..., bool], Callable[..., TReturn]]
],
value: TValue,
) -> TReturn:
...
# This is just a stub to appease mypy, it gets overwritten later
def apply_one_of_formatters( # type: ignore
formatter_condition_pairs: Sequence[
tuple[Callable[..., bool], Callable[..., TReturn]]
],
value: TValue | None = None,
) -> TReturn:
...
@overload
def hexstr_if_str(
to_type: Callable[..., TReturn],
) -> Callable[[bytes | int | str], TReturn]:
...
@overload
def hexstr_if_str(
to_type: Callable[..., TReturn], to_format: bytes | int | str
) -> TReturn:
...
# This is just a stub to appease mypy, it gets overwritten later
def hexstr_if_str( # type: ignore
to_type: Callable[..., TReturn], to_format: bytes | int | str | None = None
) -> TReturn:
...
@overload
def text_if_str(
to_type: Callable[..., TReturn],
) -> Callable[[bytes | int | str], TReturn]:
...
@overload
def text_if_str(
to_type: Callable[..., TReturn], text_or_primitive: bytes | int | str
) -> TReturn:
...
# This is just a stub to appease mypy, it gets overwritten later
def text_if_str( # type: ignore
to_type: Callable[..., TReturn],
text_or_primitive: bytes | int | str | None = None,
) -> TReturn:
...
@overload
def apply_formatters_to_dict(
formatters: dict[Any, Any], unaliased: bool = False
) -> Callable[[dict[Any, Any]], TReturn]:
...
@overload
def apply_formatters_to_dict(
formatters: dict[Any, Any], value: dict[Any, Any] | CamelModel
) -> dict[Any, Any]:
...
# This is just a stub to appease mypy, it gets overwritten later
def apply_formatters_to_dict( # type: ignore
formatters: dict[Any, Any],
value: dict[Any, Any] | CamelModel | None = None,
unaliased: bool = False,
) -> dict[Any, Any]:
...
apply_formatter_at_index = curry(apply_formatter_at_index)
apply_formatter_if = curry(non_curried_apply_formatter_if) # noqa: F811
apply_formatter_to_array = curry(apply_formatter_to_array)
apply_formatters_to_dict = curry(non_curried_apply_formatters_to_dict) # noqa: F811
apply_formatters_to_sequence = curry(apply_formatters_to_sequence)
apply_key_map = curry(apply_key_map)
apply_one_of_formatters = curry(non_curried_apply_one_of_formatters) # noqa: F811
filter_abi_by_name = curry(filter_abi_by_name)
filter_abi_by_type = curry(filter_abi_by_type)
from_wei = curry(from_wei)
from_wei_decimals = curry(from_wei_decimals)
get_aligned_abi_inputs = curry(get_aligned_abi_inputs)
get_logger = curry(get_logger)
get_normalized_abi_inputs = curry(get_normalized_abi_inputs)
hexstr_if_str = curry(non_curried_hexstr_if_str) # noqa: F811
is_same_address = curry(is_same_address)
text_if_str = curry(non_curried_text_if_str) # noqa: F811
to_wei = curry(to_wei)
to_wei_decimals = curry(to_wei_decimals)
clamp = curry(clamp)
# Delete any methods and classes that are not intended to be importable from
# `eth_utils.curried`. We do this approach instead of __all__ because this approach
# actually prevents importing the wrong thing, while __all__ only affects
# `from eth_utils.curried import *`
del Any
del Callable
del Generator
del Optional
del Sequence
del TReturn
del TValue
del TypeVar
del Union
del curry
del non_curried_apply_formatter_if
del non_curried_apply_one_of_formatters
del non_curried_apply_formatters_to_dict
del non_curried_hexstr_if_str
del non_curried_text_if_str
del overload
SHA-256: ea71eb98b15d473ebff44a0a2344170d892161a881399c53f68a8053cb27eb3c