final case class SubmissionRequest extends HasProtocolVersionedWrapper[SubmissionRequest] with ProtocolVersionedMemoizedEvidence with Product with Serializable
- Alphabetic
- By Inheritance
- SubmissionRequest
- Serializable
- Product
- Equals
- ProtocolVersionedMemoizedEvidence
- HasCryptographicEvidence
- HasProtocolVersionedWrapper
- HasRepresentativeProtocolVersion
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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 aggregationId(hashOps: HashOps): Option[AggregationId]
Returns the AggregationId for grouping if this is an aggregatable submission.
Returns the AggregationId for grouping if this is an aggregatable submission. The aggregation ID computationally authenticates the relevant contents of the submission request, namely,
- Envelope contents com.digitalasset.canton.sequencing.protocol.ClosedEnvelope.bytes, the recipients com.digitalasset.canton.sequencing.protocol.ClosedEnvelope.recipients of the batch, and whether there are signatures.
- The maxSequencingTime
- The timestampOfSigningKey
- The aggregationRule
The AggregationId does not authenticate the following pieces of a submission request:
- The signatures com.digitalasset.canton.sequencing.protocol.ClosedEnvelope.signatures on the closed envelopes because the signatures differ for each sender. Aggregating the signatures is the whole point of an aggregatable submission. In contrast, the presence of signatures is relevant for the ID because it determines how the com.digitalasset.canton.sequencing.protocol.ClosedEnvelope.bytes are interpreted.
- The sender and the messageId, as they are specific to the sender of a particular submission request
- The isRequest flag because it is irrelevant for delivery or aggregation
- val aggregationRule: Option[AggregationRule]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val batch: Batch[ClosedEnvelope]
- def castRepresentativeProtocolVersion[T <: HasSupportedProtoVersions[_]](target: T): Either[String, RepresentativeProtocolVersion[T]]
Casts this instance's representative protocol version to one for the target type.
Casts this instance's representative protocol version to one for the target type. This only succeeds if the versioning schemes are the same.
- Definition Classes
- HasProtocolVersionedWrapper
- Annotations
- @SuppressWarnings()
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- lazy val companionObj: SubmissionRequest.type
- Attributes
- protected
- Definition Classes
- SubmissionRequest → HasProtocolVersionedWrapper → HasRepresentativeProtocolVersion
- Annotations
- @transient()
- def copy(sender: Member = this.sender, messageId: MessageId = this.messageId, isRequest: Boolean = this.isRequest, batch: Batch[ClosedEnvelope] = this.batch, maxSequencingTime: CantonTimestamp = this.maxSequencingTime, timestampOfSigningKey: Option[CantonTimestamp] = this.timestampOfSigningKey, aggregationRule: Option[AggregationRule] = this.aggregationRule): SubmissionRequest
- Annotations
- @VisibleForTesting()
- val deserializedFrom: Option[ByteString]
Returns the com.google.protobuf.ByteString from which this object has been deserialized, if any.
Returns the com.google.protobuf.ByteString from which this object has been deserialized, if any. If defined, getCryptographicEvidence will use this as the serialization.
- Definition Classes
- SubmissionRequest → ProtocolVersionedMemoizedEvidence
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final lazy val getCryptographicEvidence: ByteString
Returns the serialization of the object into a com.google.protobuf.ByteString.
Returns the serialization of the object into a com.google.protobuf.ByteString. In particular, every instance
i
of this trait must equalfromByteString(i.toByteString)
.This method must yield the same result if it is invoked several times.
- Definition Classes
- ProtocolVersionedMemoizedEvidence → HasCryptographicEvidence
- def isConfirmationRequest(mediator: Member): Boolean
- def isConfirmationResponse(mediator: Member): Boolean
- def isEquivalentTo(protocolVersion: ProtocolVersion): Boolean
- Definition Classes
- HasProtocolVersionedWrapper
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isMediatorResult(mediator: Member): Boolean
- val isRequest: Boolean
- val maxSequencingTime: CantonTimestamp
- val messageId: MessageId
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def protoVersion: ProtoVersion
Yields the Proto version that this class will be serialized to
Yields the Proto version that this class will be serialized to
- Definition Classes
- HasProtocolVersionedWrapper
- val representativeProtocolVersion: RepresentativeProtocolVersion[SubmissionRequest.type]
We have a correspondence {Proto version} <-> {[protocol version]}: each proto version correspond to a list of consecutive protocol versions.
We have a correspondence {Proto version} <-> {[protocol version]}: each proto version correspond to a list of consecutive protocol versions. The representative is one instance of this list, usually the smallest value. In other words, the Proto versions induce an equivalence relation on the list of protocol version, thus use of
representative
.The method
protocolVersionRepresentativeFor
below allows to query the representative for an equivalence class.- Definition Classes
- SubmissionRequest → HasRepresentativeProtocolVersion
- val sender: Member
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val timestampOfSigningKey: Option[CantonTimestamp]
- def toByteArray: Array[Byte]
Yields a byte array representation of the corresponding
UntypedVersionedMessage
wrapper of this instance.Yields a byte array representation of the corresponding
UntypedVersionedMessage
wrapper of this instance.- Definition Classes
- HasProtocolVersionedWrapper
- def toByteString: ByteString
Yields a byte string representation of the corresponding
UntypedVersionedMessage
wrapper of this instance.Yields a byte string representation of the corresponding
UntypedVersionedMessage
wrapper of this instance.- Definition Classes
- HasProtocolVersionedWrapper
- def toByteStringUnmemoized: ByteString
Computes the serialization of the object as a com.google.protobuf.ByteString.
Computes the serialization of the object as a com.google.protobuf.ByteString.
Must meet the contract of getCryptographicEvidence except that when called several times, different com.google.protobuf.ByteStrings may be returned.
- Attributes
- protected[this]
- Definition Classes
- SubmissionRequest → ProtocolVersionedMemoizedEvidence
- lazy val toProtoV0: protocol.v0.SubmissionRequest
- def toProtoVersioned: VersionedMessage[SubmissionRequest]
Yields the proto representation of the class inside an
UntypedVersionedMessage
wrapper.Yields the proto representation of the class inside an
UntypedVersionedMessage
wrapper.Subclasses should make this method public by default, as this supports composing proto serializations. Keep it protected, if there are good reasons for it (e.g. com.digitalasset.canton.serialization.ProtocolVersionedMemoizedEvidence).
Be aware that if calling on a class that defines a LegacyProtoConverter, this method will still return a VersionedMessage. If the current protocol version maps to the legacy converter, deserialization will then fail (as it will try to deserialize to the raw protobuf instead of the VersionedMessage wrapper this was serialized to. Prefer using toByteString which handles this use case correctly.
- Definition Classes
- HasProtocolVersionedWrapper
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def writeToFile(outputFile: String): Unit
- Definition Classes
- HasProtocolVersionedWrapper