11from __future__ import annotations
22from typing import Any
33
4+
45def decode_cid (data : str | bytes ) -> dict [str , Any ]:
56 """Decode a CID from either its string representation or raw bytes.
67
@@ -17,6 +18,7 @@ def decode_cid(data: str | bytes) -> dict[str, Any]:
1718 - digest: bytes (hash digest)
1819 """
1920
21+
2022def encode_cid (data : str | bytes ) -> str :
2123 """Encode a CID to its string representation.
2224
@@ -27,6 +29,7 @@ def encode_cid(data: str | bytes) -> str:
2729 A CID string (e.g. 'bafy...')
2830 """
2931
32+
3033def decode_car (data : bytes ) -> tuple [dict [str , Any ], dict [bytes , dict [str , Any ]]]:
3134 """Decode a CAR file.
3235
@@ -39,6 +42,7 @@ def decode_car(data: bytes) -> tuple[dict[str, Any], dict[bytes, dict[str, Any]]
3942 - blocks: dict mapping CID bytes to block data
4043 """
4144
45+
4246def decode_dag_cbor (data : bytes ) -> Any :
4347 """Decode DAG-CBOR data to Python objects.
4448
@@ -49,6 +53,7 @@ def decode_dag_cbor(data: bytes) -> Any:
4953 A Python object
5054 """
5155
56+
5257def decode_dag_cbor_multi (data : bytes ) -> list [Any ]:
5358 """Decode multiple DAG-CBOR objects from bytes.
5459
@@ -59,6 +64,7 @@ def decode_dag_cbor_multi(data: bytes) -> list[Any]:
5964 A list of Python objects
6065 """
6166
67+
6268def encode_dag_cbor (data : Any ) -> bytes :
6369 """Encode Python objects to DAG-CBOR.
6470
@@ -69,24 +75,26 @@ def encode_dag_cbor(data: Any) -> bytes:
6975 Raw DAG-CBOR bytes
7076 """
7177
78+
7279def decode_multibase (data : str ) -> tuple [str , bytes ]:
7380 """Decode multibase-encoded data.
7481
7582 Args:
76- data: Multibase-encoded string (e.g. 'u' for base58btc )
83+ data: Multibase-encoded string (e.g. 'ueWVzIG1hbmkgIQ' )
7784
7885 Returns:
7986 A tuple containing:
8087 - base: str (the base code, e.g. 'u')
8188 - data: bytes (the decoded data)
8289 """
8390
84- def encode_multibase (code : str , data : Any ) -> str :
91+
92+ def encode_multibase (code : str , data : bytes | str ) -> str :
8593 """Encode data using multibase.
8694
8795 Args:
88- code: str (base code, e.g. 'u' for base58btc)
89- data: Any Python object that can be converted to bytes
96+ code: Base code ( e.g. 'u' for base58btc)
97+ data: Data to encode (bytes or string that can be converted to bytes)
9098
9199 Returns:
92100 Multibase-encoded string
0 commit comments