Source code for eth_portfolio.structs.modified

from typing import Union

from evmspec.structs.trace import call, create, reward, suicide


[docs] class CallTrace( call.Trace, frozen=True, kw_only=True, array_like=True, forbid_unknown_fields=True, omit_defaults=True, repr_omit_defaults=True, ): # type: ignore [call-arg] """ It works just like a :class:`evmspec.trace.call.Trace` but it encodes to a tuple instead of a dict to save space since keys are known. """
[docs] class CreateTrace( create.Trace, frozen=True, kw_only=True, array_like=True, forbid_unknown_fields=True, omit_defaults=True, repr_omit_defaults=True, ): # type: ignore [call-arg] """ It works just like a :class:`evmspec.trace.create.Trace` but it encodes to a tuple instead of a dict to save space since keys are known. """
[docs] class RewardTrace( reward.Trace, frozen=True, kw_only=True, array_like=True, forbid_unknown_fields=True, omit_defaults=True, repr_omit_defaults=True, ): # type: ignore [call-arg] """ It works just like a :class:`evmspec.trace.reward.Trace` but it encodes to a tuple instead of a dict to save space since keys are known. """
[docs] class SuicideTrace( suicide.Trace, frozen=True, kw_only=True, array_like=True, forbid_unknown_fields=True, omit_defaults=True, repr_omit_defaults=True, ): # type: ignore [call-arg] """ It works just like a :class:`evmspec.trace.suicide.Trace` but it encodes to a tuple instead of a dict to save space since keys are known. """
_modified_trace_type_map = { call.Trace: CallTrace, create.Trace: CreateTrace, reward.Trace: RewardTrace, suicide.Trace: SuicideTrace, } ModifiedTrace = Union[CallTrace, CreateTrace, RewardTrace, SuicideTrace]