Skip to Content

@cfxdevkit/core


@cfxdevkit/core / ContractReader

Class: ContractReader

Defined in: packages/core/src/contracts/interaction/reader.ts:41

Contract Reader

Reads data from deployed contracts without modifying state. Supports both Core Space and eSpace contracts.

Example

const reader = new ContractReader(clientManager); // Read ERC20 balance const balance = await reader.read({ address: '0xToken...', abi: ERC20_ABI, functionName: 'balanceOf', args: ['0xUser...'], chain: 'evm' });

Constructors

Constructor

new ContractReader(clientManager): ContractReader

Defined in: packages/core/src/contracts/interaction/reader.ts:42

Parameters

clientManager

ClientManager

Returns

ContractReader

Methods

batchRead()

batchRead<T>(address, abi, calls, chain): Promise<T[]>

Defined in: packages/core/src/contracts/interaction/reader.ts:78

Batch read multiple values from same contract

Type Parameters

T

T = unknown

Parameters

address

string

Contract address

abi

unknown[]

Contract ABI

calls

object[]

Array of function calls

chain

Chain type

"core" | "evm"

Returns

Promise<T[]>

Array of results


getContractInfo()

getContractInfo(address, chain): Promise<ContractInfo>

Defined in: packages/core/src/contracts/interaction/reader.ts:107

Get contract information

Parameters

address

string

Contract address

chain

Chain type

"core" | "evm"

Returns

Promise<ContractInfo>

Contract info


isContract()

isContract(_address, _chain): Promise<boolean>

Defined in: packages/core/src/contracts/interaction/reader.ts:127

Check if address is a contract

Parameters

_address

string

Address to check

_chain

Chain type

"core" | "evm"

Returns

Promise<boolean>

true if contract exists


read()

read<T>(options): Promise<T>

Defined in: packages/core/src/contracts/interaction/reader.ts:50

Read data from contract

Type Parameters

T

T = unknown

Parameters

options

ReadOptions

Read configuration

Returns

Promise<T>

Function return value