Class UpdateContractExtensions
Extension methods for updating smart contract properties.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class UpdateContractExtensions
Methods
| Edit this page View SourceUpdateContractAsync(ConsensusClient, UpdateContractParams, Action<IConsensusContext>?)
Updates the changeable properties of a hedera network contract.
Declaration
public static Task<TransactionReceipt> UpdateContractAsync(this ConsensusClient client, UpdateContractParams updateParameters, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client executing the contract update. |
| UpdateContractParams | updateParameters | The contract update parameters, includes a required EntityId reference to the Contract to update plus a number of changeable properties of the Contract. |
| Action<IConsensusContext> | configure | Optional callback method providing an opportunity to modify the execution configuration for just this method call. It is executed prior to submitting the request to the network. |
Returns
| Type | Description |
|---|---|
| Task<TransactionReceipt> | A transaction receipt indicating success of the operation. |
Examples
// Update mutable contract properties — admin key, memo, renew period,
// auto-association limit. Null properties are left unchanged.
// Contracts created without an Administrator are immutable.
var receipt = await client.UpdateContractAsync(new UpdateContractParams
{
Contract = contract,
Administrator = newAdmin,
Memo = "Rotated admin 2026-Q2"
});
Console.WriteLine($"Update status: {receipt.Status}");
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | If required arguments are missing or invalid. |
| InvalidOperationException | If required context configuration is missing. |
| PrecheckException | If the gateway node refused the transaction. Only a code about the transaction itself proves it did not execute; any other code leaves the outcome unknown, so settle it by its transaction id on a mirror node rather than resubmitting it (see PrecheckException). |
| ConsensusException | If the outcome could not be confirmed: the transaction may have executed, so settle it by its transaction id on a mirror node rather than resubmitting it. |
| TransactionException | If the network rejected the update request as invalid or had missing data. |