Class PrepareNetworkUpgradeExtensions
Extension methods for preparing a network upgrade.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class PrepareNetworkUpgradeExtensions
Methods
| Edit this page View SourcePrepareNetworkUpgradeAsync(ConsensusClient, PrepareNetworkUpgradeParams, Action<IConsensusContext>?)
Prepares the network for an upgrade as configured by the specified upgrade file. The file hash must match the hash of the identified upgrade file stored at the specified location. This operation does not immediately affect network operations.
Declaration
public static Task<TransactionReceipt> PrepareNetworkUpgradeAsync(this ConsensusClient client, PrepareNetworkUpgradeParams prepareParams, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client orchestrating the administrative command. |
| PrepareNetworkUpgradeParams | prepareParams | The parameters for preparing 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 transaction receipt indicating success. |
Remarks
This operation must be submitted by a privileged account having access rights to perform this operation.
Examples
// Stage a network upgrade: nodes will validate the file's contents
// against `FileHash` before accepting the subsequent schedule step.
// Requires the superuser payer (typically 0.0.50 or 0.0.55).
var receipt = await client.PrepareNetworkUpgradeAsync(new PrepareNetworkUpgradeParams
{
File = upgradeFile,
FileHash = expectedHash
});
Console.WriteLine($"Prepare 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. |