object LightTransactionViewTree extends HasProtocolVersionedWithContextAndValidationCompanion[LightTransactionViewTree, HashOps]
- Alphabetic
- By Inheritance
- LightTransactionViewTree
- HasProtocolVersionedWithContextAndValidationCompanion
- HasProtocolVersionedWithContextCompanion
- HasProtocolVersionedWrapperWithContextCompanion
- HasProtocolVersionedWrapperCompanion
- Serializable
- HasSupportedProtoVersions
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type DataByteString = ByteString
- Definition Classes
- HasProtocolVersionedWrapperCompanion
- type Deserializer = ((HashOps, ProtocolVersion), DataByteString) => ParsingResult[LightTransactionViewTree]
- Definition Classes
- HasProtocolVersionedWithContextCompanion → HasSupportedProtoVersions
- final case class InvalidLightTransactionViewTree(message: String) extends RuntimeException with Product with Serializable
- type OriginalByteString = ByteString
- Definition Classes
- HasProtocolVersionedWrapperCompanion
- type Serializer = (LightTransactionViewTree) => ByteString
- Definition Classes
- HasSupportedProtoVersions
- type ThisRepresentativeProtocolVersion = RepresentativeProtocolVersion[LightTransactionViewTree.this.type]
- Attributes
- protected
- Definition Classes
- HasSupportedProtoVersions
- case class DefaultValueFromInclusive[T](attribute: (ValueClass) => T, attributeName: String, startInclusive: ThisRepresentativeProtocolVersion, defaultValue: T) extends DefaultValue[T] with Product with Serializable
- Definition Classes
- HasSupportedProtoVersions
- case class DefaultValueUntilExclusive[T](attribute: (ValueClass) => T, attributeName: String, untilExclusive: ThisRepresentativeProtocolVersion, defaultValue: T) extends DefaultValue[T] with Product with Serializable
- Definition Classes
- HasSupportedProtoVersions
- case class EmptyOptionExactlyUntilExclusive[T](attribute: (ValueClass) => Option[T], attributeName: String, untilExclusive: ThisRepresentativeProtocolVersion) extends DefaultValue[Option[T]] with Product with Serializable
- Definition Classes
- HasSupportedProtoVersions
- trait Invariant extends AnyRef
- Definition Classes
- HasSupportedProtoVersions
- case class LegacyProtoConverter extends ProtoCodec with PrettyPrinting with Product with Serializable
Used to (de)serialize classes which for legacy reasons where not wrapped in VersionedMessage Chances are this is NOT the class you want to use, use VersionedProtoConverter instead when adding serialization to a new class
Used to (de)serialize classes which for legacy reasons where not wrapped in VersionedMessage Chances are this is NOT the class you want to use, use VersionedProtoConverter instead when adding serialization to a new class
- Attributes
- protected[this]
- Definition Classes
- HasSupportedProtoVersions
- case class OneElementSeqExactlyUntilExclusive[T](attribute: (ValueClass) => Seq[T], attributeName: String, untilExclusive: ThisRepresentativeProtocolVersion) extends DefaultValue[Seq[T]] with Product with Serializable
- Definition Classes
- HasSupportedProtoVersions
- sealed trait ProtoCodec extends AnyRef
Base class for (de)serializing from/to protobuf of ValueClass from a specific PV
Base class for (de)serializing from/to protobuf of ValueClass from a specific PV
- Definition Classes
- HasSupportedProtoVersions
- case class SupportedProtoVersions extends Product with Serializable
- Definition Classes
- HasSupportedProtoVersions
- case class UnsupportedProtoCodec(fromInclusive: RepresentativeProtocolVersion[HasSupportedProtoVersions.this.type]) extends ProtoCodec with PrettyPrinting with Product with Serializable
- Attributes
- protected[this]
- Definition Classes
- HasSupportedProtoVersions
- case class VersionedProtoConverter extends ProtoCodec with PrettyPrinting with Product with Serializable
Supported Proto version
Supported Proto version
- Attributes
- protected[this]
- Definition Classes
- HasSupportedProtoVersions
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def create(tree: GenTransactionTree, subviewHashes: Seq[ViewHash], rpv: RepresentativeProtocolVersion[LightTransactionViewTree.type]): Either[String, LightTransactionViewTree]
- def deserializationErrorK(error: ProtoDeserializationError): ((HashOps, ProtocolVersion), DataByteString) => ParsingResult[LightTransactionViewTree]
- Attributes
- protected
- Definition Classes
- HasProtocolVersionedWithContextCompanion → HasSupportedProtoVersions
- def deserializeForVersion(rpv: RepresentativeProtocolVersion[LightTransactionViewTree.this.type], deserializeLegacyProto: (Deserializer) => ParsingResult[LightTransactionViewTree], deserializeVersionedProto: => ParsingResult[LightTransactionViewTree]): ParsingResult[LightTransactionViewTree]
- Attributes
- protected
- Definition Classes
- HasProtocolVersionedWrapperCompanion
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fromByteString(context: HashOps, expectedProtocolVersion: ProtocolVersion)(bytes: OriginalByteString): ParsingResult[LightTransactionViewTree]
- Definition Classes
- HasProtocolVersionedWithContextAndValidationCompanion
- def fromByteString(expectedProtocolVersion: ProtocolVersionValidation)(context: (HashOps, ProtocolVersion))(bytes: OriginalByteString): ParsingResult[LightTransactionViewTree]
Variation of
fromByteString
that takes aProtocolVersionValidation
instead of aProtocolVersion
.Variation of
fromByteString
that takes aProtocolVersionValidation
instead of aProtocolVersion
.Use this method when sometimes no protocol version can be passed for the
expectedProtocolVersion
. For these cases useProtocolVersionValidation.NoValidation
. - def fromByteString(expectedProtocolVersion: ProtocolVersion)(context: (HashOps, ProtocolVersion))(bytes: OriginalByteString): ParsingResult[LightTransactionViewTree]
Deserializes the given bytes and checks that the therein embedded proto version matches the
expectedProtocolVersion
.Deserializes the given bytes and checks that the therein embedded proto version matches the
expectedProtocolVersion
.Use this method whenever the origin of the given bytes cannot be trusted, and for example the proto version message field may be set maliciously. This should be your default choice for deserialization.
Hint: If the
ValueClass
requires the domain protocol version for its implementation, pass it as part of the deserialization context and consider using one of the traits suffixed withValidationCompanion
to avoid possibly confusing argument duplication of the domain protocol version.- expectedProtocolVersion
the protocol version on which the sync domain is running on
- context
additional information which is required for the deserialization
- bytes
an untrusted byte string with an embedded proto version
- def fromByteStringLegacy(protocolVersion: ProtocolVersion)(context: (HashOps, ProtocolVersion))(bytes: OriginalByteString): ParsingResult[LightTransactionViewTree]
Use this method when deserializing bytes for classes that have a legacy proto converter to explicitly set the protocol version to use for the deserialization.
Use this method when deserializing bytes for classes that have a legacy proto converter to explicitly set the protocol version to use for the deserialization.
- protocolVersion
protocol version of the bytes to be deserialized
- bytes
data
- Definition Classes
- HasProtocolVersionedWithContextCompanion
- def fromByteStringLegacy(protoVersion: ProtoVersion)(context: (HashOps, ProtocolVersion))(bytes: OriginalByteString): ParsingResult[LightTransactionViewTree]
Use this method when deserializing bytes for classes that have a legacy proto converter to explicitly set the Proto version to use for the deserialization.
Use this method when deserializing bytes for classes that have a legacy proto converter to explicitly set the Proto version to use for the deserialization.
- protoVersion
Proto version of the bytes to be deserialized
- bytes
data
- Definition Classes
- HasProtocolVersionedWithContextCompanion
- def fromByteStringUnsafe(context: (HashOps, ProtocolVersion))(bytes: OriginalByteString): ParsingResult[LightTransactionViewTree]
Deserializes the given bytes without validation!
Deserializes the given bytes without validation!
Unsafe! Do NOT use this method unless you can justify that the given bytes originate from a trusted source.
Hint: If the
ValueClass
requires the domain protocol version for its implementation, pass it as part of the deserialization context and consider using one of the traits suffixed withValidationCompanion
to avoid possibly confusing argument duplication of the domain protocol version.- context
additional information which required for the deserialization
- bytes
a trusted byte string with an embedded proto version
- def fromTransactionViewTree(tvt: FullTransactionViewTree, protocolVersion: ProtocolVersion): LightTransactionViewTree
Turns a full transaction view tree into a lightweight one.
Turns a full transaction view tree into a lightweight one. Not stack-safe.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def invariants: Seq[Invariant]
- Definition Classes
- HasSupportedProtoVersions
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val name: String
The name of the class as used for pretty-printing and error reporting
The name of the class as used for pretty-printing and error reporting
- Definition Classes
- LightTransactionViewTree → HasProtocolVersionedWrapperCompanion → HasSupportedProtoVersions
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def protoVersionFor(protocolVersion: ProtocolVersion): ProtoVersion
Return the Proto version corresponding to the protocol version
Return the Proto version corresponding to the protocol version
- Definition Classes
- HasSupportedProtoVersions
- def protoVersionFor(protocolVersion: RepresentativeProtocolVersion[LightTransactionViewTree.this.type]): ProtoVersion
Return the Proto version corresponding to the representative protocol version
Return the Proto version corresponding to the representative protocol version
- Definition Classes
- HasSupportedProtoVersions
- def protocolVersionRepresentativeFor(protoVersion: ProtoVersion): ParsingResult[RepresentativeProtocolVersion[LightTransactionViewTree.this.type]]
Return the representative protocol version corresponding to the proto version
Return the representative protocol version corresponding to the proto version
- Definition Classes
- HasSupportedProtoVersions
- def protocolVersionRepresentativeFor(protocolVersion: ProtocolVersion): RepresentativeProtocolVersion[LightTransactionViewTree.this.type]
- Definition Classes
- HasSupportedProtoVersions
- def supportedProtoVersion[Proto <: GeneratedMessage](p: GeneratedMessageCompanion[Proto])(fromProto: ((HashOps, ProtocolVersion), Proto) => ParsingResult[LightTransactionViewTree]): Deserializer
- Attributes
- protected
- Definition Classes
- HasProtocolVersionedWithContextCompanion
- val supportedProtoVersions: SupportedProtoVersions
Proto versions that are supported by
fromByteString
See the helpersupportedProtoVersion
below to define aParser
.Proto versions that are supported by
fromByteString
See the helpersupportedProtoVersion
below to define aParser
.- Definition Classes
- LightTransactionViewTree → HasSupportedProtoVersions
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toFullViewTrees[A, B](lens: PLens[A, B, LightTransactionViewTree, FullTransactionViewTree], protocolVersion: ProtocolVersion, hashOps: HashOps, topLevelOnly: Boolean)(lightViewTrees: Seq[A]): (Seq[B], Seq[A], Seq[A])
Converts a sequence of light transaction view trees to the corresponding full view trees.
Converts a sequence of light transaction view trees to the corresponding full view trees. A light transaction view tree can be converted to its corresponding full view tree if and only if all descendants can be converted.
To make the method more generic, light view trees are represented as
A
and full view trees asB
and thelens
parameter is used to convert between these types, as needed.- topLevelOnly
whether to return only top-level full view trees
- lightViewTrees
the light transaction view trees to convert
- returns
A triple consisting of (1) the full view trees that could be converted, (2) the light view trees that could not be converted due to missing descendants, and (3) duplicate light view trees in the input. The view trees in the output are sorted by view position, i.e., in pre-order. If the input contains the same view several times, then the output (1) contains one occurrence and the output (3) every other occurrence of the view.
- def toString(): String
- Definition Classes
- AnyRef → Any
- def tryCreate(tree: GenTransactionTree, subviewHashes: Seq[ViewHash], protocolVersion: ProtocolVersion): LightTransactionViewTree
- Exceptions thrown
InvalidLightTransactionViewTree
if the tree is not a legal lightweight transaction view tree
- def tryProtocolVersionRepresentativeFor(protoVersion: ProtoVersion): RepresentativeProtocolVersion[LightTransactionViewTree.this.type]
Returns the representative protocol version corresponding to the proto version, throws otherwise.
Returns the representative protocol version corresponding to the proto version, throws otherwise.
- Definition Classes
- HasSupportedProtoVersions
- def validateInstance(instance: LightTransactionViewTree, representativeProtocolVersion: ThisRepresentativeProtocolVersion): Either[String, Unit]
Will check that default value rules defined in
companionObj.defaultValues
hold.Will check that default value rules defined in
companionObj.defaultValues
hold.- Definition Classes
- HasProtocolVersionedWrapperCompanion
- 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])
- object LegacyProtoConverter extends Serializable
- Definition Classes
- HasSupportedProtoVersions
- object SupportedProtoVersions extends Serializable
- Definition Classes
- HasSupportedProtoVersions
- object UnsupportedProtoCodec extends Serializable
- Definition Classes
- HasSupportedProtoVersions
- object VersionedProtoConverter extends Serializable
- Definition Classes
- HasSupportedProtoVersions