Class SuspendNetworkExtensions
Extension methods for suspending network operations.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class SuspendNetworkExtensions
Methods
| Edit this page View SourceSuspendNetworkAsync(ConsensusClient, SuspendNetworkParams, Action<IConsensusContext>?)
Suspends the network at the specified consensus time.
This does not result in any network changes or upgrades
and requires manual intervention to restart the network.
Declaration
public static Task<TransactionReceipt> SuspendNetworkAsync(this ConsensusClient client, SuspendNetworkParams suspendParams, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client orchestrating the administrative command. |
| SuspendNetworkParams | suspendParams | The parameters for suspending the network, including the consensus time at which nodes will stop services. |
| 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. |
Remarks
This operation must be submitted by a privileged account having access rights to perform this operation.
Examples
// Freeze the entire network at a future consensus timestamp. Every
// node will stop accepting transactions at that moment. Requires
// the superuser payer — reserved for emergency maintenance.
var receipt = await client.SuspendNetworkAsync(new SuspendNetworkParams
{
Consensus = new ConsensusTimeStamp(DateTime.UtcNow.AddHours(1))
});
Console.WriteLine($"Suspend 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 request as invalid or had missing data. |