Class ConsensusCreateTopicTransactionBody.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder<ConsensusCreateTopicTransactionBody,ConsensusCreateTopicTransactionBody.Builder>
com.google.protobuf.GeneratedMessageLite.Builder<ConsensusCreateTopicTransactionBody,ConsensusCreateTopicTransactionBody.Builder>
com.hedera.hashgraph.sdk.proto.ConsensusCreateTopicTransactionBody.Builder
All Implemented Interfaces:
com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, ConsensusCreateTopicTransactionBodyOrBuilder, Cloneable
Enclosing class:
ConsensusCreateTopicTransactionBody

public static final class ConsensusCreateTopicTransactionBody.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<ConsensusCreateTopicTransactionBody,ConsensusCreateTopicTransactionBody.Builder> implements ConsensusCreateTopicTransactionBodyOrBuilder
 *
 Create a topic to accept and group consensus messages.

 If `autoRenewAccount` is specified, that account Key MUST also sign this
 transaction.<br/>
 If `adminKey` is set, that Key MUST sign the transaction.<br/>
 On success, the resulting `TransactionReceipt` SHALL contain the newly
 created `TopicId`.

 The `autoRenewPeriod` on a topic MUST be set to a value between
 `autoRenewPeriod.minDuration` and `autoRenewPeriod.maxDuration`. These
 values are configurable, typically 30 and 92 days.<br/>
 This also sets the initial expirationTime of the topic.

 If no `adminKey` is set on a topic
 -`autoRenewAccount` SHALL NOT be set on the topic.
 - A `deleteTopic` transaction SHALL fail.
 - An `updateTopic` transaction that only extends the expirationTime MAY
 succeed.
 - Any other `updateTopic` transaction SHALL fail.

 If the topic expires and is not automatically renewed, the topic SHALL enter
 the `EXPIRED` state.
 - All transactions on the topic SHALL fail with TOPIC_EXPIRED
 - Except an updateTopic() call that only extends the expirationTime.
 - getTopicInfo() SHALL succeed, and show the topic is expired.
 The topic SHALL remain in the `EXPIRED` state for a time determined by the
 `autorenew.gracePeriod` (configurable, originally 7 days).<br/>
 After the grace period, if the topic's expirationTime is not extended, the
 topic SHALL be automatically deleted from state entirely, and cannot be
 recovered or recreated.

 ### Block Stream Effects
 None
 
Protobuf type proto.ConsensusCreateTopicTransactionBody
  • Method Details

    • getMemo

      public String getMemo()
       *
       A short memo for this topic.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 1;
      Specified by:
      getMemo in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      The memo.
    • getMemoBytes

      public com.google.protobuf.ByteString getMemoBytes()
       *
       A short memo for this topic.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 1;
      Specified by:
      getMemoBytes in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      The bytes for memo.
    • setMemo

       *
       A short memo for this topic.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 1;
      Parameters:
      value - The memo to set.
      Returns:
      This builder for chaining.
    • clearMemo

       *
       A short memo for this topic.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 1;
      Returns:
      This builder for chaining.
    • setMemoBytes

      public ConsensusCreateTopicTransactionBody.Builder setMemoBytes(com.google.protobuf.ByteString value)
       *
       A short memo for this topic.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 1;
      Parameters:
      value - The bytes for memo to set.
      Returns:
      This builder for chaining.
    • hasAdminKey

      public boolean hasAdminKey()
       *
       Access control for modification of the topic after it is created.
       <p>
       If this field is set, that key MUST sign this transaction.<br/>
       If this field is set, that key MUST sign each future transaction to
       update or delete the topic.<br/>
       An updateTopic transaction that _only_ extends the topic expirationTime
       (a "manual renewal" transaction) SHALL NOT require admin key
       signature.<br/>
       A topic without an admin key SHALL be immutable, except for expiration
       and renewal.<br/>
       If adminKey is not set, then `autoRenewAccount` SHALL NOT be set.
       
      .proto.Key adminKey = 2;
      Specified by:
      hasAdminKey in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      Whether the adminKey field is set.
    • getAdminKey

      public Key getAdminKey()
       *
       Access control for modification of the topic after it is created.
       <p>
       If this field is set, that key MUST sign this transaction.<br/>
       If this field is set, that key MUST sign each future transaction to
       update or delete the topic.<br/>
       An updateTopic transaction that _only_ extends the topic expirationTime
       (a "manual renewal" transaction) SHALL NOT require admin key
       signature.<br/>
       A topic without an admin key SHALL be immutable, except for expiration
       and renewal.<br/>
       If adminKey is not set, then `autoRenewAccount` SHALL NOT be set.
       
      .proto.Key adminKey = 2;
      Specified by:
      getAdminKey in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      The adminKey.
    • setAdminKey

       *
       Access control for modification of the topic after it is created.
       <p>
       If this field is set, that key MUST sign this transaction.<br/>
       If this field is set, that key MUST sign each future transaction to
       update or delete the topic.<br/>
       An updateTopic transaction that _only_ extends the topic expirationTime
       (a "manual renewal" transaction) SHALL NOT require admin key
       signature.<br/>
       A topic without an admin key SHALL be immutable, except for expiration
       and renewal.<br/>
       If adminKey is not set, then `autoRenewAccount` SHALL NOT be set.
       
      .proto.Key adminKey = 2;
    • setAdminKey

      public ConsensusCreateTopicTransactionBody.Builder setAdminKey(Key.Builder builderForValue)
       *
       Access control for modification of the topic after it is created.
       <p>
       If this field is set, that key MUST sign this transaction.<br/>
       If this field is set, that key MUST sign each future transaction to
       update or delete the topic.<br/>
       An updateTopic transaction that _only_ extends the topic expirationTime
       (a "manual renewal" transaction) SHALL NOT require admin key
       signature.<br/>
       A topic without an admin key SHALL be immutable, except for expiration
       and renewal.<br/>
       If adminKey is not set, then `autoRenewAccount` SHALL NOT be set.
       
      .proto.Key adminKey = 2;
    • mergeAdminKey

      public ConsensusCreateTopicTransactionBody.Builder mergeAdminKey(Key value)
       *
       Access control for modification of the topic after it is created.
       <p>
       If this field is set, that key MUST sign this transaction.<br/>
       If this field is set, that key MUST sign each future transaction to
       update or delete the topic.<br/>
       An updateTopic transaction that _only_ extends the topic expirationTime
       (a "manual renewal" transaction) SHALL NOT require admin key
       signature.<br/>
       A topic without an admin key SHALL be immutable, except for expiration
       and renewal.<br/>
       If adminKey is not set, then `autoRenewAccount` SHALL NOT be set.
       
      .proto.Key adminKey = 2;
    • clearAdminKey

       *
       Access control for modification of the topic after it is created.
       <p>
       If this field is set, that key MUST sign this transaction.<br/>
       If this field is set, that key MUST sign each future transaction to
       update or delete the topic.<br/>
       An updateTopic transaction that _only_ extends the topic expirationTime
       (a "manual renewal" transaction) SHALL NOT require admin key
       signature.<br/>
       A topic without an admin key SHALL be immutable, except for expiration
       and renewal.<br/>
       If adminKey is not set, then `autoRenewAccount` SHALL NOT be set.
       
      .proto.Key adminKey = 2;
    • hasSubmitKey

      public boolean hasSubmitKey()
       *
       Access control for message submission to the topic.
       <p>
       If this field is set, that key MUST sign each consensus submit message
       for this topic.<br/>
       If this field is not set then any account may submit a message on the
       topic, without restriction.
       
      .proto.Key submitKey = 3;
      Specified by:
      hasSubmitKey in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      Whether the submitKey field is set.
    • getSubmitKey

      public Key getSubmitKey()
       *
       Access control for message submission to the topic.
       <p>
       If this field is set, that key MUST sign each consensus submit message
       for this topic.<br/>
       If this field is not set then any account may submit a message on the
       topic, without restriction.
       
      .proto.Key submitKey = 3;
      Specified by:
      getSubmitKey in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      The submitKey.
    • setSubmitKey

      public ConsensusCreateTopicTransactionBody.Builder setSubmitKey(Key value)
       *
       Access control for message submission to the topic.
       <p>
       If this field is set, that key MUST sign each consensus submit message
       for this topic.<br/>
       If this field is not set then any account may submit a message on the
       topic, without restriction.
       
      .proto.Key submitKey = 3;
    • setSubmitKey

      public ConsensusCreateTopicTransactionBody.Builder setSubmitKey(Key.Builder builderForValue)
       *
       Access control for message submission to the topic.
       <p>
       If this field is set, that key MUST sign each consensus submit message
       for this topic.<br/>
       If this field is not set then any account may submit a message on the
       topic, without restriction.
       
      .proto.Key submitKey = 3;
    • mergeSubmitKey

      public ConsensusCreateTopicTransactionBody.Builder mergeSubmitKey(Key value)
       *
       Access control for message submission to the topic.
       <p>
       If this field is set, that key MUST sign each consensus submit message
       for this topic.<br/>
       If this field is not set then any account may submit a message on the
       topic, without restriction.
       
      .proto.Key submitKey = 3;
    • clearSubmitKey

       *
       Access control for message submission to the topic.
       <p>
       If this field is set, that key MUST sign each consensus submit message
       for this topic.<br/>
       If this field is not set then any account may submit a message on the
       topic, without restriction.
       
      .proto.Key submitKey = 3;
    • hasAutoRenewPeriod

      public boolean hasAutoRenewPeriod()
       *
       The initial lifetime, in seconds, for the topic.<br/>
       This is also the number of seconds for which the topic SHALL be
       automatically renewed upon expiring, if it has a valid auto-renew
       account.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 6;
      Specified by:
      hasAutoRenewPeriod in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      Whether the autoRenewPeriod field is set.
    • getAutoRenewPeriod

      public Duration getAutoRenewPeriod()
       *
       The initial lifetime, in seconds, for the topic.<br/>
       This is also the number of seconds for which the topic SHALL be
       automatically renewed upon expiring, if it has a valid auto-renew
       account.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 6;
      Specified by:
      getAutoRenewPeriod in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      The autoRenewPeriod.
    • setAutoRenewPeriod

      public ConsensusCreateTopicTransactionBody.Builder setAutoRenewPeriod(Duration value)
       *
       The initial lifetime, in seconds, for the topic.<br/>
       This is also the number of seconds for which the topic SHALL be
       automatically renewed upon expiring, if it has a valid auto-renew
       account.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 6;
    • setAutoRenewPeriod

      public ConsensusCreateTopicTransactionBody.Builder setAutoRenewPeriod(Duration.Builder builderForValue)
       *
       The initial lifetime, in seconds, for the topic.<br/>
       This is also the number of seconds for which the topic SHALL be
       automatically renewed upon expiring, if it has a valid auto-renew
       account.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 6;
    • mergeAutoRenewPeriod

      public ConsensusCreateTopicTransactionBody.Builder mergeAutoRenewPeriod(Duration value)
       *
       The initial lifetime, in seconds, for the topic.<br/>
       This is also the number of seconds for which the topic SHALL be
       automatically renewed upon expiring, if it has a valid auto-renew
       account.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 6;
    • clearAutoRenewPeriod

      public ConsensusCreateTopicTransactionBody.Builder clearAutoRenewPeriod()
       *
       The initial lifetime, in seconds, for the topic.<br/>
       This is also the number of seconds for which the topic SHALL be
       automatically renewed upon expiring, if it has a valid auto-renew
       account.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 6;
    • hasAutoRenewAccount

      public boolean hasAutoRenewAccount()
       *
       The ID of the account to be charged renewal fees at the topic's
       expirationTime to extend the lifetime of the topic.
       <p>
       The topic lifetime SHALL be extended by the smallest of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this value is set, the referenced account MUST sign this
       transaction.<br/>
       If this value is set, the `adminKey` field MUST also be set (though that
       key MAY not have any correlation to this account).
       
      .proto.AccountID autoRenewAccount = 7;
      Specified by:
      hasAutoRenewAccount in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      Whether the autoRenewAccount field is set.
    • getAutoRenewAccount

      public AccountID getAutoRenewAccount()
       *
       The ID of the account to be charged renewal fees at the topic's
       expirationTime to extend the lifetime of the topic.
       <p>
       The topic lifetime SHALL be extended by the smallest of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this value is set, the referenced account MUST sign this
       transaction.<br/>
       If this value is set, the `adminKey` field MUST also be set (though that
       key MAY not have any correlation to this account).
       
      .proto.AccountID autoRenewAccount = 7;
      Specified by:
      getAutoRenewAccount in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      The autoRenewAccount.
    • setAutoRenewAccount

      public ConsensusCreateTopicTransactionBody.Builder setAutoRenewAccount(AccountID value)
       *
       The ID of the account to be charged renewal fees at the topic's
       expirationTime to extend the lifetime of the topic.
       <p>
       The topic lifetime SHALL be extended by the smallest of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this value is set, the referenced account MUST sign this
       transaction.<br/>
       If this value is set, the `adminKey` field MUST also be set (though that
       key MAY not have any correlation to this account).
       
      .proto.AccountID autoRenewAccount = 7;
    • setAutoRenewAccount

      public ConsensusCreateTopicTransactionBody.Builder setAutoRenewAccount(AccountID.Builder builderForValue)
       *
       The ID of the account to be charged renewal fees at the topic's
       expirationTime to extend the lifetime of the topic.
       <p>
       The topic lifetime SHALL be extended by the smallest of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this value is set, the referenced account MUST sign this
       transaction.<br/>
       If this value is set, the `adminKey` field MUST also be set (though that
       key MAY not have any correlation to this account).
       
      .proto.AccountID autoRenewAccount = 7;
    • mergeAutoRenewAccount

      public ConsensusCreateTopicTransactionBody.Builder mergeAutoRenewAccount(AccountID value)
       *
       The ID of the account to be charged renewal fees at the topic's
       expirationTime to extend the lifetime of the topic.
       <p>
       The topic lifetime SHALL be extended by the smallest of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this value is set, the referenced account MUST sign this
       transaction.<br/>
       If this value is set, the `adminKey` field MUST also be set (though that
       key MAY not have any correlation to this account).
       
      .proto.AccountID autoRenewAccount = 7;
    • clearAutoRenewAccount

      public ConsensusCreateTopicTransactionBody.Builder clearAutoRenewAccount()
       *
       The ID of the account to be charged renewal fees at the topic's
       expirationTime to extend the lifetime of the topic.
       <p>
       The topic lifetime SHALL be extended by the smallest of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this value is set, the referenced account MUST sign this
       transaction.<br/>
       If this value is set, the `adminKey` field MUST also be set (though that
       key MAY not have any correlation to this account).
       
      .proto.AccountID autoRenewAccount = 7;
    • hasFeeScheduleKey

      public boolean hasFeeScheduleKey()
       *
       Access control for update or delete of custom fees.
       <p>
       If set, subsequent `consensus_update_topic` transactions signed with this
       key MAY update or delete the custom fees for this topic.<br/>
       If not set, the custom fees for this topic SHALL BE immutable.<br/>
       If not set when the topic is created, this field CANNOT be set via
       update.<br/>
       If set when the topic is created, this field MAY be changed via update.
       
      .proto.Key fee_schedule_key = 8;
      Specified by:
      hasFeeScheduleKey in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      Whether the feeScheduleKey field is set.
    • getFeeScheduleKey

      public Key getFeeScheduleKey()
       *
       Access control for update or delete of custom fees.
       <p>
       If set, subsequent `consensus_update_topic` transactions signed with this
       key MAY update or delete the custom fees for this topic.<br/>
       If not set, the custom fees for this topic SHALL BE immutable.<br/>
       If not set when the topic is created, this field CANNOT be set via
       update.<br/>
       If set when the topic is created, this field MAY be changed via update.
       
      .proto.Key fee_schedule_key = 8;
      Specified by:
      getFeeScheduleKey in interface ConsensusCreateTopicTransactionBodyOrBuilder
      Returns:
      The feeScheduleKey.
    • setFeeScheduleKey

      public ConsensusCreateTopicTransactionBody.Builder setFeeScheduleKey(Key value)
       *
       Access control for update or delete of custom fees.
       <p>
       If set, subsequent `consensus_update_topic` transactions signed with this
       key MAY update or delete the custom fees for this topic.<br/>
       If not set, the custom fees for this topic SHALL BE immutable.<br/>
       If not set when the topic is created, this field CANNOT be set via
       update.<br/>
       If set when the topic is created, this field MAY be changed via update.
       
      .proto.Key fee_schedule_key = 8;
    • setFeeScheduleKey

      public ConsensusCreateTopicTransactionBody.Builder setFeeScheduleKey(Key.Builder builderForValue)
       *
       Access control for update or delete of custom fees.
       <p>
       If set, subsequent `consensus_update_topic` transactions signed with this
       key MAY update or delete the custom fees for this topic.<br/>
       If not set, the custom fees for this topic SHALL BE immutable.<br/>
       If not set when the topic is created, this field CANNOT be set via
       update.<br/>
       If set when the topic is created, this field MAY be changed via update.
       
      .proto.Key fee_schedule_key = 8;
    • mergeFeeScheduleKey

      public ConsensusCreateTopicTransactionBody.Builder mergeFeeScheduleKey(Key value)
       *
       Access control for update or delete of custom fees.
       <p>
       If set, subsequent `consensus_update_topic` transactions signed with this
       key MAY update or delete the custom fees for this topic.<br/>
       If not set, the custom fees for this topic SHALL BE immutable.<br/>
       If not set when the topic is created, this field CANNOT be set via
       update.<br/>
       If set when the topic is created, this field MAY be changed via update.
       
      .proto.Key fee_schedule_key = 8;
    • clearFeeScheduleKey

      public ConsensusCreateTopicTransactionBody.Builder clearFeeScheduleKey()
       *
       Access control for update or delete of custom fees.
       <p>
       If set, subsequent `consensus_update_topic` transactions signed with this
       key MAY update or delete the custom fees for this topic.<br/>
       If not set, the custom fees for this topic SHALL BE immutable.<br/>
       If not set when the topic is created, this field CANNOT be set via
       update.<br/>
       If set when the topic is created, this field MAY be changed via update.
       
      .proto.Key fee_schedule_key = 8;
    • getFeeExemptKeyListList

      public List<Key> getFeeExemptKeyListList()
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
      Specified by:
      getFeeExemptKeyListList in interface ConsensusCreateTopicTransactionBodyOrBuilder
    • getFeeExemptKeyListCount

      public int getFeeExemptKeyListCount()
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
      Specified by:
      getFeeExemptKeyListCount in interface ConsensusCreateTopicTransactionBodyOrBuilder
    • getFeeExemptKeyList

      public Key getFeeExemptKeyList(int index)
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
      Specified by:
      getFeeExemptKeyList in interface ConsensusCreateTopicTransactionBodyOrBuilder
    • setFeeExemptKeyList

      public ConsensusCreateTopicTransactionBody.Builder setFeeExemptKeyList(int index, Key value)
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
    • setFeeExemptKeyList

      public ConsensusCreateTopicTransactionBody.Builder setFeeExemptKeyList(int index, Key.Builder builderForValue)
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
    • addFeeExemptKeyList

      public ConsensusCreateTopicTransactionBody.Builder addFeeExemptKeyList(Key value)
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
    • addFeeExemptKeyList

      public ConsensusCreateTopicTransactionBody.Builder addFeeExemptKeyList(int index, Key value)
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
    • addFeeExemptKeyList

      public ConsensusCreateTopicTransactionBody.Builder addFeeExemptKeyList(Key.Builder builderForValue)
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
    • addFeeExemptKeyList

      public ConsensusCreateTopicTransactionBody.Builder addFeeExemptKeyList(int index, Key.Builder builderForValue)
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
    • addAllFeeExemptKeyList

      public ConsensusCreateTopicTransactionBody.Builder addAllFeeExemptKeyList(Iterable<? extends Key> values)
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
    • clearFeeExemptKeyList

      public ConsensusCreateTopicTransactionBody.Builder clearFeeExemptKeyList()
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
    • removeFeeExemptKeyList

      public ConsensusCreateTopicTransactionBody.Builder removeFeeExemptKeyList(int index)
       *
       A set of keys.<br/>
       Keys in this list are permitted to submit messages to this topic without
       paying custom fees associated with this topic.
       <p>
       If a submit transaction is signed by _any_ key included in this set,
       custom fees SHALL NOT be charged for that transaction.<br/>
       This field MUST NOT contain more than 10 keys.<br/>
       fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
       fee_exempt_key_list MAY contain keys for accounts that are inactive,
       deleted, or non-existent.<br/>
       If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
       any fee-exempt keys.  In particular, the following keys SHALL NOT be
       implicitly or automatically added to this list:
       `adminKey`, `submitKey`, `fee_schedule_key`.
       
      repeated .proto.Key fee_exempt_key_list = 9;
    • getCustomFeesList

      public List<FixedCustomFee> getCustomFeesList()
       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
      Specified by:
      getCustomFeesList in interface ConsensusCreateTopicTransactionBodyOrBuilder
    • getCustomFeesCount

      public int getCustomFeesCount()
       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
      Specified by:
      getCustomFeesCount in interface ConsensusCreateTopicTransactionBodyOrBuilder
    • getCustomFees

      public FixedCustomFee getCustomFees(int index)
       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
      Specified by:
      getCustomFees in interface ConsensusCreateTopicTransactionBodyOrBuilder
    • setCustomFees

      public ConsensusCreateTopicTransactionBody.Builder setCustomFees(int index, FixedCustomFee value)
       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
    • setCustomFees

      public ConsensusCreateTopicTransactionBody.Builder setCustomFees(int index, FixedCustomFee.Builder builderForValue)
       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
    • addCustomFees

       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
    • addCustomFees

      public ConsensusCreateTopicTransactionBody.Builder addCustomFees(int index, FixedCustomFee value)
       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
    • addCustomFees

       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
    • addCustomFees

      public ConsensusCreateTopicTransactionBody.Builder addCustomFees(int index, FixedCustomFee.Builder builderForValue)
       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
    • addAllCustomFees

      public ConsensusCreateTopicTransactionBody.Builder addAllCustomFees(Iterable<? extends FixedCustomFee> values)
       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
    • clearCustomFees

       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;
    • removeCustomFees

      public ConsensusCreateTopicTransactionBody.Builder removeCustomFees(int index)
       *
       A set of custom fee definitions.<br/>
       These are fees to be assessed for each submit to this topic.
       <p>
       Each fee defined in this set SHALL be evaluated for
       each message submitted to this topic, and the resultant
       total assessed fees SHALL be charged.<br/>
       Custom fees defined here SHALL be assessed in addition to the base
       network and node fees.<br/>
       custom_fees list SHALL NOT contain more than
       `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
       
      repeated .proto.FixedCustomFee custom_fees = 10;