Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
cdfe9a247d | |||
607da4eaaf |
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -18,3 +18,4 @@ __pycache__/
|
||||||
/.coverage
|
/.coverage
|
||||||
/.hypothesis/
|
/.hypothesis/
|
||||||
/htmlcov/
|
/htmlcov/
|
||||||
|
.aider*
|
||||||
|
|
|
@ -1,10 +1,3 @@
|
||||||
# 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.
|
||||||
|
@ -20,13 +13,3 @@ 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.
|
|
||||||
|
|
|
@ -68,6 +68,40 @@ 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
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
__version__ = '0.1.5'
|
__version__ = '0.1.4'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user