Class UpdateTopicParams
Represents the properties on a topic that can be changed.
Any property set to
null
on this object when submitted to the UpdateTopicAsync(ConsensusClient, UpdateTopicParams, Action<IConsensusContext>?) method will be left unchanged by the system. The transaction must be appropriately signed as described by the original Administrator endorsement in order to make changes. If there is no administrator endorsement specified, the topic is immutable and cannot be changed.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public sealed class UpdateTopicParams : TransactionParams<TransactionReceipt>
Examples
Update the memo on an existing topic. Null properties are left unchanged:
// Update mutable topic properties. Null fields are left unchanged.
// Requires the topic's Administrator key to sign; topics created
// without one are immutable.
var receipt = await client.UpdateTopicAsync(new UpdateTopicParams
{
Topic = topic,
Memo = newMemo
});
Console.WriteLine($"Update status: {receipt.Status}");
Properties
| Edit this page View SourceAdministrator
Replace this Topic's current administrative key signing requirements with new signing requirements. To completely remove the administrator key and make the Topic immutable, use the None endorsement value.
Declaration
public Endorsement? Administrator { get; set; }
Property Value
| Type | Description |
|---|---|
| Endorsement |
Remarks
For this request to be accepted by the network, both the current private key(s) for this topic and the new private key(s) must sign the transaction. The existing key must sign for security and the new key must sign as a safeguard to avoid accidentally changing the key to an invalid value.
CancellationToken
Optional cancellation token that can interrupt the submission process.
Declaration
public CancellationToken? CancellationToken { get; set; }
Property Value
| Type | Description |
|---|---|
| CancellationToken? |
Expiration
The new expiration date for this topic, it will be ignored if it is equal to or before the current expiration date value for this topic. This allows non-administrator accounts to extend the lifetime of this topic when no auto renew account has been specified.
Declaration
public ConsensusTimeStamp? Expiration { get; set; }
Property Value
| Type | Description |
|---|---|
| ConsensusTimeStamp? |
Memo
The publicly visible memo to be associated with the topic.
Declaration
public string? Memo { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
RenewAccount
Optional address of the account supporting the auto renewal of the topic at expiration time. The topic lifetime will be extended by the RenewPeriod at expiration time if this account contains sufficient funds. The private key associated with this account must sign the transaction if RenewAccount is specified.
Declaration
public EntityId? RenewAccount { get; set; }
Property Value
| Type | Description |
|---|---|
| EntityId |
RenewPeriod
Incremental period for auto-renewal of the topic. If the associated account does not have sufficient funds to renew at the expiration time, it will be renewed for a period of time the remaining funds can support. If no funds remain, the topic instance will be deleted.
Declaration
public TimeSpan? RenewPeriod { get; set; }
Property Value
| Type | Description |
|---|---|
| TimeSpan? |
Signatory
Additional private key, keys or signing callback method required to update this topic. Typically matches the Administrator endorsement associated with this topic.
Declaration
public Signatory? Signatory { get; set; }
Property Value
| Type | Description |
|---|---|
| Signatory |
Remarks
Keys/callbacks added here will be combined with those already identified in the client object's context when signing this transaction to change the state of this topic.
Submitter
Identify any key requirements for submitting messages to this topic. If left blank, no changes will be made. To completely remove the key requirements and make the Topic open for all to submit, use the None endorsement value.
Declaration
public Endorsement? Submitter { get; set; }
Property Value
| Type | Description |
|---|---|
| Endorsement |
Topic
The network address of the topic to update.
Declaration
public EntityId Topic { get; set; }
Property Value
| Type | Description |
|---|---|
| EntityId |