Contract Methods

Methods for deploying, reading, writing, and simulating GenLayer intelligent contracts.

getContractCode

Retrieves the source code of a deployed contract. Studio only.

ParameterTypeRequiredDescription
addressAddressyes

Returns: string


getContractSchema

Gets the schema (methods and constructor) of a deployed contract. Studio only.

ParameterTypeRequiredDescription
addressAddressyes

Returns: ContractSchema


getContractSchemaForCode

Generates a schema for contract code without deploying it. Studio only.

ParameterTypeRequiredDescription
contractCodestring | Uint8Arrayyes

Returns: ContractSchema


readContract

Executes a read-only contract call without modifying state.

ParameterTypeRequiredDescription
accountAccountno
addressAddressyes
functionNamestringyes
argsCalldataEncodable[]no
kwargsMap<string, CalldataEncodable> | {[key: string]: CalldataEncodable}no
rawReturnRawReturnno
jsonSafeReturnbooleanno
leaderOnlybooleanno
transactionHashVariantTransactionHashVariantno

Returns: RawReturn extends true ? 0x${string} : CalldataEncodable


simulateWriteContract

Simulates a state-modifying contract call without executing on-chain.

ParameterTypeRequiredDescription
accountAccountno
addressAddressyes
functionNamestringyes
argsCalldataEncodable[]no
kwargsMap<string, CalldataEncodable> | {[key: string]: CalldataEncodable}no
rawReturnRawReturnno
leaderOnlybooleanno
transactionHashVariantTransactionHashVariantno

Returns: RawReturn extends true ? 0x${string} : CalldataEncodable


writeContract

Executes a state-modifying function on a contract through consensus. Returns the transaction hash.

ParameterTypeRequiredDescription
accountAccountno
addressAddressyes
functionNamestringyes
argsCalldataEncodable[]no
kwargsMap<string, CalldataEncodable> | {[key: string]: CalldataEncodable}no
valuebigintyes
leaderOnlybooleanno
consensusMaxRotationsnumberno

Returns: 0x${string}


deployContract

Deploys a new intelligent contract to GenLayer. Returns the transaction hash.

ParameterTypeRequiredDescription
accountAccountno
codestring | Uint8Arrayyes
argsCalldataEncodable[]no
kwargsMap<string, CalldataEncodable> | {[key: string]: CalldataEncodable}no
leaderOnlybooleanno
consensusMaxRotationsnumberno

getMinAppealBond

Calculates the minimum bond required to appeal a transaction.

ParameterTypeRequiredDescription
txId0x${string}yes

Returns: bigint


getRoundNumber

Returns the current consensus round number for a transaction.

ParameterTypeRequiredDescription
txId0x${string}yes

Returns: bigint


getRoundData

Returns detailed data for a specific consensus round.

ParameterTypeRequiredDescription
txId0x${string}yes
roundbigintyes

getLastRoundData

Returns the current round number and its data for a transaction.

ParameterTypeRequiredDescription
txId0x${string}yes

canAppeal

Checks if a transaction can be appealed.

ParameterTypeRequiredDescription
txId0x${string}yes

Returns: boolean


appealTransaction

Appeals a consensus transaction to trigger a new round of validation.

ParameterTypeRequiredDescription
accountAccountno
txId0x${string}yes
valuebigintno

finalizeTransaction

Finalizes a single GenLayer transaction that is ready to be finalized. Returns the EVM transaction hash.

ParameterTypeRequiredDescription
accountAccountno
txId0x${string}yes

Returns: 0x${string}


finalizeIdlenessTxs

Batch-finalizes idle GenLayer transactions (those stuck without progressing). Returns the EVM transaction hash.

ParameterTypeRequiredDescription
accountAccountno
txIdsreadonly 0x${string}[]yes

Returns: 0x${string}