
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