book-openAsyncPublicContract

Async contract wrapper with transparent read-only access

Asynchronous contract wrapper for read-only transparent access to Seismic contracts.

Overview

AsyncPublicContract is the async version of PublicContract, providing non-blocking read-only access to contract state. It exposes only the .tread namespace for standard async eth_call operations. All methods return coroutines that must be awaited. Use this class in async applications when you only need to read public contract data.

Definition

class AsyncPublicContract:
    def __init__(
        self,
        w3: AsyncWeb3,
        address: ChecksumAddress,
        abi: list[dict[str, Any]],
    ) -> None:
        ...

Constructor Parameters

Parameter
Type
Required
Description

w3

AsyncWeb3

Yes

Asynchronous AsyncWeb3 instance connected to RPC endpoint

address

ChecksumAddress

Yes

Contract address (checksummed Ethereum address)

abi

list[dict[str, Any]]

Yes

Contract ABI (list of function entries)

Namespace

.tread - Transparent Read

Executes standard async eth_call with unencrypted calldata. This is the only namespace available on AsyncPublicContract.

Returns: Coroutine[Any] (ABI-decoded Python value)

Optional Parameters: None (pass positional arguments only)

Examples

Basic Read Operations

Concurrent Reads

Single and Multiple Returns

Array Results

Error Handling

Notes

  • All methods return coroutines: Must use await with every .tread call

  • Read-only: No write operations available

  • No encryption required: Does not use EncryptionState or private keys

  • No authentication: Standard unsigned async eth_call operations

  • Gas not consumed: eth_call is free (doesn't create transactions)

See Also

Last updated