Class SignScheduleExtensions
Extension methods for adding signatures to scheduled transactions.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class SignScheduleExtensions
Methods
| Edit this page View SourceSignScheduleAsync(ConsensusClient, EntityId, Action<IConsensusContext>?)
Adds signatures to an existing scheduled transaction. If the additional signatures satisfy all remaining signature requirements, the scheduled transaction may execute immediately (unless delayed).
Declaration
public static Task<TransactionReceipt> SignScheduleAsync(this ConsensusClient client, EntityId schedule, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client orchestrating the request. |
| EntityId | schedule | The address of the schedule entity to sign. |
| 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 a successful operation. |
Examples
// Add a signature to a pending schedule. The schedule executes
// automatically once every signing requirement of the inner
// transaction is satisfied — no explicit "execute" call is needed.
// The client context's Signatory provides the key being added.
var receipt = await client.SignScheduleAsync(scheduleId);
Console.WriteLine($"Sign 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. |
SignScheduleAsync(ConsensusClient, SignScheduleParams, Action<IConsensusContext>?)
Adds signatures to an existing scheduled transaction. If the additional signatures satisfy all remaining signature requirements, the scheduled transaction may execute immediately (unless delayed).
Declaration
public static Task<TransactionReceipt> SignScheduleAsync(this ConsensusClient client, SignScheduleParams signParams, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client orchestrating the request. |
| SignScheduleParams | signParams | The details of the schedule signing request. |
| 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 a successful operation. |
Examples
// Add a co-signer's signature via params. Use this when the required
// key is not already in the client's context — e.g., a multi-party
// transfer where an independent signer submits their signature from
// a service that does not hold the primary payer's key.
var receipt = await client.SignScheduleAsync(new SignScheduleParams
{
Schedule = scheduleId,
Signatory = coSignerKey
});
Console.WriteLine($"Sign 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. |