Class ScheduleNetworkUpgradeExtensions
Extension methods for scheduling a network upgrade.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class ScheduleNetworkUpgradeExtensions
Methods
| Edit this page View SourceScheduleNetworkUpgradeAsync(ConsensusClient, ScheduleNetworkUpgradeParams, Action<IConsensusContext>?)
Executes a previously "prepared" upgrade file at the specified consensus time across the entire network. This act will suspend network services for the duration of the upgrade.
Declaration
public static Task<TransactionReceipt> ScheduleNetworkUpgradeAsync(this ConsensusClient client, ScheduleNetworkUpgradeParams scheduleParams, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client orchestrating the administrative command. |
| ScheduleNetworkUpgradeParams | scheduleParams | The parameters for scheduling the network upgrade. |
| 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 TransactionId Receipt indicating success. |
Remarks
This operation must be submitted by a privileged account having access rights to perform this operation.
Examples
// After a successful PrepareNetworkUpgrade, commit to a consensus
// timestamp when nodes will bounce and load the new image.
var receipt = await client.ScheduleNetworkUpgradeAsync(new ScheduleNetworkUpgradeParams
{
Consensus = new ConsensusTimeStamp(DateTime.UtcNow.AddHours(2))
});
Console.WriteLine($"Schedule status: {receipt.Status}");
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | If required arguments are missing. |
| InvalidOperationException | If required context configuration is missing. |
| PrecheckException | If the gateway node rejected the request upon submission. |
| ConsensusException | If the network was unable to come to consensus before the duration of the transaction expired. |
| TransactionException | If the network rejected the request as invalid or had missing data. |