Contract Methods

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

getContractCode

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

ParameterTypeRequiredDescription
addressAddressyes

Returns: string


getContractSchema

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

ParameterTypeRequiredDescription
addressAddressyes

Returns: ContractSchema


getContractSchemaForCode

Generates a schema for contract code without deploying it. Localnet 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


appealTransaction

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

ParameterTypeRequiredDescription
accountAccountno
txId0x${string}yes
valuebigintno