remerkleable package¶
Submodules¶
remerkleable.basic module¶
- class remerkleable.basic.bit(value: int)[source]¶
Bases:
remerkleable.basic.boolean
- class remerkleable.basic.boolean(value: int)[source]¶
Bases:
int,remerkleable.core.BasicView
- class remerkleable.basic.byte(value: int)[source]¶
Bases:
remerkleable.basic.uint8
- class remerkleable.basic.uint(value: int)[source]¶
Bases:
int,remerkleable.core.BasicView
- class remerkleable.basic.uint128(value: int)[source]¶
Bases:
remerkleable.basic.uint
- class remerkleable.basic.uint16(value: int)[source]¶
Bases:
remerkleable.basic.uint
- class remerkleable.basic.uint256(value: int)[source]¶
Bases:
remerkleable.basic.uint
- class remerkleable.basic.uint32(value: int)[source]¶
Bases:
remerkleable.basic.uint
- class remerkleable.basic.uint64(value: int)[source]¶
Bases:
remerkleable.basic.uint
remerkleable.bitfields module¶
- class remerkleable.bitfields.BitsView(backing: Optional[remerkleable.tree.Node] = None, hook: Optional[Callable[[remerkleable.core.HV], None]] = None, **kwargs)[source]¶
Bases:
remerkleable.core.BackedView,collections.abc.Sequence- Return type
- class remerkleable.bitfields.Bitvector(*args, **kwargs)[source]¶
Bases:
remerkleable.bitfields.BitsView,remerkleable.core.FixedByteLengthViewHelper
remerkleable.byte_vector module¶
remerkleable.complex module¶
- class remerkleable.complex.ComplexView(backing: Optional[remerkleable.tree.Node] = None, hook: Optional[Callable[[remerkleable.core.HV], None]] = None, **kwargs)[source]¶
- class remerkleable.complex.Container(*args, backing: Optional[remerkleable.tree.Node] = None, hook: Optional[Callable[[remerkleable.core.HV], None]] = None, append_nodes: Optional[List[remerkleable.tree.Node]] = None, **kwargs)[source]¶
Bases:
remerkleable.complex._ContainerBase- Return type
- class remerkleable.complex.FieldOffset(key, typ, offset)[source]¶
Bases:
tuple- typ: Type[remerkleable.core.View]¶
Alias for field number 1
- class remerkleable.complex.List(*args, backing: Optional[remerkleable.tree.Node] = None, hook: Optional[Callable[[remerkleable.core.HV], None]] = None, **kwargs)[source]¶
- class remerkleable.complex.MonoSubtreeView(backing: Optional[remerkleable.tree.Node] = None, hook: Optional[Callable[[remerkleable.core.HV], None]] = None, **kwargs)[source]¶
Bases:
collections.abc.Sequence,remerkleable.complex.ComplexView- Return type
- class remerkleable.complex.Vector(*args, backing: Optional[remerkleable.tree.Node] = None, hook: Optional[Callable[[remerkleable.core.HV], None]] = None, **kwargs)[source]¶
remerkleable.core module¶
- class remerkleable.core.BackedView(backing: Optional[remerkleable.tree.Node] = None, hook: Optional[Callable[[remerkleable.core.HV], None]] = None, **kwargs)[source]¶
Bases:
remerkleable.core.View
- class remerkleable.core.BasicView(*args, **kwargs)[source]¶
Bases:
remerkleable.core.FixedByteLengthViewHelper,Protocol
- class remerkleable.core.FixedByteLengthViewHelper(*args, **kwargs)[source]¶
Bases:
remerkleable.core.View,Protocol
- class remerkleable.core.Path(anchor, path=None)[source]¶
Bases:
object- anchor: Type[remerkleable.core.View]¶
- Return type
- path: List[Tuple[Any, Type[remerkleable.core.View]]]¶
remerkleable.history module¶
- remerkleable.history.get_target_history(history, target)[source]¶
Fetch an ordered, keyed, history of nodes at the given target. The sequential equal values are reduced into a single value, and keyed by the first occurrence. This is done efficiently by first comparing the top of the tree,
de-duplicating, and then recursively going deeper into the tree.
- Parameters
- Return type
- Returns
the target values, keyed by the keys of the top nodes the target values first occurred in.
remerkleable.subtree module¶
- class remerkleable.subtree.SubtreeView(backing: Optional[remerkleable.tree.Node] = None, hook: Optional[Callable[[remerkleable.core.HV], None]] = None, **kwargs)[source]¶
Bases:
remerkleable.core.BackedView
remerkleable.test_impl module¶
remerkleable.test_typing module¶
remerkleable.tree module¶
Bases:
RuntimeError
- class remerkleable.tree.PairNode(left, right)[source]¶
Bases:
remerkleable.tree.RebindableNode,remerkleable.tree.NodeAn optimized, with lazily-computed root, a node that references two child nodes.
- left¶
- right¶
- class remerkleable.tree.RebindableNode(*args, **kwargs)[source]¶
Bases:
remerkleable.tree.Node
- class remerkleable.tree.RootNode(root)[source]¶
Bases:
remerkleable.tree.NodeAn optimized root-holding node. To check if a Node functions as node without children, use node.is_leaf(), since there may be more classes implementing non-child node behavior.
- remerkleable.tree.get_diff(a, b)[source]¶
Iterate over the changes of b, not common with a. Left-to-right order. Returns (a,b) tuples that can’t be diffed deeper.