All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: schedule_create.proto

package com.hedera.hashgraph.sdk.proto;

/**
 * 
 **
 * Create a new <i>schedule entity</i> (or simply, <i>schedule</i>) in the network's action queue.
 * Upon <tt>SUCCESS</tt>, the receipt contains the `ScheduleID` of the created schedule. A schedule
 * entity includes a <tt>scheduledTransactionBody</tt> to be executed.
 * When the schedule has collected enough signing Ed25519 keys to satisfy the schedule's signing
 * requirements, the schedule can be executed.
 * If Long Term Scheduled Transactions are enabled and <tt>wait_for_expiry</tt> is set to <tt>true</tt>, then the schedule
 * will execute at it's <tt>expiration_time</tt>.
 * Otherwise it will execute immediately after the transaction that provided enough Ed25519 keys, a <tt>ScheduleCreate</tt>
 * or <tt>ScheduleSign</tt>.
 * Upon `SUCCESS`, the receipt also includes the <tt>scheduledTransactionID</tt> to
 * use to query for the record of the scheduled transaction's execution (if it occurs). 
 * 
 * The expiration time of a schedule is controlled by it's <tt>expiration_time</tt>. It remains in state and can be queried
 * using <tt>GetScheduleInfo</tt> until expiration, no matter if the scheduled transaction has
 * executed or marked deleted. If Long Term Scheduled Transactions are disabled, the <tt>expiration_time</tt> is always
 * 30 minutes in the future.
 * 
 * If the <tt>adminKey</tt> field is omitted, the resulting schedule is immutable. If the
 * <tt>adminKey</tt> is set, the <tt>ScheduleDelete</tt> transaction can be used to mark it as
 * deleted. The creator may also specify an optional <tt>memo</tt> whose UTF-8 encoding is at most
 * 100 bytes and does not include the zero byte is also supported.
 * 
 * When a <tt>scheduledTransactionBody</tt> is executed, the
 * network only charges its payer the service fee, and not the node and network fees. If the
 * optional <tt>payerAccountID</tt> is set, the network charges this account. Otherwise it charges
 * the payer of the originating <tt>ScheduleCreate</tt>.  
 * 
 * Two <tt>ScheduleCreate</tt> transactions are <i>identical</i> if they are equal in all their
 * fields other than <tt>payerAccountID</tt>.  (For the <tt>scheduledTransactionBody</tt> field,
 * "equal" should be understood in the sense of
 * gRPC object equality in the network software runtime. In particular, a gRPC object with <a
 * href="https://developers.google.com/protocol-buffers/docs/proto3#unknowns">unknown fields</a> is
 * not equal to a gRPC object without unknown fields, even if they agree on all known fields.) 
 * 
 * A <tt>ScheduleCreate</tt> transaction that attempts to re-create an identical schedule already in
 * state will receive a receipt with status <tt>IDENTICAL_SCHEDULE_ALREADY_CREATED</tt>; the receipt
 * will include the <tt>ScheduleID</tt> of the extant schedule, which may be used in a subsequent
 * <tt>ScheduleSign</tt> transaction. (The receipt will also include the <tt>TransactionID</tt> to
 * use in querying for the receipt or record of the scheduled transaction.)
 * 
 * Other notable response codes include, <tt>INVALID_ACCOUNT_ID</tt>,
 * <tt>UNSCHEDULABLE_TRANSACTION</tt>, <tt>UNRESOLVABLE_REQUIRED_SIGNERS</tt>,
 * <tt>INVALID_SIGNATURE</tt>. For more information please see the section of this documentation on
 * the <tt>ResponseCode</tt> enum. 
 * 
* * Protobuf type {@code proto.ScheduleCreateTransactionBody} */ public final class ScheduleCreateTransactionBody extends com.google.protobuf.GeneratedMessageLite< ScheduleCreateTransactionBody, ScheduleCreateTransactionBody.Builder> implements // @@protoc_insertion_point(message_implements:proto.ScheduleCreateTransactionBody) ScheduleCreateTransactionBodyOrBuilder { private ScheduleCreateTransactionBody() { memo_ = ""; } public static final int SCHEDULEDTRANSACTIONBODY_FIELD_NUMBER = 1; private com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody scheduledTransactionBody_; /** *
   **
   * The scheduled transaction
   * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ @java.lang.Override public boolean hasScheduledTransactionBody() { return scheduledTransactionBody_ != null; } /** *
   **
   * The scheduled transaction
   * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody getScheduledTransactionBody() { return scheduledTransactionBody_ == null ? com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.getDefaultInstance() : scheduledTransactionBody_; } /** *
   **
   * The scheduled transaction
   * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ private void setScheduledTransactionBody(com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody value) { value.getClass(); scheduledTransactionBody_ = value; } /** *
   **
   * The scheduled transaction
   * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeScheduledTransactionBody(com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody value) { value.getClass(); if (scheduledTransactionBody_ != null && scheduledTransactionBody_ != com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.getDefaultInstance()) { scheduledTransactionBody_ = com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.newBuilder(scheduledTransactionBody_).mergeFrom(value).buildPartial(); } else { scheduledTransactionBody_ = value; } } /** *
   **
   * The scheduled transaction
   * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ private void clearScheduledTransactionBody() { scheduledTransactionBody_ = null; } public static final int MEMO_FIELD_NUMBER = 2; private java.lang.String memo_; /** *
   **
   * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
   * zero byte
   * 
* * string memo = 2; * @return The memo. */ @java.lang.Override public java.lang.String getMemo() { return memo_; } /** *
   **
   * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
   * zero byte
   * 
* * string memo = 2; * @return The bytes for memo. */ @java.lang.Override public com.google.protobuf.ByteString getMemoBytes() { return com.google.protobuf.ByteString.copyFromUtf8(memo_); } /** *
   **
   * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
   * zero byte
   * 
* * string memo = 2; * @param value The memo to set. */ private void setMemo( java.lang.String value) { java.lang.Class valueClass = value.getClass(); memo_ = value; } /** *
   **
   * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
   * zero byte
   * 
* * string memo = 2; */ private void clearMemo() { memo_ = getDefaultInstance().getMemo(); } /** *
   **
   * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
   * zero byte
   * 
* * string memo = 2; * @param value The bytes for memo to set. */ private void setMemoBytes( com.google.protobuf.ByteString value) { checkByteStringIsUtf8(value); memo_ = value.toStringUtf8(); } public static final int ADMINKEY_FIELD_NUMBER = 3; private com.hedera.hashgraph.sdk.proto.Key adminKey_; /** *
   **
   * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
   * 
* * .proto.Key adminKey = 3; */ @java.lang.Override public boolean hasAdminKey() { return adminKey_ != null; } /** *
   **
   * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
   * 
* * .proto.Key adminKey = 3; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getAdminKey() { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } /** *
   **
   * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
   * 
* * .proto.Key adminKey = 3; */ private void setAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); adminKey_ = value; } /** *
   **
   * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
   * 
* * .proto.Key adminKey = 3; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); if (adminKey_ != null && adminKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { adminKey_ = com.hedera.hashgraph.sdk.proto.Key.newBuilder(adminKey_).mergeFrom(value).buildPartial(); } else { adminKey_ = value; } } /** *
   **
   * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
   * 
* * .proto.Key adminKey = 3; */ private void clearAdminKey() { adminKey_ = null; } public static final int PAYERACCOUNTID_FIELD_NUMBER = 4; private com.hedera.hashgraph.sdk.proto.AccountID payerAccountID_; /** *
   **
   * An optional id of the account to be charged the service fee for the scheduled transaction at
   * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
   * given
   * 
* * .proto.AccountID payerAccountID = 4; */ @java.lang.Override public boolean hasPayerAccountID() { return payerAccountID_ != null; } /** *
   **
   * An optional id of the account to be charged the service fee for the scheduled transaction at
   * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
   * given
   * 
* * .proto.AccountID payerAccountID = 4; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountID getPayerAccountID() { return payerAccountID_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : payerAccountID_; } /** *
   **
   * An optional id of the account to be charged the service fee for the scheduled transaction at
   * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
   * given
   * 
* * .proto.AccountID payerAccountID = 4; */ private void setPayerAccountID(com.hedera.hashgraph.sdk.proto.AccountID value) { value.getClass(); payerAccountID_ = value; } /** *
   **
   * An optional id of the account to be charged the service fee for the scheduled transaction at
   * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
   * given
   * 
* * .proto.AccountID payerAccountID = 4; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergePayerAccountID(com.hedera.hashgraph.sdk.proto.AccountID value) { value.getClass(); if (payerAccountID_ != null && payerAccountID_ != com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance()) { payerAccountID_ = com.hedera.hashgraph.sdk.proto.AccountID.newBuilder(payerAccountID_).mergeFrom(value).buildPartial(); } else { payerAccountID_ = value; } } /** *
   **
   * An optional id of the account to be charged the service fee for the scheduled transaction at
   * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
   * given
   * 
* * .proto.AccountID payerAccountID = 4; */ private void clearPayerAccountID() { payerAccountID_ = null; } public static final int EXPIRATION_TIME_FIELD_NUMBER = 5; private com.hedera.hashgraph.sdk.proto.Timestamp expirationTime_; /** *
   **
   * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
   * Defaults to 30 minutes after the transaction's consensus timestamp.
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
   *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
   * 
* * .proto.Timestamp expiration_time = 5; */ @java.lang.Override public boolean hasExpirationTime() { return expirationTime_ != null; } /** *
   **
   * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
   * Defaults to 30 minutes after the transaction's consensus timestamp.
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
   *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
   * 
* * .proto.Timestamp expiration_time = 5; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Timestamp getExpirationTime() { return expirationTime_ == null ? com.hedera.hashgraph.sdk.proto.Timestamp.getDefaultInstance() : expirationTime_; } /** *
   **
   * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
   * Defaults to 30 minutes after the transaction's consensus timestamp.
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
   *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
   * 
* * .proto.Timestamp expiration_time = 5; */ private void setExpirationTime(com.hedera.hashgraph.sdk.proto.Timestamp value) { value.getClass(); expirationTime_ = value; } /** *
   **
   * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
   * Defaults to 30 minutes after the transaction's consensus timestamp.
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
   *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
   * 
* * .proto.Timestamp expiration_time = 5; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeExpirationTime(com.hedera.hashgraph.sdk.proto.Timestamp value) { value.getClass(); if (expirationTime_ != null && expirationTime_ != com.hedera.hashgraph.sdk.proto.Timestamp.getDefaultInstance()) { expirationTime_ = com.hedera.hashgraph.sdk.proto.Timestamp.newBuilder(expirationTime_).mergeFrom(value).buildPartial(); } else { expirationTime_ = value; } } /** *
   **
   * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
   * Defaults to 30 minutes after the transaction's consensus timestamp.
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
   *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
   * 
* * .proto.Timestamp expiration_time = 5; */ private void clearExpirationTime() { expirationTime_ = null; } public static final int WAIT_FOR_EXPIRY_FIELD_NUMBER = 13; private boolean waitForExpiry_; /** *
   **
   * When set to true, the transaction will be evaluated for execution at expiration_time instead
   * of when all required signatures are received.
   * When set to false, the transaction will execute immediately after sufficient signatures are received
   * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
   * Defaults to false.
   * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
   *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
   *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
   *  ScheduleSign comes in to “poke” it and force it to go through immediately.
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
   *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
   *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
   *       expire at expiration_time.
   * 
* * bool wait_for_expiry = 13; * @return The waitForExpiry. */ @java.lang.Override public boolean getWaitForExpiry() { return waitForExpiry_; } /** *
   **
   * When set to true, the transaction will be evaluated for execution at expiration_time instead
   * of when all required signatures are received.
   * When set to false, the transaction will execute immediately after sufficient signatures are received
   * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
   * Defaults to false.
   * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
   *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
   *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
   *  ScheduleSign comes in to “poke” it and force it to go through immediately.
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
   *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
   *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
   *       expire at expiration_time.
   * 
* * bool wait_for_expiry = 13; * @param value The waitForExpiry to set. */ private void setWaitForExpiry(boolean value) { waitForExpiry_ = value; } /** *
   **
   * When set to true, the transaction will be evaluated for execution at expiration_time instead
   * of when all required signatures are received.
   * When set to false, the transaction will execute immediately after sufficient signatures are received
   * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
   * Defaults to false.
   * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
   *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
   *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
   *  ScheduleSign comes in to “poke” it and force it to go through immediately.
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
   *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
   *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
   *       expire at expiration_time.
   * 
* * bool wait_for_expiry = 13; */ private void clearWaitForExpiry() { waitForExpiry_ = false; } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return parseDelimitedFrom(DEFAULT_INSTANCE, input); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input, extensionRegistry); } public static Builder newBuilder() { return (Builder) DEFAULT_INSTANCE.createBuilder(); } public static Builder newBuilder(com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody prototype) { return (Builder) DEFAULT_INSTANCE.createBuilder(prototype); } /** *
   **
   * Create a new <i>schedule entity</i> (or simply, <i>schedule</i>) in the network's action queue.
   * Upon <tt>SUCCESS</tt>, the receipt contains the `ScheduleID` of the created schedule. A schedule
   * entity includes a <tt>scheduledTransactionBody</tt> to be executed.
   * When the schedule has collected enough signing Ed25519 keys to satisfy the schedule's signing
   * requirements, the schedule can be executed.
   * If Long Term Scheduled Transactions are enabled and <tt>wait_for_expiry</tt> is set to <tt>true</tt>, then the schedule
   * will execute at it's <tt>expiration_time</tt>.
   * Otherwise it will execute immediately after the transaction that provided enough Ed25519 keys, a <tt>ScheduleCreate</tt>
   * or <tt>ScheduleSign</tt>.
   * Upon `SUCCESS`, the receipt also includes the <tt>scheduledTransactionID</tt> to
   * use to query for the record of the scheduled transaction's execution (if it occurs). 
   * 
   * The expiration time of a schedule is controlled by it's <tt>expiration_time</tt>. It remains in state and can be queried
   * using <tt>GetScheduleInfo</tt> until expiration, no matter if the scheduled transaction has
   * executed or marked deleted. If Long Term Scheduled Transactions are disabled, the <tt>expiration_time</tt> is always
   * 30 minutes in the future.
   * 
   * If the <tt>adminKey</tt> field is omitted, the resulting schedule is immutable. If the
   * <tt>adminKey</tt> is set, the <tt>ScheduleDelete</tt> transaction can be used to mark it as
   * deleted. The creator may also specify an optional <tt>memo</tt> whose UTF-8 encoding is at most
   * 100 bytes and does not include the zero byte is also supported.
   * 
   * When a <tt>scheduledTransactionBody</tt> is executed, the
   * network only charges its payer the service fee, and not the node and network fees. If the
   * optional <tt>payerAccountID</tt> is set, the network charges this account. Otherwise it charges
   * the payer of the originating <tt>ScheduleCreate</tt>.  
   * 
   * Two <tt>ScheduleCreate</tt> transactions are <i>identical</i> if they are equal in all their
   * fields other than <tt>payerAccountID</tt>.  (For the <tt>scheduledTransactionBody</tt> field,
   * "equal" should be understood in the sense of
   * gRPC object equality in the network software runtime. In particular, a gRPC object with <a
   * href="https://developers.google.com/protocol-buffers/docs/proto3#unknowns">unknown fields</a> is
   * not equal to a gRPC object without unknown fields, even if they agree on all known fields.) 
   * 
   * A <tt>ScheduleCreate</tt> transaction that attempts to re-create an identical schedule already in
   * state will receive a receipt with status <tt>IDENTICAL_SCHEDULE_ALREADY_CREATED</tt>; the receipt
   * will include the <tt>ScheduleID</tt> of the extant schedule, which may be used in a subsequent
   * <tt>ScheduleSign</tt> transaction. (The receipt will also include the <tt>TransactionID</tt> to
   * use in querying for the receipt or record of the scheduled transaction.)
   * 
   * Other notable response codes include, <tt>INVALID_ACCOUNT_ID</tt>,
   * <tt>UNSCHEDULABLE_TRANSACTION</tt>, <tt>UNRESOLVABLE_REQUIRED_SIGNERS</tt>,
   * <tt>INVALID_SIGNATURE</tt>. For more information please see the section of this documentation on
   * the <tt>ResponseCode</tt> enum. 
   * 
* * Protobuf type {@code proto.ScheduleCreateTransactionBody} */ public static final class Builder extends com.google.protobuf.GeneratedMessageLite.Builder< com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody, Builder> implements // @@protoc_insertion_point(builder_implements:proto.ScheduleCreateTransactionBody) com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBodyOrBuilder { // Construct using com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody.newBuilder() private Builder() { super(DEFAULT_INSTANCE); } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ @java.lang.Override public boolean hasScheduledTransactionBody() { return instance.hasScheduledTransactionBody(); } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody getScheduledTransactionBody() { return instance.getScheduledTransactionBody(); } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public Builder setScheduledTransactionBody(com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody value) { copyOnWrite(); instance.setScheduledTransactionBody(value); return this; } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public Builder setScheduledTransactionBody( com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.Builder builderForValue) { copyOnWrite(); instance.setScheduledTransactionBody(builderForValue.build()); return this; } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public Builder mergeScheduledTransactionBody(com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody value) { copyOnWrite(); instance.mergeScheduledTransactionBody(value); return this; } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public Builder clearScheduledTransactionBody() { copyOnWrite(); instance.clearScheduledTransactionBody(); return this; } /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @return The memo. */ @java.lang.Override public java.lang.String getMemo() { return instance.getMemo(); } /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @return The bytes for memo. */ @java.lang.Override public com.google.protobuf.ByteString getMemoBytes() { return instance.getMemoBytes(); } /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @param value The memo to set. * @return This builder for chaining. */ public Builder setMemo( java.lang.String value) { copyOnWrite(); instance.setMemo(value); return this; } /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @return This builder for chaining. */ public Builder clearMemo() { copyOnWrite(); instance.clearMemo(); return this; } /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @param value The bytes for memo to set. * @return This builder for chaining. */ public Builder setMemoBytes( com.google.protobuf.ByteString value) { copyOnWrite(); instance.setMemoBytes(value); return this; } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ @java.lang.Override public boolean hasAdminKey() { return instance.hasAdminKey(); } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getAdminKey() { return instance.getAdminKey(); } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public Builder setAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.setAdminKey(value); return this; } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public Builder setAdminKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { copyOnWrite(); instance.setAdminKey(builderForValue.build()); return this; } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public Builder mergeAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.mergeAdminKey(value); return this; } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public Builder clearAdminKey() { copyOnWrite(); instance.clearAdminKey(); return this; } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ @java.lang.Override public boolean hasPayerAccountID() { return instance.hasPayerAccountID(); } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountID getPayerAccountID() { return instance.getPayerAccountID(); } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public Builder setPayerAccountID(com.hedera.hashgraph.sdk.proto.AccountID value) { copyOnWrite(); instance.setPayerAccountID(value); return this; } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public Builder setPayerAccountID( com.hedera.hashgraph.sdk.proto.AccountID.Builder builderForValue) { copyOnWrite(); instance.setPayerAccountID(builderForValue.build()); return this; } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public Builder mergePayerAccountID(com.hedera.hashgraph.sdk.proto.AccountID value) { copyOnWrite(); instance.mergePayerAccountID(value); return this; } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public Builder clearPayerAccountID() { copyOnWrite(); instance.clearPayerAccountID(); return this; } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ @java.lang.Override public boolean hasExpirationTime() { return instance.hasExpirationTime(); } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Timestamp getExpirationTime() { return instance.getExpirationTime(); } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public Builder setExpirationTime(com.hedera.hashgraph.sdk.proto.Timestamp value) { copyOnWrite(); instance.setExpirationTime(value); return this; } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public Builder setExpirationTime( com.hedera.hashgraph.sdk.proto.Timestamp.Builder builderForValue) { copyOnWrite(); instance.setExpirationTime(builderForValue.build()); return this; } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public Builder mergeExpirationTime(com.hedera.hashgraph.sdk.proto.Timestamp value) { copyOnWrite(); instance.mergeExpirationTime(value); return this; } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public Builder clearExpirationTime() { copyOnWrite(); instance.clearExpirationTime(); return this; } /** *
     **
     * When set to true, the transaction will be evaluated for execution at expiration_time instead
     * of when all required signatures are received.
     * When set to false, the transaction will execute immediately after sufficient signatures are received
     * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
     * Defaults to false.
     * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
     *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
     *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
     *  ScheduleSign comes in to “poke” it and force it to go through immediately.
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
     *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
     *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
     *       expire at expiration_time.
     * 
* * bool wait_for_expiry = 13; * @return The waitForExpiry. */ @java.lang.Override public boolean getWaitForExpiry() { return instance.getWaitForExpiry(); } /** *
     **
     * When set to true, the transaction will be evaluated for execution at expiration_time instead
     * of when all required signatures are received.
     * When set to false, the transaction will execute immediately after sufficient signatures are received
     * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
     * Defaults to false.
     * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
     *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
     *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
     *  ScheduleSign comes in to “poke” it and force it to go through immediately.
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
     *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
     *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
     *       expire at expiration_time.
     * 
* * bool wait_for_expiry = 13; * @param value The waitForExpiry to set. * @return This builder for chaining. */ public Builder setWaitForExpiry(boolean value) { copyOnWrite(); instance.setWaitForExpiry(value); return this; } /** *
     **
     * When set to true, the transaction will be evaluated for execution at expiration_time instead
     * of when all required signatures are received.
     * When set to false, the transaction will execute immediately after sufficient signatures are received
     * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
     * Defaults to false.
     * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
     *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
     *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
     *  ScheduleSign comes in to “poke” it and force it to go through immediately.
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
     *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
     *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
     *       expire at expiration_time.
     * 
* * bool wait_for_expiry = 13; * @return This builder for chaining. */ public Builder clearWaitForExpiry() { copyOnWrite(); instance.clearWaitForExpiry(); return this; } // @@protoc_insertion_point(builder_scope:proto.ScheduleCreateTransactionBody) } @java.lang.Override @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) protected final java.lang.Object dynamicMethod( com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, java.lang.Object arg0, java.lang.Object arg1) { switch (method) { case NEW_MUTABLE_INSTANCE: { return new com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody(); } case NEW_BUILDER: { return new Builder(); } case BUILD_MESSAGE_INFO: { java.lang.Object[] objects = new java.lang.Object[] { "scheduledTransactionBody_", "memo_", "adminKey_", "payerAccountID_", "expirationTime_", "waitForExpiry_", }; java.lang.String info = "\u0000\u0006\u0000\u0000\u0001\r\u0006\u0000\u0000\u0000\u0001\t\u0002\u0208\u0003" + "\t\u0004\t\u0005\t\r\u0007"; return newMessageInfo(DEFAULT_INSTANCE, info, objects); } // fall through case GET_DEFAULT_INSTANCE: { return DEFAULT_INSTANCE; } case GET_PARSER: { com.google.protobuf.Parser parser = PARSER; if (parser == null) { synchronized (com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody.class) { parser = PARSER; if (parser == null) { parser = new DefaultInstanceBasedParser( DEFAULT_INSTANCE); PARSER = parser; } } } return parser; } case GET_MEMOIZED_IS_INITIALIZED: { return (byte) 1; } case SET_MEMOIZED_IS_INITIALIZED: { return null; } } throw new UnsupportedOperationException(); } // @@protoc_insertion_point(class_scope:proto.ScheduleCreateTransactionBody) private static final com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody DEFAULT_INSTANCE; static { ScheduleCreateTransactionBody defaultInstance = new ScheduleCreateTransactionBody(); // New instances are implicitly immutable so no need to make // immutable. DEFAULT_INSTANCE = defaultInstance; com.google.protobuf.GeneratedMessageLite.registerDefaultInstance( ScheduleCreateTransactionBody.class, defaultInstance); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody getDefaultInstance() { return DEFAULT_INSTANCE; } private static volatile com.google.protobuf.Parser PARSER; public static com.google.protobuf.Parser parser() { return DEFAULT_INSTANCE.getParserForType(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy