java.lang.Object
com.hedera.hashgraph.sdk.proto.ScheduleServiceGrpc
Transactions and queries for the Schedule Service.<br/>
The Schedule Service enables transactions to be submitted without all
required signatures and offers a `scheduleSign` transaction to provide
additional signatures independently after the schedule is created. The
scheduled transaction may be executed immediately when all required
signatures are present, or at expiration if "long term" schedules
are enabled in network configuration.
### Execution
Scheduled transactions SHALL be executed under the following conditions.
1. If "long term" schedules are enabled and `wait_for_expiry` is set for
that schedule then the transaction SHALL NOT be executed before the
network consensus time matches or exceeds the `expiration_time` field
for that schedule.
1. If "long term" schedules are enabled and `wait_for_expiry` is _not_ set
for that schedule, then the transaction SHALL be executed when all
signatures required by the scheduled transaction are active for that
schedule. This MAY be immediately after the `scheduleCreate` or a
subsequent `scheduleSign` transaction, or MAY be at expiration if
the signature requirements are met at that time.
1. If "long term" schedules are _disabled_, then the scheduled transaction
SHALL be executed immediately after all signature requirements for the
scheduled transaction are met during the `scheduleCreate` or a subsequent
`scheduleSign` transaction. The scheduled transaction SHALL NOT be
on expiration when "long term" schedules are disabled.
A schedule SHALL remain in state and MAY be queried with a `getScheduleInfo`
transaction after execution, until the schedule expires.<br/>
When network consensus time matches or exceeds the `expiration_time` for
a schedule, that schedule SHALL be removed from state, whether it has
executed or not.<br/>
If "long term" schedules are _disabled_, the maximum expiration time SHALL
be the consensus time of the `scheduleCreate` transaction extended by
the network configuration value `ledger.scheduleTxExpiryTimeSecs`.
### Block Stream Effects
When a scheduled transaction is executed, the timestamp in the transaction
identifier for that transaction SHALL be 1 nanosecond after the consensus
timestamp for the transaction that resulted in its execution. If execution
occurred at expiration, that transaction may be almost any transaction,
including another scheduled transaction that executed at expiration.<br/>
The transaction identifier for a scheduled transaction that is executed
SHALL have the `scheduled` flag set and SHALL inherit the `accountID` and
`transactionValidStart` values from the `scheduleCreate` that created the
schedule.<br/>
The `scheduleRef` property of the record for a scheduled transaction SHALL
be populated with the schedule identifier of the schedule that executed.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceTransactions and queries for the Schedule Service.<br/> The Schedule Service enables transactions to be submitted without all required signatures and offers a `scheduleSign` transaction to provide additional signatures independently after the schedule is created.static final classA stub to allow clients to do limited synchronous rpc calls to service ScheduleService.static final classA stub to allow clients to do synchronous rpc calls to service ScheduleService.static final classA stub to allow clients to do ListenableFuture-style rpc calls to service ScheduleService.static classBase class for the server implementation of the service ScheduleService.static final classA stub to allow clients to do asynchronous rpc calls to service ScheduleService. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic final io.grpc.ServerServiceDefinitionstatic io.grpc.MethodDescriptor<Transaction, TransactionResponse> static io.grpc.MethodDescriptor<Transaction, TransactionResponse> static io.grpc.ServiceDescriptorstatic io.grpc.MethodDescriptor<Transaction, TransactionResponse> newBlockingStub(io.grpc.Channel channel) Creates a new blocking-style stub that supports unary and streaming output calls on the servicenewBlockingV2Stub(io.grpc.Channel channel) Creates a new blocking-style stub that supports all types of calls on the servicenewFutureStub(io.grpc.Channel channel) Creates a new ListenableFuture-style stub that supports unary calls on the servicenewStub(io.grpc.Channel channel) Creates a new async stub that supports all call types for the service
-
Field Details
-
SERVICE_NAME
- See Also:
-
-
Method Details
-
getCreateScheduleMethod
-
getSignScheduleMethod
-
getDeleteScheduleMethod
-
getGetScheduleInfoMethod
-
newStub
Creates a new async stub that supports all call types for the service -
newBlockingV2Stub
public static ScheduleServiceGrpc.ScheduleServiceBlockingV2Stub newBlockingV2Stub(io.grpc.Channel channel) Creates a new blocking-style stub that supports all types of calls on the service -
newBlockingStub
public static ScheduleServiceGrpc.ScheduleServiceBlockingStub newBlockingStub(io.grpc.Channel channel) Creates a new blocking-style stub that supports unary and streaming output calls on the service -
newFutureStub
Creates a new ListenableFuture-style stub that supports unary calls on the service -
bindService
public static final io.grpc.ServerServiceDefinition bindService(ScheduleServiceGrpc.AsyncService service) -
getServiceDescriptor
public static io.grpc.ServiceDescriptor getServiceDescriptor()
-