@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
Returns
ContractWriter
Methods
batchWrite()
batchWrite(
writes):Promise<WriteResult[]>
Defined in: packages/core/src/contracts/interaction/writer.ts:204
Batch write multiple transactions
Parameters
writes
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
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
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
Write configuration
Returns
Promise<WriteResult>
Write result with transaction info