Module com.hedera.hashgraph.sdk
Package com.hedera.hashgraph.sdk.proto
Class ScheduleServiceGrpc.ScheduleServiceImplBase
java.lang.Object
com.hedera.hashgraph.sdk.proto.ScheduleServiceGrpc.ScheduleServiceImplBase
- All Implemented Interfaces:
ScheduleServiceGrpc.AsyncService,io.grpc.BindableService
- Enclosing class:
ScheduleServiceGrpc
public abstract static class ScheduleServiceGrpc.ScheduleServiceImplBase
extends Object
implements io.grpc.BindableService, ScheduleServiceGrpc.AsyncService
Base class for the server implementation of the service ScheduleService.
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.
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.hedera.hashgraph.sdk.proto.ScheduleServiceGrpc.AsyncService
createSchedule, deleteSchedule, getScheduleInfo, signSchedule
-
Constructor Details
-
ScheduleServiceImplBase
public ScheduleServiceImplBase()
-
-
Method Details
-
bindService
public final io.grpc.ServerServiceDefinition bindService()- Specified by:
bindServicein interfaceio.grpc.BindableService
-