Compare commits

..

2 Commits

Author SHA1 Message Date
77216001e5 🤖 Bumped version to 0.1.5
All checks were successful
Package Python / Package (push) Successful in 24s
Run Python tests (through Pytest) / Test (push) Successful in 24s
Verify Python project can be installed, loaded and have version checked / Test (push) Successful in 23s
This commit was automatically generated by [a script](https://gitfub.space/Jmaa/repo-manager)
2025-04-13 18:47:12 +02:00
20a2f7a672 🤖 Repository layout updated to latest version
This commit was automatically generated by [a script](https://gitfub.space/Jmaa/repo-manager)
2025-04-13 18:46:58 +02:00
4 changed files with 18 additions and 36 deletions

1
.gitignore vendored
View File

@ -18,4 +18,3 @@ __pycache__/
/.coverage /.coverage
/.hypothesis/ /.hypothesis/
/htmlcov/ /htmlcov/
.aider*

View File

@ -1,3 +1,10 @@
# Conventions
When contributing code to this project, you MUST follow the requirements
specified here.
## Code Conventions
When contributing code to this project, you MUST follow these principles: When contributing code to this project, you MUST follow these principles:
- Code should be easy to read and understand. - Code should be easy to read and understand.
@ -13,3 +20,13 @@ When contributing code to this project, you MUST follow these principles:
- Documentation should document semantics, not syntax. - Documentation should document semantics, not syntax.
- Prefer importing modules, not individual items from modules. - Prefer importing modules, not individual items from modules.
- Do not use f-strings in logging statements. - Do not use f-strings in logging statements.
- Loop variables and walrus-expression-variables should be deleted when
unneeded to keep scope clean, and to avoid accidental use.
## Testing
When contributing test to this project, you MUST follow these principles:
- Do not use any testing libraries other than `pytest`.
- Mocking is the root of all evil. Writing your own stubs is much more
preferable.

View File

@ -68,40 +68,6 @@ class Balances:
@dataclasses.dataclass(frozen=True) @dataclasses.dataclass(frozen=True)
class PbcClient: 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 session: requests.Session
sender_authentication: SenderAuthentication | None = None sender_authentication: SenderAuthentication | None = None
hostname: str = HOSTNAME_MAINNET hostname: str = HOSTNAME_MAINNET

View File

@ -1 +1 @@
__version__ = '0.1.4' __version__ = '0.1.5'