Packages

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
SparkzLogging, StrictLogging, Timers, Actor, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AbstractCertificateSubmitter
  2. SparkzLogging
  3. StrictLogging
  4. Timers
  5. Actor
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. 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

  1. type Receive = PartialFunction[Any, Unit]
    Definition Classes
    Actor
  2. type View = CurrentView[HIS, MS, VL, MP]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def aroundPostRestart(reason: Throwable): Unit
    Attributes
    protected[akka]
    Definition Classes
    Actor
    Annotations
    @InternalApi()
  5. def aroundPostStop(): Unit
    Attributes
    protected[akka]
    Definition Classes
    Timers → Actor
  6. def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
    Attributes
    protected[akka]
    Definition Classes
    Timers → Actor
  7. def aroundPreStart(): Unit
    Attributes
    protected[akka]
    Definition Classes
    Actor
    Annotations
    @InternalApi()
  8. def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
    Attributes
    protected[akka]
    Definition Classes
    Timers → Actor
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def calculateSignatures(messageToSign: Array[Byte], signersPublicKeys: Seq[SchnorrProposition]): Try[Seq[CertificateSignatureInfo]]
    Attributes
    protected
  11. var certGenerationState: Boolean
    Attributes
    protected[horizen]
  12. val certificateFee: Option[String]
    Attributes
    protected
  13. var certificateSigningEnabled: Boolean
    Attributes
    protected[horizen]
  14. def checkSubmitter: Receive
    Attributes
    protected
  15. def checkSubmitterMessage(sidechainNodeView: View): Try[Unit]
    Attributes
    protected
  16. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  17. implicit val context: ActorContext
    Definition Classes
    Actor
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  20. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. def locallyGeneratedSignature: Receive
    Attributes
    protected
  24. def log: Logger
    Attributes
    protected
    Definition Classes
    SparkzLogging
    Annotations
    @inline()
  25. val logger: Logger
    Attributes
    protected
    Definition Classes
    StrictLogging
  26. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. def newBlockArrived: Receive
    Attributes
    protected
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  30. val numOfParallelRequests: Int
  31. def postRestart(reason: Throwable): Unit
    Definition Classes
    AbstractCertificateSubmitter → Actor
  32. def postStop(): Unit
    Definition Classes
    AbstractCertificateSubmitter → Actor
  33. def preRestart(reason: Throwable, message: Option[Any]): Unit
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  34. def preStart(): Unit
    Definition Classes
    AbstractCertificateSubmitter → Actor
  35. var provingFileAbsolutePath: String
    Attributes
    protected
  36. def receive: Receive
    Definition Classes
    AbstractCertificateSubmitter → Actor
  37. def reportStrangeInput: Receive
    Attributes
    protected
  38. val secureEnclaveRequestTimeout: FiniteDuration
  39. implicit final val self: ActorRef
    Definition Classes
    Actor
  40. final def sender(): ActorRef
    Definition Classes
    Actor
  41. 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 numOfParallelRequests are sent to Enclave at the same time. If a batch fails to produce a response in secureEnclaveRequestTimeout, takes what we have and continues.

  42. var signaturesStatus: Option[SignaturesStatus]
    Attributes
    protected[horizen]
  43. def signerStatus: Receive
  44. var submitterEnabled: Boolean
    Attributes
    protected[horizen]
  45. def submitterStatus: Receive
  46. def supervisorStrategy: SupervisorStrategy
    Definition Classes
    Actor
  47. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  48. implicit val timeout: Timeout
  49. val timeoutDuration: FiniteDuration
  50. final def timers: TimerScheduler
    Definition Classes
    Timers
  51. def toString(): String
    Definition Classes
    AnyRef → Any
  52. def tryToGenerateCertificate: Receive
    Attributes
    protected
  53. def tryToScheduleCertificateGeneration: Receive
    Attributes
    protected
  54. def unhandled(message: Any): Unit
    Definition Classes
    Actor
  55. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  57. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from SparkzLogging

Inherited from StrictLogging

Inherited from Timers

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Ungrouped