A ContractRunner is a generic interface which defines an object capable of interacting with a Contract on the network.

The more operations supported, the more utility it is capable of.

The most common ContractRunners are Providers which enable read-only access and Signers which enable write-access.

Extended by

Properties

PropertyTypeDescription
call?(tx: QuaiTransactionRequest) => Promise<string>Required for pure, view or static calls to contracts.
createAccessList?(tx: QuaiTransactionRequest) => Promise<AccessList>Required for populating access lists for state mutating calls
estimateGas?(tx: TransactionRequest) => Promise<bigint>Required to estimate gas.
providernull | ProviderThe provider used for necessary state querying operations.

This can also point to the ContractRunner itself, in the case of an
AbstractProvider.
sendTransaction?(tx: TransactionRequest) => Promise<TransactionResponse>Required for state mutating calls