c
io.horizen.certificatesubmitter
AbstractCertificateSubmitter
Companion object AbstractCertificateSubmitter
abstract class AbstractCertificateSubmitter[TX <: Transaction, H <: SidechainBlockHeaderBase, PM <: SidechainBlockBase[TX, H], FPI <: AbstractFeePaymentsInfo, HSTOR <: AbstractHistoryStorage[PM, FPI, HSTOR], HIS <: AbstractHistory[TX, H, PM, FPI, HSTOR, HIS], MS <: AbstractState[TX, H, PM, MS], VL <: Wallet[Secret, Proposition, TX, PM, VL], MP <: MemoryPool[TX, MP], T <: CertificateData] extends Actor with Timers with SparkzLogging
Certificate submitter listens to the State changes and takes care of of certificate signatures managing (generation, storing and broadcasting)
If submitterEnabled is true, it will try to generate and send the Certificate to MC node in case the proper amount of signatures were collected.
Must be singleton.
Linear Supertypes
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- AbstractCertificateSubmitter
- SparkzLogging
- StrictLogging
- Timers
- Actor
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new AbstractCertificateSubmitter(settings: SidechainSettings, sidechainNodeViewHolderRef: ActorRef, secureEnclaveApiClient: SecureEnclaveApiClient, params: NetworkParams, mainchainChannel: MainchainNodeCertificateApi, submissionStrategy: CertificateSubmissionStrategy, keyRotationStrategy: CircuitStrategy[TX, H, PM, HIS, MS, T])(implicit arg0: ClassTag[PM], ec: ExecutionContext)
Type Members
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
aroundPostRestart(reason: Throwable): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundPostStop(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Timers → Actor
-
def
aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
- Attributes
- protected[akka]
- Definition Classes
- Timers → Actor
-
def
aroundPreStart(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
-
def
aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
- Attributes
- protected[akka]
- Definition Classes
- Timers → Actor
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
calculateSignatures(messageToSign: Array[Byte], signersPublicKeys: Seq[SchnorrProposition]): Try[Seq[CertificateSignatureInfo]]
- Attributes
- protected
-
var
certGenerationState: Boolean
- Attributes
- protected[horizen]
-
val
certificateFee: Option[String]
- Attributes
- protected
-
var
certificateSigningEnabled: Boolean
- Attributes
- protected[horizen]
-
def
checkSubmitter: Receive
- Attributes
- protected
-
def
checkSubmitterMessage(sidechainNodeView: View): Try[Unit]
- Attributes
- protected
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
implicit
val
context: ActorContext
- Definition Classes
- Actor
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
locallyGeneratedSignature: Receive
- Attributes
- protected
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- SparkzLogging
- Annotations
- @inline()
-
val
logger: Logger
- Attributes
- protected
- Definition Classes
- StrictLogging
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newBlockArrived: Receive
- Attributes
- protected
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val numOfParallelRequests: Int
-
def
postRestart(reason: Throwable): Unit
- Definition Classes
- AbstractCertificateSubmitter → Actor
-
def
postStop(): Unit
- Definition Classes
- AbstractCertificateSubmitter → Actor
-
def
preRestart(reason: Throwable, message: Option[Any]): Unit
- Definition Classes
- Actor
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
preStart(): Unit
- Definition Classes
- AbstractCertificateSubmitter → Actor
-
var
provingFileAbsolutePath: String
- Attributes
- protected
-
def
receive: Receive
- Definition Classes
- AbstractCertificateSubmitter → Actor
-
def
reportStrangeInput: Receive
- Attributes
- protected
- val secureEnclaveRequestTimeout: FiniteDuration
-
implicit final
val
self: ActorRef
- Definition Classes
- Actor
-
final
def
sender(): ActorRef
- Definition Classes
- Actor
-
def
signaturesFromEnclave(messageToSign: Array[Byte], indexedPublicKeys: Seq[(SchnorrProposition, Int)]): Seq[CertificateSignatureInfo]
* Gets signatures from Secure Enclave for given public keys.
* Gets signatures from Secure Enclave for given public keys. Ensures that no more than
numOfParallelRequestsare sent to Enclave at the same time. If a batch fails to produce a response insecureEnclaveRequestTimeout, takes what we have and continues. -
var
signaturesStatus: Option[SignaturesStatus]
- Attributes
- protected[horizen]
- def signerStatus: Receive
-
var
submitterEnabled: Boolean
- Attributes
- protected[horizen]
- def submitterStatus: Receive
-
def
supervisorStrategy: SupervisorStrategy
- Definition Classes
- Actor
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- implicit val timeout: Timeout
- val timeoutDuration: FiniteDuration
-
final
def
timers: TimerScheduler
- Definition Classes
- Timers
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
tryToGenerateCertificate: Receive
- Attributes
- protected
-
def
tryToScheduleCertificateGeneration: Receive
- Attributes
- protected
-
def
unhandled(message: Any): Unit
- Definition Classes
- Actor
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated