package attestation
- Alphabetic
- Public
- Protected
Package Members
- package keyManagement
- package serialization
Type Members
- case class Address(evidence: Evidence)(implicit networkPrefix: NetworkPrefix) extends BytesSerializable with Product with Serializable
An address is a network specific commitment to a proposition encumbering a box.
An address is a network specific commitment to a proposition encumbering a box. Addresses incorporate the evidence type and content from a proposition and add a network specific prefix. NOTE: when converted to/from string encodings Addresses will include a 4 byte checksum to allow for external software to enforce correctness checks (this behavior is controlled in the AddressEncoder). This 4 byte checksum is not included in the byte serialization of an Address.
- evidence
a commitment produced from a proposition that identifies that proposition.
- networkPrefix
a runtime specified parameter denoting the type of network that is executing
- sealed abstract class AddressValidationError extends AnyRef
- final class Evidence extends BytesSerializable
Evidence content serves as a fingerprint (or commitment) of a particular proposition that is used to lock a box.
Evidence content serves as a fingerprint (or commitment) of a particular proposition that is used to lock a box. Boxes are locked with 'Evidence' which is the concatentation of a typePrefix ++ content. The type prefix denotes what type of proposition the content references and the content serves as the commitment that a proposition will be checked against when a box is being unlocked during a transaction.
- sealed trait EvidenceProducer[P <: Proposition] extends AnyRef
EvidenceProducer is a type-class that must be implemented by a proposition in order to generate the evidence for that proposition.
EvidenceProducer is a type-class that must be implemented by a proposition in order to generate the evidence for that proposition. The evidence is then used to construct an address that holds outputs from a transaction.
- P
a proposition that is used to encumber a UTXO
- sealed trait KnowledgeProposition[S <: Secret] extends Proposition
- sealed trait Proof[P <: Proposition] extends BytesSerializable
The most general abstraction of fact a prover can provide a non-interactive proof to open a box or to modify an account
The most general abstraction of fact a prover can provide a non-interactive proof to open a box or to modify an account
A proof is non-interactive and thus serializable
- sealed trait ProofOfKnowledge[S <: Secret, P <: KnowledgeProposition[S]] extends Proof[P]
The proof for a given type of
SecretandKnowledgeProposition - sealed trait Proposition extends BytesSerializable
- case class PublicKeyPropositionCurve25519(pubKeyBytes: PublicKey) extends KnowledgeProposition[PrivateKeyCurve25519] with Product with Serializable
- case class SignatureCurve25519(sigBytes: Signature) extends ProofOfKnowledge[PrivateKeyCurve25519, PublicKeyPropositionCurve25519] with Product with Serializable
A proof corresponding to a PublicKeyCurve25519 proposition.
A proof corresponding to a PublicKeyCurve25519 proposition. This is a zero-knowledge proof that argues knowledge of the underlying private key associated with a public key
- sigBytes
25519 signature
- case class ThresholdPropositionCurve25519(threshold: Int, pubKeyProps: SortedSet[PublicKeyPropositionCurve25519]) extends KnowledgeProposition[PrivateKeyCurve25519] with Product with Serializable
- case class ThresholdSignatureCurve25519(signatures: Set[SignatureCurve25519]) extends ProofOfKnowledge[PrivateKeyCurve25519, ThresholdPropositionCurve25519] with Product with Serializable
Value Members
- object Address extends BifrostSerializer[Address] with Serializable
- object AddressEncoder
The Address encoder dictates how addresses are cast To and From strings.
The Address encoder dictates how addresses are cast To and From strings. Since this is the primary method users will interact with the protocol, the Address encoder adds a 4 byte checksum to the Address as a quick check that may be used with external systems.
- object Evidence extends BifrostSerializer[Evidence] with Serializable
- object EvidenceProducer
- case object InvalidAddress extends AddressValidationError with Product with Serializable
- case object InvalidNetworkPrefix extends AddressValidationError with Product with Serializable
- case object NetworkTypeMismatch extends AddressValidationError with Product with Serializable
- object Proof extends Serializable
- object Proposition extends Serializable
- object PublicKeyPropositionCurve25519 extends Serializable
- object SignatureCurve25519 extends Serializable
- object ThresholdPropositionCurve25519 extends Serializable
- object ThresholdSignatureCurve25519 extends Serializable