degenbot.abi¶
ABI encode/decode — the stable mirror home for _ffi.abi.
Provides public functions (encode, encode_packed, encode_single,
decode, decode_single) that delegate to the Rust degenbot-abi core. Addresses are EIP-55
checksummed on decode.
Package Contents¶
- exception degenbot.abi.AbiEncodeError(*, message: str | None = None)¶
Bases:
degenbot.exceptions.base.DegenbotErrorRaised when ABI encoding fails.
- exception degenbot.abi.AbiDecodeError(*, message: str | None = None)¶
Bases:
degenbot.exceptions.base.DegenbotErrorRaised when ABI decoding fails.
- degenbot.abi.encode(types: collections.abc.Sequence[str], args: collections.abc.Sequence[Any]) bytes¶
Encode values into ABI-encoded bytes.
- Parameters:
types – ABI type strings (e.g.,
["uint256", "address"]).args – Values to encode.
- Returns:
ABI-encoded bytes.
- Raises:
AbiEncodeError – If encoding fails.
- degenbot.abi.encode_packed(types: collections.abc.Sequence[str], args: collections.abc.Sequence[Any]) bytes¶
Pack-encode values into Solidity
abi.encodePackedbytes.Each value is encoded tightly with no 32-byte word padding and no length prefix for dynamic types — the values are simply concatenated in their packed forms. Tuples are packed element-by-element.
- Parameters:
types – ABI type strings (e.g.,
["address", "address", "bool"]).args – Values to encode.
- Returns:
The packed-encoded bytes.
- Raises:
AbiEncodeError – If encoding fails.
- degenbot.abi.encode_single(abi_type: str, value: Any) bytes¶
Encode a single value into ABI-encoded bytes.
- Parameters:
abi_type – ABI type string (e.g.,
"uint256").value – The value to encode.
- Returns:
The ABI-encoded bytes.
- Raises:
AbiEncodeError – If encoding fails.
- degenbot.abi.decode(types: collections.abc.Sequence[str], data: BytesLike) tuple[Any, ...]¶
Decode ABI-encoded bytes into Python values.
- Parameters:
types – ABI type strings (e.g.,
["uint256", "address"]).data – ABI-encoded bytes.
- Returns:
Tuple of decoded values.
- Raises:
AbiDecodeError – If decoding fails.
- degenbot.abi.decode_single(abi_type: str, data: BytesLike) Any¶
Decode a single ABI value.
- Parameters:
abi_type – ABI type string (e.g.,
"uint256").data – ABI-encoded bytes.
- Returns:
The decoded value.
- Raises:
AbiDecodeError – If decoding fails.