BoundedAuthorityProtocol.V1.Bounds (Bounded Authority Protocol v0.1.2)

Copy Markdown View Source

Resource ceilings for the v1 wire profile.

Callers may tighten resource ceilings. Cryptographic widths are immutable.

Summary

Functions

Returns the immutable v1 profile maxima.

Builds bounds from a map of caller-supplied tightening overrides.

Types

t()

@type t() :: %BoundedAuthorityProtocol.V1.Bounds{
  anchor_bytes: pos_integer(),
  archive_bytes: pos_integer(),
  archive_chunks: pos_integer(),
  archive_header_bytes: pos_integer(),
  array_items: pos_integer(),
  audiences: pos_integer(),
  chain_row_bytes: pos_integer(),
  chain_rows: pos_integer(),
  clock_skew: pos_integer(),
  compact_bytes: pos_integer(),
  decoded_segment_bytes: pos_integer(),
  depth: pos_integer(),
  digest_bytes: pos_integer(),
  encoded_segment_bytes: pos_integer(),
  float_magnitude: pos_integer(),
  identifier_bytes: pos_integer(),
  integer_magnitude: pos_integer(),
  jcs_bytes: pos_integer(),
  json_bytes: pos_integer(),
  key_bytes: pos_integer(),
  key_transitions: pos_integer(),
  kid_bytes: pos_integer(),
  method_bytes: pos_integer(),
  nonce_bytes: pos_integer(),
  number_lexeme_bytes: pos_integer(),
  object_members: pos_integer(),
  object_version_bytes: pos_integer(),
  one_of_values: pos_integer(),
  operation_bytes: pos_integer(),
  operations: pos_integer(),
  path_segments: pos_integer(),
  proof_max_age: pos_integer(),
  public_key_bytes: pos_integer(),
  selectors: pos_integer(),
  signature_bytes: pos_integer(),
  string_bytes: pos_integer(),
  total_nodes: pos_integer(),
  uri_bytes: pos_integer()
}

Functions

coerce(bounds)

@spec coerce(t() | map()) :: {:ok, t()} | {:error, :invalid}

maximum()

@spec maximum() :: t()

Returns the immutable v1 profile maxima.

new(overrides \\ %{})

@spec new(map()) :: {:ok, t()} | {:error, :invalid}

Builds bounds from a map of caller-supplied tightening overrides.