libp2p/signed_envelope

    Dark Mode
Search:
Group by:
  Source   Edit

This module implements Signed Envelope.

Types

Envelope = object
  publicKey*: PublicKey
  domain*: string
  payloadType*: seq[byte]
  payload: seq[byte]
  signature*: Signature
  Source   Edit
EnvelopeError = enum
  EnvelopeInvalidProtobuf, EnvelopeFieldMissing, EnvelopeInvalidSignature,
  EnvelopeWrongType
  Source   Edit
SignedPayload[T] = object
  envelope*: Envelope
  data*: T
  Source   Edit

Procs

proc decode(T: typedesc[Envelope]; buf: seq[byte]; domain: string): Result[
    Envelope, EnvelopeError] {....raises: [].}
  Source   Edit
proc decode[T](_: typedesc[SignedPayload[T]]; buffer: seq[byte]): Result[
    SignedPayload[T], EnvelopeError] {....raises: [].}
  Source   Edit
proc encode(env: Envelope): Result[seq[byte], CryptoError] {....raises: [],
    tags: [].}
  Source   Edit
proc encode[T](msg: SignedPayload[T]): Result[seq[byte], CryptoError] {.
    ...raises: [].}
  Source   Edit
proc getField(pb: ProtoBuffer; field: int; value: var Envelope; domain: string): ProtoResult[
    bool] {.inline, ...raises: [], tags: [RootEffect].}
  Source   Edit
proc getField[T](pb: ProtoBuffer; field: int; value: var SignedPayload[T]): ProtoResult[
    bool] {.inline, ...raises: [].}
  Source   Edit
proc init(T: typedesc[Envelope]; privateKey: PrivateKey; payloadType: seq[byte];
          payload: seq[byte]; domain: string): Result[Envelope, CryptoError] {.
    ...raises: [].}
  Source   Edit
proc init[T](_: typedesc[SignedPayload[T]]; privateKey: PrivateKey; data: T): Result[
    SignedPayload[T], CryptoError] {....raises: [].}
  Source   Edit
proc payload(env: Envelope): seq[byte] {....raises: [], tags: [].}
  Source   Edit
proc write(pb: var ProtoBuffer; field: int; env: Envelope): Result[void,
    CryptoError] {....raises: [], tags: [].}
  Source   Edit