Skip to Content

@cfxdevkit/core


@cfxdevkit/core / ContractWriter

Class: ContractWriter

Defined in: packages/core/src/contracts/interaction/writer.ts:44

Contract Writer

Writes data to deployed contracts (state-changing operations). Supports both Core Space and eSpace contracts.

Example

const writer = new ContractWriter(clientManager); // Transfer ERC20 tokens const result = await writer.write({ address: '0xToken...', abi: ERC20_ABI, functionName: 'transfer', args: ['0xRecipient...', parseEther('10')], chain: 'evm', waitForConfirmation: true }); console.log(`Transaction hash: ${result.hash}`);

Constructors

Constructor

new ContractWriter(clientManager): ContractWriter

Defined in: packages/core/src/contracts/interaction/writer.ts:45

Parameters

clientManager

ClientManager

Returns

ContractWriter

Methods

batchWrite()

batchWrite(writes): Promise<WriteResult[]>

Defined in: packages/core/src/contracts/interaction/writer.ts:204

Batch write multiple transactions

Parameters

writes

WriteOptions[]

Array of write operations

Returns

Promise<WriteResult[]>

Array of write results


estimateGas()

estimateGas(options): Promise<bigint>

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

Estimate gas for contract write

Parameters

options

WriteOptions

Write configuration

Returns

Promise<bigint>

Estimated gas


simulate()

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

Defined in: packages/core/src/contracts/interaction/writer.ts:102

Simulate contract write without sending transaction

Type Parameters

T

T = unknown

Parameters

options

WriteOptions

Write configuration

Returns

Promise<T>

Simulation result


write()

write(options): Promise<WriteResult>

Defined in: packages/core/src/contracts/interaction/writer.ts:53

Write to contract (state-changing operation)

Parameters

options

WriteOptions

Write configuration

Returns

Promise<WriteResult>

Write result with transaction info