aries_cloudagent.utils.multiformats package

Multiformats utility functions.

Submodules

aries_cloudagent.utils.multiformats.multibase module

MultiBase encoding and decoding utilities.

class aries_cloudagent.utils.multiformats.multibase.Base58BtcEncoder[source]

Bases: MultibaseEncoder

Base58BTC encoding.

character: ClassVar[str] = 'z'
decode(value: str) bytes[source]

Decode a multibase encoded string.

encode(value: bytes) str[source]

Encode a byte string using the base58btc encoding.

name: ClassVar[str] = 'base58btc'
class aries_cloudagent.utils.multiformats.multibase.Encoding(value)[source]

Bases: Enum

Enum for supported encodings.

base58btc = <aries_cloudagent.utils.multiformats.multibase.Base58BtcEncoder object>
classmethod from_character(character: str) MultibaseEncoder[source]

Get encoding from character.

classmethod from_name(name: str) MultibaseEncoder[source]

Get encoding from name.

class aries_cloudagent.utils.multiformats.multibase.MultibaseEncoder[source]

Bases: ABC

Encoding details.

character: ClassVar[str]
abstract decode(value: str) bytes[source]

Decode a string using this encoding.

abstract encode(value: bytes) str[source]

Encode a byte string using this encoding.

name: ClassVar[str]
aries_cloudagent.utils.multiformats.multibase.decode(value: str) bytes[source]

Decode a multibase encoded string.

Parameters

value – The string to decode

Returns

The decoded byte string

aries_cloudagent.utils.multiformats.multibase.encode(value: bytes, encoding: Union[Encoding, Literal['base58btc']]) str[source]

Encode a byte string using the given encoding.

Parameters
  • value – The byte string to encode

  • encoding – The encoding to use

Returns

The encoded string

aries_cloudagent.utils.multiformats.multicodec module

Multicodec wrap and unwrap functions.

class aries_cloudagent.utils.multiformats.multicodec.Multicodec(name: str, code: bytes)[source]

Bases: NamedTuple

Multicodec base class.

code: bytes

Alias for field number 1

name: str

Alias for field number 0

class aries_cloudagent.utils.multiformats.multicodec.SupportedCodecs(value)[source]

Bases: Enum

Enumeration of supported multicodecs.

bls12381g1 = Multicodec(name='bls12_381-g1-pub', code=b'\xea\x01')
bls12381g1g2 = Multicodec(name='bls12_381-g1g2-pub', code=b'\xee\x01')
bls12381g2 = Multicodec(name='bls12_381-g2-pub', code=b'\xeb\x01')
classmethod by_name(name: str) Multicodec[source]

Get multicodec by name.

ed25519_pub = Multicodec(name='ed25519-pub', code=b'\xed\x01')
classmethod for_data(data: bytes) Multicodec[source]

Get multicodec by data.

secp256k1_pub = Multicodec(name='secp256k1-pub', code=b'\xe7\x01')
x25519_pub = Multicodec(name='x25519-pub', code=b'\xec\x01')
aries_cloudagent.utils.multiformats.multicodec.multicodec(name: str) Multicodec[source]

Get multicodec by name.

aries_cloudagent.utils.multiformats.multicodec.unwrap(data: bytes, codec: Optional[Multicodec] = None) tuple[aries_cloudagent.utils.multiformats.multicodec.Multicodec, bytes][source]

Unwrap data with multicodec prefix.

aries_cloudagent.utils.multiformats.multicodec.wrap(multicodec: Union[Multicodec, Literal['ed25519-pub', 'x25519-pub', 'bls12_381-g1-pub', 'bls12_381-g2-pub', 'bls12_381-g1g2-pub', 'secp256k1-pub']], data: bytes) bytes[source]

Wrap data with multicodec prefix.