diff --git a/pbc_client/__init__.py b/pbc_client/__init__.py index 92c2909..9959f94 100644 --- a/pbc_client/__init__.py +++ b/pbc_client/__init__.py @@ -68,6 +68,40 @@ class Balances: @dataclasses.dataclass(frozen=True) class PbcClient: + """ + PbcClient provides an interface to interact with the Partisia Blockchain. + + It supports various operations such as sending transactions (both raw and signed), + retrieving account balances, fetching blockchain metadata (e.g., chain ID, nonces), + and obtaining contract state details. + + Attributes: + session (requests.Session): The HTTP session used for all network communications. + + Methods: + send_transaction(contract_address: str, rpc: bytes, gas_cost: int) + Sends a transaction request to the blockchain. + + send_signed_transaction(signed_transaction: SignedTransaction) + Dispatches a pre-signed transaction to the blockchain. + + get_account_balances(address: str) -> Balances + Retrieves the balance information for the given account. + + get_chain_id() -> str + Returns the blockchain's chain identifier. + + get_sender_authentication_nonce() -> int + Obtains the nonce for sender authentication. + + get_nonce_for_account(address: str) -> int + Retrieves the nonce for the specified account. + + get_contract_state(address: str) -> tuple[dict, datetime.datetime] + Fetches the state and timestamp of a given contract. + + ... (other public methods are similarly available) + """ session: requests.Session sender_authentication: SenderAuthentication | None = None hostname: str = HOSTNAME_MAINNET