RPC Errors#

This document references possible errors that can come from RPC calls. It is generated from the OCaml source code (master branch).

Protocol Alpha#

Badly formed constant expression

Found a badly formed constant expression. The 'constant' primitive must always be followed by a string of the hash of the expression it points to.

Id : proto.alpha.Badly_formed_constant_expression
Category : temporary

  { /* Badly formed constant expression
       Found a badly formed constant expression. The 'constant' primitive
       must always be followed by a string of the hash of the expression it
       points to. */
    "kind": "branch",
    "id": "proto.alpha.Badly_formed_constant_expression" }

Smart_rollup_inbox_history: Key already bound to a different value.

Smart_rollup_inbox_history: Remember called with a key that is already bound to a different value.

Id : proto.alpha.Bounded_history_repr.Smart_rollup_inbox_history.key_bound_to_different_value
Category : temporary

  { /* Smart_rollup_inbox_history: Key already bound to a different value.
       Smart_rollup_inbox_history: Remember called with a key that is
       already bound to a different
               value. */
    "kind": "temporary",
    "id":
      "proto.alpha.Bounded_history_repr.Smart_rollup_inbox_history.key_bound_to_different_value",
    "key": $smart_rollup_inbox_hash,
    "existing_value":
      { "index": $positive_bignum,
        "content":
          { "hash": $smart_rollup_merkelized_payload_hashes_hash,
            "level": integer ∈ [0, 2^31] },
        "back_pointers": [ $smart_rollup_inbox_hash ... ] },
    "given_value":
      { "index": $positive_bignum,
        "content":
          { "hash": $smart_rollup_merkelized_payload_hashes_hash,
            "level": integer ∈ [0, 2^31] },
        "back_pointers": [ $smart_rollup_inbox_hash ... ] } }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $smart_rollup_inbox_hash:
    /* The hash of an inbox of a smart rollup (Base58Check-encoded) */
    $unistring
  $smart_rollup_merkelized_payload_hashes_hash:
    /* The hash of the Merkelized payload hashes of a smart rollup inbox
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Smart_rollup_level_inbox_history: Key already bound to a different value.

Smart_rollup_level_inbox_history: Remember called with a key that is already bound to a different value.

Id : proto.alpha.Bounded_history_repr.Smart_rollup_level_inbox_history.key_bound_to_different_value
Category : temporary

  { /* Smart_rollup_level_inbox_history: Key already bound to a different
       value.
       Smart_rollup_level_inbox_history: Remember called with a key that is
       already bound to a different
               value. */
    "kind": "temporary",
    "id":
      "proto.alpha.Bounded_history_repr.Smart_rollup_level_inbox_history.key_bound_to_different_value",
    "key": $smart_rollup_merkelized_payload_hashes_hash,
    "existing_value":
      { "index": $positive_bignum,
        "content": $Smart_rollup_serialized_message_hash,
        "back_pointers":
          [ $smart_rollup_merkelized_payload_hashes_hash ... ],
        "payload": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
    "given_value":
      { "index": $positive_bignum,
        "content": $Smart_rollup_serialized_message_hash,
        "back_pointers":
          [ $smart_rollup_merkelized_payload_hashes_hash ... ],
        "payload": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $Smart_rollup_serialized_message_hash:
    /* The hash of a serialized message of the smart rollup inbox.
       (Base58Check-encoded) */
    $unistring
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $smart_rollup_merkelized_payload_hashes_hash:
    /* The hash of the Merkelized payload hashes of a smart rollup inbox
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

dal_slots_cache: Key already bound to a different value.

dal_slots_cache: Remember called with a key that is already bound to a different value.

Id : proto.alpha.Bounded_history_repr.dal_slots_cache.key_bound_to_different_value
Category : temporary

  { /* dal_slots_cache: Key already bound to a different value.
       dal_slots_cache: Remember called with a key that is already bound to
       a different
               value. */
    "kind": "temporary",
    "id":
      "proto.alpha.Bounded_history_repr.dal_slots_cache.key_bound_to_different_value",
    "key": $dal_skip_list_pointer,
    "existing_value":
      { /* dal_skip_list_legacy */
        "kind": "dal_skip_list_legacy",
        "skip_list": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
      || { /* dal_skip_list */
           "kind": "dal_skip_list",
           "skip_list":
             { "index": $positive_bignum,
               "content":
                 { /* unattested */
                   "kind": "unattested",
                   "level": integer ∈ [0, 2^31],
                   "index": integer ∈ [0, 255] }
                 || /* attested */
                 { /* v0 */
                   "kind": "attested",
                   "version": "0",
                   "level": integer ∈ [0, 2^31],
                   "index": integer ∈ [0, 255],
                   "commitment": $DAL_commitment },
               "back_pointers": [ $dal_skip_list_pointer ... ] } },
    "given_value":
      { /* dal_skip_list_legacy */
        "kind": "dal_skip_list_legacy",
        "skip_list": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
      || { /* dal_skip_list */
           "kind": "dal_skip_list",
           "skip_list":
             { "index": $positive_bignum,
               "content":
                 { /* unattested */
                   "kind": "unattested",
                   "level": integer ∈ [0, 2^31],
                   "index": integer ∈ [0, 255] }
                 || /* attested */
                 { /* v0 */
                   "kind": "attested",
                   "version": "0",
                   "level": integer ∈ [0, 2^31],
                   "index": integer ∈ [0, 255],
                   "commitment": $DAL_commitment },
               "back_pointers": [ $dal_skip_list_pointer ... ] } } }
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $dal_skip_list_pointer:
    /* A hash that represents the skip list pointers (Base58Check-encoded) */
    $unistring
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The attester is not part of the DAL committee for this level

The attester is not part of the DAL committee for this level

Id : proto.alpha.Dal_data_availibility_attester_not_in_committee
Category : temporary

  { /* The attester is not part of the DAL committee for this level
       The attester is not part of the DAL committee for this level */
    "kind": "permanent",
    "id": "proto.alpha.Dal_data_availibility_attester_not_in_committee",
    "attester": $Signature.Public_key_hash,
    "level": integer ∈ [0, 2^31],
    "slot": integer ∈ [0, 2^16-1] }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Add an element in slots skip list that violates ordering

Attempting to add an element on top of the Dal confirmed slots skip list that violates the ordering.

Id : proto.alpha.Dal_slot_repr.add_element_in_slots_skip_list_violates_ordering
Category : temporary

  { /* Add an element in slots skip list that violates ordering
       Attempting to add an element on top of the Dal confirmed slots skip
       list that violates the ordering. */
    "kind": "temporary",
    "id":
      "proto.alpha.Dal_slot_repr.add_element_in_slots_skip_list_violates_ordering",
    ... }

Dal invalid proof deserialization

Error occured during dal proof deserialization

Id : proto.alpha.Dal_slot_repr.invalid_proof_deserialization
Category : temporary

  { /* Dal invalid proof deserialization
       Error occured during dal proof deserialization */
    "kind": "permanent",
    "id": "proto.alpha.Dal_slot_repr.invalid_proof_deserialization",
    ... }

Dal invalid proof serialization

Error occured during dal proof serialization

Id : proto.alpha.Dal_slot_repr.invalid_proof_serialization
Category : temporary

  { /* Dal invalid proof serialization
       Error occured during dal proof serialization */
    "kind": "permanent",
    "id": "proto.alpha.Dal_slot_repr.invalid_proof_serialization",
    ... }

Tried to play a dissecting when the final move started

Tried to play a dissecting when the final move started

Id : proto.alpha.Dissecting_during_final_move
Category : temporary

  { /* Tried to play a dissecting when the final move started
       Tried to play a dissecting when the final move started */
    "kind": "temporary",
    "id": "proto.alpha.Dissecting_during_final_move" }

Dissection choice not found

Dissection choice not found

Id : proto.alpha.Dissection_choice_not_found
Category : temporary

  { /* Dissection choice not found
       Dissection choice not found */
    "kind": "temporary",
    "id": "proto.alpha.Dissection_choice_not_found",
    "choice": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

The distance for a proof should be equal to 1

The distance for a proof should be equal to 1

Id : proto.alpha.Dissection_unexpected_section_size
Category : temporary

  { /* The distance for a proof should be equal to 1
       The distance for a proof should be equal to 1 */
    "kind": "permanent",
    "id": "proto.alpha.Dissection_unexpected_section_size",
    "n": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Expected binary proof

An invalid proof has been submitted

Id : proto.alpha.Expected_binary_proof
Category : temporary

  { /* Expected binary proof
       An invalid proof has been submitted */
    "kind": "permanent",
    "id": "proto.alpha.Expected_binary_proof" }

Expression already registered

Attempted to register an expression as global constant that has already been registered.

Id : proto.alpha.Expression_already_registered
Category : temporary

  { /* Expression already registered
       Attempted to register an expression as global constant that has
       already been registered. */
    "kind": "branch",
    "id": "proto.alpha.Expression_already_registered" }

Expression too deep

Attempted to register an expression that, after fully expanding all referenced global constants, would result in too many levels of nesting.

Id : proto.alpha.Expression_too_deep
Category : temporary

  { /* Expression too deep
       Attempted to register an expression that, after fully expanding all
       referenced global constants, would result in too many levels of
       nesting. */
    "kind": "branch",
    "id": "proto.alpha.Expression_too_deep" }

Expression too large

Encountered an expression that, after expanding all constants, is larger than the expression size limit.

Id : proto.alpha.Expression_too_large
Category : temporary

  { /* Expression too large
       Encountered an expression that, after expanding all constants, is
       larger than the expression size limit. */
    "kind": "branch",
    "id": "proto.alpha.Expression_too_large" }

Failed to get script for contract

Failed to get script for contract when scanning operations for tickets

Id : proto.alpha.Failed_to_get_script
Category : temporary

  { /* Failed to get script for contract
       Failed to get script for contract when scanning operations for
       tickets */
    "kind": "permanent",
    "id": "proto.alpha.Failed_to_get_script",
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Failed to hash node

Failed to hash node for a key in the ticket-balance table

Id : proto.alpha.Failed_to_hash_node
Category : temporary

  { /* Failed to hash node
       Failed to hash node for a key in the ticket-balance table */
    "kind": "branch",
    "id": "proto.alpha.Failed_to_hash_node" }

Failed to load big-map value type

Failed to load big-map value type when computing ticket diffs.

Id : proto.alpha.Failed_to_load_big_map_value_type
Category : temporary

  { /* Failed to load big-map value type
       Failed to load big-map value type when computing ticket diffs. */
    "kind": "permanent",
    "id": "proto.alpha.Failed_to_load_big_map_value_type",
    "big_map_id": $alpha.big_map_id }
  $alpha.big_map_id:
    /* Big map identifier
       A big map identifier */
    $bignum
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string

Merkle_list_invalid_position

Merkle_list_invalid_position

Id : proto.alpha.Merkle_list_invalid_position
Category : temporary

  { /* Merkle_list_invalid_position
       Merkle_list_invalid_position */
    "kind": "temporary",
    "id": "proto.alpha.Merkle_list_invalid_position" }

Negative ticket balance

Attempted to set a negative ticket balance value

Id : proto.alpha.Negative_ticket_balance
Category : temporary

  { /* Negative ticket balance
       Attempted to set a negative ticket balance value */
    "kind": "permanent",
    "id": "proto.alpha.Negative_ticket_balance",
    "key": $script_expr,
    "balance": $bignum }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $script_expr:
    /* A script expression ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Tried to look up nonexistent global

No registered global was found at the given hash in storage.

Id : proto.alpha.Nonexistent_global
Category : temporary

  { /* Tried to look up nonexistent global
       No registered global was found at the given hash in storage. */
    "kind": "branch",
    "id": "proto.alpha.Nonexistent_global" }

The start state hash of the proof is invalid

The start state hash of the proof is invalid

Id : proto.alpha.Proof_start_state_hash_mismatch
Category : temporary

  { /* The start state hash of the proof is invalid
       The start state hash of the proof is invalid */
    "kind": "temporary",
    "id": "proto.alpha.Proof_start_state_hash_mismatch",
    "start_state_hash":
      $smart_rollup_state_hash /* Some */ || null /* None */,
    "start_proof": $smart_rollup_state_hash }
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Failed to refute the stop state hash with the proof

Failed to refute the stop state hash with the proof

Id : proto.alpha.Proof_stop_state_hash_failed_to_refute
Category : temporary

  { /* Failed to refute the stop state hash with the proof
       Failed to refute the stop state hash with the proof */
    "kind": "temporary",
    "id": "proto.alpha.Proof_stop_state_hash_failed_to_refute",
    "stop_state_hash":
      $smart_rollup_state_hash /* Some */ || null /* None */,
    "stop_proof": $smart_rollup_state_hash /* Some */ || null /* None */ }
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Failed to validate the stop state hash with the proof

Failed to validate the stop state hash with the proof

Id : proto.alpha.Proof_stop_state_hash_failed_to_validate
Category : temporary

  { /* Failed to validate the stop state hash with the proof
       Failed to validate the stop state hash with the proof */
    "kind": "temporary",
    "id": "proto.alpha.Proof_stop_state_hash_failed_to_validate",
    "stop_state_hash":
      $smart_rollup_state_hash /* Some */ || null /* None */,
    "stop_proof": $smart_rollup_state_hash /* Some */ || null /* None */ }
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unsupported non empty overlay

Unsupported big-map value with non-empty overlay

Id : proto.alpha.Unsupported_non_empty_overlay
Category : temporary

  { /* Unsupported non empty overlay
       Unsupported big-map value with non-empty overlay */
    "kind": "branch",
    "id": "proto.alpha.Unsupported_non_empty_overlay" }

Unsupported type operation

Types embedding operations are not supported

Id : proto.alpha.Unsupported_type_operation
Category : temporary

  { /* Unsupported type operation
       Types embedding operations are not supported */
    "kind": "branch",
    "id": "proto.alpha.Unsupported_type_operation" }

Ticket balance used storage underflow

Attempt to free more bytes than allocated for the tickets balance

Id : proto.alpha.Used_storage_underflow
Category : temporary

  { /* Ticket balance used storage underflow
       Attempt to free more bytes than allocated for the tickets balance */
    "kind": "permanent",
    "id": "proto.alpha.Used_storage_underflow" }

Missing shell_header during finalisation of a block

During finalisation of a block header in Application mode or Full construction mode, a shell header should be provided so that a cache nonce can be computed.

Id : proto.alpha.apply.missing_shell_header
Category : temporary

  { /* Missing shell_header during finalisation of a block
       During finalisation of a block header in Application mode or Full
       construction mode, a shell header should be provided so that a cache
       nonce can be computed. */
    "kind": "permanent",
    "id": "proto.alpha.apply.missing_shell_header",
    ... }

Insufficient attestation power

The attestation power is insufficient to satisfy the consensus threshold.

Id : proto.alpha.baking.insufficient_attestation_power
Category : temporary

  { /* Insufficient attestation power
       The attestation power is insufficient to satisfy the consensus
       threshold. */
    "kind": "permanent",
    "id": "proto.alpha.baking.insufficient_attestation_power",
    "attestation_power": integer ∈ [-2^30, 2^30],
    "consensus_threshold": integer ∈ [-2^30, 2^30] }

Invalid bitfield’s position

Bitfields does not accept negative positions

Id : proto.alpha.bitfield_invalid_position
Category : temporary

  { /* Invalid bitfield’s position
       Bitfields does not accept negative positions */
    "kind": "permanent",
    "id": "proto.alpha.bitfield_invalid_position",
    "position": integer ∈ [-2^30, 2^30] }

Multiple revelations were included in a manager operation

A manager operation should not contain more than one revelation

Id : proto.alpha.block.multiple_revelation
Category : temporary

  { /* Multiple revelations were included in a manager operation
       A manager operation should not contain more than one revelation */
    "kind": "permanent",
    "id": "proto.alpha.block.multiple_revelation" }

Invalid block signature

A block was not signed with the expected private key.

Id : proto.alpha.block_header.invalid_block_signature
Category : temporary

  { /* Invalid block signature
       A block was not signed with the expected private key. */
    "kind": "permanent",
    "id": "proto.alpha.block_header.invalid_block_signature",
    "block": $block_hash,
    "expected": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid commitment in block header

The block header has invalid commitment.

Id : proto.alpha.block_header.invalid_commitment
Category : temporary

  { /* Invalid commitment in block header
       The block header has invalid commitment. */
    "kind": "permanent",
    "id": "proto.alpha.block_header.invalid_commitment",
    "expected": boolean }

Invalid payload round

The given payload round is invalid.

Id : proto.alpha.block_header.invalid_payload_round
Category : temporary

  { /* Invalid payload round
       The given payload round is invalid. */
    "kind": "permanent",
    "id": "proto.alpha.block_header.invalid_payload_round",
    "payload_round": integer ∈ [-2^31-1, 2^31],
    "round": integer ∈ [-2^31-1, 2^31] }

Insufficient block proof-of-work stamp

The block's proof-of-work stamp is insufficient

Id : proto.alpha.block_header.invalid_stamp
Category : temporary

  { /* Insufficient block proof-of-work stamp
       The block's proof-of-work stamp is insufficient */
    "kind": "permanent",
    "id": "proto.alpha.block_header.invalid_stamp" }

Wrong timestamp

Block timestamp not the expected one.

Id : proto.alpha.block_header.wrong_timestamp
Category : temporary

  { /* Wrong timestamp
       Block timestamp not the expected one. */
    "kind": "permanent",
    "id": "proto.alpha.block_header.wrong_timestamp",
    "block_timestamp": $timestamp.protocol,
    "expected_timestamp": $timestamp.protocol }
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Forbidden delegation from unrevealed public key

Tried to delegate from an unrevealed public key

Id : proto.alpha.bootstrap.unrevealed_public_key
Category : temporary

  { /* Forbidden delegation from unrevealed public key
       Tried to delegate from an unrevealed public key */
    "kind": "permanent",
    "id": "proto.alpha.bootstrap.unrevealed_public_key",
    "delegator": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot retrieve predecessor level

Cannot retrieve predecessor level.

Id : proto.alpha.cannot_retrieve_predecessor_level
Category : temporary

  { /* Cannot retrieve predecessor level
       Cannot retrieve predecessor level. */
    "kind": "temporary",
    "id": "proto.alpha.cannot_retrieve_predecessor_level" }

Invalid protocol constants

The provided protocol constants are not coherent.

Id : proto.alpha.constants.invalid_protocol_constants
Category : temporary

  { /* Invalid protocol constants
       The provided protocol constants are not coherent. */
    "kind": "permanent",
    "id": "proto.alpha.constants.invalid_protocol_constants",
    "reason": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Failed to decode parameter

Unexpected JSON object.

Id : proto.alpha.context.failed_to_decode_parameter
Category : temporary

  { /* Failed to decode parameter
       Unexpected JSON object. */
    "kind": "temporary",
    "id": "proto.alpha.context.failed_to_decode_parameter",
    "contents": any,
    "error": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Failed to parse parameter

The protocol parameters are not valid JSON.

Id : proto.alpha.context.failed_to_parse_parameter
Category : temporary

  { /* Failed to parse parameter
       The protocol parameters are not valid JSON. */
    "kind": "temporary",
    "id": "proto.alpha.context.failed_to_parse_parameter",
    "contents": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }

Storage error (fatal internal error)

An error that should never happen unless something has been deleted or corrupted in the database.

Id : proto.alpha.context.storage_error
Category : temporary

  /* Storage error (fatal internal error)
     An error that should never happen unless something has been deleted or
     corrupted in the database. */
  { /* Incompatible_protocol_version */
    "kind": "permanent",
    "id": "proto.alpha.context.storage_error",
    "incompatible_protocol_version": $unistring }
  || { /* Missing_key */
       "kind": "permanent",
       "id": "proto.alpha.context.storage_error",
       "missing_key": [ $unistring ... ],
       "function": "set" | "get" | "copy" | "del" }
  || { /* Existing_key */
       "kind": "permanent",
       "id": "proto.alpha.context.storage_error",
       "existing_key": [ $unistring ... ] }
  || { /* Corrupted_data */
       "kind": "permanent",
       "id": "proto.alpha.context.storage_error",
       "corrupted_data": [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Balance too low

An operation tried to spend more tokens than the contract has

Id : proto.alpha.contract.balance_too_low
Category : temporary

  { /* Balance too low
       An operation tried to spend more tokens than the contract has */
    "kind": "temporary",
    "id": "proto.alpha.contract.balance_too_low",
    "contract": $alpha.contract_id,
    "balance": $alpha.mutez,
    "amount": $alpha.mutez }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot pay storage fee

The storage fee is higher than the contract balance

Id : proto.alpha.contract.cannot_pay_storage_fee
Category : temporary

  { /* Cannot pay storage fee
       The storage fee is higher than the contract balance */
    "kind": "temporary",
    "id": "proto.alpha.contract.cannot_pay_storage_fee" }

Invalid counter (not yet reached) in a manager operation

An operation assumed a contract counter in the future

Id : proto.alpha.contract.counter_in_the_future
Category : temporary

  { /* Invalid counter (not yet reached) in a manager operation
       An operation assumed a contract counter in the future */
    "kind": "temporary",
    "id": "proto.alpha.contract.counter_in_the_future",
    "contract": $alpha.contract_id,
    "expected": $bignum,
    "found": $bignum }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid counter (already used) in a manager operation

An operation assumed a contract counter in the past

Id : proto.alpha.contract.counter_in_the_past
Category : temporary

  { /* Invalid counter (already used) in a manager operation
       An operation assumed a contract counter in the past */
    "kind": "branch",
    "id": "proto.alpha.contract.counter_in_the_past",
    "contract": $alpha.contract_id,
    "expected": $bignum,
    "found": $bignum }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Empty transaction

Forbidden to credit 0ꜩ to a contract without code.

Id : proto.alpha.contract.empty_transaction
Category : temporary

  { /* Empty transaction
       Forbidden to credit 0ꜩ to a contract without code. */
    "kind": "branch",
    "id": "proto.alpha.contract.empty_transaction",
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Contract storage failure

Unexpected contract storage error

Id : proto.alpha.contract.failure
Category : temporary

  { /* Contract storage failure
       Unexpected contract storage error */
    "kind": "permanent",
    "id": "proto.alpha.contract.failure",
    "message": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid contract notation

A malformed contract notation was given to an RPC or in a script.

Id : proto.alpha.contract.invalid_contract_notation
Category : temporary

  { /* Invalid contract notation
       A malformed contract notation was given to an RPC or in a script. */
    "kind": "permanent",
    "id": "proto.alpha.contract.invalid_contract_notation",
    "notation": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent public key hash

A revealed manager public key is inconsistent with the announced hash

Id : proto.alpha.contract.manager.inconsistent_hash
Category : temporary

  { /* Inconsistent public key hash
       A revealed manager public key is inconsistent with the announced
       hash */
    "kind": "permanent",
    "id": "proto.alpha.contract.manager.inconsistent_hash",
    "public_key": $Signature.Public_key,
    "expected_hash": $Signature.Public_key_hash,
    "provided_hash": $Signature.Public_key_hash }
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent public key

A provided manager public key is different with the public key stored in the contract

Id : proto.alpha.contract.manager.inconsistent_public_key
Category : temporary

  { /* Inconsistent public key
       A provided manager public key is different with the public key
       stored in the contract */
    "kind": "permanent",
    "id": "proto.alpha.contract.manager.inconsistent_public_key",
    "public_key": $Signature.Public_key,
    "expected_public_key": $Signature.Public_key }
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unregistered delegate

A contract cannot be delegated to an unregistered delegate

Id : proto.alpha.contract.manager.unregistered_delegate
Category : temporary

  { /* Unregistered delegate
       A contract cannot be delegated to an unregistered delegate */
    "kind": "permanent",
    "id": "proto.alpha.contract.manager.unregistered_delegate",
    "hash": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing manager contract

The manager contract is missing from the storage

Id : proto.alpha.contract.missing_manager_contract
Category : temporary

  { /* Missing manager contract
       The manager contract is missing from the storage */
    "kind": "branch",
    "id": "proto.alpha.contract.missing_manager_contract",
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Negative storage input

The storage amount asked for an operation is null or negative

Id : proto.alpha.contract.negative_storage_input
Category : temporary

  { /* Negative storage input
       The storage amount asked for an operation is null or negative */
    "kind": "temporary",
    "id": "proto.alpha.contract.negative_storage_input" }

Unexpected non-empty transaction

This address cannot initiate non-empty transactions

Id : proto.alpha.contract.non_empty_transaction_from_source
Category : temporary

  { /* Unexpected non-empty transaction
       This address cannot initiate non-empty transactions */
    "kind": "branch",
    "id": "proto.alpha.contract.non_empty_transaction_from_source",
    "source": $alpha.transaction_destination }
  $alpha.transaction_destination:
    /* A destination of a transaction
       A destination notation compatible with the contract notation as
       given to an RPC or inside scripts. Can be a base58 implicit contract
       hash, a base58 originated contract hash, a base58 originated
       transaction rollup, or a base58 originated smart rollup. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Non existing contract

A contract handle is not present in the context (either it never was or it has been destroyed)

Id : proto.alpha.contract.non_existing_contract
Category : temporary

  { /* Non existing contract
       A contract handle is not present in the context (either it never was
       or it has been destroyed) */
    "kind": "temporary",
    "id": "proto.alpha.contract.non_existing_contract",
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Manager operation already revealed

One tried to reveal twice a manager public key

Id : proto.alpha.contract.previously_revealed_key
Category : temporary

  { /* Manager operation already revealed
       One tried to reveal twice a manager public key */
    "kind": "branch",
    "id": "proto.alpha.contract.previously_revealed_key",
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Manager operation precedes key revelation

One tried to apply a manager operation without revealing the manager public key

Id : proto.alpha.contract.unrevealed_key
Category : temporary

  { /* Manager operation precedes key revelation
       One tried to apply a manager operation without revealing the manager
       public key */
    "kind": "branch",
    "id": "proto.alpha.contract.unrevealed_key",
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Contract not originated

Non originated contract detected in ticket update.

Id : proto.alpha.contract_not_originated
Category : temporary

  { /* Contract not originated
       Non originated contract detected in ticket update. */
    "kind": "permanent",
    "id": "proto.alpha.contract_not_originated",
    ... }

DAL attestation exceeded the limit

The attestation for data availability is a too big

Id : proto.alpha.dal_attestation_size_limit_exceeded
Category : temporary

  { /* DAL attestation exceeded the limit
       The attestation for data availability is a too big */
    "kind": "permanent",
    "id": "proto.alpha.dal_attestation_size_limit_exceeded",
    "maximum_size": integer ∈ [-2^30, 2^30],
    "got": integer ∈ [-2^30, 2^30] }

DAL cryptobox error

Error occurred while initialising the cryptobox

Id : proto.alpha.dal_cryptobox_error
Category : temporary

  { /* DAL cryptobox error
       Error occurred while initialising the cryptobox */
    "kind": "permanent",
    "id": "proto.alpha.dal_cryptobox_error",
    "error": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid Dal page index

The given index is out of range of representable page indices

Id : proto.alpha.dal_page_index_repr.index.invalid_index
Category : temporary

  { /* Invalid Dal page index
       The given index is out of range of representable page indices */
    "kind": "permanent",
    "id": "proto.alpha.dal_page_index_repr.index.invalid_index",
    "given": integer ∈ [-2^30, 2^30],
    "min": integer ∈ [-2^30, 2^30],
    "max": integer ∈ [-2^30, 2^30] }

DAL publish slot header duplicate

A slot header for this slot was already proposed

Id : proto.alpha.dal_publish_commitment_duplicate
Category : temporary

  { /* DAL publish slot header duplicate
       A slot header for this slot was already proposed */
    "kind": "permanent",
    "id": "proto.alpha.dal_publish_commitment_duplicate",
    "proposed":
      { /* v0 */
        "version": "0",
        "level": integer ∈ [0, 2^31],
        "index": integer ∈ [0, 255],
        "commitment": $DAL_commitment } }
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

DAL slot header invalid index

Bad index for slot header

Id : proto.alpha.dal_publish_commitment_invalid_index
Category : temporary

  { /* DAL slot header invalid index
       Bad index for slot header */
    "kind": "permanent",
    "id": "proto.alpha.dal_publish_commitment_invalid_index",
    "given": integer ∈ [0, 255],
    "got": integer ∈ [0, 255] }

DAL publish slot header invalid proof

The slot header's commitment proof does not check

Id : proto.alpha.dal_publish_commitment_invalid_proof
Category : temporary

  { /* DAL publish slot header invalid proof
       The slot header's commitment proof does not check */
    "kind": "permanent",
    "id": "proto.alpha.dal_publish_commitment_invalid_proof",
    "commitment": $DAL_commitment,
    "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

DAL slot header with low fees

Slot header with too low fees

Id : proto.alpha.dal_publish_commitment_with_low_fees
Category : temporary

  { /* DAL slot header with low fees
       Slot header with too low fees */
    "kind": "permanent",
    "id": "proto.alpha.dal_publish_commitment_with_low_fees",
    "proposed": $alpha.mutez }
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Dal register invalid slot

Attempt to register a slot which is invalid (the index is out of bounds).

Id : proto.alpha.dal_register_invalid_slot
Category : temporary

  { /* Dal register invalid slot
       Attempt to register a slot which is invalid (the index is out of
       bounds). */
    "kind": "permanent",
    "id": "proto.alpha.dal_register_invalid_slot",
    "length": integer ∈ [-2^30, 2^30],
    "slot_header":
      { /* v0 */
        "version": "0",
        "level": integer ∈ [0, 2^31],
        "index": integer ∈ [0, 255],
        "commitment": $DAL_commitment } }
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

DAL slot index negative or above hard limit

Slot index above hard limit

Id : proto.alpha.dal_slot_index_negative_orabove_hard_limit
Category : temporary

  { /* DAL slot index negative or above hard limit
       Slot index above hard limit */
    "kind": "permanent",
    "id": "proto.alpha.dal_slot_index_negative_orabove_hard_limit",
    "given": $int64,
    "limit": $int64 }
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string

Invalid Dal slot index

The given index is out of range of representable slot indices

Id : proto.alpha.dal_slot_index_repr.index.invalid_index
Category : temporary

  { /* Invalid Dal slot index
       The given index is out of range of representable slot indices */
    "kind": "permanent",
    "id": "proto.alpha.dal_slot_index_repr.index.invalid_index",
    "given": integer ∈ [-2^30, 2^30],
    "min": integer ∈ [-2^30, 2^30],
    "max": integer ∈ [-2^30, 2^30] }

Dal proof error

Error occurred during Dal proof production or validation

Id : proto.alpha.dal_slot_repr.slots_history.dal_proof_error
Category : temporary

  { /* Dal proof error
       Error occurred during Dal proof production or validation */
    "kind": "permanent",
    "id": "proto.alpha.dal_slot_repr.slots_history.dal_proof_error",
    "error": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected page size

The size of the given page content doesn't match the expected one.

Id : proto.alpha.dal_slot_repr.slots_history.unexpected_page_size
Category : temporary

  { /* Unexpected page size
       The size of the given page content doesn't match the expected one. */
    "kind": "permanent",
    "id": "proto.alpha.dal_slot_repr.slots_history.unexpected_page_size",
    "expected_size": integer ∈ [-2^15, 2^15-1],
    "page_size": integer ∈ [-2^15, 2^15-1] }

Delegate already active

Useless delegate reactivation

Id : proto.alpha.delegate.already_active
Category : temporary

  { /* Delegate already active
       Useless delegate reactivation */
    "kind": "temporary",
    "id": "proto.alpha.delegate.already_active" }

Active consensus key

The delegate consensus key is already used by another delegate

Id : proto.alpha.delegate.consensus_key.active
Category : temporary

  { /* Active consensus key
       The delegate consensus key is already used by another delegate */
    "kind": "permanent",
    "id": "proto.alpha.delegate.consensus_key.active" }

Invalid key for consensus key update

Tried to update the consensus key with the active key

Id : proto.alpha.delegate.consensus_key.invalid_noop
Category : temporary

  { /* Invalid key for consensus key update
       Tried to update the consensus key with the active key */
    "kind": "permanent",
    "id": "proto.alpha.delegate.consensus_key.invalid_noop",
    "cycle": integer ∈ [-2^31-1, 2^31] }

Consensus key cannot be a tz4

Consensus key cannot be a tz4 (BLS public key).

Id : proto.alpha.delegate.consensus_key.tz4
Category : temporary

  { /* Consensus key cannot be a tz4
       Consensus key cannot be a tz4 (BLS public key). */
    "kind": "permanent",
    "id": "proto.alpha.delegate.consensus_key.tz4",
    "delegate_pk": $Bls12_381.Public_key }
  $Bls12_381.Public_key:
    /* A Bls12_381 public key (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Empty delegate account

Cannot register a delegate when its implicit account is empty

Id : proto.alpha.delegate.empty_delegate_account
Category : temporary

  { /* Empty delegate account
       Cannot register a delegate when its implicit account is empty */
    "kind": "permanent",
    "id": "proto.alpha.delegate.empty_delegate_account",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Forbidden delegate

Delegates are forbidden to be tz4 (BLS) accounts.

Id : proto.alpha.delegate.forbidden_tz4
Category : temporary

  { /* Forbidden delegate
       Delegates are forbidden to be tz4 (BLS) accounts. */
    "kind": "branch",
    "id": "proto.alpha.delegate.forbidden_tz4",
    "delegate": $Bls12_381.Public_key_hash }
  $Bls12_381.Public_key_hash:
    /* A Bls12_381 public key hash (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Forbidden delegate deletion

Tried to unregister a delegate

Id : proto.alpha.delegate.no_deletion
Category : temporary

  { /* Forbidden delegate deletion
       Tried to unregister a delegate */
    "kind": "permanent",
    "id": "proto.alpha.delegate.no_deletion",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Not a registered delegate

The provided public key hash is not the address of a registered delegate.

Id : proto.alpha.delegate.not_registered
Category : temporary

  { /* Not a registered delegate
       The provided public key hash is not the address of a registered
       delegate. */
    "kind": "temporary",
    "id": "proto.alpha.delegate.not_registered",
    "pkh": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Stake distribution not set

The stake distribution for the current cycle is not set.

Id : proto.alpha.delegate.stake_distribution_not_set
Category : temporary

  { /* Stake distribution not set
       The stake distribution for the current cycle is not set. */
    "kind": "permanent",
    "id": "proto.alpha.delegate.stake_distribution_not_set" }

Unchanged delegated

Contract already delegated to the given delegate

Id : proto.alpha.delegate.unchanged
Category : temporary

  { /* Unchanged delegated
       Contract already delegated to the given delegate */
    "kind": "temporary",
    "id": "proto.alpha.delegate.unchanged" }

Balance request for an unregistered delegate

The account whose balance was requested is not a delegate.

Id : proto.alpha.delegate_service.balance_rpc_on_non_delegate
Category : temporary

  { /* Balance request for an unregistered delegate
       The account whose balance was requested is not a delegate. */
    "kind": "temporary",
    "id": "proto.alpha.delegate_service.balance_rpc_on_non_delegate",
    "pkh": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Destination decoding failed

Failed to read a valid destination from a b58check_encoding data

Id : proto.alpha.destination_repr.invalid_b58check
Category : temporary

  { /* Destination decoding failed
       Failed to read a valid destination from a b58check_encoding data */
    "kind": "permanent",
    "id": "proto.alpha.destination_repr.invalid_b58check",
    "input": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Non increasing round

The provided rounds are not increasing.

Id : proto.alpha.durations.non_increasing_rounds
Category : temporary

  { /* Non increasing round
       The provided rounds are not increasing. */
    "kind": "permanent",
    "id": "proto.alpha.durations.non_increasing_rounds",
    "increment": $int64 }
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string

Exception

Exception safely wrapped in an error

Id : proto.alpha.failure
Category : temporary

  { /* Exception
       Exception safely wrapped in an error */
    "kind": "temporary",
    "id": "proto.alpha.failure",
    "msg": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Partial spending of frozen bonds

Frozen bonds must be spent at once.

Id : proto.alpha.frozen_bonds.must_be_spent_at_once
Category : temporary

  { /* Partial spending of frozen bonds
       Frozen bonds must be spent at once. */
    "kind": "permanent",
    "id": "proto.alpha.frozen_bonds.must_be_spent_at_once",
    "contract": $alpha.contract_id,
    "bond_id": $alpha.bond_id }
  $alpha.bond_id:
    { /* Smart_rollup_bond_id */
      "smart_rollup": $smart_rollup_address }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Gas quota exceeded for the block

The sum of gas consumed by all the operations in the block exceeds the hard gas limit per block

Id : proto.alpha.gas_exhausted.block
Category : temporary

  { /* Gas quota exceeded for the block
       The sum of gas consumed by all the operations in the block exceeds
       the hard gas limit per block */
    "kind": "temporary",
    "id": "proto.alpha.gas_exhausted.block" }

Gas quota exceeded for the operation

A script or one of its callee took more time than the operation said it would

Id : proto.alpha.gas_exhausted.operation
Category : temporary

  { /* Gas quota exceeded for the operation
       A script or one of its callee took more time than the operation said
       it would */
    "kind": "temporary",
    "id": "proto.alpha.gas_exhausted.operation" }

Gas limit out of protocol hard bounds

A transaction tried to exceed the hard limit on gas

Id : proto.alpha.gas_limit_too_high
Category : temporary

  { /* Gas limit out of protocol hard bounds
       A transaction tried to exceed the hard limit on gas */
    "kind": "permanent",
    "id": "proto.alpha.gas_limit_too_high" }

An entrypoint type is incompatible with TZIP-4 view type.

An entrypoint type is incompatible with TZIP-4 view type.

Id : proto.alpha.illformedViewType
Category : temporary

  { /* An entrypoint type is incompatible with TZIP-4 view type.
       An entrypoint type is incompatible with TZIP-4 view type. */
    "kind": "permanent",
    "id": "proto.alpha.illformedViewType",
    "entrypoint": $unistring,
    "type": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Empty implicit contract

No manager operations are allowed on an empty implicit contract. This account has zero balance. Fund it before using.

Id : proto.alpha.implicit.empty_implicit_contract
Category : temporary

  { /* Empty implicit contract
       No manager operations are allowed on an empty implicit contract.
       This account has zero balance. Fund it before using. */
    "kind": "branch",
    "id": "proto.alpha.implicit.empty_implicit_contract",
    "implicit": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Empty implicit delegated contract

Emptying an implicit delegated account is not allowed.

Id : proto.alpha.implicit.empty_implicit_delegated_contract
Category : temporary

  { /* Empty implicit delegated contract
       Emptying an implicit delegated account is not allowed. */
    "kind": "branch",
    "id": "proto.alpha.implicit.empty_implicit_delegated_contract",
    "implicit": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Index of values cannot be negative

A negative integer cannot be used as an index for a value.

Id : proto.alpha.indexable.index_cannot_be_negative
Category : temporary

  { /* Index of values cannot be negative
       A negative integer cannot be used as an index for a value. */
    "kind": "permanent",
    "id": "proto.alpha.indexable.index_cannot_be_negative",
    "wrong_index": integer ∈ [-2^31-1, 2^31] }

Internal error: trying to add zero messages

Message adding functions must be called with a positive number of messages

Id : proto.alpha.internal.smart_rollup_add_zero_messages
Category : temporary

  { /* Internal error: trying to add zero messages
       Message adding functions must be called with a positive number of
       messages */
    "kind": "permanent",
    "id": "proto.alpha.internal.smart_rollup_add_zero_messages" }

Internal error: error occurred during proof production or validation

An inbox proof error.

Id : proto.alpha.internal.smart_rollup_inbox_proof_error
Category : temporary

  { /* Internal error: error occurred during proof production or validation
       An inbox proof error. */
    "kind": "permanent",
    "id": "proto.alpha.internal.smart_rollup_inbox_proof_error",
    "error": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Internal error: error occurred during proof production or validation

A merkelized payload hashes proof error.

Id : proto.alpha.internal.smart_rollup_merklized_payload_hashes_proof
Category : temporary

  { /* Internal error: error occurred during proof production or validation
       A merkelized payload hashes proof error. */
    "kind": "permanent",
    "id":
      "proto.alpha.internal.smart_rollup_merklized_payload_hashes_proof",
    "error": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Internal operation replay

An internal operation was emitted twice by a script

Id : proto.alpha.internal_operation_replay
Category : temporary

  /* Internal operation replay
     An internal operation was emitted twice by a script */
  { /* Transaction */
    "kind": "permanent",
    "id": "proto.alpha.internal_operation_replay",
    "source": $alpha.transaction_destination,
    "nonce": integer ∈ [0, 2^16-1],
    "kind": "transaction",
    "amount": $alpha.mutez,
    "destination": $alpha.transaction_destination,
    "parameters"?: { "entrypoint": $alpha.entrypoint,
                     "value": any } }
  || { /* Origination */
       "kind": "permanent",
       "id": "proto.alpha.internal_operation_replay",
       "source": $alpha.transaction_destination,
       "nonce": integer ∈ [0, 2^16-1],
       "kind": "origination",
       "balance": $alpha.mutez,
       "delegate"?: $Signature.Public_key_hash,
       "script": $alpha.scripted.contracts }
  || { /* Delegation */
       "kind": "permanent",
       "id": "proto.alpha.internal_operation_replay",
       "source": $alpha.transaction_destination,
       "nonce": integer ∈ [0, 2^16-1],
       "kind": "delegation",
       "delegate"?: $Signature.Public_key_hash }
  || { /* Event */
       "kind": "permanent",
       "id": "proto.alpha.internal_operation_replay",
       "source": $alpha.transaction_destination,
       "nonce": integer ∈ [0, 2^16-1],
       "kind": "event",
       "type": $micheline.alpha.michelson_v1.expression,
       "tag"?: $alpha.entrypoint,
       "payload"?: $micheline.alpha.michelson_v1.expression }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || "deposit"
    || "stake"
    || "unstake"
    || "finalize_unstake"
    || "set_delegate_parameters"
    || $unistring
    /* named */
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.mutez: $positive_bignum
  $alpha.scripted.contracts: { "code": any,
                               "storage": any }
  $alpha.transaction_destination:
    /* A destination of a transaction
       A destination notation compatible with the contract notation as
       given to an RPC or inside scripts. Can be a base58 implicit contract
       hash, a base58 originated contract hash, a base58 originated
       transaction rollup, or a base58 originated smart rollup. */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid arg

Negative multiple of periods are not allowed.

Id : proto.alpha.invalid_arg
Category : temporary

  { /* Invalid arg
       Negative multiple of periods are not allowed. */
    "kind": "permanent",
    "id": "proto.alpha.invalid_arg" }

Invalid binary format

Could not deserialize some piece of data from its binary representation

Id : proto.alpha.invalid_binary_format
Category : temporary

  { /* Invalid binary format
       Could not deserialize some piece of data from its binary
       representation */
    "kind": "permanent",
    "id": "proto.alpha.invalid_binary_format" }

Invalid fitness

Fitness representation should be exactly 4 times 4 bytes long.

Id : proto.alpha.invalid_fitness
Category : temporary

  { /* Invalid fitness
       Fitness representation should be exactly 4 times 4 bytes long. */
    "kind": "permanent",
    "id": "proto.alpha.invalid_fitness" }

Invalid ticket transfer

Invalid ticket transfer detected in ticket balance update.

Id : proto.alpha.invalid_ticket_transfer
Category : temporary

  { /* Invalid ticket transfer
       Invalid ticket transfer detected in ticket balance update. */
    "kind": "permanent",
    "id": "proto.alpha.invalid_ticket_transfer",
    "ticketer": $unistring,
    "amount": $bignum }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Level not in Alpha family

Level not in Alpha family

Id : proto.alpha.level_not_in_alpha
Category : temporary

  { /* Level not in Alpha family
       Level not in Alpha family */
    "kind": "permanent",
    "id": "proto.alpha.level_not_in_alpha",
    "level": integer ∈ [0, 2^31] }

level offset too high

The block's level offset is too high.

Id : proto.alpha.level_offset_too_high
Category : temporary

  { /* level offset too high
       The block's level offset is too high. */
    "kind": "permanent",
    "id": "proto.alpha.level_offset_too_high",
    "level_offset_too_high": $int64 }
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string

Invalid cycle eras

The cycles eras are not valid: empty list or non-decreasing first levels or first cycles.

Id : proto.alpha.level_repr.invalid_cycle_eras
Category : temporary

  { /* Invalid cycle eras
       The cycles eras are not valid: empty list or non-decreasing first
       levels or first cycles. */
    "kind": "temporary",
    "id": "proto.alpha.level_repr.invalid_cycle_eras" }

Locked round not smaller than round

The round is smaller than or equal to the locked round.

Id : proto.alpha.locked_round_not_less_than_round
Category : temporary

  { /* Locked round not smaller than round
       The round is smaller than or equal to the locked round. */
    "kind": "permanent",
    "id": "proto.alpha.locked_round_not_less_than_round",
    "round": integer ∈ [-2^31-1, 2^31],
    "locked_round": integer ∈ [-2^31-1, 2^31] }

cannot_apply_in_partial_validation

Cannot instantiate an application state using the 'Partial_validation' mode.

Id : proto.alpha.main.begin_application.cannot_apply_in_partial_validation
Category : temporary

  { /* cannot_apply_in_partial_validation
       Cannot instantiate an application state using the
       'Partial_validation' mode. */
    "kind": "permanent",
    "id":
      "proto.alpha.main.begin_application.cannot_apply_in_partial_validation" }

Malformed period

Period is negative.

Id : proto.alpha.malformed_period
Category : temporary

  { /* Malformed period
       Period is negative. */
    "kind": "permanent",
    "id": "proto.alpha.malformed_period",
    "malformed_period": $int64 }
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string

Contract supplied an invalid parameter

Either no parameter was supplied to a contract with a non-unit parameter type, a non-unit parameter was passed to an account, or a parameter was supplied of the wrong type

Id : proto.alpha.michelson_v1.bad_contract_parameter
Category : temporary

  { /* Contract supplied an invalid parameter
       Either no parameter was supplied to a contract with a non-unit
       parameter type, a non-unit parameter was passed to an account, or a
       parameter was supplied of the wrong type */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.bad_contract_parameter",
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

0 passed to DUP n

DUP expects an argument of at least 1 (passed 0)

Id : proto.alpha.michelson_v1.bad_dupn_argument
Category : temporary

  { /* 0 passed to DUP n
       DUP expects an argument of at least 1 (passed 0) */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.bad_dupn_argument",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Stack too short when typing DUP n

Stack present when typing DUP n was too short

Id : proto.alpha.michelson_v1.bad_dupn_stack
Category : temporary

  { /* Stack too short when typing DUP n
       Stack present when typing DUP n was too short */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.bad_dupn_stack",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

0 or 1 passed to PAIR

PAIR expects an argument of at least 2

Id : proto.alpha.michelson_v1.bad_pair_argument
Category : temporary

  { /* 0 or 1 passed to PAIR
       PAIR expects an argument of at least 2 */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.bad_pair_argument",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Bad return

Unexpected stack at the end of a lambda or script.

Id : proto.alpha.michelson_v1.bad_return
Category : temporary

  { /* Bad return
       Unexpected stack at the end of a lambda or script. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.bad_return",
    "location": $micheline.location,
    "expected_return_type": $micheline.alpha.michelson_v1.expression,
    "wrong_stack_type": [ $micheline.alpha.michelson_v1.expression ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad stack

The stack has an unexpected length or contents.

Id : proto.alpha.michelson_v1.bad_stack
Category : temporary

  { /* Bad stack
       The stack has an unexpected length or contents. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.bad_stack",
    "location": $micheline.location,
    "primitive_name": $alpha.michelson.v1.primitives,
    "relevant_stack_portion": integer ∈ [-2^15, 2^15-1],
    "wrong_stack_type": [ $micheline.alpha.michelson_v1.expression ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad stack item

The type of a stack item is unexpected (this error is always accompanied by a more precise one).

Id : proto.alpha.michelson_v1.bad_stack_item
Category : temporary

  { /* Bad stack item
       The type of a stack item is unexpected (this error is always
       accompanied by a more precise one). */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.bad_stack_item",
    "item_level": integer ∈ [-2^15, 2^15-1] }

0 or 1 passed to UNPAIR

UNPAIR expects an argument of at least 2

Id : proto.alpha.michelson_v1.bad_unpair_argument
Category : temporary

  { /* 0 or 1 passed to UNPAIR
       UNPAIR expects an argument of at least 2 */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.bad_unpair_argument",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Bad view name

In a view declaration, the view name must be a string

Id : proto.alpha.michelson_v1.bad_view_name
Category : temporary

  { /* Bad view name
       In a view declaration, the view name must be a string */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.bad_view_name",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Not enough gas to serialize argument of FAILWITH

Argument of FAILWITH was too big to be serialized with the provided gas

Id : proto.alpha.michelson_v1.cannot_serialize_failure
Category : temporary

  { /* Not enough gas to serialize argument of FAILWITH
       Argument of FAILWITH was too big to be serialized with the provided
       gas */
    "kind": "temporary",
    "id": "proto.alpha.michelson_v1.cannot_serialize_failure" }

Not enough gas to serialize execution trace

Execution trace with stacks was to big to be serialized with the provided gas

Id : proto.alpha.michelson_v1.cannot_serialize_log
Category : temporary

  { /* Not enough gas to serialize execution trace
       Execution trace with stacks was to big to be serialized with the
       provided gas */
    "kind": "temporary",
    "id": "proto.alpha.michelson_v1.cannot_serialize_log" }

Not enough gas to serialize execution storage

The returned storage was too big to be serialized with the provided gas

Id : proto.alpha.michelson_v1.cannot_serialize_storage
Category : temporary

  { /* Not enough gas to serialize execution storage
       The returned storage was too big to be serialized with the provided
       gas */
    "kind": "temporary",
    "id": "proto.alpha.michelson_v1.cannot_serialize_storage" }

Comparable type expected

A non comparable type was used in a place where only comparable types are accepted.

Id : proto.alpha.michelson_v1.comparable_type_expected
Category : temporary

  { /* Comparable type expected
       A non comparable type was used in a place where only comparable
       types are accepted. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.comparable_type_expected",
    "location": $micheline.location,
    "wrong_type": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Script is using a deprecated instruction

A deprecated instruction usage is disallowed in newly created contracts

Id : proto.alpha.michelson_v1.deprecated_instruction
Category : temporary

  { /* Script is using a deprecated instruction
       A deprecated instruction usage is disallowed in newly created
       contracts */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.deprecated_instruction",
    "prim": $alpha.michelson.v1.primitives }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"

Duplicate entrypoint (type error)

Two entrypoints have the same name.

Id : proto.alpha.michelson_v1.duplicate_entrypoint
Category : temporary

  { /* Duplicate entrypoint (type error)
       Two entrypoints have the same name. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.duplicate_entrypoint",
    "path": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Duplicate map keys

Map literals cannot contain duplicated keys

Id : proto.alpha.michelson_v1.duplicate_map_keys
Category : temporary

  { /* Duplicate map keys
       Map literals cannot contain duplicated keys */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.duplicate_map_keys",
    "location": $micheline.location,
    "item": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Script has a duplicated field (parse error)

When parsing script, a field was found more than once

Id : proto.alpha.michelson_v1.duplicate_script_field
Category : temporary

  { /* Script has a duplicated field (parse error)
       When parsing script, a field was found more than once */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.duplicate_script_field",
    "loc": $micheline.location,
    "prim": $alpha.michelson.v1.primitives }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Sets literals cannot contain duplicate elements

Set literals cannot contain duplicate elements, but a duplicate was found while parsing.

Id : proto.alpha.michelson_v1.duplicate_set_values_in_literal
Category : temporary

  { /* Sets literals cannot contain duplicate elements
       Set literals cannot contain duplicate elements, but a duplicate was
       found while parsing. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.duplicate_set_values_in_literal",
    "location": $micheline.location,
    "value": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Duplicated view name

The name of view in toplevel should be unique.

Id : proto.alpha.michelson_v1.duplicated_view_name
Category : temporary

  { /* Duplicated view name
       The name of view in toplevel should be unique. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.duplicated_view_name",
    "location": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Entrypoint name too long (type error)

An entrypoint name exceeds the maximum length of 31 characters.

Id : proto.alpha.michelson_v1.entrypoint_name_too_long
Category : temporary

  { /* Entrypoint name too long (type error)
       An entrypoint name exceeds the maximum length of 31 characters. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.entrypoint_name_too_long",
    "name": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

FAIL not in tail position

There is non trivial garbage code after a FAIL instruction.

Id : proto.alpha.michelson_v1.fail_not_in_tail_position
Category : temporary

  { /* FAIL not in tail position
       There is non trivial garbage code after a FAIL instruction. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.fail_not_in_tail_position",
    "location": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Forbidden instruction in context

An instruction was encountered in a context where it is forbidden.

Id : proto.alpha.michelson_v1.forbidden_instr_in_context
Category : temporary

  { /* Forbidden instruction in context
       An instruction was encountered in a context where it is forbidden. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.forbidden_instr_in_context",
    "location": $micheline.location,
    "context": $alpha.michelson_v1.context_desc,
    "forbidden_instruction": $alpha.michelson.v1.primitives }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.michelson_v1.context_desc: "View" | "Lambda"
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Zero ticket amount is not allowed

It is not allowed to use a zero amount ticket in this operation.

Id : proto.alpha.michelson_v1.forbidden_zero_amount_ticket
Category : temporary

  { /* Zero ticket amount is not allowed
       It is not allowed to use a zero amount ticket in this operation. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.forbidden_zero_amount_ticket" }

Ill formed type

The toplevel error thrown when trying to parse a type expression (always followed by more precise errors).

Id : proto.alpha.michelson_v1.ill_formed_type
Category : temporary

  { /* Ill formed type
       The toplevel error thrown when trying to parse a type expression
       (always followed by more precise errors). */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.ill_formed_type",
    "identifier"?: $unistring,
    "ill_formed_expression": $micheline.alpha.michelson_v1.expression,
    "location": $micheline.location }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Ill typed contract

The toplevel error thrown when trying to typecheck a contract code against given input, output and storage types (always followed by more precise errors).

Id : proto.alpha.michelson_v1.ill_typed_contract
Category : temporary

  { /* Ill typed contract
       The toplevel error thrown when trying to typecheck a contract code
       against given input, output and storage types (always followed by
       more precise errors). */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.ill_typed_contract",
    "ill_typed_code": $micheline.alpha.michelson_v1.expression,
    "type_map":
      [ { "location": $micheline.location,
          "stack_before": [ $micheline.alpha.michelson_v1.expression ... ],
          "stack_after": [ $micheline.alpha.michelson_v1.expression ... ] } ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Ill typed data

The toplevel error thrown when trying to typecheck a data expression against a given type (always followed by more precise errors).

Id : proto.alpha.michelson_v1.ill_typed_data
Category : temporary

  { /* Ill typed data
       The toplevel error thrown when trying to typecheck a data expression
       against a given type (always followed by more precise errors). */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.ill_typed_data",
    "identifier"?: $unistring,
    "expected_type": $micheline.alpha.michelson_v1.expression,
    "ill_typed_expression": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Ill typed view

The return of a view block did not match the expected type

Id : proto.alpha.michelson_v1.ill_typed_view
Category : temporary

  { /* Ill typed view
       The return of a view block did not match the expected type */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.ill_typed_view",
    "loc": $micheline.location,
    "resulted_view_stack": [ $micheline.alpha.michelson_v1.expression ... ],
    "expected_view_stack": [ $micheline.alpha.michelson_v1.expression ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent memo sizes

Memo sizes of two sapling states or transactions do not match

Id : proto.alpha.michelson_v1.inconsistent_memo_sizes
Category : temporary

  { /* Inconsistent memo sizes
       Memo sizes of two sapling states or transactions do not match */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.inconsistent_memo_sizes",
    "first_memo_size": integer ∈ [0, 2^16-1],
    "other_memo_size": integer ∈ [0, 2^16-1] }

Inconsistent stack lengths

A stack was of an unexpected length (this error is always in the context of a located error).

Id : proto.alpha.michelson_v1.inconsistent_stack_lengths
Category : temporary

  { /* Inconsistent stack lengths
       A stack was of an unexpected length (this error is always in the
       context of a located error). */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.inconsistent_stack_lengths" }

Inconsistent type sizes

Two types were expected to be equal but they have different sizes.

Id : proto.alpha.michelson_v1.inconsistent_type_sizes
Category : temporary

  { /* Inconsistent type sizes
       Two types were expected to be equal but they have different sizes. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.inconsistent_type_sizes",
    "first_type_size": integer ∈ [-2^30, 2^30],
    "other_type_size": integer ∈ [-2^30, 2^30] }

Inconsistent types

This is the basic type clash error, that appears in several places where the equality of two types have to be proven, it is always accompanied with another error that provides more context.

Id : proto.alpha.michelson_v1.inconsistent_types
Category : temporary

  { /* Inconsistent types
       This is the basic type clash error, that appears in several places
       where the equality of two types have to be proven, it is always
       accompanied with another error that provides more context. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.inconsistent_types",
    "loc": $micheline.location,
    "first_type": $micheline.alpha.michelson_v1.expression,
    "other_type": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid arity

In a script or data expression, a primitive was applied to an unsupported number of arguments.

Id : proto.alpha.michelson_v1.invalid_arity
Category : temporary

  { /* Invalid arity
       In a script or data expression, a primitive was applied to an
       unsupported number of arguments. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_arity",
    "location": $micheline.location,
    "primitive_name": $alpha.michelson.v1.primitives,
    "expected_arity": integer ∈ [-128, 127],
    "wrong_arity": integer ∈ [-128, 127] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Invalid big_map

A script or data expression references a big_map that does not exist or assumes a wrong type for an existing big_map.

Id : proto.alpha.michelson_v1.invalid_big_map
Category : temporary

  { /* Invalid big_map
       A script or data expression references a big_map that does not exist
       or assumes a wrong type for an existing big_map. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_big_map",
    "location": $micheline.location,
    "big_map": $alpha.big_map_id }
  $alpha.big_map_id:
    /* Big map identifier
       A big map identifier */
    $bignum
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Invalid constant

A data expression was invalid for its expected type.

Id : proto.alpha.michelson_v1.invalid_constant
Category : temporary

  { /* Invalid constant
       A data expression was invalid for its expected type. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_constant",
    "location": $micheline.location,
    "expected_type": $micheline.alpha.michelson_v1.expression,
    "wrong_expression": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid contract

A script or data expression references a contract that does not exist or assumes a wrong type for an existing contract.

Id : proto.alpha.michelson_v1.invalid_contract
Category : temporary

  { /* Invalid contract
       A script or data expression references a contract that does not
       exist or assumes a wrong type for an existing contract. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_contract",
    "location": $micheline.location,
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid expression kind

In a script or data expression, an expression was of the wrong kind (for instance a string where only a primitive applications can appear).

Id : proto.alpha.michelson_v1.invalid_expression_kind
Category : temporary

  { /* Invalid expression kind
       In a script or data expression, an expression was of the wrong kind
       (for instance a string where only a primitive applications can
       appear). */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_expression_kind",
    "location": $micheline.location,
    "expected_kinds": [ $alpha.expressionKind ... ],
    "wrong_kind": $alpha.expressionKind }
  $alpha.expressionKind:
    /* Expression kind
       One of the four possible kinds of expression (integer, string,
       primitive application or sequence). */
    "string" | "integer" | "sequence" | "primitiveApplication" | "bytes"
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

ITER body returned wrong stack type

The body of an ITER instruction must result in the same stack type as before the ITER.

Id : proto.alpha.michelson_v1.invalid_iter_body
Category : temporary

  { /* ITER body returned wrong stack type
       The body of an ITER instruction must result in the same stack type
       as before the ITER. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_iter_body",
    "loc": $micheline.location,
    "bef_stack": [ $micheline.alpha.michelson_v1.expression ... ],
    "aft_stack": [ $micheline.alpha.michelson_v1.expression ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

FAIL instruction occurred as body of map block

FAIL cannot be the only instruction in the body. The proper type of the return list cannot be inferred.

Id : proto.alpha.michelson_v1.invalid_map_block_fail
Category : temporary

  { /* FAIL instruction occurred as body of map block
       FAIL cannot be the only instruction in the body. The proper type of
       the return list cannot be inferred. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_map_block_fail",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Invalid map body

The body of a map block did not match the expected type

Id : proto.alpha.michelson_v1.invalid_map_body
Category : temporary

  { /* Invalid map body
       The body of a map block did not match the expected type */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_map_body",
    "loc": $micheline.location,
    "body_type": [ $micheline.alpha.michelson_v1.expression ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid expression for type never

In a script or data expression, an expression was provided but a value of type never was expected. No expression can have type never.

Id : proto.alpha.michelson_v1.invalid_never_expr
Category : temporary

  { /* Invalid expression for type never
       In a script or data expression, an expression was provided but a
       value of type never was expected. No expression can have type never. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_never_expr",
    "location": $micheline.location,
    ... }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Invalid primitive

In a script or data expression, a primitive was unknown.

Id : proto.alpha.michelson_v1.invalid_primitive
Category : temporary

  { /* Invalid primitive
       In a script or data expression, a primitive was unknown. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_primitive",
    "location": $micheline.location,
    "expected_primitive_names"?: [ $alpha.michelson.v1.primitives ... ],
    "wrong_primitive_name": $alpha.michelson.v1.primitives }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Invalid primitive name

In a script or data expression, a primitive name is unknown or has a wrong case.

Id : proto.alpha.michelson_v1.invalid_primitive_name
Category : temporary

  { /* Invalid primitive name
       In a script or data expression, a primitive name is unknown or has a
       wrong case. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_primitive_name",
    "expression": $micheline.alpha.generic.expression,
    "location": $micheline.location }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.generic.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.generic.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha.generic.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid primitive name case

In a script or data expression, a primitive name is neither uppercase, lowercase or capitalized.

Id : proto.alpha.michelson_v1.invalid_primitive_name_case
Category : temporary

  { /* Invalid primitive name case
       In a script or data expression, a primitive name is neither
       uppercase, lowercase or capitalized. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_primitive_name_case",
    "wrong_primitive_name": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid primitive namespace

In a script or data expression, a primitive was of the wrong namespace.

Id : proto.alpha.michelson_v1.invalid_primitive_namespace
Category : temporary

  { /* Invalid primitive namespace
       In a script or data expression, a primitive was of the wrong
       namespace. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_primitive_namespace",
    "location": $micheline.location,
    "primitive_name": $alpha.michelson.v1.primitives,
    "expected_namespace": $alpha.primitiveNamespace,
    "wrong_namespace": $alpha.primitiveNamespace }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.primitiveNamespace:
    /* Primitive namespace
       One of the five possible namespaces of primitive (data constructor,
       type name, instruction, keyword, or constant hash). */
    "constant" | "type" | "constant_hash" | "keyword" | "instruction"
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Invalid sequence arity

In a script or data expression, a sequence was used with a number of elements too small.

Id : proto.alpha.michelson_v1.invalid_seq_arity
Category : temporary

  { /* Invalid sequence arity
       In a script or data expression, a sequence was used with a number of
       elements too small. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_seq_arity",
    "location": $micheline.location,
    "minimal_expected_arity": integer ∈ [-128, 127],
    "wrong_arity": integer ∈ [-128, 127] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Invalid constant (parse error)

A compile-time constant was invalid for its expected form.

Id : proto.alpha.michelson_v1.invalid_syntactic_constant
Category : temporary

  { /* Invalid constant (parse error)
       A compile-time constant was invalid for its expected form. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_syntactic_constant",
    "location": $micheline.location,
    "expected_form": $unistring,
    "wrong_expression": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid ticket amount

Ticket amount to be deposited in a transaction rollup should be strictly positive and fit in a signed 64-bit integer

Id : proto.alpha.michelson_v1.invalid_tx_rollup_ticket_amount
Category : temporary

  { /* Invalid ticket amount
       Ticket amount to be deposited in a transaction rollup should be
       strictly positive and fit in a signed 64-bit integer */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.invalid_tx_rollup_ticket_amount",
    "requested_value": $bignum }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string

Script is missing a field (parse error)

When parsing script, a field was expected, but not provided

Id : proto.alpha.michelson_v1.missing_script_field
Category : temporary

  { /* Script is missing a field (parse error)
       When parsing script, a field was expected, but not provided */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.missing_script_field",
    "prim": $alpha.michelson.v1.primitives }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"

No such entrypoint (type error)

An entrypoint was not found when calling a contract.

Id : proto.alpha.michelson_v1.no_such_entrypoint
Category : temporary

  { /* No such entrypoint (type error)
       An entrypoint was not found when calling a contract. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.no_such_entrypoint",
    "entrypoint": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Non-dupable type duplication attempt

DUP was used on a non-dupable type (e.g. tickets).

Id : proto.alpha.michelson_v1.non_dupable_type
Category : temporary

  { /* Non-dupable type duplication attempt
       DUP was used on a non-dupable type (e.g. tickets). */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.non_dupable_type",
    "loc": $micheline.location,
    "type": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Non printable character in a Michelson string

Michelson strings are only allowed to contain printable characters (either the newline character or characters in the [32, 126] ASCII range).

Id : proto.alpha.michelson_v1.non_printable_character
Category : temporary

  { /* Non printable character in a Michelson string
       Michelson strings are only allowed to contain printable characters
       (either the newline character or characters in the [32, 126] ASCII
       range). */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.non_printable_character",
    "position": integer ∈ [-2^30, 2^30],
    "string": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Script runtime error

Toplevel error for all runtime script errors

Id : proto.alpha.michelson_v1.runtime_error
Category : temporary

  { /* Script runtime error
       Toplevel error for all runtime script errors */
    "kind": "temporary",
    "id": "proto.alpha.michelson_v1.runtime_error",
    "contract_handle": $alpha.contract_id.originated,
    "contract_code": "Deprecated" }
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Sc rollup are disabled

Cannot use smart rollup features as they are disabled.

Id : proto.alpha.michelson_v1.sc_rollup_disabled
Category : temporary

  { /* Sc rollup are disabled
       Cannot use smart rollup features as they are disabled. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.sc_rollup_disabled",
    "location": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Script failed (overflow error)

While interpreting a Michelson script, an overflow was detected

Id : proto.alpha.michelson_v1.script_overflow
Category : temporary

  { /* Script failed (overflow error)
       While interpreting a Michelson script, an overflow was detected */
    "kind": "temporary",
    "id": "proto.alpha.michelson_v1.script_overflow",
    "location": $micheline.location,
    "trace"?:
      [ { "location": $micheline.location,
          "gas": $bignum,
          "stack": [ $micheline.alpha.michelson_v1.expression ... ] } ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Script failed

A FAILWITH instruction was reached

Id : proto.alpha.michelson_v1.script_rejected
Category : temporary

  { /* Script failed
       A FAILWITH instruction was reached */
    "kind": "temporary",
    "id": "proto.alpha.michelson_v1.script_rejected",
    "location": $micheline.location,
    "with": $micheline.alpha.michelson_v1.expression,
    "trace"?:
      [ { "location": $micheline.location,
          "gas": $bignum,
          "stack": [ $micheline.alpha.michelson_v1.expression ... ] } ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad deposit parameter

The parameter to the deposit entrypoint of a transaction rollup should be a pair of a ticket and the address of a recipient transaction rollup.

Id : proto.alpha.michelson_v1.tx_rollup_bad_deposit_parameter
Category : temporary

  { /* Bad deposit parameter
       The parameter to the deposit entrypoint of a transaction rollup
       should be a pair of a ticket and the address of a recipient
       transaction rollup. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.tx_rollup_bad_deposit_parameter",
    "location": $micheline.location,
    "parameter": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Stack item type too large

An instruction generated a type larger than the limit.

Id : proto.alpha.michelson_v1.type_too_large
Category : temporary

  { /* Stack item type too large
       An instruction generated a type larger than the limit. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.type_too_large",
    "loc": $micheline.location,
    "maximum_type_size": integer ∈ [0, 2^16-1] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Too many recursive calls during typechecking

Too many recursive calls were needed for typechecking

Id : proto.alpha.michelson_v1.typechecking_too_many_recursive_calls
Category : temporary

  { /* Too many recursive calls during typechecking
       Too many recursive calls were needed for typechecking */
    "kind": "temporary",
    "id": "proto.alpha.michelson_v1.typechecking_too_many_recursive_calls" }

Undefined binop

A binary operation is called on operands of types over which it is not defined.

Id : proto.alpha.michelson_v1.undefined_binop
Category : temporary

  { /* Undefined binop
       A binary operation is called on operands of types over which it is
       not defined. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.undefined_binop",
    "location": $micheline.location,
    "operator_name": $alpha.michelson.v1.primitives,
    "wrong_left_operand_type": $micheline.alpha.michelson_v1.expression,
    "wrong_right_operand_type": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Undefined unop

A unary operation is called on an operand of type over which it is not defined.

Id : proto.alpha.michelson_v1.undefined_unop
Category : temporary

  { /* Undefined unop
       A unary operation is called on an operand of type over which it is
       not defined. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.undefined_unop",
    "location": $micheline.location,
    "operator_name": $alpha.michelson.v1.primitives,
    "wrong_operand_type": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

An annotation was encountered where no annotation is expected

A node in the syntax tree was improperly annotated

Id : proto.alpha.michelson_v1.unexpected_annotation
Category : temporary

  { /* An annotation was encountered where no annotation is expected
       A node in the syntax tree was improperly annotated */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unexpected_annotation",
    "location": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Contract in unauthorized position (type error)

When parsing script, a contract type was found in the storage or parameter field.

Id : proto.alpha.michelson_v1.unexpected_contract
Category : temporary

  { /* Contract in unauthorized position (type error)
       When parsing script, a contract type was found in the storage or
       parameter field. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unexpected_contract",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

The annotation ‘default’ was encountered where an entrypoint is expected

A node in the syntax tree was improperly annotated. An annotation used to designate an entrypoint cannot be exactly 'default'.

Id : proto.alpha.michelson_v1.unexpected_default_entrypoint
Category : temporary

  { /* The annotation 'default' was encountered where an entrypoint is
       expected
       A node in the syntax tree was improperly annotated. An annotation
       used to designate an entrypoint cannot be exactly 'default'. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unexpected_default_entrypoint",
    "location": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Unexpected forged value

A forged value was encountered but disallowed for that position.

Id : proto.alpha.michelson_v1.unexpected_forged_value
Category : temporary

  { /* Unexpected forged value
       A forged value was encountered but disallowed for that position. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unexpected_forged_value",
    "location": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Unexpected implicit account parameters type

An implicit account can only accept either a unit or a ticket value as a call parameter.

Id : proto.alpha.michelson_v1.unexpected_implicit_account_parameters_type
Category : temporary

  { /* Unexpected implicit account parameters type
       An implicit account can only accept either a unit or a ticket value
       as a call parameter. */
    "kind": "permanent",
    "id":
      "proto.alpha.michelson_v1.unexpected_implicit_account_parameters_type",
    "loc": $micheline.location,
    "type": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Lazy storage in unauthorized position (type error)

When parsing script, a big_map or sapling_state type was found in a position where it could end up stored inside a big_map, which is forbidden for now.

Id : proto.alpha.michelson_v1.unexpected_lazy_storage
Category : temporary

  { /* Lazy storage in unauthorized position (type error)
       When parsing script, a big_map or sapling_state type was found in a
       position where it could end up stored inside a big_map, which is
       forbidden for now. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unexpected_lazy_storage",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Operation in unauthorized position (type error)

When parsing script, an operation type was found in the storage or parameter field.

Id : proto.alpha.michelson_v1.unexpected_operation
Category : temporary

  { /* Operation in unauthorized position (type error)
       When parsing script, an operation type was found in the storage or
       parameter field. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unexpected_operation",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Ticket in unauthorized position (type error)

A ticket type has been found

Id : proto.alpha.michelson_v1.unexpected_ticket
Category : temporary

  { /* Ticket in unauthorized position (type error)
       A ticket type has been found */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unexpected_ticket",
    "loc": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Unexpected ticket owner

Ticket can only be created by a smart contract

Id : proto.alpha.michelson_v1.unexpected_ticket_owner
Category : temporary

  { /* Unexpected ticket owner
       Ticket can only be created by a smart contract */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unexpected_ticket_owner",
    "ticketer": $alpha.transaction_destination }
  $alpha.transaction_destination:
    /* A destination of a transaction
       A destination notation compatible with the contract notation as
       given to an RPC or inside scripts. Can be a base58 implicit contract
       hash, a base58 originated contract hash, a base58 originated
       transaction rollup, or a base58 originated smart rollup. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Annotations of the same kind were found spread apart

Annotations of the same kind must be grouped

Id : proto.alpha.michelson_v1.ungrouped_annotations
Category : temporary

  { /* Annotations of the same kind were found spread apart
       Annotations of the same kind must be grouped */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.ungrouped_annotations",
    "location": $micheline.location }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]

Unknown primitive name

In a script or data expression, a primitive was unknown.

Id : proto.alpha.michelson_v1.unknown_primitive_name
Category : temporary

  { /* Unknown primitive name
       In a script or data expression, a primitive was unknown. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unknown_primitive_name",
    "wrong_primitive_name": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unmatched branches

At the join point at the end of two code branches the stacks have inconsistent lengths or contents.

Id : proto.alpha.michelson_v1.unmatched_branches
Category : temporary

  { /* Unmatched branches
       At the join point at the end of two code branches the stacks have
       inconsistent lengths or contents. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unmatched_branches",
    "location": $micheline.location,
    "first_stack_type": [ $micheline.alpha.michelson_v1.expression ... ],
    "other_stack_type": [ $micheline.alpha.michelson_v1.expression ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid map key order

Map keys must be in strictly increasing order

Id : proto.alpha.michelson_v1.unordered_map_literal
Category : temporary

  { /* Invalid map key order
       Map keys must be in strictly increasing order */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unordered_map_literal",
    "location": $micheline.location,
    "item": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid set value order

Set values must be in strictly increasing order

Id : proto.alpha.michelson_v1.unordered_set_literal
Category : temporary

  { /* Invalid set value order
       Set values must be in strictly increasing order */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unordered_set_literal",
    "location": $micheline.location,
    "value": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Too many recursive calls during unparsing

Too many recursive calls were needed for unparsing

Id : proto.alpha.michelson_v1.unparsing_stack_overflow
Category : temporary

  { /* Too many recursive calls during unparsing
       Too many recursive calls were needed for unparsing */
    "kind": "temporary",
    "id": "proto.alpha.michelson_v1.unparsing_stack_overflow" }

Unreachable entrypoint (type error)

An entrypoint in the contract is not reachable.

Id : proto.alpha.michelson_v1.unreachable_entrypoint
Category : temporary

  { /* Unreachable entrypoint (type error)
       An entrypoint in the contract is not reachable. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.unreachable_entrypoint",
    "path": [ $alpha.michelson.v1.primitives ... ] }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"

View name too long (type error)

A view name exceeds the maximum length of 31 characters.

Id : proto.alpha.michelson_v1.view_name_too_long
Category : temporary

  { /* View name too long (type error)
       A view name exceeds the maximum length of 31 characters. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.view_name_too_long",
    "name": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Negative sum of level and offset

Negative sum of level and offset

Id : proto.alpha.negative_level_and_offset_sum
Category : temporary

  { /* Negative sum of level and offset
       Negative sum of level and offset */
    "kind": "permanent",
    "id": "proto.alpha.negative_level_and_offset_sum",
    "level": integer ∈ [-2^31-1, 2^31],
    "offset": integer ∈ [-2^31-1, 2^31] }

The specified level offset is negative

The specified level offset is negative

Id : proto.alpha.negative_level_offset
Category : temporary

  { /* The specified level offset is negative
       The specified level offset is negative */
    "kind": "permanent",
    "id": "proto.alpha.negative_level_offset",
    ... }

Negative round

Round cannot be built out of negative integers.

Id : proto.alpha.negative_round
Category : temporary

  { /* Negative round
       Round cannot be built out of negative integers. */
    "kind": "permanent",
    "id": "proto.alpha.negative_round",
    "Negative_round": $int64 }
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string

Already revealed nonce

Duplicated revelation for a nonce.

Id : proto.alpha.nonce.already_revealed
Category : temporary

  { /* Already revealed nonce
       Duplicated revelation for a nonce. */
    "kind": "branch",
    "id": "proto.alpha.nonce.already_revealed",
    ... }

Inconsistent nonce

The provided nonce is inconsistent with the committed nonce hash.

Id : proto.alpha.nonce.inconsistent
Category : temporary

  { /* Inconsistent nonce
       The provided nonce is inconsistent with the committed nonce hash. */
    "kind": "branch",
    "id": "proto.alpha.nonce.inconsistent",
    ... }

Too early nonce revelation

Nonce revelation happens before cycle end

Id : proto.alpha.nonce.too_early_revelation
Category : temporary

  { /* Too early nonce revelation
       Nonce revelation happens before cycle end */
    "kind": "temporary",
    "id": "proto.alpha.nonce.too_early_revelation",
    ... }

Too late nonce revelation

Nonce revelation happens too late

Id : proto.alpha.nonce.too_late_revelation
Category : temporary

  { /* Too late nonce revelation
       Nonce revelation happens too late */
    "kind": "branch",
    "id": "proto.alpha.nonce.too_late_revelation",
    ... }

The Arith PVM is disabled

Arith PVM is disabled in this network.

Id : proto.alpha.operation.arith_pvm_disabled
Category : temporary

  { /* The Arith PVM is disabled
       Arith PVM is disabled in this network. */
    "kind": "permanent",
    "id": "proto.alpha.operation.arith_pvm_disabled",
    ... }

Ballot from an unregistered delegate

Cannot cast a ballot for an unregistered delegate.

Id : proto.alpha.operation.ballot_from_unregistered_delegate
Category : temporary

  { /* Ballot from an unregistered delegate
       Cannot cast a ballot for an unregistered delegate. */
    "kind": "permanent",
    "id": "proto.alpha.operation.ballot_from_unregistered_delegate",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot parse operation

The operation is ill-formed or for another protocol version

Id : proto.alpha.operation.cannot_parse
Category : temporary

  { /* Cannot parse operation
       The operation is ill-formed or for another protocol version */
    "kind": "branch",
    "id": "proto.alpha.operation.cannot_parse",
    ... }

Cannot stake with unfinalizable unstake requests to another delegate

A contract tries to stake to its delegate while having unstake requests to a previous delegate that cannot be finalized yet. Try again in a later cycle (no more than consensus_rights_delay + max_slashing_period).

Id : proto.alpha.operation.cannot_stake_with_unfinalizable_unstake_requests_to_another_delegate
Category : temporary

  { /* Cannot stake with unfinalizable unstake requests to another delegate
       A contract tries to stake to its delegate while having unstake
       requests to a previous delegate that cannot be finalized yet. Try
       again in a later cycle (no more than consensus_rights_delay +
       max_slashing_period). */
    "kind": "temporary",
    "id":
      "proto.alpha.operation.cannot_stake_with_unfinalizable_unstake_requests_to_another_delegate",
    ... }

Cannot unstake with unfinalizable unstake requests to another delegate

Cannot unstake with unfinalizable unstake requests to another delegate

Id : proto.alpha.operation.cannot_unstake_with_unfinalizable_unstake_requests_to_another_delegate
Category : temporary

  { /* Cannot unstake with unfinalizable unstake requests to another
       delegate
       Cannot unstake with unfinalizable unstake requests to another
       delegate */
    "kind": "permanent",
    "id":
      "proto.alpha.operation.cannot_unstake_with_unfinalizable_unstake_requests_to_another_delegate",
    ... }

Invalid list of operation contents.

An operation contents list has an unexpected shape; it should be either a single operation or a non-empty list of manager operations

Id : proto.alpha.operation.contents_list_error
Category : temporary

  { /* Invalid list of operation contents.
       An operation contents list has an unexpected shape; it should be
       either a single operation or a non-empty list of manager operations */
    "kind": "permanent",
    "id": "proto.alpha.operation.contents_list_error",
    "message": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }

DAL is disabled

Data-availability layer will be enabled in a future proposal.

Id : proto.alpha.operation.dal_disabled
Category : temporary

  { /* DAL is disabled
       Data-availability layer will be enabled in a future proposal. */
    "kind": "permanent",
    "id": "proto.alpha.operation.dal_disabled",
    ... }

Double inclusion of consensus operation

double inclusion of consensus operation

Id : proto.alpha.operation.double_inclusion_of_consensus_operation
Category : temporary

  { /* Double inclusion of consensus operation
       double inclusion of consensus operation */
    "kind": "branch",
    "id": "proto.alpha.operation.double_inclusion_of_consensus_operation" }

Drain delegate key on an unregistered delegate

Cannot drain an unregistered delegate.

Id : proto.alpha.operation.drain_delegate_key_on_unregistered_delegate
Category : temporary

  { /* Drain delegate key on an unregistered delegate
       Cannot drain an unregistered delegate. */
    "kind": "temporary",
    "id":
      "proto.alpha.operation.drain_delegate_key_on_unregistered_delegate",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Error while taking the fees of a manager operation

There was an error while taking the fees, which should not happen and means that the operation's validation was faulty.

Id : proto.alpha.operation.error_while_taking_fees
Category : temporary

  { /* Error while taking the fees of a manager operation
       There was an error while taking the fees, which should not happen
       and means that the operation's validation was faulty. */
    "kind": "permanent",
    "id": "proto.alpha.operation.error_while_taking_fees",
    ... }

Faulty validation (wrong slot for consensus operation)

The consensus operation uses an invalid slot. This error should not happen: the operation validation should have failed earlier.

Id : proto.alpha.operation.faulty_validation_wrong_slot
Category : temporary

  { /* Faulty validation (wrong slot for consensus operation)
       The consensus operation uses an invalid slot. This error should not
       happen: the operation validation should have failed earlier. */
    "kind": "permanent",
    "id": "proto.alpha.operation.faulty_validation_wrong_slot" }

Drain delegate with an inactive consensus key

Cannot drain with an inactive consensus key.

Id : proto.alpha.operation.invalid_drain.inactive_key
Category : temporary

  { /* Drain delegate with an inactive consensus key
       Cannot drain with an inactive consensus key. */
    "kind": "temporary",
    "id": "proto.alpha.operation.invalid_drain.inactive_key",
    "delegate": $Signature.Public_key_hash,
    "consensus_key": $Signature.Public_key_hash,
    "active_consensus_key": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Drain delegate without enough balance for allocation burn or drain fees

Cannot drain without enough allocation burn and drain fees.

Id : proto.alpha.operation.invalid_drain.insufficient_funds_for_burn_or_fees
Category : temporary

  { /* Drain delegate without enough balance for allocation burn or drain
       fees
       Cannot drain without enough allocation burn and drain fees. */
    "kind": "temporary",
    "id":
      "proto.alpha.operation.invalid_drain.insufficient_funds_for_burn_or_fees",
    "delegate": $Signature.Public_key_hash,
    "destination": $Signature.Public_key_hash,
    "min_amount": $alpha.mutez }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Drain a delegate without consensus key

Cannot drain a delegate without consensus key.

Id : proto.alpha.operation.invalid_drain.no_consensus_key
Category : temporary

  { /* Drain a delegate without consensus key
       Cannot drain a delegate without consensus key. */
    "kind": "temporary",
    "id": "proto.alpha.operation.invalid_drain.no_consensus_key",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid drain delegate: noop

Cannot drain a delegate to itself.

Id : proto.alpha.operation.invalid_drain.noop
Category : temporary

  { /* Invalid drain delegate: noop
       Cannot drain a delegate to itself. */
    "kind": "temporary",
    "id": "proto.alpha.operation.invalid_drain.noop",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid operation signature

The operation signature is ill-formed or has been made with the wrong public key

Id : proto.alpha.operation.invalid_signature
Category : temporary

  { /* Invalid operation signature
       The operation signature is ill-formed or has been made with the
       wrong public key */
    "kind": "permanent",
    "id": "proto.alpha.operation.invalid_signature",
    ... }

Manual staking operations are forbidden

Manual staking operations are forbidden because staking is currently automated.

Id : proto.alpha.operation.manual_staking_forbidden
Category : temporary

  { /* Manual staking operations are forbidden
       Manual staking operations are forbidden because staking is currently
       automated. */
    "kind": "temporary",
    "id": "proto.alpha.operation.manual_staking_forbidden",
    ... }

Missing operation signature

The operation is of a kind that must be signed, but the signature is missing

Id : proto.alpha.operation.missing_signature
Category : temporary

  { /* Missing operation signature
       The operation is of a kind that must be signed, but the signature is
       missing */
    "kind": "permanent",
    "id": "proto.alpha.operation.missing_signature",
    ... }

Proposals from an unregistered delegate

Cannot submit proposals with an unregistered delegate.

Id : proto.alpha.operation.proposals_from_unregistered_delegate
Category : temporary

  { /* Proposals from an unregistered delegate
       Cannot submit proposals with an unregistered delegate. */
    "kind": "permanent",
    "id": "proto.alpha.operation.proposals_from_unregistered_delegate",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The RISCV PVM is disabled

RISCV PVM is disabled in this network.

Id : proto.alpha.operation.riscv_pvm_disabled
Category : temporary

  { /* The RISCV PVM is disabled
       RISCV PVM is disabled in this network. */
    "kind": "permanent",
    "id": "proto.alpha.operation.riscv_pvm_disabled",
    ... }

Only the default entrypoint is allowed for rollups

Rollups only support transactions to the default entrypoint.

Id : proto.alpha.operation.rollup_invalid_entrypoint
Category : temporary

  { /* Only the default entrypoint is allowed for rollups
       Rollups only support transactions to the default entrypoint. */
    "kind": "permanent",
    "id": "proto.alpha.operation.rollup_invalid_entrypoint",
    ... }

Transaction amount to a rollup must be zero

Because rollups are outside of the delegation mechanism of Tezos, they cannot own Tez, and therefore transactions targeting a rollup must have its amount field set to zero.

Id : proto.alpha.operation.rollup_invalid_transaction_amount
Category : temporary

  { /* Transaction amount to a rollup must be zero
       Because rollups are outside of the delegation mechanism of Tezos,
       they cannot own Tez, and therefore transactions targeting a rollup
       must have its amount field set to zero. */
    "kind": "permanent",
    "id": "proto.alpha.operation.rollup_invalid_transaction_amount",
    ... }

Set deposits limit on an unregistered delegate

Cannot set deposits limit on an unregistered delegate.

Id : proto.alpha.operation.set_deposits_limit_on_unregistered_delegate
Category : temporary

  { /* Set deposits limit on an unregistered delegate
       Cannot set deposits limit on an unregistered delegate. */
    "kind": "temporary",
    "id":
      "proto.alpha.operation.set_deposits_limit_on_unregistered_delegate",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Set deposits limit when automated staking off

Cannot set deposits limit when automated staking is off or Adaptive Issuance is active.

Id : proto.alpha.operation.set_deposits_limit_when_automated_staking_off
Category : temporary

  { /* Set deposits limit when automated staking off
       Cannot set deposits limit when automated staking is off or Adaptive
       Issuance is active. */
    "kind": "temporary",
    "id":
      "proto.alpha.operation.set_deposits_limit_when_automated_staking_off",
    ... }

Update consensus key on an unregistered delegate

Cannot update consensus key an unregistered delegate.

Id : proto.alpha.operation.update_consensus_key_on_unregistered_delegate
Category : temporary

  { /* Update consensus key on an unregistered delegate
       Cannot update consensus key an unregistered delegate. */
    "kind": "temporary",
    "id":
      "proto.alpha.operation.update_consensus_key_on_unregistered_delegate",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Zk_rollup: attempted a deposit through an external op

Zk_rollup: attempted a deposit through an external op

Id : proto.alpha.operation.zk_rollup_deposit_as_external
Category : temporary

  { /* Zk_rollup: attempted a deposit through an external op
       Zk_rollup: attempted a deposit through an external op */
    "kind": "temporary",
    "id": "proto.alpha.operation.zk_rollup_deposit_as_external" }

ZK rollups are disabled

ZK rollups will be enabled in a future proposal.

Id : proto.alpha.operation.zk_rollup_disabled
Category : temporary

  { /* ZK rollups are disabled
       ZK rollups will be enabled in a future proposal. */
    "kind": "permanent",
    "id": "proto.alpha.operation.zk_rollup_disabled",
    ... }

Zk_rollup_update: failed verification

Zk_rollup_update: failed verification

Id : proto.alpha.operation.zk_rollup_failed_verification
Category : temporary

  { /* Zk_rollup_update: failed verification
       Zk_rollup_update: failed verification */
    "kind": "temporary",
    "id": "proto.alpha.operation.zk_rollup_failed_verification" }

Zk_rollup_update: inconsistent state update

Zk_rollup_update: new state is of incorrect size

Id : proto.alpha.operation.zk_rollup_inconsistent_state_update
Category : temporary

  { /* Zk_rollup_update: inconsistent state update
       Zk_rollup_update: new state is of incorrect size */
    "kind": "permanent",
    "id": "proto.alpha.operation.zk_rollup_inconsistent_state_update" }

Zk_rollup_update: invalid circuit

Zk_rollup_update: invalid circuit

Id : proto.alpha.operation.zk_rollup_invalid_circuit
Category : temporary

  { /* Zk_rollup_update: invalid circuit
       Zk_rollup_update: invalid circuit */
    "kind": "permanent",
    "id": "proto.alpha.operation.zk_rollup_invalid_circuit" }

Zk_rollup: attempted a deposit with an invalid amount

Zk_rollup: attempted a deposit with an invalid amount

Id : proto.alpha.operation.zk_rollup_invalid_deposit_amount
Category : temporary

  { /* Zk_rollup: attempted a deposit with an invalid amount
       Zk_rollup: attempted a deposit with an invalid amount */
    "kind": "temporary",
    "id": "proto.alpha.operation.zk_rollup_invalid_deposit_amount" }

Zk_rollup: attempted a deposit with an invalid ticket

Zk_rollup: attempted a deposit with an invalid ticket

Id : proto.alpha.operation.zk_rollup_invalid_deposit_ticket
Category : temporary

  { /* Zk_rollup: attempted a deposit with an invalid ticket
       Zk_rollup: attempted a deposit with an invalid ticket */
    "kind": "temporary",
    "id": "proto.alpha.operation.zk_rollup_invalid_deposit_ticket" }

ZK rollups negative number of operations

The value of [nb_ops] should never be negative.

Id : proto.alpha.operation.zk_rollup_negative_nb_ops
Category : temporary

  { /* ZK rollups negative number of operations
       The value of [nb_ops] should never be negative. */
    "kind": "permanent",
    "id": "proto.alpha.operation.zk_rollup_negative_nb_ops",
    ... }

Zk_rollup_update: update with fewer pending ops than allowed

Zk_rollup_update: update with fewer pending ops than allowed

Id : proto.alpha.operation.zk_rollup_pending_bound
Category : temporary

  { /* Zk_rollup_update: update with fewer pending ops than allowed
       Zk_rollup_update: update with fewer pending ops than allowed */
    "kind": "temporary",
    "id": "proto.alpha.operation.zk_rollup_pending_bound" }

Zk_rollup: attempted a deposit with invalid parameters

Zk_rollup: attempted a deposit with invalid parameters

Id : proto.alpha.operation.zk_rollup_wrong_deposit_parameters
Category : temporary

  { /* Zk_rollup: attempted a deposit with invalid parameters
       Zk_rollup: attempted a deposit with invalid parameters */
    "kind": "permanent",
    "id": "proto.alpha.operation.zk_rollup_wrong_deposit_parameters" }

Cannot stake on fully slashed delegate

The delegate has been fully slashed, so its external stakers can no longer stake. This restriction is permanent. If they wish to be able to stake again, the stakers must change delegates.

Id : proto.alpha.operations.cannot_stake_on_fully_slashed_delegate
Category : temporary

  { /* Cannot stake on fully slashed delegate
       The delegate has been fully slashed, so its external stakers can no
       longer stake. This restriction is permanent. If they wish to be able
       to stake again, the stakers must change delegates. */
    "kind": "permanent",
    "id": "proto.alpha.operations.cannot_stake_on_fully_slashed_delegate" }

Invalid non-zero transaction amount

A transaction expected a zero-amount but got non-zero.

Id : proto.alpha.operations.invalid_nonzero_transaction_amount
Category : temporary

  { /* Invalid non-zero transaction amount
       A transaction expected a zero-amount but got non-zero. */
    "kind": "permanent",
    "id": "proto.alpha.operations.invalid_nonzero_transaction_amount",
    "amount": $alpha.mutez }
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Invalid destination for a pseudo-transaction

A pseudo-transaction destination must equal its sender.

Id : proto.alpha.operations.invalid_self_transaction_destination
Category : temporary

  { /* Invalid destination for a pseudo-transaction
       A pseudo-transaction destination must equal its sender. */
    "kind": "permanent",
    "id": "proto.alpha.operations.invalid_self_transaction_destination",
    ... }

Invalid sender for an internal operation

Invalid sender for an internal operation restricted to implicit and originated accounts.

Id : proto.alpha.operations.invalid_sender
Category : temporary

  { /* Invalid sender for an internal operation
       Invalid sender for an internal operation restricted to implicit and
       originated accounts. */
    "kind": "permanent",
    "id": "proto.alpha.operations.invalid_sender",
    "contract": $alpha.transaction_destination }
  $alpha.transaction_destination:
    /* A destination of a transaction
       A destination notation compatible with the contract notation as
       given to an RPC or inside scripts. Can be a base58 implicit contract
       hash, a base58 originated contract hash, a base58 originated
       transaction rollup, or a base58 originated smart rollup. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid parameters for staking parameters

The staking parameters are invalid.

Id : proto.alpha.operations.invalid_staking_parameters
Category : temporary

  { /* Invalid parameters for staking parameters
       The staking parameters are invalid. */
    "kind": "permanent",
    "id": "proto.alpha.operations.invalid_staking_parameters" }

Invalid staking parameters sender

The staking parameters can only be set by delegates.

Id : proto.alpha.operations.invalid_staking_parameters_sender
Category : temporary

  { /* Invalid staking parameters sender
       The staking parameters can only be set by delegates. */
    "kind": "permanent",
    "id": "proto.alpha.operations.invalid_staking_parameters_sender" }

Invalid transfer to smart rollup

Invalid transfer to smart rollup from implicit account

Id : proto.alpha.operations.invalid_transfer_to_smart_rollup_from_implicit_account
Category : temporary

  { /* Invalid transfer to smart rollup
       Invalid transfer to smart rollup from implicit account */
    "kind": "permanent",
    "id":
      "proto.alpha.operations.invalid_transfer_to_smart_rollup_from_implicit_account" }

(Un)staking without any delegate set

(Un)Stake operations are only allowed when delegate is set.

Id : proto.alpha.operations.stake_modification_with_no_delegate_set
Category : temporary

  { /* (Un)staking without any delegate set
       (Un)Stake operations are only allowed when delegate is set. */
    "kind": "permanent",
    "id": "proto.alpha.operations.stake_modification_with_no_delegate_set",
    ... }

Staking for a delegator while external staking is disabled

As long as external staking is not enabled, staking operations are only allowed from delegates.

Id : proto.alpha.operations.staking_for_delegator_while_external_staking_disabled
Category : temporary

  { /* Staking for a delegator while external staking is disabled
       As long as external staking is not enabled, staking operations are
       only allowed from delegates. */
    "kind": "permanent",
    "id":
      "proto.alpha.operations.staking_for_delegator_while_external_staking_disabled",
    ... }

Staking to delegate that does not accept external staking

The delegate currently does not accept staking operations from sources other than itself: its `limit_of_staking_over_baking` parameter is set to 0.

Id : proto.alpha.operations.staking_to_delegate_that_refuses_external_staking
Category : temporary

  { /* Staking to delegate that does not accept external staking
       The delegate currently does not accept staking operations from
       sources other than itself: its `limit_of_staking_over_baking`
       parameter is set to 0. */
    "kind": "permanent",
    "id":
      "proto.alpha.operations.staking_to_delegate_that_refuses_external_staking",
    ... }

Out of bound issuance bonus

Computed issuance bonus is out of bound

Id : proto.alpha.out_of_bound_issuance_bonus
Category : temporary

  { /* Out of bound issuance bonus
       Computed issuance bonus is out of bound */
    "kind": "permanent",
    "id": "proto.alpha.out_of_bound_issuance_bonus",
    ... }

Outdated fitness

Outdated fitness: referring to a previous version

Id : proto.alpha.outdated_fitness
Category : temporary

  { /* Outdated fitness
       Outdated fitness: referring to a previous version */
    "kind": "permanent",
    "id": "proto.alpha.outdated_fitness" }

Period overflow

Last operation generated an integer overflow.

Id : proto.alpha.period_overflow
Category : temporary

  { /* Period overflow
       Last operation generated an integer overflow. */
    "kind": "permanent",
    "id": "proto.alpha.period_overflow" }

Consensus operation in far future

Consensus operation too far in the future are not accepted.

Id : proto.alpha.prefilter.Consensus_operation_in_far_future
Category : temporary

  { /* Consensus operation in far future
       Consensus operation too far in the future are not accepted. */
    "kind": "branch",
    "id": "proto.alpha.prefilter.Consensus_operation_in_far_future",
    ... }

Operation fees are too low

Operation fees are too low

Id : proto.alpha.prefilter.fees_too_low
Category : temporary

  { /* Operation fees are too low
       Operation fees are too low */
    "kind": "permanent",
    "id": "proto.alpha.prefilter.fees_too_low",
    ... }

Wrong operation

Failing_noop operations are not accepted in the mempool.

Id : proto.alpha.prefilter.wrong_operation
Category : temporary

  { /* Wrong operation
       Failing_noop operations are not accepted in the mempool. */
    "kind": "temporary",
    "id": "proto.alpha.prefilter.wrong_operation",
    ... }

The published slot headers bucket not initialized in the context

The published slot headers bucket is not initialized in the context

Id : proto.alpha.published_slot_headers_not_initialized
Category : temporary

  { /* The published slot headers bucket not initialized in the context
       The published slot headers bucket is not initialized in the context */
    "kind": "permanent",
    "id": "proto.alpha.published_slot_headers_not_initialized",
    "level": integer ∈ [0, 2^31] }

Slot map not found

Pre-computed map by first slot not found.

Id : proto.alpha.raw_context.consensus.slot_map_not_found
Category : temporary

  { /* Slot map not found
       Pre-computed map by first slot not found. */
    "kind": "permanent",
    "id": "proto.alpha.raw_context.consensus.slot_map_not_found",
    "loc": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Error while generating rollup address

Error while generating rollup address

Id : proto.alpha.rollup.error_zk_rollup_address_generation
Category : temporary

  { /* Error while generating rollup address
       Error while generating rollup address */
    "kind": "permanent",
    "id": "proto.alpha.rollup.error_zk_rollup_address_generation",
    ... }

Round_of_timestamp for past timestamp

Provided timestamp is before the expected level start.

Id : proto.alpha.round_of_past_timestamp
Category : temporary

  { /* Round_of_timestamp for past timestamp
       Provided timestamp is before the expected level start. */
    "kind": "permanent",
    "id": "proto.alpha.round_of_past_timestamp",
    "provided_timestamp": $timestamp.protocol,
    "predecessor_timestamp": $timestamp.protocol,
    "predecessor_round": integer ∈ [-2^31-1, 2^31] }
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Round overflow

Round cannot be built out of integer greater than maximum int32 value.

Id : proto.alpha.round_overflow
Category : temporary

  { /* Round overflow
       Round cannot be built out of integer greater than maximum int32
       value. */
    "kind": "permanent",
    "id": "proto.alpha.round_overflow",
    "Round_overflow": $int64 }
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string

round too high

block round too high.

Id : proto.alpha.round_too_high
Category : temporary

  { /* round too high
       block round too high. */
    "kind": "permanent",
    "id": "proto.alpha.round_too_high",
    "level_offset_too_high": integer ∈ [-2^31-1, 2^31] }

Run operation does not support consensus operations

The run_operation RPC does not support consensus operations.

Id : proto.alpha.run_operation_does_not_support_consensus_operations
Category : temporary

  { /* Run operation does not support consensus operations
       The run_operation RPC does not support consensus operations. */
    "kind": "permanent",
    "id": "proto.alpha.run_operation_does_not_support_consensus_operations" }

Sampler already set

Internal error: Raw_context.set_sampler_for_cycle was called twice for a given cycle

Id : proto.alpha.sampler_already_set
Category : temporary

  { /* Sampler already set
       Internal error: Raw_context.set_sampler_for_cycle was called twice
       for a given cycle */
    "kind": "permanent",
    "id": "proto.alpha.sampler_already_set",
    "cycle": integer ∈ [-2^31-1, 2^31] }

Unknown seed

The requested seed is not available

Id : proto.alpha.seed.unknown_seed
Category : temporary

  { /* Unknown seed
       The requested seed is not available */
    "kind": "permanent",
    "id": "proto.alpha.seed.unknown_seed",
    "oldest": integer ∈ [-2^31-1, 2^31],
    "requested": integer ∈ [-2^31-1, 2^31],
    "latest": integer ∈ [-2^31-1, 2^31] }

invalid slot

Invalid slot

Id : proto.alpha.slot.invalid_slot
Category : temporary

  { /* invalid slot
       Invalid slot */
    "kind": "permanent",
    "id": "proto.alpha.slot.invalid_slot",
    "bad_slot": integer ∈ [-2^30, 2^30] }

Tried to add zero messages to a smart rollup

Tried to add zero messages to a smart rollup

Id : proto.alpha.smart_rollup_add_zero_messages
Category : temporary

  { /* Tried to add zero messages to a smart rollup
       Tried to add zero messages to a smart rollup */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_add_zero_messages",
    ... }

Error while generating a smart rollup address

Error while generating a smart rollup address

Id : proto.alpha.smart_rollup_address_generation
Category : temporary

  { /* Error while generating a smart rollup address
       Error while generating a smart rollup address */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_address_generation" }

Invalid claim about outbox

Invalid claim about outbox

Id : proto.alpha.smart_rollup_arith_invalid_claim_about_outbox
Category : temporary

  { /* Invalid claim about outbox
       Invalid claim about outbox */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_arith_invalid_claim_about_outbox",
    ... }

Output proof production failed

Output proof production failed

Id : proto.alpha.smart_rollup_arith_output_proof_production_failed
Category : temporary

  { /* Output proof production failed
       Output proof production failed */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_arith_output_proof_production_failed",
    ... }

Proof production failed

Proof production failed

Id : proto.alpha.smart_rollup_arith_proof_production_failed
Category : temporary

  { /* Proof production failed
       Proof production failed */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_arith_proof_production_failed",
    ... }

Could not serialize commitment.

Unable to hash the commitment serialization.

Id : proto.alpha.smart_rollup_bad_commitment_serialization
Category : temporary

  { /* Could not serialize commitment.
       Unable to hash the commitment serialization. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_bad_commitment_serialization" }

Committing to a bad inbox level

Attempted to commit to a bad inbox level.

Id : proto.alpha.smart_rollup_bad_inbox_level
Category : temporary

  { /* Committing to a bad inbox level
       Attempted to commit to a bad inbox level. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_bad_inbox_level",
    "expected": integer ∈ [0, 2^31],
    "provided": integer ∈ [0, 2^31] }

Commitment disputed

Attempted to cement a disputed commitment.

Id : proto.alpha.smart_rollup_commitment_disputed
Category : temporary

  { /* Commitment disputed
       Attempted to cement a disputed commitment. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_commitment_disputed" }

Commitment from future

Commitment inbox level is greater or equal than current level

Id : proto.alpha.smart_rollup_commitment_from_future
Category : temporary

  { /* Commitment from future
       Commitment inbox level is greater or equal than current level */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_commitment_from_future",
    "current_level": integer ∈ [0, 2^31],
    "inbox_level": integer ∈ [0, 2^31] }

Commitment past curfew.

A commitment exists for this inbox level for longer than the curfew period.

Id : proto.alpha.smart_rollup_commitment_past_curfew
Category : temporary

  { /* Commitment past curfew.
       A commitment exists for this inbox level for longer than the curfew
       period. */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_commitment_past_curfew" }

Published commitment is too old

Published commitment is too old

Id : proto.alpha.smart_rollup_commitment_too_old
Category : temporary

  { /* Published commitment is too old
       Published commitment is too old */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_commitment_too_old",
    "last_cemented_inbox_level": integer ∈ [0, 2^31],
    "commitment_inbox_level": integer ∈ [0, 2^31] }

Commitment too recent

Attempted to cement a commitment before its refutation deadline.

Id : proto.alpha.smart_rollup_commitment_too_recent
Category : temporary

  { /* Commitment too recent
       Attempted to cement a commitment before its refutation deadline. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_commitment_too_recent",
    "current_level": integer ∈ [0, 2^31],
    "min_level": integer ∈ [0, 2^31] }

Mismatch in the edge ticks of the dissection

Mismatch in the edge ticks of the dissection

Id : proto.alpha.smart_rollup_dissection_edge_ticks_mismatch
Category : temporary

  { /* Mismatch in the edge ticks of the dissection
       Mismatch in the edge ticks of the dissection */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_dissection_edge_ticks_mismatch",
    "dissection_start_tick": $positive_bignum,
    "dissection_stop_tick": $positive_bignum,
    "chunk_start_tick": $positive_bignum,
    "chunk_stop_tick": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Ticks should only increase in dissection

Ticks should only increase in dissection

Id : proto.alpha.smart_rollup_dissection_invalid_distribution
Category : temporary

  { /* Ticks should only increase in dissection
       Ticks should only increase in dissection */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_dissection_invalid_distribution",
    "section_max_size": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Invalid number of sections in the dissection

Invalid number of sections in the dissection

Id : proto.alpha.smart_rollup_dissection_invalid_number_of_sections
Category : temporary

  { /* Invalid number of sections in the dissection
       Invalid number of sections in the dissection */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_dissection_invalid_number_of_sections",
    "value": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Cannot recover from a blocked state in a dissection

Cannot recover from a blocked state in a dissection

Id : proto.alpha.smart_rollup_dissection_invalid_successive_states_shape
Category : temporary

  { /* Cannot recover from a blocked state in a dissection
       Cannot recover from a blocked state in a dissection */
    "kind": "permanent",
    "id":
      "proto.alpha.smart_rollup_dissection_invalid_successive_states_shape" }

Mismatch in the number of sections in the dissection

Mismatch in the number of sections in the dissection

Id : proto.alpha.smart_rollup_dissection_number_of_sections_mismatch
Category : temporary

  { /* Mismatch in the number of sections in the dissection
       Mismatch in the number of sections in the dissection */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_dissection_number_of_sections_mismatch",
    "expected": $positive_bignum,
    "given": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Mismatch in the start hash of the dissection

Mismatch in the start hash of the dissection

Id : proto.alpha.smart_rollup_dissection_start_hash_mismatch
Category : temporary

  { /* Mismatch in the start hash of the dissection
       Mismatch in the start hash of the dissection */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_dissection_start_hash_mismatch",
    "expected": $smart_rollup_state_hash /* Some */ || null /* None */,
    "given": $smart_rollup_state_hash /* Some */ || null /* None */ }
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Mismatch in the stop hash of the dissection

Mismatch in the stop hash of the dissection

Id : proto.alpha.smart_rollup_dissection_stop_hash_mismatch
Category : temporary

  { /* Mismatch in the stop hash of the dissection
       Mismatch in the stop hash of the dissection */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_dissection_stop_hash_mismatch",
    "hash": $smart_rollup_state_hash /* Some */ || null /* None */ }
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Ticks should only increase in dissection

Ticks should only increase in dissection

Id : proto.alpha.smart_rollup_dissection_ticks_not_increasing
Category : temporary

  { /* Ticks should only increase in dissection
       Ticks should only increase in dissection */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_dissection_ticks_not_increasing" }

Smart rollup does not exist

Attempted to use a smart rollup that has not been originated.

Id : proto.alpha.smart_rollup_does_not_exist
Category : temporary

  { /* Smart rollup does not exist
       Attempted to use a smart rollup that has not been originated. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_does_not_exist",
    "rollup": $smart_rollup_address }
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The commitment was published twice by the operator

No commitment to cement

Id : proto.alpha.smart_rollup_double_publish
Category : temporary

  { /* The commitment was published twice by the operator
       No commitment to cement */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_double_publish",
    "commitment_hash": $smart_rollup_commitment_hash }
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

No commitment to cement

No commitment to cement

Id : proto.alpha.smart_rollup_duplicated_key_in_whitelist
Category : temporary

  { /* No commitment to cement
       No commitment to cement */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_duplicated_key_in_whitelist" }

Invalid whitelist: whitelist cannot be empty

Smart rollup whitelist cannot be empty

Id : proto.alpha.smart_rollup_empty_whitelist
Category : temporary

  { /* Invalid whitelist: whitelist cannot be empty
       Smart rollup whitelist cannot be empty */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_empty_whitelist" }

Refutation game already started

Refutation game already started, must play with is_opening_move = false.

Id : proto.alpha.smart_rollup_game_already_started
Category : temporary

  { /* Refutation game already started
       Refutation game already started, must play with is_opening_move =
       false. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_game_already_started",
    ... }

Inbox level reached messages limit

There can be only 1000000 messages in an inbox level, the limit has been reached.

Id : proto.alpha.smart_rollup_inbox_level_reached_message_limit
Category : temporary

  { /* Inbox level reached messages limit
       There can be only 1000000 messages in an inbox level, the limit has
       been reached. */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_inbox_level_reached_message_limit" }

Failed to decode a smart rollup management protocol inbox message value

Failed to decode a smart rollup management protocol inbox message value

Id : proto.alpha.smart_rollup_inbox_message_decoding
Category : temporary

  { /* Failed to decode a smart rollup management protocol inbox message
       value
       Failed to decode a smart rollup management protocol inbox message
       value */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_inbox_message_decoding",
    ... }

Failed to encode a rollup management protocol inbox message value

Failed to encode a rollup management protocol inbox message value

Id : proto.alpha.smart_rollup_inbox_message_encoding
Category : temporary

  { /* Failed to encode a rollup management protocol inbox message value
       Failed to encode a rollup management protocol inbox message value */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_inbox_message_encoding",
    ... }

Invalid last-cemented-commitment

Invalid last-cemented-commitment

Id : proto.alpha.smart_rollup_invalid_last_cemented_commitment
Category : temporary

  { /* Invalid last-cemented-commitment
       Invalid last-cemented-commitment */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_invalid_last_cemented_commitment" }

Invalid outbox level

Invalid outbox level

Id : proto.alpha.smart_rollup_invalid_outbox_level
Category : temporary

  { /* Invalid outbox level
       Invalid outbox level */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_invalid_outbox_level" }

Invalid rollup outbox message index

Invalid rollup outbox message index

Id : proto.alpha.smart_rollup_invalid_outbox_message_index
Category : temporary

  { /* Invalid rollup outbox message index
       Invalid rollup outbox message index */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_invalid_outbox_message_index" }

Invalid output proof

Invalid output proof

Id : proto.alpha.smart_rollup_invalid_output_proof
Category : temporary

  { /* Invalid output proof
       Invalid output proof */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_invalid_output_proof" }

Invalid parameters type

Invalid parameters type for smart rollup

Id : proto.alpha.smart_rollup_invalid_parameters_type
Category : temporary

  { /* Invalid parameters type
       Invalid parameters type for smart rollup */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_invalid_parameters_type",
    ... }

Invalid serialized inbox proof

The serialized inbox proof can not be de-serialized

Id : proto.alpha.smart_rollup_invalid_serialized_inbox_proof
Category : temporary

  { /* Invalid serialized inbox proof
       The serialized inbox proof can not be de-serialized */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_invalid_serialized_inbox_proof",
    ... }

Invalid destination

Invalid destination

Id : proto.alpha.smart_rollup_management_protocol_invalid_destination
Category : temporary

  { /* Invalid destination
       Invalid destination */
    "kind": "permanent",
    "id":
      "proto.alpha.smart_rollup_management_protocol_invalid_destination",
    ... }

Maximum number of messages reached for commitment period

Maximum number of messages reached for commitment period

Id : proto.alpha.smart_rollup_max_number_of_messages_reached_for_commitment_period
Category : temporary

  { /* Maximum number of messages reached for commitment period
       Maximum number of messages reached for commitment period */
    "kind": "temporary",
    "id":
      "proto.alpha.smart_rollup_max_number_of_messages_reached_for_commitment_period",
    ... }

Maximal number of parallel games reached

Maximal number of parallel games reached

Id : proto.alpha.smart_rollup_maximal_number_of_parallel_games_reached
Category : temporary

  { /* Maximal number of parallel games reached
       Maximal number of parallel games reached */
    "kind": "temporary",
    "id":
      "proto.alpha.smart_rollup_maximal_number_of_parallel_games_reached",
    "staker": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

No commitment to cement

No commitment to cement

Id : proto.alpha.smart_rollup_no_commitment_to_cement
Category : temporary

  { /* No commitment to cement
       No commitment to cement */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_no_commitment_to_cement",
    "inbox_level": integer ∈ [0, 2^31] }

No conflict

No conflict.

Id : proto.alpha.smart_rollup_no_conflict
Category : temporary

  { /* No conflict
       No conflict. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_no_conflict" }

Refutation game does not exist

Refutation game does not exist

Id : proto.alpha.smart_rollup_no_game
Category : temporary

  { /* Refutation game does not exist
       Refutation game does not exist */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_no_game",
    ... }

No stakers

No stakers for the targeted smart rollup.

Id : proto.alpha.smart_rollup_no_stakers
Category : temporary

  { /* No stakers
       No stakers for the targeted smart rollup. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_no_stakers" }

No valid commitment to cement

Attempted to cement a commitment but there is no valid commitment to cement.

Id : proto.alpha.smart_rollup_no_valid_commitment_to_cement
Category : temporary

  { /* No valid commitment to cement
       Attempted to cement a commitment but there is no valid commitment to
       cement. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_no_valid_commitment_to_cement" }

Unknown staker

This implicit account is not a staker of this smart rollup.

Id : proto.alpha.smart_rollup_not_staked
Category : temporary

  { /* Unknown staker
       This implicit account is not a staker of this smart rollup. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_not_staked" }

Smart rollup not staked on LCC or its ancestor

Attempted to withdraw while not staked on the last cemented commitment or its ancestor.

Id : proto.alpha.smart_rollup_not_staked_on_lcc_or_ancestor
Category : temporary

  { /* Smart rollup not staked on LCC or its ancestor
       Attempted to withdraw while not staked on the last cemented
       commitment or its ancestor. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_not_staked_on_lcc_or_ancestor" }

Conflicting commitments do not have a common ancestor

Conflicting commitments do not have a common ancestor

Id : proto.alpha.smart_rollup_not_valid_commitments_conflict
Category : temporary

  { /* Conflicting commitments do not have a common ancestor
       Conflicting commitments do not have a common ancestor */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_not_valid_commitments_conflict",
    "commitment": $smart_rollup_commitment_hash,
    "player": $Signature.Public_key_hash,
    "opponent_commitment": $smart_rollup_commitment_hash,
    "opponent": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Outbox level expired

Outbox level expired

Id : proto.alpha.smart_rollup_outbox_level_expired
Category : temporary

  { /* Outbox level expired
       Outbox level expired */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_outbox_level_expired" }

Outbox message already applied

Outbox message already applied

Id : proto.alpha.smart_rollup_outbox_message_already_applied
Category : temporary

  { /* Outbox message already applied
       Outbox message already applied */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_outbox_message_already_applied" }

Failed to decode a rollup management protocol outbox message value

Failed to decode a rollup management protocol outbox message value

Id : proto.alpha.smart_rollup_outbox_message_repr.error_decoding_outbox_message
Category : temporary

  { /* Failed to decode a rollup management protocol outbox message value
       Failed to decode a rollup management protocol outbox message value */
    "kind": "permanent",
    "id":
      "proto.alpha.smart_rollup_outbox_message_repr.error_decoding_outbox_message",
    ... }

Failed to encode a rollup management protocol outbox message value

Failed to encode a rollup management protocol outbox message value

Id : proto.alpha.smart_rollup_outbox_message_repr.error_encoding_outbox_message
Category : temporary

  { /* Failed to encode a rollup management protocol outbox message value
       Failed to encode a rollup management protocol outbox message value */
    "kind": "permanent",
    "id":
      "proto.alpha.smart_rollup_outbox_message_repr.error_encoding_outbox_message",
    ... }

Outdated whitelist update

Outdated whitelist update

Id : proto.alpha.smart_rollup_outdated_whitelist_update
Category : temporary

  /* Outdated whitelist update
     Outdated whitelist update */
  { /* outdated_message_index */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_outdated_whitelist_update",
    "message_index": $positive_bignum,
    "last_whitelist_update":
      { "message_index": $positive_bignum,
        "outbox_level": integer ∈ [0, 2^31] } }
  || { /* outdated_outbox_level */
       "kind": "permanent",
       "id": "proto.alpha.smart_rollup_outdated_whitelist_update",
       "outbox_level": integer ∈ [0, 2^31],
       "last_whitelist_update":
         { "message_index": $positive_bignum,
           "outbox_level": integer ∈ [0, 2^31] } }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Parent is not the last cemented commitment

Parent is not the last cemented commitment.

Id : proto.alpha.smart_rollup_parent_not_lcc
Category : temporary

  { /* Parent is not the last cemented commitment
       Parent is not the last cemented commitment. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_parent_not_lcc" }

Invalid proof

An invalid proof has been submitted

Id : proto.alpha.smart_rollup_proof_check
Category : temporary

  { /* Invalid proof
       An invalid proof has been submitted */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_proof_check",
    "reason": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Can not remove a staker

Can not remove a staker committed on cemented.

Id : proto.alpha.smart_rollup_remove_lcc_or_ancestor
Category : temporary

  { /* Can not remove a staker
       Can not remove a staker committed on cemented. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_remove_lcc_or_ancestor" }

No commitment to cement

No commitment to cement

Id : proto.alpha.smart_rollup_rollup_is_public
Category : temporary

  { /* No commitment to cement
       No commitment to cement */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_rollup_is_public" }

Staker tried to double stake.

Staker tried to double stake.

Id : proto.alpha.smart_rollup_staker_double_stake
Category : temporary

  { /* Staker tried to double stake.
       Staker tried to double stake. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_staker_double_stake" }

Staker does not have enough funds to make a deposit

Staker doesn't have enough funds to make a smart rollup deposit.

Id : proto.alpha.smart_rollup_staker_funds_too_low
Category : temporary

  { /* Staker does not have enough funds to make a deposit
       Staker doesn't have enough funds to make a smart rollup deposit. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_staker_funds_too_low",
    "staker": $Signature.Public_key_hash,
    "smart_rollup": $smart_rollup_address,
    "staker_balance": $alpha.mutez,
    "min_expected_balance": $alpha.mutez }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Staker is already playing a game

Attempted to start a game where one staker is already busy

Id : proto.alpha.smart_rollup_staker_in_game
Category : temporary

  /* Staker is already playing a game
     Attempted to start a game where one staker is already busy */
  { /* Refuter */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_staker_in_game",
    "refuter": $Signature.Public_key_hash }
  || { /* Defender */
       "kind": "temporary",
       "id": "proto.alpha.smart_rollup_staker_in_game",
       "defender": $Signature.Public_key_hash }
  || { /* Both */
       "kind": "temporary",
       "id": "proto.alpha.smart_rollup_staker_in_game",
       "refuter": $Signature.Public_key_hash,
       "defender": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

No commitment to cement

No commitment to cement

Id : proto.alpha.smart_rollup_staker_not_in_whitelist
Category : temporary

  { /* No commitment to cement
       No commitment to cement */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_staker_not_in_whitelist" }

Attempt to timeout game too early

Attempt to timeout game too early

Id : proto.alpha.smart_rollup_timeout_level_not_reached
Category : temporary

  { /* Attempt to timeout game too early
       Attempt to timeout game too early */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_timeout_level_not_reached",
    "level_timeout": integer ∈ [-2^31-1, 2^31],
    "staker": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Commitment too far ahead

Commitment is too far ahead of the last cemented commitment.

Id : proto.alpha.smart_rollup_too_far_ahead
Category : temporary

  { /* Commitment too far ahead
       Commitment is too far ahead of the last cemented commitment. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_too_far_ahead" }

Unknown commitment

Unknown commitment.

Id : proto.alpha.smart_rollup_unknown_commitment
Category : temporary

  { /* Unknown commitment
       Unknown commitment. */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_unknown_commitment",
    "commitment": $smart_rollup_commitment_hash }
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid claim about outbox

Invalid claim about outbox

Id : proto.alpha.smart_rollup_wasm_invalid_claim_about_outbox
Category : temporary

  { /* Invalid claim about outbox
       Invalid claim about outbox */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_wasm_invalid_claim_about_outbox",
    ... }

Invalid dissection distribution: not all ticks are a multiplier of the maximum number of ticks of a snapshot

Invalid dissection distribution: not all ticks are a multiplier of the maximum number of ticks of a snapshot

Id : proto.alpha.smart_rollup_wasm_invalid_dissection_distribution
Category : temporary

  { /* Invalid dissection distribution: not all ticks are a multiplier of
       the maximum number of ticks of a snapshot
       Invalid dissection distribution: not all ticks are a multiplier of
       the maximum number of ticks of a snapshot */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_wasm_invalid_dissection_distribution",
    ... }

Output proof production failed

Output proof production failed

Id : proto.alpha.smart_rollup_wasm_output_proof_production_failed
Category : temporary

  { /* Output proof production failed
       Output proof production failed */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_wasm_output_proof_production_failed",
    ... }

Output proof verification failed

Output proof verification failed

Id : proto.alpha.smart_rollup_wasm_output_proof_verification_failed
Category : temporary

  { /* Output proof verification failed
       Output proof verification failed */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_wasm_output_proof_verification_failed",
    ... }

Proof production failed

Proof production failed

Id : proto.alpha.smart_rollup_wasm_proof_production_failed
Category : temporary

  { /* Proof production failed
       Proof production failed */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_wasm_proof_production_failed",
    ... }

Proof verification failed

Proof verification failed

Id : proto.alpha.smart_rollup_wasm_proof_verification_failed
Category : temporary

  { /* Proof verification failed
       Proof verification failed */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_wasm_proof_verification_failed",
    ... }

Invalid whitelist: must be None when the feature is deactivated

The whitelist must be None when the feature is deactivated.

Id : proto.alpha.smart_rollup_whitelist_disabled
Category : temporary

  { /* Invalid whitelist: must be None when the feature is deactivated
       The whitelist must be None when the feature is deactivated. */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_whitelist_disabled" }

Given commitment is not staked by given staker

Given commitment is not staked by given staker

Id : proto.alpha.smart_rollup_wrong_staker_for_conflict_commitment
Category : temporary

  { /* Given commitment is not staked by given staker
       Given commitment is not staked by given staker */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_wrong_staker_for_conflict_commitment",
    "player": $Signature.Public_key_hash,
    "commitment": $smart_rollup_commitment_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Attempt to play move but not staker’s turn

Attempt to play move but not staker's turn

Id : proto.alpha.smart_rollup_wrong_turn
Category : temporary

  { /* Attempt to play move but not staker's turn
       Attempt to play move but not staker's turn */
    "kind": "temporary",
    "id": "proto.alpha.smart_rollup_wrong_turn",
    ... }

Tried to publish a 0 tick commitment

Tried to publish a 0 tick commitment

Id : proto.alpha.smart_rollup_zero_tick_commitment
Category : temporary

  { /* Tried to publish a 0 tick commitment
       Tried to publish a 0 tick commitment */
    "kind": "permanent",
    "id": "proto.alpha.smart_rollup_zero_tick_commitment" }

Storage quota exceeded for the operation

A script or one of its callee wrote more bytes than the operation said it would

Id : proto.alpha.storage_exhausted.operation
Category : temporary

  { /* Storage quota exceeded for the operation
       A script or one of its callee wrote more bytes than the operation
       said it would */
    "kind": "temporary",
    "id": "proto.alpha.storage_exhausted.operation" }

Storage limit out of protocol hard bounds

A transaction tried to exceed the hard limit on storage

Id : proto.alpha.storage_limit_too_high
Category : temporary

  { /* Storage limit out of protocol hard bounds
       A transaction tried to exceed the hard limit on storage */
    "kind": "permanent",
    "id": "proto.alpha.storage_limit_too_high" }

Overflowing tez addition

An addition of two tez amounts overflowed

Id : proto.alpha.tez.addition_overflow
Category : temporary

  { /* Overflowing tez addition
       An addition of two tez amounts overflowed */
    "kind": "temporary",
    "id": "proto.alpha.tez.addition_overflow",
    "amounts": [ $alpha.mutez, $alpha.mutez ] }
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Invalid tez divisor

Multiplication of a tez amount by a non positive integer

Id : proto.alpha.tez.invalid_divisor
Category : temporary

  { /* Invalid tez divisor
       Multiplication of a tez amount by a non positive integer */
    "kind": "temporary",
    "id": "proto.alpha.tez.invalid_divisor",
    "amount": $alpha.mutez,
    "divisor": $bignum }
  $alpha.mutez: $positive_bignum
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Overflowing tez multiplication

A multiplication of a tez amount by an integer overflowed

Id : proto.alpha.tez.multiplication_overflow
Category : temporary

  { /* Overflowing tez multiplication
       A multiplication of a tez amount by an integer overflowed */
    "kind": "temporary",
    "id": "proto.alpha.tez.multiplication_overflow",
    "amount": $alpha.mutez,
    "multiplicator": $bignum }
  $alpha.mutez: $positive_bignum
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Negative tez multiplicator

Multiplication of a tez amount by a negative integer

Id : proto.alpha.tez.negative_multiplicator
Category : temporary

  { /* Negative tez multiplicator
       Multiplication of a tez amount by a negative integer */
    "kind": "temporary",
    "id": "proto.alpha.tez.negative_multiplicator",
    "amount": $alpha.mutez,
    "multiplicator": $bignum }
  $alpha.mutez: $positive_bignum
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Underflowing tez subtraction

A subtraction of two tez amounts underflowed (i.e., would have led to a negative amount)

Id : proto.alpha.tez.subtraction_underflow
Category : temporary

  { /* Underflowing tez subtraction
       A subtraction of two tez amounts underflowed (i.e., would have led
       to a negative amount) */
    "kind": "temporary",
    "id": "proto.alpha.tez.subtraction_underflow",
    "amounts": [ $alpha.mutez, $alpha.mutez ] }
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Timestamp add

Overflow when adding timestamps.

Id : proto.alpha.timestamp_add
Category : temporary

  { /* Timestamp add
       Overflow when adding timestamps. */
    "kind": "permanent",
    "id": "proto.alpha.timestamp_add" }

Timestamp sub

Subtracting timestamps resulted in negative period.

Id : proto.alpha.timestamp_sub
Category : temporary

  { /* Timestamp sub
       Subtracting timestamps resulted in negative period. */
    "kind": "permanent",
    "id": "proto.alpha.timestamp_sub" }

Too many internal operations

A transaction exceeded the hard limit of internal operations it can emit

Id : proto.alpha.too_many_internal_operations
Category : temporary

  { /* Too many internal operations
       A transaction exceeded the hard limit of internal operations it can
       emit */
    "kind": "permanent",
    "id": "proto.alpha.too_many_internal_operations" }

Ill timed access to the origination nonce

An origination was attempted out of the scope of a manager operation

Id : proto.alpha.undefined_operation_nonce
Category : temporary

  { /* Ill timed access to the origination nonce
       An origination was attempted out of the scope of a manager operation */
    "kind": "permanent",
    "id": "proto.alpha.undefined_operation_nonce" }

Undetermined issuance coeff for cycle

Issuance coefficient is only determined for the current cycle and the next [consensus_rights_delay] cycles to come. Requested cycle is not in this window.

Id : proto.alpha.undetermined_issuance_coeff_for_cycle
Category : temporary

  { /* Undetermined issuance coeff for cycle
       Issuance coefficient is only determined for the current cycle and
       the next [consensus_rights_delay] cycles to come. Requested cycle is
       not in this window. */
    "kind": "permanent",
    "id": "proto.alpha.undetermined_issuance_coeff_for_cycle",
    "Undetermined_issuance_coeff_for_cycle": integer ∈ [-2^31-1, 2^31] }

Unexpected level

Level must be non-negative.

Id : proto.alpha.unexpected_level
Category : temporary

  { /* Unexpected level
       Level must be non-negative. */
    "kind": "permanent",
    "id": "proto.alpha.unexpected_level",
    "level": integer ∈ [-2^31-1, 2^31] }

Unexpected nonce length

Nonce length is incorrect.

Id : proto.alpha.unexpected_nonce_length
Category : temporary

  { /* Unexpected nonce length
       Nonce length is incorrect. */
    "kind": "permanent",
    "id": "proto.alpha.unexpected_nonce_length" }

Inconsistent validation passes in block

Validation of operation should be ordered by their validation passes in a block.

Id : proto.alpha.validate.block.inconsistent_validation_passes_in_block
Category : temporary

  { /* Inconsistent validation passes in block
       Validation of operation should be ordered by their validation passes
       in a block. */
    "kind": "permanent",
    "id":
      "proto.alpha.validate.block.inconsistent_validation_passes_in_block",
    "expected": integer ∈ [-2^30, 2^30],
    "provided": integer ∈ [-2^30, 2^30] }

Insufficient locked round evidence

Insufficient locked round evidence.

Id : proto.alpha.validate.block.insufficient_locked_round_evidence
Category : temporary

  { /* Insufficient locked round evidence
       Insufficient locked round evidence. */
    "kind": "permanent",
    "id": "proto.alpha.validate.block.insufficient_locked_round_evidence",
    "voting_power": integer ∈ [-2^30, 2^30],
    "consensus_threshold": integer ∈ [-2^30, 2^30] }

Invalid double baking evidence

A double-baking evidence is inconsistent (two distinct levels)

Id : proto.alpha.validate.block.invalid_double_baking_evidence
Category : temporary

  { /* Invalid double baking evidence
       A double-baking evidence is inconsistent (two distinct levels) */
    "kind": "permanent",
    "id": "proto.alpha.validate.block.invalid_double_baking_evidence",
    "hash1": $block_hash,
    "level1": integer ∈ [0, 2^31],
    "round1": integer ∈ [-2^31-1, 2^31],
    "hash2": $block_hash,
    "level2": integer ∈ [0, 2^31],
    "round2": integer ∈ [-2^31-1, 2^31] }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid payload hash

Invalid payload hash.

Id : proto.alpha.validate.block.invalid_payload_hash
Category : temporary

  { /* Invalid payload hash
       Invalid payload hash. */
    "kind": "permanent",
    "id": "proto.alpha.validate.block.invalid_payload_hash",
    "expected": $value_hash,
    "provided": $value_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring

Locked round after block round

Locked round after block round.

Id : proto.alpha.validate.block.locked_round_after_block_round
Category : temporary

  { /* Locked round after block round
       Locked round after block round. */
    "kind": "permanent",
    "id": "proto.alpha.validate.block.locked_round_after_block_round",
    "locked_round": integer ∈ [-2^31-1, 2^31],
    "round": integer ∈ [-2^31-1, 2^31] }

Not enough attestations

The block being validated does not include the required minimum number of attestations.

Id : proto.alpha.validate.block.not_enough_attestations
Category : temporary

  { /* Not enough attestations
       The block being validated does not include the required minimum
       number of attestations. */
    "kind": "permanent",
    "id": "proto.alpha.validate.block.not_enough_attestations",
    "required": integer ∈ [-2^30, 2^30],
    "provided": integer ∈ [-2^30, 2^30] }

Consensus operation for future level

Consensus operation for future level.

Id : proto.alpha.validate.consensus_operation_for_future_level
Category : temporary

  { /* Consensus operation for future level
       Consensus operation for future level. */
    "kind": "temporary",
    "id": "proto.alpha.validate.consensus_operation_for_future_level",
    "kind": "Attestation" | "Preattestation",
    "expected": integer ∈ [0, 2^31],
    "provided": integer ∈ [0, 2^31] }

Consensus operation for future round

Consensus operation for future round.

Id : proto.alpha.validate.consensus_operation_for_future_round
Category : temporary

  { /* Consensus operation for future round
       Consensus operation for future round. */
    "kind": "temporary",
    "id": "proto.alpha.validate.consensus_operation_for_future_round",
    "kind": "Attestation" | "Preattestation",
    "expected_max": integer ∈ [-2^31-1, 2^31],
    "provided": integer ∈ [-2^31-1, 2^31] }

Consensus operation for old level

Consensus operation for old level.

Id : proto.alpha.validate.consensus_operation_for_old_level
Category : temporary

  { /* Consensus operation for old level
       Consensus operation for old level. */
    "kind": "outdated",
    "id": "proto.alpha.validate.consensus_operation_for_old_level",
    "kind": "Attestation" | "Preattestation",
    "expected": integer ∈ [0, 2^31],
    "provided": integer ∈ [0, 2^31] }

Consensus operation for old round

Consensus operation for old round.

Id : proto.alpha.validate.consensus_operation_for_old_round
Category : temporary

  { /* Consensus operation for old round
       Consensus operation for old round. */
    "kind": "branch",
    "id": "proto.alpha.validate.consensus_operation_for_old_round",
    "kind": "Attestation" | "Preattestation",
    "expected_min": integer ∈ [-2^31-1, 2^31],
    "provided": integer ∈ [-2^31-1, 2^31] }

Consensus operation not allowed

Consensus operation not allowed.

Id : proto.alpha.validate.consensus_operation_not_allowed
Category : temporary

  { /* Consensus operation not allowed
       Consensus operation not allowed. */
    "kind": "branch",
    "id": "proto.alpha.validate.consensus_operation_not_allowed" }

Double inclusion of consensus operation

Double inclusion of consensus operation.

Id : proto.alpha.validate.double_inclusion_of_consensus_operation
Category : temporary

  { /* Double inclusion of consensus operation
       Double inclusion of consensus operation. */
    "kind": "branch",
    "id": "proto.alpha.validate.double_inclusion_of_consensus_operation",
    "kind": "Attestation" | "Preattestation",
    "conflict": $alpha.operation_conflict }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $alpha.operation_conflict:
    /* Conflict error
       Conflict between two operations */
    { "existing": $Operation_hash,
      "new_operation": $Operation_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Already denounced

The same denunciation has already been validated.

Id : proto.alpha.validate.operation.already_denounced
Category : temporary

  { /* Already denounced
       The same denunciation has already been validated. */
    "kind": "branch",
    "id": "proto.alpha.validate.operation.already_denounced",
    "denunciation_kind": "attestation" | "block" | "preattestation",
    "delegate": $Signature.Public_key_hash,
    "level":
      { "level":
          integer ∈ [0, 2^31]
          /* The level of the block relative to genesis. This is also the
             Shell's notion of level. */,
        "level_position":
          integer ∈ [-2^31-1, 2^31]
          /* The level of the block relative to the successor of the
             genesis block. More precisely, it is the position of the block
             relative to the block that starts the "Alpha family" of
             protocols, which includes all protocols except Genesis (that
             is, from 001 onwards). */,
        "cycle":
          integer ∈ [-2^31-1, 2^31]
          /* The current cycle's number. Note that cycles are a
             protocol-specific notion. As a result, the cycle number starts
             at 0 with the first block of the Alpha family of protocols. */,
        "cycle_position":
          integer ∈ [-2^31-1, 2^31]
          /* The current level of the block relative to the first block of
             the current cycle. */,
        "expected_commitment":
          boolean
          /* Tells whether the baker of this block has to commit a seed
             nonce hash. */ } }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Already proposed

The delegate has already submitted one of the operation's proposals.

Id : proto.alpha.validate.operation.already_proposed
Category : temporary

  { /* Already proposed
       The delegate has already submitted one of the operation's proposals. */
    "kind": "branch",
    "id": "proto.alpha.validate.operation.already_proposed",
    "proposal": $Protocol_hash }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Already submitted a ballot

The delegate has already submitted a ballot for the current voting period.

Id : proto.alpha.validate.operation.already_submitted_a_ballot
Category : temporary

  { /* Already submitted a ballot
       The delegate has already submitted a ballot for the current voting
       period. */
    "kind": "branch",
    "id": "proto.alpha.validate.operation.already_submitted_a_ballot" }

Ballot for wrong proposal

Ballot provided for a proposal that is not the current one.

Id : proto.alpha.validate.operation.ballot_for_wrong_proposal
Category : temporary

  { /* Ballot for wrong proposal
       Ballot provided for a proposal that is not the current one. */
    "kind": "branch",
    "id": "proto.alpha.validate.operation.ballot_for_wrong_proposal",
    "current_proposal": $Protocol_hash,
    "ballot_proposal": $Protocol_hash }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent denunciation

A denunciation operation is inconsistent (two distinct delegates)

Id : proto.alpha.validate.operation.block.inconsistent_denunciation
Category : temporary

  { /* Inconsistent denunciation
       A denunciation operation is inconsistent (two distinct delegates) */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.block.inconsistent_denunciation",
    "kind": "attestation" | "block" | "preattestation",
    "delegate1": $Signature.Public_key_hash,
    "delegate2": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid denunciation

A denunciation is malformed

Id : proto.alpha.validate.operation.block.invalid_denunciation
Category : temporary

  { /* Invalid denunciation
       A denunciation is malformed */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.block.invalid_denunciation",
    "kind": "attestation" | "block" | "preattestation" }

Outdated denunciation

A denunciation is outdated.

Id : proto.alpha.validate.operation.block.outdated_denunciation
Category : temporary

  { /* Outdated denunciation
       A denunciation is outdated. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.block.outdated_denunciation",
    "kind": "attestation" | "block" | "preattestation",
    "level": integer ∈ [0, 2^31],
    "last": integer ∈ [-2^31-1, 2^31] }

Too early denunciation

A denunciation is too far in the future

Id : proto.alpha.validate.operation.block.too_early_denunciation
Category : temporary

  { /* Too early denunciation
       A denunciation is too far in the future */
    "kind": "temporary",
    "id": "proto.alpha.validate.operation.block.too_early_denunciation",
    "kind": "attestation" | "block" | "preattestation",
    "level": integer ∈ [0, 2^31],
    "current": integer ∈ [0, 2^31] }

Conflict too many proposals

The delegate exceeded the maximum number of allowed proposals due to, among others, previous Proposals operations in the current block/mempool.

Id : proto.alpha.validate.operation.conflict_too_many_proposals
Category : temporary

  { /* Conflict too many proposals
       The delegate exceeded the maximum number of allowed proposals due
       to, among others, previous Proposals operations in the current
       block/mempool. */
    "kind": "temporary",
    "id": "proto.alpha.validate.operation.conflict_too_many_proposals",
    "previous_count": integer ∈ [-128, 127],
    "operation_count": integer ∈ [-2^30, 2^30] }

Account already activated in current validation_state

The account has already been activated by a previous operation in the current validation state.

Id : proto.alpha.validate.operation.conflicting_activation
Category : temporary

  { /* Account already activated in current validation_state
       The account has already been activated by a previous operation in
       the current validation state. */
    "kind": "branch",
    "id": "proto.alpha.validate.operation.conflicting_activation",
    "edpkh": $Ed25519.Public_key_hash,
    "conflict": $alpha.operation_conflict }
  $Ed25519.Public_key_hash:
    /* An Ed25519 public key hash (Base58Check-encoded) */
    $unistring
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $alpha.operation_conflict:
    /* Conflict error
       Conflict between two operations */
    { "existing": $Operation_hash,
      "new_operation": $Operation_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Conflicting ballot

The delegate has already submitted a ballot in a previously validated operation of the current block or mempool.

Id : proto.alpha.validate.operation.conflicting_ballot
Category : temporary

  { /* Conflicting ballot
       The delegate has already submitted a ballot in a previously
       validated operation of the current block or mempool. */
    "kind": "temporary",
    "id": "proto.alpha.validate.operation.conflicting_ballot",
    "conflict": $alpha.operation_conflict }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $alpha.operation_conflict:
    /* Conflict error
       Conflict between two operations */
    { "existing": $Operation_hash,
      "new_operation": $Operation_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Conflicting denunciation in current validation state

The same denunciation has already been validated in the current validation state.

Id : proto.alpha.validate.operation.conflicting_denunciation
Category : temporary

  { /* Conflicting denunciation in current validation state
       The same denunciation has already been validated in the current
       validation state. */
    "kind": "branch",
    "id": "proto.alpha.validate.operation.conflicting_denunciation",
    "denunciation_kind": "attestation" | "block" | "preattestation",
    "conflict": $alpha.operation_conflict }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $alpha.operation_conflict:
    /* Conflict error
       Conflict between two operations */
    { "existing": $Operation_hash,
      "new_operation": $Operation_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Conflicting drain in the current validation state).

A manager operation or another drain operation is in conflict.

Id : proto.alpha.validate.operation.conflicting_drain
Category : temporary

  { /* Conflicting drain in the current validation state).
       A manager operation or another drain operation is in conflict. */
    "kind": "branch",
    "id": "proto.alpha.validate.operation.conflicting_drain",
    "delegate": $Signature.Public_key_hash,
    "conflict": $alpha.operation_conflict }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.operation_conflict:
    /* Conflict error
       Conflict between two operations */
    { "existing": $Operation_hash,
      "new_operation": $Operation_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Conflicting nonce revelation in the current validation state).

A revelation for the same nonce has already been validated for the current validation state.

Id : proto.alpha.validate.operation.conflicting_nonce_revelation
Category : temporary

  { /* Conflicting nonce revelation in the current validation state).
       A revelation for the same nonce has already been validated for the
       current validation state. */
    "kind": "branch",
    "id": "proto.alpha.validate.operation.conflicting_nonce_revelation",
    "conflict": $alpha.operation_conflict }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $alpha.operation_conflict:
    /* Conflict error
       Conflict between two operations */
    { "existing": $Operation_hash,
      "new_operation": $Operation_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Conflicting proposals

The current block/mempool already contains a testnest dictator proposals operation, so it cannot have any other voting operation.

Id : proto.alpha.validate.operation.conflicting_proposals
Category : temporary

  { /* Conflicting proposals
       The current block/mempool already contains a testnest dictator
       proposals operation, so it cannot have any other voting operation. */
    "kind": "temporary",
    "id": "proto.alpha.validate.operation.conflicting_proposals",
    "conflict": $alpha.operation_conflict }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $alpha.operation_conflict:
    /* Conflict error
       Conflict between two operations */
    { "existing": $Operation_hash,
      "new_operation": $Operation_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Conflicting vdf revelation in the current validation state).

A revelation for the same vdf has already been validated for the current validation state.

Id : proto.alpha.validate.operation.conflicting_vdf_revelation
Category : temporary

  { /* Conflicting vdf revelation in the current validation state).
       A revelation for the same vdf has already been validated for the
       current validation state. */
    "kind": "branch",
    "id": "proto.alpha.validate.operation.conflicting_vdf_revelation",
    "conflict": $alpha.operation_conflict }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $alpha.operation_conflict:
    /* Conflict error
       Conflict between two operations */
    { "existing": $Operation_hash,
      "new_operation": $Operation_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Empty proposals

Proposal list cannot be empty.

Id : proto.alpha.validate.operation.empty_proposals
Category : temporary

  { /* Empty proposals
       Proposal list cannot be empty. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.empty_proposals" }

Failing_noop error

A failing_noop operation can never be validated.

Id : proto.alpha.validate.operation.failing_noop_error
Category : temporary

  { /* Failing_noop error
       A failing_noop operation can never be validated. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.failing_noop_error" }

Not enough gas for initial deserialization of script expressions

Gas limit was not high enough to deserialize the transaction parameters or origination script code or initial storage etc., making the operation impossible to parse within the provided gas bounds.

Id : proto.alpha.validate.operation.gas_quota_exceeded_init_deserialize
Category : temporary

  { /* Not enough gas for initial deserialization of script expressions
       Gas limit was not high enough to deserialize the transaction
       parameters or origination script code or initial storage etc.,
       making the operation impossible to parse within the provided gas
       bounds. */
    "kind": "permanent",
    "id":
      "proto.alpha.validate.operation.gas_quota_exceeded_init_deserialize" }

Inconsistent counters in operation

Inconsistent counters in operation batch. Counters must be increasing and consecutive.

Id : proto.alpha.validate.operation.inconsistent_counters
Category : temporary

  { /* Inconsistent counters in operation
       Inconsistent counters in operation batch. Counters must be
       increasing and consecutive. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.inconsistent_counters",
    "source": $Signature.Public_key_hash,
    "previous_counter": $bignum,
    "wrong_counter": $bignum }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent sources in operation batch

Inconsistent sources in operation batch. All operations in a batch must have the same source.

Id : proto.alpha.validate.operation.inconsistent_sources
Category : temporary

  { /* Inconsistent sources in operation batch
       Inconsistent sources in operation batch. All operations in a batch
       must have the same source. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.inconsistent_sources",
    "first_source": $Signature.Public_key_hash,
    "unexpected_source": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Incorrect reveal position

Incorrect reveal operation position in batch: only allowed in first position.

Id : proto.alpha.validate.operation.incorrect_reveal_position
Category : temporary

  { /* Incorrect reveal position
       Incorrect reveal operation position in batch: only allowed in first
       position. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.incorrect_reveal_position" }

Not enough gas for initial manager cost

Gas limit is too low to cover the initial cost of manager operations: a minimum of 100 gas units is required.

Id : proto.alpha.validate.operation.insufficient_gas_for_manager
Category : temporary

  { /* Not enough gas for initial manager cost
       Gas limit is too low to cover the initial cost of manager
       operations: a minimum of 100 gas units is required. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.insufficient_gas_for_manager" }

Invalid activation

The given key and secret do not correspond to any existing preallocated contract.

Id : proto.alpha.validate.operation.invalid_activation
Category : temporary

  { /* Invalid activation
       The given key and secret do not correspond to any existing
       preallocated contract. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.invalid_activation",
    "pkh": $Ed25519.Public_key_hash }
  $Ed25519.Public_key_hash:
    /* An Ed25519 public key hash (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Manager restriction

An operation with the same manager has already been validated in the current block.

Id : proto.alpha.validate.operation.manager_restriction
Category : temporary

  { /* Manager restriction
       An operation with the same manager has already been validated in the
       current block. */
    "kind": "temporary",
    "id": "proto.alpha.validate.operation.manager_restriction",
    "source": $Signature.Public_key_hash,
    "conflict": $alpha.operation_conflict }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.operation_conflict:
    /* Conflict error
       Conflict between two operations */
    { "existing": $Operation_hash,
      "new_operation": $Operation_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Proposals contain duplicate

The list of proposals contains a duplicate element.

Id : proto.alpha.validate.operation.proposals_contain_duplicate
Category : temporary

  { /* Proposals contain duplicate
       The list of proposals contains a duplicate element. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.proposals_contain_duplicate",
    "proposal": $Protocol_hash }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Source not in vote listings

The delegate is not in the vote listings.

Id : proto.alpha.validate.operation.source_not_in_vote_listings
Category : temporary

  { /* Source not in vote listings
       The delegate is not in the vote listings. */
    "kind": "temporary",
    "id": "proto.alpha.validate.operation.source_not_in_vote_listings" }

Testnet dictator multiple proposals

A testnet dictator cannot submit more than one proposal at a time.

Id : proto.alpha.validate.operation.testnet_dictator_multiple_proposals
Category : temporary

  { /* Testnet dictator multiple proposals
       A testnet dictator cannot submit more than one proposal at a time. */
    "kind": "permanent",
    "id":
      "proto.alpha.validate.operation.testnet_dictator_multiple_proposals" }

Wrong voting period index

The voting operation contains a voting period index different from the current one.

Id : proto.alpha.validate.operation.wrong_voting_period_index
Category : temporary

  { /* Wrong voting period index
       The voting operation contains a voting period index different from
       the current one. */
    "kind": "temporary",
    "id": "proto.alpha.validate.operation.wrong_voting_period_index",
    "current_index": integer ∈ [-2^31-1, 2^31],
    "provided_index": integer ∈ [-2^31-1, 2^31] }

Wrong voting period kind

The voting operation is incompatible the current voting period kind.

Id : proto.alpha.validate.operation.wrong_voting_period_kind
Category : temporary

  { /* Wrong voting period kind
       The voting operation is incompatible the current voting period kind. */
    "kind": "temporary",
    "id": "proto.alpha.validate.operation.wrong_voting_period_kind",
    "current":
      "proposal"
      || "exploration"
      || "cooldown"
      || "promotion"
      || "adoption",
    "expected":
      [ "proposal"
        || "exploration"
        || "cooldown"
        || "promotion"
        || "adoption" ... ] }

ZK rollups are disabled

ZK rollups will be enabled in a future proposal.

Id : proto.alpha.validate.operation.zk_rollup_disabled
Category : temporary

  { /* ZK rollups are disabled
       ZK rollups will be enabled in a future proposal. */
    "kind": "permanent",
    "id": "proto.alpha.validate.operation.zk_rollup_disabled",
    ... }

Preattestation round too high

Preattestation round too high.

Id : proto.alpha.validate.preattestation_round_too_high
Category : temporary

  { /* Preattestation round too high
       Preattestation round too high. */
    "kind": "permanent",
    "id": "proto.alpha.validate.preattestation_round_too_high",
    "block_round": integer ∈ [-2^31-1, 2^31],
    "provided": integer ∈ [-2^31-1, 2^31] }

Temporarily forbidden delegate

The delegate has committed too many misbehaviours.

Id : proto.alpha.validate.temporarily_forbidden_delegate
Category : temporary

  { /* Temporarily forbidden delegate
       The delegate has committed too many misbehaviours. */
    "kind": "permanent",
    "id": "proto.alpha.validate.temporarily_forbidden_delegate",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected attestation in block

Unexpected attestation in block.

Id : proto.alpha.validate.unexpected_attestation_in_block
Category : temporary

  { /* Unexpected attestation in block
       Unexpected attestation in block. */
    "kind": "permanent",
    "id": "proto.alpha.validate.unexpected_attestation_in_block" }

Unexpected preattestation in block

Unexpected preattestation in block.

Id : proto.alpha.validate.unexpected_preattestation_in_block
Category : temporary

  { /* Unexpected preattestation in block
       Unexpected preattestation in block. */
    "kind": "permanent",
    "id": "proto.alpha.validate.unexpected_preattestation_in_block" }

Wrong payload hash for consensus operation

Wrong payload hash for consensus operation.

Id : proto.alpha.validate.wrong_payload_hash_for_consensus_operation
Category : temporary

  { /* Wrong payload hash for consensus operation
       Wrong payload hash for consensus operation. */
    "kind": "branch",
    "id": "proto.alpha.validate.wrong_payload_hash_for_consensus_operation",
    "kind": "Attestation" | "Preattestation",
    "expected": $value_hash,
    "provided": $value_hash }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring

Wrong slot for consensus operation

Wrong slot used for a preattestation or attestation.

Id : proto.alpha.validate.wrong_slot_for_consensus_operation
Category : temporary

  { /* Wrong slot for consensus operation
       Wrong slot used for a preattestation or attestation. */
    "kind": "permanent",
    "id": "proto.alpha.validate.wrong_slot_for_consensus_operation",
    "kind": "Attestation" | "Preattestation" }

Previously revealed VDF

Duplicate VDF revelation in cycle

Id : proto.alpha.vdf.previously_revealed
Category : temporary

  { /* Previously revealed VDF
       Duplicate VDF revelation in cycle */
    "kind": "branch",
    "id": "proto.alpha.vdf.previously_revealed",
    ... }

Too early VDF revelation

VDF revelation before the end of the nonce revelation period

Id : proto.alpha.vdf.too_early_revelation
Category : temporary

  { /* Too early VDF revelation
       VDF revelation before the end of the nonce revelation period */
    "kind": "temporary",
    "id": "proto.alpha.vdf.too_early_revelation",
    ... }

Unverified VDF

VDF verification failed

Id : proto.alpha.vdf.unverified_result
Category : temporary

  { /* Unverified VDF
       VDF verification failed */
    "kind": "branch",
    "id": "proto.alpha.vdf.unverified_result",
    ... }

View callback origination failed

View callback origination failed

Id : proto.alpha.viewCallbackOriginationFailed
Category : temporary

  { /* View callback origination failed
       View callback origination failed */
    "kind": "permanent",
    "id": "proto.alpha.viewCallbackOriginationFailed",
    ... }

A view never returned a transaction to the given callback contract

A view never initiated a transaction to the given callback contract.

Id : proto.alpha.viewNeverReturns
Category : temporary

  { /* A view never returned a transaction to the given callback contract
       A view never initiated a transaction to the given callback contract. */
    "kind": "permanent",
    "id": "proto.alpha.viewNeverReturns",
    "entrypoint": $unistring,
    "callback": $alpha.contract_id.originated }
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

A view could not be found

The contract does not have a view of the given name.

Id : proto.alpha.viewNotFound
Category : temporary

  { /* A view could not be found
       The contract does not have a view of the given name. */
    "kind": "permanent",
    "id": "proto.alpha.viewNotFound",
    "contract": $alpha.contract_id.originated,
    "view": $unistring }
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

A view returned an unexpected list of operations

A view initiated a list of operations while the TZIP-4 standard expects only a transaction to the given callback contract.

Id : proto.alpha.viewUnexpectedReturn
Category : temporary

  { /* A view returned an unexpected list of operations
       A view initiated a list of operations while the TZIP-4 standard
       expects only a transaction to the given callback contract. */
    "kind": "permanent",
    "id": "proto.alpha.viewUnexpectedReturn",
    "entrypoint": $unistring,
    "callback": $alpha.contract_id.originated }
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Viewed contract has no script

A view was called on a contract with no script.

Id : proto.alpha.viewedContractHasNoScript
Category : temporary

  { /* Viewed contract has no script
       A view was called on a contract with no script. */
    "kind": "permanent",
    "id": "proto.alpha.viewedContractHasNoScript",
    ... }

A VIEW instruction returned an unexpected value

A VIEW instruction returned an unexpected value.

Id : proto.alpha.viewerUnexpectedStorage
Category : temporary

  { /* A VIEW instruction returned an unexpected value
       A VIEW instruction returned an unexpected value. */
    "kind": "permanent",
    "id": "proto.alpha.viewerUnexpectedStorage",
    ... }

Wrong fitness

Wrong fitness.

Id : proto.alpha.wrong_fitness
Category : temporary

  { /* Wrong fitness
       Wrong fitness. */
    "kind": "permanent",
    "id": "proto.alpha.wrong_fitness" }

ZK Rollup does not exist

Attempted to use a ZK rollup that has not been originated.

Id : proto.alpha.zk_rollup_does_not_exist
Category : temporary

  { /* ZK Rollup does not exist
       Attempted to use a ZK rollup that has not been originated. */
    "kind": "temporary",
    "id": "proto.alpha.zk_rollup_does_not_exist",
    "rollup": $Zk_rollup_hash }
  $Zk_rollup_hash:
    /* A zk rollup address (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid op code in append

Invalid op code in append

Id : proto.alpha.zk_rollup_invalid_op code
Category : temporary

  { /* Invalid op code in append
       Invalid op code in append */
    "kind": "permanent",
    "id": "proto.alpha.zk_rollup_invalid_op code",
    "op_code": integer ∈ [-2^30, 2^30] }

Negative length for pending list prefix

Negative length for pending list prefix

Id : proto.alpha.zk_rollup_negative_length
Category : temporary

  { /* Negative length for pending list prefix
       Negative length for pending list prefix */
    "kind": "permanent",
    "id": "proto.alpha.zk_rollup_negative_length",
    ... }

Pending list is too short

Pending list is too short

Id : proto.alpha.zk_rollup_pending_list_too_short
Category : temporary

  { /* Pending list is too short
       Pending list is too short */
    "kind": "temporary",
    "id": "proto.alpha.zk_rollup_pending_list_too_short",
    ... }

The payload of the deposited ticket exceeded the size limit

The payload of the deposited ticket exceeded the size limit

Id : proto.alpha.zk_rollup_ticket_payload_size_limit_exceeded
Category : temporary

  { /* The payload of the deposited ticket exceeded the size limit
       The payload of the deposited ticket exceeded the size limit */
    "kind": "permanent",
    "id": "proto.alpha.zk_rollup_ticket_payload_size_limit_exceeded",
    "payload_size": $positive_bignum,
    "limit": integer ∈ [-2^30, 2^30] }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Shell#

Invalid block locator

Block locator is invalid.

Id : node.bootstrap_pipeline.invalid_locator
Category : permanent

  { /* Invalid block locator
       Block locator is invalid. */
    "kind": "permanent",
    "id": "node.bootstrap_pipeline.invalid_locator",
    "id": $Crypto_box.Public_key_hash,
    "locator": $block_locator }
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $Crypto_box.Public_key_hash:
    /* A Cryptobox public key ID (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $block_header:
    /* Block header
       Block header. It contains both shell and protocol specific data. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "protocol_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $block_locator:
    /* A sparse block locator à la Bitcoin */
    { "current_head": $block_header,
      "history": [ $block_hash ... ] }
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte
       sequences. They are compared as follows: shortest lists are smaller;
       lists of the same length are compared according to the
       lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Too short locator

Block locator is too short.

Id : node.bootstrap_pipeline.too_short_locator
Category : permanent

  { /* Too short locator
       Block locator is too short. */
    "kind": "permanent",
    "id": "node.bootstrap_pipeline.too_short_locator",
    "id": $Crypto_box.Public_key_hash,
    "locator": $block_locator }
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $Crypto_box.Public_key_hash:
    /* A Cryptobox public key ID (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $block_header:
    /* Block header
       Block header. It contains both shell and protocol specific data. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "protocol_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $block_locator:
    /* A sparse block locator à la Bitcoin */
    { "current_head": $block_header,
      "history": [ $block_hash ... ] }
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte
       sequences. They are compared as follows: shortest lists are smaller;
       lists of the same length are compared according to the
       lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

No trusted setup found

No trusted setup found in the explored paths

Id : node.config.trusted_setup_not_found
Category : permanent

  { /* No trusted setup found
       No trusted setup found in the explored paths */
    "kind": "permanent",
    "id": "node.config.trusted_setup_not_found",
    "paths": [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Operation fees are too low to be considered in full mempool

Operation fees are too low to be considered in full mempool

Id : node.mempool.rejected_by_full_mempool
Category : temporary

  { /* Operation fees are too low to be considered in full mempool
       Operation fees are too low to be considered in full mempool */
    "kind": "temporary",
    "id": "node.mempool.rejected_by_full_mempool",
    "operation_hash": $Operation_hash,
    "needed_fee_in_mutez"?: $int64 }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Operation removed from full mempool because its fees are too low

Operation removed from full mempool because its fees are too low

Id : node.mempool.removed_from_full_mempool
Category : temporary

  { /* Operation removed from full mempool because its fees are too low
       Operation removed from full mempool because its fees are too low */
    "kind": "temporary",
    "id": "node.mempool.removed_from_full_mempool",
    "operation_hash": $Operation_hash }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Peer discovery disabled

The peer discovery is disabled, sending advertise messages is forbidden.

Id : node.p2p_conn.peer_discovery_disabled
Category : permanent

  { /* Peer discovery disabled
       The peer discovery is disabled, sending advertise messages is
       forbidden. */
    "kind": "permanent",
    "id": "node.p2p_conn.peer_discovery_disabled" }

Unexpected peer identity

Peer announced an identity which does not match the one specified on the command-line.

Id : node.p2p_connect_handler.identity_check_failure
Category : permanent

  { /* Unexpected peer identity
       Peer announced an identity which does not match the one specified on
       the command-line. */
    "kind": "permanent",
    "id": "node.p2p_connect_handler.identity_check_failure",
    "point": $p2p_point.id,
    "expected_peer_id": $Crypto_box.Public_key_hash,
    "received_peer_id": $Crypto_box.Public_key_hash }
  $Crypto_box.Public_key_hash:
    /* A Cryptobox public key ID (Base58Check-encoded) */
    $unistring
  $p2p_point.id:
    /* Identifier for a peer point */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Connection closed

IO error: connection with a peer is closed.

Id : node.p2p_io_scheduler.connection_closed
Category : permanent

  { /* Connection closed
       IO error: connection with a peer is closed. */
    "kind": "permanent",
    "id": "node.p2p_io_scheduler.connection_closed" }

Connection error

IO error: connection error while reading from a peer.

Id : node.p2p_io_scheduler.connection_error
Category : permanent

  { /* Connection error
       IO error: connection error while reading from a peer. */
    "kind": "permanent",
    "id": "node.p2p_io_scheduler.connection_error" }

Maintenance disabled

Attempt to trigger the maintenance failed as the maintenance is disabled.

Id : node.p2p_maintenance.disabled
Category : permanent

  { /* Maintenance disabled
       Attempt to trigger the maintenance failed as the maintenance is
       disabled. */
    "kind": "permanent",
    "id": "node.p2p_maintenance.disabled" }

Connected

Fail to connect with a peer: a connection is already established.

Id : node.p2p_pool.connected
Category : permanent

  { /* Connected
       Fail to connect with a peer: a connection is already established. */
    "kind": "permanent",
    "id": "node.p2p_pool.connected" }

TCP connection failed

TCP connection failed (refused or no route to host).

Id : node.p2p_pool.connection_failed
Category : permanent

  { /* TCP connection failed
       TCP connection failed (refused or no route to host). */
    "kind": "permanent",
    "id": "node.p2p_pool.connection_failed" }

P2P layer disabled

The P2P layer on this node is not active.

Id : node.p2p_pool.disabled
Category : permanent

  { /* P2P layer disabled
       The P2P layer on this node is not active. */
    "kind": "permanent",
    "id": "node.p2p_pool.disabled" }

Peer Banned

The peer identity you tried to connect is banned.

Id : node.p2p_pool.peer_banned
Category : permanent

  { /* Peer Banned
       The peer identity you tried to connect is banned. */
    "kind": "permanent",
    "id": "node.p2p_pool.peer_banned",
    "peer": $Crypto_box.Public_key_hash }
  $Crypto_box.Public_key_hash:
    /* A Cryptobox public key ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Pending connection

Fail to connect with a peer: a connection is already pending.

Id : node.p2p_pool.pending_connection
Category : permanent

  { /* Pending connection
       Fail to connect with a peer: a connection is already pending. */
    "kind": "permanent",
    "id": "node.p2p_pool.pending_connection" }

Point Banned

The address you tried to connect is banned.

Id : node.p2p_pool.point_banned
Category : permanent

  { /* Point Banned
       The address you tried to connect is banned. */
    "kind": "permanent",
    "id": "node.p2p_pool.point_banned",
    "point": $p2p_point.id }
  $p2p_point.id:
    /* Identifier for a peer point */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Private mode

Node is in private mode.

Id : node.p2p_pool.private_mode
Category : permanent

  { /* Private mode
       Node is in private mode. */
    "kind": "permanent",
    "id": "node.p2p_pool.private_mode" }

Rejected peer

Connection to peer was rejected by us.

Id : node.p2p_pool.rejected
Category : permanent

  { /* Rejected peer
       Connection to peer was rejected by us. */
    "kind": "permanent",
    "id": "node.p2p_pool.rejected",
    "peer_id": $Crypto_box.Public_key_hash,
    "motive": integer ∈ [-2^15, 2^15-1] }
  $Crypto_box.Public_key_hash:
    /* A Cryptobox public key ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Too many connections

Too many connections.

Id : node.p2p_pool.too_many_connections
Category : permanent

  { /* Too many connections
       Too many connections. */
    "kind": "permanent",
    "id": "node.p2p_pool.too_many_connections" }

Decipher error

An error occurred while deciphering.

Id : node.p2p_socket.decipher_error
Category : permanent

  { /* Decipher error
       An error occurred while deciphering. */
    "kind": "permanent",
    "id": "node.p2p_socket.decipher_error" }

Decoding error

An error occurred while decoding.

Id : node.p2p_socket.decoding_error
Category : permanent

  { /* Decoding error
       An error occurred while decoding. */
    "kind": "permanent",
    "id": "node.p2p_socket.decoding_error",
    "read_error":
      { /* Not enough data */
         }
      || { /* Extra bytes */
            }
      || { /* No case matched */
            }
      || integer ∈ [-2^30, 2^30]
      /* Unexpected tag */
      || { /* Invalid int */
           "min": integer ∈ [-2^30, 2^30],
           "v": integer ∈ [-2^30, 2^30],
           "max": integer ∈ [-2^30, 2^30] }
      || { /* Invalid float */
           "min": number,
           "v": number,
           "max": number }
      || { /* Trailing zero */
            }
      || { /* Size limit exceeded */
            }
      || { /* List too long */
            }
      || { /* Array too long */
            }
      || $unistring
      /* Exception raised in user function */
      || $unistring
      /* User invariant guard */ }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid authentication

Rejected peer connection: invalid authentication.

Id : node.p2p_socket.invalid_auth
Category : permanent

  { /* Invalid authentication
       Rejected peer connection: invalid authentication. */
    "kind": "permanent",
    "id": "node.p2p_socket.invalid_auth" }

Invalid chunks size

Size of chunks is not valid.

Id : node.p2p_socket.invalid_chunks_size
Category : permanent

  { /* Invalid chunks size
       Size of chunks is not valid. */
    "kind": "permanent",
    "id": "node.p2p_socket.invalid_chunks_size",
    "value": integer ∈ [-2^30, 2^30],
    "min": integer ∈ [-2^30, 2^30],
    "max": integer ∈ [-2^30, 2^30] }

Invalid incoming ciphertext size

The announced size for the incoming ciphertext is invalid.

Id : node.p2p_socket.invalid_incoming_ciphertext_size
Category : permanent

  { /* Invalid incoming ciphertext size
       The announced size for the incoming ciphertext is invalid. */
    "kind": "permanent",
    "id": "node.p2p_socket.invalid_incoming_ciphertext_size" }

Invalid message size

The size of the message to be written is invalid.

Id : node.p2p_socket.invalid_message_size
Category : permanent

  { /* Invalid message size
       The size of the message to be written is invalid. */
    "kind": "permanent",
    "id": "node.p2p_socket.invalid_message_size" }

Myself

Remote peer is actually yourself.

Id : node.p2p_socket.myself
Category : permanent

  { /* Myself
       Remote peer is actually yourself. */
    "kind": "permanent",
    "id": "node.p2p_socket.myself",
    "connection_id": $p2p_connection.id }
  $p2p_address:
    /* An address for locating peers. */
    $unistring
  $p2p_connection.id:
    /* The identifier for a p2p connection. It includes an address and a
       port number. */
    { "addr": $p2p_address,
      "port"?: integer ∈ [0, 2^16-1] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Not enough proof of work

Remote peer cannot be authenticated: not enough proof of work.

Id : node.p2p_socket.not_enough_proof_of_work
Category : permanent

  { /* Not enough proof of work
       Remote peer cannot be authenticated: not enough proof of work. */
    "kind": "permanent",
    "id": "node.p2p_socket.not_enough_proof_of_work",
    "peer_id": $Crypto_box.Public_key_hash }
  $Crypto_box.Public_key_hash:
    /* A Cryptobox public key ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Rejected socket connection by Nack

Rejected peer connection: The peer rejected the socket connection by Nack with a list of alternative peers.

Id : node.p2p_socket.rejected_by_nack
Category : permanent

  { /* Rejected socket connection by Nack
       Rejected peer connection: The peer rejected the socket connection by
       Nack with a list of alternative peers. */
    "kind": "permanent",
    "id": "node.p2p_socket.rejected_by_nack",
    "motive": integer ∈ [-2^15, 2^15-1],
    "alternative_points"?: [ $p2p_point.id ... ] }
  $p2p_point.id:
    /* Identifier for a peer point */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Rejected socket connection - no common network protocol

Rejected peer connection: rejected socket connection as we have no common network protocol with the peer.

Id : node.p2p_socket.rejected_no_common_protocol
Category : permanent

  { /* Rejected socket connection - no common network protocol
       Rejected peer connection: rejected socket connection as we have no
       common network protocol with the peer. */
    "kind": "permanent",
    "id": "node.p2p_socket.rejected_no_common_protocol",
    "announced_version": $network_version }
  $distributed_db_version:
    /* A version number for the distributed DB protocol */
    integer ∈ [0, 2^16-1]
  $distributed_db_version.name:
    /* A name for the distributed DB protocol */
    $unistring
  $network_version:
    /* A version number for the network protocol (includes distributed DB
       version and p2p version) */
    { "chain_name": $distributed_db_version.name,
      "distributed_db_version": $distributed_db_version,
      "p2p_version": $p2p_version }
  $p2p_version:
    /* A version number for the p2p layer. */
    integer ∈ [0, 2^16-1]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Rejected socket connection

Rejected peer connection: rejected socket connection.

Id : node.p2p_socket.rejected_socket_connection
Category : permanent

  { /* Rejected socket connection
       Rejected peer connection: rejected socket connection. */
    "kind": "permanent",
    "id": "node.p2p_socket.rejected_socket_connection" }

Rejecting socket connection

Rejecting peer connection with motive.

Id : node.p2p_socket.rejecting_incoming
Category : permanent

  { /* Rejecting socket connection
       Rejecting peer connection with motive. */
    "kind": "permanent",
    "id": "node.p2p_socket.rejecting_incoming",
    "motive": integer ∈ [-2^15, 2^15-1] }

Known invalid

Known invalid block found in the peer's chain

Id : node.peer_validator.known_invalid
Category : permanent

  { /* Known invalid
       Known invalid block found in the peer's chain */
    "kind": "permanent",
    "id": "node.peer_validator.known_invalid" }

Unknown ancestor

Unknown ancestor block found in the peer's chain

Id : node.peer_validator.unknown_ancestor
Category : permanent

  { /* Unknown ancestor
       Unknown ancestor block found in the peer's chain */
    "kind": "permanent",
    "id": "node.peer_validator.unknown_ancestor" }

Future block header

The block was annotated with a time too far in the future.

Id : node.prevalidation.future_block_header
Category : temporary

  { /* Future block header
       The block was annotated with a time too far in the future. */
    "kind": "temporary",
    "id": "node.prevalidation.future_block_header",
    "block": $block_hash,
    "block_time": $timestamp.protocol,
    "time": $timestamp.system }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $timestamp.rfc:
    /* RFC 3339 formatted timestamp
       A date in RFC 3339 notation. */
    $unistring
  $timestamp.system:
    /* A timestamp as seen by the underlying, local computer:
       subsecond-level precision, epoch or rfc3339 based. */
    $timestamp.rfc /* RFC encoding */ || $int64 /* Second since epoch */
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Oversized operation

The operation size is bigger than allowed.

Id : node.prevalidation.oversized_operation
Category : permanent

  { /* Oversized operation
       The operation size is bigger than allowed. */
    "kind": "permanent",
    "id": "node.prevalidation.oversized_operation",
    "size": integer ∈ [-2^30, 2^30],
    "max_size": integer ∈ [-2^30, 2^30] }

Parsing error in prevalidation

Raised when an operation has not been parsed correctly during prevalidation.

Id : node.prevalidation.parse_error
Category : permanent

  { /* Parsing error in prevalidation
       Raised when an operation has not been parsed correctly during
       prevalidation. */
    "kind": "permanent",
    "id": "node.prevalidation.parse_error" }

Too many pending operations in prevalidation

The prevalidation context is full.

Id : node.prevalidation.too_many_operations
Category : temporary

  { /* Too many pending operations in prevalidation
       The prevalidation context is full. */
    "kind": "temporary",
    "id": "node.prevalidation.too_many_operations" }

Cannot load protocol

Cannot load protocol from disk

Id : node.protocol_validator.cannot_load_protocol
Category : permanent

  { /* Cannot load protocol
       Cannot load protocol from disk */
    "kind": "permanent",
    "id": "node.protocol_validator.cannot_load_protocol",
    "protocol": $Protocol_hash }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid protocol

Invalid protocol.

Id : node.protocol_validator.invalid_protocol
Category : permanent

  /* Invalid protocol
     Invalid protocol. */
  { /* Compilation failed */
    "kind": "permanent",
    "id": "node.protocol_validator.invalid_protocol",
    "invalid_protocol": $Protocol_hash,
    "error": "compilation_failed" }
  || { /* Dynlinking failed */
       "kind": "permanent",
       "id": "node.protocol_validator.invalid_protocol",
       "invalid_protocol": $Protocol_hash,
       "error": "dynlinking_failed" }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad data directory

The data directory could not be read. This could be because it was generated with an old version of the octez-node program. Deleting and regenerating this directory may fix the problem.

Id : node.state.bad_data_dir
Category : permanent

  { /* Bad data directory
       The data directory could not be read. This could be because it was
       generated with an old version of the octez-node program. Deleting
       and regenerating this directory may fix the problem. */
    "kind": "permanent",
    "id": "node.state.bad_data_dir" }

Inconsistent commit hash

When committing the context of a block, the announced context hash was not the one computed at commit time.

Id : node.state.block.inconsistent_context_hash
Category : permanent

  { /* Inconsistent commit hash
       When committing the context of a block, the announced context hash
       was not the one computed at commit time. */
    "kind": "permanent",
    "id": "node.state.block.inconsistent_context_hash",
    "wrong_context_hash": $Context_hash,
    "expected_context_hash": $Context_hash }
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing block metadata hash

A block was expected to commit to a block metadata hash, however none was given.

Id : node.state.block.missing_block_metadata_hash
Category : permanent

  { /* Missing block metadata hash
       A block was expected to commit to a block metadata hash, however
       none was given. */
    "kind": "permanent",
    "id": "node.state.block.missing_block_metadata_hash",
    "block": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing operation metadata hashes

A block was expected to commit to operation metadata hashes, however none were given.

Id : node.state.block.missing_operation_metadata_hashes
Category : permanent

  { /* Missing operation metadata hashes
       A block was expected to commit to operation metadata hashes, however
       none were given. */
    "kind": "permanent",
    "id": "node.state.block.missing_operation_metadata_hashes",
    "block": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Block not invalid

The invalid block to be unmarked was not actually invalid.

Id : node.state.block_not_invalid
Category : permanent

  { /* Block not invalid
       The invalid block to be unmarked was not actually invalid. */
    "kind": "permanent",
    "id": "node.state.block_not_invalid",
    "block": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unknown chain

The chain identifier could not be found in the chain identifiers table.

Id : node.state.unknown_chain
Category : permanent

  { /* Unknown chain
       The chain identifier could not be found in the chain identifiers
       table. */
    "kind": "permanent",
    "id": "node.state.unknown_chain",
    "chain": $Chain_id }
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Block incompatible with the current checkpoint.

The block belongs to a branch that is not compatible with the current checkpoint.

Id : node.validator.checkpoint_error
Category : branch

  { /* Block incompatible with the current checkpoint.
       The block belongs to a branch that is not compatible with the
       current checkpoint. */
    "kind": "branch",
    "id": "node.validator.checkpoint_error",
    "block": $block_hash,
    "peer"?: $Crypto_box.Public_key_hash }
  $Crypto_box.Public_key_hash:
    /* A Cryptobox public key ID (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inactive chain

Attempted validation of a block from an inactive chain.

Id : node.validator.inactive_chain
Category : branch

  { /* Inactive chain
       Attempted validation of a block from an inactive chain. */
    "kind": "branch",
    "id": "node.validator.inactive_chain",
    "inactive_chain": $Chain_id }
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot process request while shutting down

Cannot process request while the node is shutting down.

Id : validator.cannot_process_request_while_shutting_down
Category : temporary

  { /* Cannot process request while shutting down
       Cannot process request while the node is shutting down. */
    "kind": "temporary",
    "id": "validator.cannot_process_request_while_shutting_down" }

Invalid merkle tree

The provided list of operations is inconsistent with the block header.

Id : validator.inconsistent_operations_hash
Category : temporary

  { /* Invalid merkle tree
       The provided list of operations is inconsistent with the block
       header. */
    "kind": "temporary",
    "id": "validator.inconsistent_operations_hash",
    "block": $block_hash,
    "expected": $Operation_list_list_hash,
    "found": $Operation_list_list_hash }
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid block

Invalid block.

Id : validator.invalid_block
Category : permanent

  { /* Invalid block
       Invalid block. */
    "kind": "permanent",
    "id": "validator.invalid_block",
    "invalid_block": $block_hash,
    "error":
      { /* Cannot_parse_operation */
        "error": "cannot_parse_operation",
        "operation": $Operation_hash }
      || { /* Invalid_fitness */
           "error": "invalid_fitness",
           "expected": $fitness,
           "found": $fitness }
      || { /* Non_increasing_timestamp */
           "error": "non_increasing_timestamp" }
      || { /* Non_increasing_fitness */
           "error": "non_increasing_fitness" }
      || { /* Invalid_level */
           "error": "invalid_level",
           "expected": integer ∈ [-2^31-1, 2^31],
           "found": integer ∈ [-2^31-1, 2^31] }
      || { /* Invalid_proto_level */
           "error": "invalid_proto_level",
           "expected": integer ∈ [0, 255],
           "found": integer ∈ [0, 255] }
      || { /* Replayed_operation */
           "error": "replayed_operation",
           "operation": $Operation_hash }
      || { /* Outdated_operation */
           "error": "outdated_operation",
           "operation": $Operation_hash,
           "originating_block": $block_hash }
      || { /* Expired_chain */
           "error": "expired_chain",
           "chain_id": $Chain_id,
           "expiration": $timestamp.protocol,
           "timestamp": $timestamp.protocol }
      || { /* Unexpected_number_of_validation_passes */
           "error": "unexpected_number_of_passes",
           "found": integer ∈ [0, 255] }
      || { /* Too_many_operations */
           "error": "too_many_operations",
           "validation_pass": integer ∈ [0, 255],
           "found": integer ∈ [0, 2^16-1],
           "max": integer ∈ [0, 2^16-1] }
      || { /* Oversized_operation */
           "error": "oversized_operation",
           "operation": $Operation_hash,
           "found": integer ∈ [-2^30, 2^30],
           "max": integer ∈ [-2^30, 2^30] }
      || { /* Unallowed_pass */
           "error": "invalid_pass",
           "operation": $Operation_hash,
           "pass": integer ∈ [0, 255],
           "allowed_pass":
             integer ∈ [0, 255] /* Some */ || null /* None */ }
      || { /* Cannot_parse_block_header */
           "error": "cannot_parse_bock_header" }
      || { /* Economic_protocol_error */
           "error": "economic_protocol_error" }
      || { /* Invalid_protocol_environment_transition */
           "error": "invalid_protocol_environment_transition",
           "before": $protocol.environment_version,
           "after": $protocol.environment_version } }
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte
       sequences. They are compared as follows: shortest lists are smaller;
       lists of the same length are compared according to the
       lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $protocol.environment_version: integer ∈ [0, 2^16-1]
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing test protocol

Missing test protocol when forking the test chain

Id : validator.missing_test_protocol
Category : temporary

  { /* Missing test protocol
       Missing test protocol when forking the test chain */
    "kind": "temporary",
    "id": "validator.missing_test_protocol",
    "test_protocol": $Protocol_hash }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing protocol

The protocol required for validating a block is missing.

Id : validator.unavailable_protocol
Category : temporary

  { /* Missing protocol
       The protocol required for validating a block is missing. */
    "kind": "temporary",
    "id": "validator.unavailable_protocol",
    "block": $block_hash,
    "missing_protocol": $Protocol_hash }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Validation process failed

Failed to validate block using external validation process.

Id : validator.validation_process_failed
Category : temporary

  { /* Validation process failed
       Failed to validate block using external validation process. */
    "kind": "temporary",
    "id": "validator.validation_process_failed",
    "error":
      { /* Missing_handshake */
        "constant": "missing_handshake" }
      || { /* Inconsistent_handshake */
           "inconsistent_handshake": $unistring }
      || { /* Protocol_dynlink_failure */
           "protocol_dynlink_failure": $unistring } }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Michelson parsing/macros#

Micheline parser error: annotation exceeds max length

While parsing a piece of Micheline source, an annotation exceeded the maximum length (255).

Id : micheline.parse_error.annotation_exceeds_max_length
Category : permanent

  { /* Micheline parser error: annotation exceeds max length
       While parsing a piece of Micheline source, an annotation exceeded
       the maximum length (255). */
    "kind": "permanent",
    "id": "micheline.parse_error.annotation_exceeds_max_length",
    "location":
      { "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } } }

Micheline parser error: empty_expression

Tried to interpret an empty piece or Micheline source as a single expression.

Id : micheline.parse_error.empty_expression
Category : permanent

  { /* Micheline parser error: empty_expression
       Tried to interpret an empty piece or Micheline source as a single
       expression. */
    "kind": "permanent",
    "id": "micheline.parse_error.empty_expression" }

Micheline parser error: extra token

While parsing a piece of Micheline source, an extra semi colon or parenthesis was encountered.

Id : micheline.parse_error.extra_token
Category : permanent

  { /* Micheline parser error: extra token
       While parsing a piece of Micheline source, an extra semi colon or
       parenthesis was encountered. */
    "kind": "permanent",
    "id": "micheline.parse_error.extra_token",
    "location":
      { "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } },
    "token":
      { /* String */
        "string": $unistring }
      || { /* Int */
           "int": $unistring }
      || { /* Annot */
           "annot": $unistring }
      || { /* Comment */
           "comment": $unistring,
           "end_of_line"?: boolean }
      || { /* Punctuation */
           "punctuation": "(" | ";" | "}" | "{" | ")" }
      || { /* Bytes */
           "bytes": $unistring }
      || { /* Ident */
           "ident": $unistring } }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Micheline parser error: invalid hex bytes

While parsing a piece of Micheline source, a byte sequence (0x...) was not valid as a hex byte.

Id : micheline.parse_error.invalid_hex_bytes
Category : permanent

  { /* Micheline parser error: invalid hex bytes
       While parsing a piece of Micheline source, a byte sequence (0x...)
       was not valid as a hex byte. */
    "kind": "permanent",
    "id": "micheline.parse_error.invalid_hex_bytes",
    "location":
      { "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } } }

Micheline parser error: invalid UTF-8 sequence

While parsing a piece of Micheline source, a sequence of bytes that is not valid UTF-8 was encountered.

Id : micheline.parse_error.invalid_utf8_sequence
Category : permanent

  { /* Micheline parser error: invalid UTF-8 sequence
       While parsing a piece of Micheline source, a sequence of bytes that
       is not valid UTF-8 was encountered. */
    "kind": "permanent",
    "id": "micheline.parse_error.invalid_utf8_sequence",
    "point":
      { "line": integer ∈ [0, 2^16-1],
        "column": integer ∈ [0, 2^16-1],
        "point": integer ∈ [0, 2^16-1],
        "byte": integer ∈ [0, 2^16-1] },
    "sequence": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Micheline parser error: misaligned node

While parsing a piece of Micheline source, an expression was not aligned with its siblings of the same mother application or sequence.

Id : micheline.parse_error.misaligned_node
Category : permanent

  { /* Micheline parser error: misaligned node
       While parsing a piece of Micheline source, an expression was not
       aligned with its siblings of the same mother application or
       sequence. */
    "kind": "permanent",
    "id": "micheline.parse_error.misaligned_node",
    "expression":
      { "expression": $micheline.generic.expression,
        "locations":
          [ { "start":
                { "line": integer ∈ [0, 2^16-1],
                  "column": integer ∈ [0, 2^16-1],
                  "point": integer ∈ [0, 2^16-1],
                  "byte": integer ∈ [0, 2^16-1] },
              "stop":
                { "line": integer ∈ [0, 2^16-1],
                  "column": integer ∈ [0, 2^16-1],
                  "point": integer ∈ [0, 2^16-1],
                  "byte": integer ∈ [0, 2^16-1] } } ... ] } }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.generic.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.generic.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.generic.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Micheline parser error: missing break after number

While parsing a piece of Micheline source, a number was not visually separated from its follower token, leading to misreadability.

Id : micheline.parse_error.missing_break_after_number
Category : permanent

  { /* Micheline parser error: missing break after number
       While parsing a piece of Micheline source, a number was not visually
       separated from its follower token, leading to misreadability. */
    "kind": "permanent",
    "id": "micheline.parse_error.missing_break_after_number",
    "point":
      { "line": integer ∈ [0, 2^16-1],
        "column": integer ∈ [0, 2^16-1],
        "point": integer ∈ [0, 2^16-1],
        "byte": integer ∈ [0, 2^16-1] } }

Micheline parser error: unclosed token

While parsing a piece of Micheline source, a parenthesis or a brace was unclosed.

Id : micheline.parse_error.unclosed_token
Category : permanent

  { /* Micheline parser error: unclosed token
       While parsing a piece of Micheline source, a parenthesis or a brace
       was unclosed. */
    "kind": "permanent",
    "id": "micheline.parse_error.unclosed_token",
    "location":
      { "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } },
    "token":
      { /* String */
        "string": $unistring }
      || { /* Int */
           "int": $unistring }
      || { /* Annot */
           "annot": $unistring }
      || { /* Comment */
           "comment": $unistring,
           "end_of_line"?: boolean }
      || { /* Punctuation */
           "punctuation": "(" | ";" | "}" | "{" | ")" }
      || { /* Bytes */
           "bytes": $unistring }
      || { /* Ident */
           "ident": $unistring } }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Micheline parser error: undefined escape sequence

While parsing a piece of Micheline source, an unexpected escape sequence was encountered in a string.

Id : micheline.parse_error.undefined_escape_sequence
Category : permanent

  { /* Micheline parser error: undefined escape sequence
       While parsing a piece of Micheline source, an unexpected escape
       sequence was encountered in a string. */
    "kind": "permanent",
    "id": "micheline.parse_error.undefined_escape_sequence",
    "point":
      { "line": integer ∈ [0, 2^16-1],
        "column": integer ∈ [0, 2^16-1],
        "point": integer ∈ [0, 2^16-1],
        "byte": integer ∈ [0, 2^16-1] },
    "sequence": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Micheline parser error: unexpected character

While parsing a piece of Micheline source, an unexpected character was encountered.

Id : micheline.parse_error.unexpected_character
Category : permanent

  { /* Micheline parser error: unexpected character
       While parsing a piece of Micheline source, an unexpected character
       was encountered. */
    "kind": "permanent",
    "id": "micheline.parse_error.unexpected_character",
    "point":
      { "line": integer ∈ [0, 2^16-1],
        "column": integer ∈ [0, 2^16-1],
        "point": integer ∈ [0, 2^16-1],
        "byte": integer ∈ [0, 2^16-1] },
    "character": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Micheline parser error: unexpected token

While parsing a piece of Micheline source, an unexpected token was encountered.

Id : micheline.parse_error.unexpected_token
Category : permanent

  { /* Micheline parser error: unexpected token
       While parsing a piece of Micheline source, an unexpected token was
       encountered. */
    "kind": "permanent",
    "id": "micheline.parse_error.unexpected_token",
    "location":
      { "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } },
    "token":
      { /* String */
        "string": $unistring }
      || { /* Int */
           "int": $unistring }
      || { /* Annot */
           "annot": $unistring }
      || { /* Comment */
           "comment": $unistring,
           "end_of_line"?: boolean }
      || { /* Punctuation */
           "punctuation": "(" | ";" | "}" | "{" | ")" }
      || { /* Bytes */
           "bytes": $unistring }
      || { /* Ident */
           "ident": $unistring } }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Micheline parser error: unterminated comment

While parsing a piece of Micheline source, a commentX was not terminated.

Id : micheline.parse_error.unterminated_comment
Category : permanent

  { /* Micheline parser error: unterminated comment
       While parsing a piece of Micheline source, a commentX was not
       terminated. */
    "kind": "permanent",
    "id": "micheline.parse_error.unterminated_comment",
    "location":
      { "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } } }

Micheline parser error: unterminated integer

While parsing a piece of Micheline source, an integer was not terminated.

Id : micheline.parse_error.unterminated_integer
Category : permanent

  { /* Micheline parser error: unterminated integer
       While parsing a piece of Micheline source, an integer was not
       terminated. */
    "kind": "permanent",
    "id": "micheline.parse_error.unterminated_integer",
    "location":
      { "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } } }

Micheline parser error: unterminated string

While parsing a piece of Micheline source, a string was not terminated.

Id : micheline.parse_error.unterminated_string
Category : permanent

  { /* Micheline parser error: unterminated string
       While parsing a piece of Micheline source, a string was not
       terminated. */
    "kind": "permanent",
    "id": "micheline.parse_error.unterminated_string",
    "location":
      { "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } } }

Client#

<Untitled>

Id : rpc_client.request_failed
Category : permanent

  { /*
        */
    "kind": "permanent",
    "id": "rpc_client.request_failed",
    "meth": $unistring,
    "uri": $unistring,
    "error":
      { /* Empty_answer */
        "kind": "empty_answer" }
      || { /* Connection_failed */
           "kind": "connection_failed",
           "message": $unistring }
      || { /* Bad_request */
           "kind": "bad_request",
           "message": $unistring }
      || { /* Method_not_allowed */
           "kind": "method_not_allowed",
           "allowed": [ $unistring ... ] }
      || { /* Unsupported_media_type */
           "kind": "unsupported_media_type",
           "content_type"?: $unistring }
      || { /* Not_acceptable */
           "kind": "not_acceptable",
           "proposed": $unistring,
           "acceptable": $unistring }
      || { /* Unexpected_status_code */
           "kind": "unexpected_status_code",
           "code": integer ∈ [0, 2^16-1],
           "content": $unistring,
           "media_type"?: $unistring }
      || { /* Unexpected_content_type */
           "kind": "unexpected_content_type",
           "received": $unistring,
           "acceptable": [ $unistring ... ],
           "body": $unistring }
      || { /* Unexpected_content */
           "kind": "unexpected_content",
           "content": $unistring,
           "media_type": $unistring,
           "error": $unistring }
      || { /* OCaml_exception */
           "kind": "ocaml_exception",
           "content": $unistring }
      || any
      /* Unauthorized URI */
      || { /* Too many redirects */
           "kind": "too_many_redirects",
           "content": $unistring }
      || { /* Redirect without location */
           "kind": "redirect_without_location",
           "content": $unistring } }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Miscellaneous#

Applying non validated block

Applying non validated block

Id : Block_validator_process.applying_non_validated_block
Category : permanent

  { /* Applying non validated block
       Applying non validated block */
    "kind": "permanent",
    "id": "Block_validator_process.applying_non_validated_block",
    "hash": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Fail during checkout context

The context checkout failed using a given hash

Id : Block_validator_process.failed_to_checkout_context
Category : permanent

  { /* Fail during checkout context
       The context checkout failed using a given hash */
    "kind": "permanent",
    "id": "Block_validator_process.failed_to_checkout_context",
    "hash": $Context_hash }
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

RPC returned an empty list of errors

The RPC returned with an error code but no associated error.

Id : RPC.Empty_error_list
Category : branch

  { /* RPC returned an empty list of errors
       The RPC returned with an error code but no associated error. */
    "kind": "branch",
    "id": "RPC.Empty_error_list" }

RPC fails with an unparsable error message

The RPC returned with an error code, and the associated body was not a valid error trace. It is likely that the answer does not comes directly from a compatible node.

Id : RPC.Unexpected_error_encoding
Category : branch

  { /* RPC fails with an unparsable error message
       The RPC returned with an error code, and the associated body was not
       a valid error trace. It is likely that the answer does not comes
       directly from a compatible node. */
    "kind": "branch",
    "id": "RPC.Unexpected_error_encoding",
    "unparsable message": any }

RPC lookup failed because of deleted data

RPC lookup failed. Block has been pruned and requested data deleted.

Id : RPC_context.Gone
Category : branch

  { /* RPC lookup failed because of deleted data
       RPC lookup failed. Block has been pruned and requested data deleted. */
    "kind": "branch",
    "id": "RPC_context.Gone",
    "method": $unistring,
    "uri": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

RPC lookup failed

RPC lookup failed. No RPC exists at the URL or the RPC tried to access non-existent data.

Id : RPC_context.Not_found
Category : branch

  { /* RPC lookup failed
       RPC lookup failed. No RPC exists at the URL or the RPC tried to
       access non-existent data. */
    "kind": "branch",
    "id": "RPC_context.Not_found",
    "method": $unistring,
    "uri": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unknown RPC version

The RPC was called with a bad version number.

Id : RPC_error.bad_version
Category : permanent

  { /* Unknown RPC version
       The RPC was called with a bad version number. */
    "kind": "permanent",
    "id": "RPC_error.bad_version",
    "given": integer ∈ [-128, 127],
    "supported": [ integer ∈ [-128, 127] ... ] }

Failed to validate block because of a system error

The validator failed because of a system error

Id : Validator_process.system_error_while_validating
Category : temporary

  { /* Failed to validate block because of a system error
       The validator failed because of a system error */
    "kind": "temporary",
    "id": "Validator_process.system_error_while_validating",
    "errno": $unistring,
    "function": $unistring,
    "msg": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot serialize metadata

Unable to serialize metadata

Id : block_validation.cannot_serialize_metadata
Category : permanent

  { /* Cannot serialize metadata
       Unable to serialize metadata */
    "kind": "permanent",
    "id": "block_validation.cannot_serialize_metadata" }

Unsupported context hash version

Unsupported context hash version.

Id : brassaia.context_hash.unsupported_version
Category : permanent

  { /* Unsupported context hash version
       Unsupported context hash version. */
    "kind": "permanent",
    "id": "brassaia.context_hash.unsupported_version",
    "version": $context_hash_version }
  $context_hash_version:
    /* A version number for the context hash computation */
    integer ∈ [0, 2^16-1]

Canceled

A promise was unexpectedly canceled

Id : canceled
Category : temporary

  { /* Canceled
       A promise was unexpectedly canceled */
    "kind": "temporary",
    "id": "canceled",
    ... }

Cannot connect to node socket

External validator failed to connect to the node's socket

Id : cannot_connect_to_node_socket
Category : temporary

  { /* Cannot connect to node socket
       External validator failed to connect to the node's socket */
    "kind": "temporary",
    "id": "cannot_connect_to_node_socket",
    ... }

Invalid key uri

A key has been provided with an invalid uri.

Id : cli.key.invalid_uri
Category : permanent

  { /* Invalid key uri
       A key has been provided with an invalid uri. */
    "kind": "permanent",
    "id": "cli.key.invalid_uri",
    "value": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Signature mismatch

The signer produced an invalid signature

Id : cli.signature_mismatch
Category : permanent

  { /* Signature mismatch
       The signer produced an invalid signature */
    "kind": "permanent",
    "id": "cli.signature_mismatch",
    "locator": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexisting scheme

The requested scheme does not exist

Id : cli.unexisting_scheme
Category : permanent

  { /* Unexisting scheme
       The requested scheme does not exist */
    "kind": "permanent",
    "id": "cli.unexisting_scheme",
    "uri": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unregistered key scheme

A key has been provided with an unregistered scheme (no corresponding plugin)

Id : cli.unregistered_key_scheme
Category : permanent

  { /* Unregistered key scheme
       A key has been provided with an unregistered scheme (no
       corresponding plugin) */
    "kind": "permanent",
    "id": "cli.unregistered_key_scheme",
    "value": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong key scheme

A certain scheme type has been requested but another one was found

Id : cli.wrong_key_scheme
Category : permanent

  { /* Wrong key scheme
       A certain scheme type has been requested but another one was found */
    "kind": "permanent",
    "id": "cli.wrong_key_scheme",
    "expected": $unistring,
    "found": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Deserialized counter does not match the stored one

The byte sequence references a multisig counter that does not match the one currently stored in the given multisig contract

Id : client.alpha.Bad deserialized counter
Category : permanent

  { /* Deserialized counter does not match the stored one
       The byte sequence references a multisig counter that does not match
       the one currently stored in the given multisig contract */
    "kind": "permanent",
    "id": "client.alpha.Bad deserialized counter",
    "received_expected":
      [ integer ∈ [-2^30, 2^30], integer ∈ [-2^30, 2^30] ] }

Forbidden negative int

invalid number, must a non negative natural

Id : client.alpha.ForbiddenNegativeInt
Category : permanent

  { /* Forbidden negative int
       invalid number, must a non negative natural  */
    "kind": "permanent",
    "id": "client.alpha.ForbiddenNegativeInt",
    "invalid_natural": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid address for smart contract

Invalid input, expected a smart contract address in base58 check notation (KT1...)

Id : client.alpha.InvalidAddressForSmartContract
Category : permanent

  { /* Invalid address for smart contract
       Invalid input, expected a smart contract address in base58 check
       notation (KT1...) */
    "kind": "permanent",
    "id": "client.alpha.InvalidAddressForSmartContract",
    "invalid_address": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The expression is not a valid multisig action

When trying to deserialise an action from a sequence of bytes, we got an expression that does not correspond to a known multisig action

Id : client.alpha.actionDeserialisation
Category : permanent

  { /* The expression is not a valid multisig action
       When trying to deserialise an action from a sequence of bytes, we
       got an expression that does not correspond to a known multisig
       action */
    "kind": "permanent",
    "id": "client.alpha.actionDeserialisation",
    "expr": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The argument is not for an FA1.2 parameter

The argument's type does not correspond to that of the corresponding FA1.2 entrypoint.

Id : client.alpha.actionUnwrappingError
Category : permanent

  { /* The argument is not for an FA1.2 parameter
       The argument's type does not correspond to that of the corresponding
       FA1.2 entrypoint. */
    "kind": "permanent",
    "id": "client.alpha.actionUnwrappingError",
    "entrypoint": $unistring,
    "expr": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The byte sequence is not for the given multisig contract

When trying to deserialise an action from a sequence of bytes, we got an action for another multisig contract

Id : client.alpha.badDeserializedContract
Category : permanent

  { /* The byte sequence is not for the given multisig contract
       When trying to deserialise an action from a sequence of bytes, we
       got an action for another multisig contract */
    "kind": "permanent",
    "id": "client.alpha.badDeserializedContract",
    "received_expected":
      [ $alpha.contract_id.originated, $alpha.contract_id.originated ] }
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad -max-priority arg

invalid priority in -max-priority

Id : client.alpha.badMaxPriorityArg
Category : permanent

  { /* Bad -max-priority arg
       invalid priority in -max-priority */
    "kind": "permanent",
    "id": "client.alpha.badMaxPriorityArg",
    "parameter": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad -max-waiting-time arg

invalid duration in -max-waiting-time

Id : client.alpha.badMaxWaitingTimeArg
Category : permanent

  { /* Bad -max-waiting-time arg
       invalid duration in -max-waiting-time */
    "kind": "permanent",
    "id": "client.alpha.badMaxWaitingTimeArg",
    "parameter": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad -minimal-fees arg

invalid fee threshold in -fee-threshold

Id : client.alpha.badMinimalFeesArg
Category : permanent

  { /* Bad -minimal-fees arg
       invalid fee threshold in -fee-threshold */
    "kind": "permanent",
    "id": "client.alpha.badMinimalFeesArg",
    "parameter": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad -preserved-levels arg

invalid number of levels in -preserved-levels

Id : client.alpha.badPreservedLevelsArg
Category : permanent

  { /* Bad -preserved-levels arg
       invalid number of levels in -preserved-levels */
    "kind": "permanent",
    "id": "client.alpha.badPreservedLevelsArg",
    "parameter": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad Tez Arg

Invalid ꜩ notation in parameter.

Id : client.alpha.badTezArg
Category : permanent

  { /* Bad Tez Arg
       Invalid ꜩ notation in parameter. */
    "kind": "permanent",
    "id": "client.alpha.badTezArg",
    "parameter": $unistring,
    "literal": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The byte sequence is not a valid multisig action

When trying to deserialise an action from a sequence of bytes, we got an error

Id : client.alpha.bytesDeserialisation
Category : permanent

  { /* The byte sequence is not a valid multisig action
       When trying to deserialise an action from a sequence of bytes, we
       got an error */
    "kind": "permanent",
    "id": "client.alpha.bytesDeserialisation",
    "expr": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }

The given contract is not a multisig contract because it has no script

A multisig command has referenced a scriptless smart contract instead of a multisig smart contract.

Id : client.alpha.contractHasNoScript
Category : permanent

  { /* The given contract is not a multisig contract because it has no
       script
       A multisig command has referenced a scriptless smart contract
       instead of a multisig smart contract. */
    "kind": "permanent",
    "id": "client.alpha.contractHasNoScript",
    "contract": $alpha.contract_id.originated }
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The given contract is not a multisig contract because it has no storage

A multisig command has referenced a smart contract without storage instead of a multisig smart contract.

Id : client.alpha.contractHasNoStorage
Category : permanent

  { /* The given contract is not a multisig contract because it has no
       storage
       A multisig command has referenced a smart contract without storage
       instead of a multisig smart contract. */
    "kind": "permanent",
    "id": "client.alpha.contractHasNoStorage",
    "contract": $alpha.contract_id.originated }
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The storage of the given contract is not of the shape expected for a multisig contract

A multisig command has referenced a smart contract whose storage is of a different shape than the expected one.

Id : client.alpha.contractHasUnexpectedStorage
Category : permanent

  { /* The storage of the given contract is not of the shape expected for a
       multisig contract
       A multisig command has referenced a smart contract whose storage is
       of a different shape than the expected one. */
    "kind": "permanent",
    "id": "client.alpha.contractHasUnexpectedStorage",
    "contract": $alpha.contract_id.originated }
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The given contract has no code

Attempt to get the code of a contract failed because it has nocode. No scriptless contract should remain.

Id : client.alpha.contractWithoutCode
Category : permanent

  { /* The given contract has no code
       Attempt to get the code of a contract failed because it has nocode.
       No scriptless contract should remain. */
    "kind": "permanent",
    "id": "client.alpha.contractWithoutCode",
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The given contract does not implement the FA1.2 interface

An FA1.2 command has referenced a smart contract whose script does not implement at least one FA1.2 entrypoint, or with an incompatible type. See TZIP-7 (https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-7/tzip-7.md) for documentation on FA1.2.

Id : client.alpha.entrypointMismatch
Category : permanent

  { /* The given contract does not implement the FA1.2 interface
       An FA1.2 command has referenced a smart contract whose script does
       not implement at least one FA1.2 entrypoint, or with an incompatible
       type. See TZIP-7
       (https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-7/tzip-7.md)
       for documentation on FA1.2. */
    "kind": "permanent",
    "id": "client.alpha.entrypointMismatch",
    "name": $unistring,
    "type":
      [ $micheline.alpha.michelson_v1.expression,
        $micheline.alpha.michelson_v1.expression ]
      /* Some */
      || null
      /* None */ }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The given contract is not a smart contract

An FA1.2 command has referenced a scriptless contract.

Id : client.alpha.fa12ContractHasNoScript
Category : permanent

  { /* The given contract is not a smart contract
       An FA1.2 command has referenced a scriptless contract. */
    "kind": "permanent",
    "id": "client.alpha.fa12ContractHasNoScript",
    "contract": $alpha.contract_id.originated }
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The given contract has no storage

An FA1.2 command made a call on a contract that has no storage.

Id : client.alpha.fa12ContractHasNoStorage
Category : permanent

  { /* The given contract has no storage
       An FA1.2 command made a call on a contract that has no storage. */
    "kind": "permanent",
    "id": "client.alpha.fa12ContractHasNoStorage",
    "contract": $alpha.contract_id }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected error during FA1.2 contract interpretation

An unexpected Michelson error was reached during the interpretation of an FA1.2 contract.

Id : client.alpha.fa12UnexpectedError
Category : permanent

  { /* Unexpected error during FA1.2 contract interpretation
       An unexpected Michelson error was reached during the interpretation
       of an FA1.2 contract. */
    "kind": "permanent",
    "id": "client.alpha.fa12UnexpectedError",
    "location": $micheline.location,
    "value": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Ill-typed argument in multi-signed transfer

The provided argument for a transfer from a multisig contract is ill-typed

Id : client.alpha.illTypedArgumentForMultisig
Category : permanent

  { /* Ill-typed argument in multi-signed transfer
       The provided argument for a transfer from a multisig contract is
       ill-typed */
    "kind": "permanent",
    "id": "client.alpha.illTypedArgumentForMultisig",
    "destination": $alpha.contract_id,
    "entrypoint": $unistring,
    "parameter_ty": $micheline.alpha.michelson_v1.expression,
    "parameter": $micheline.alpha.michelson_v1.expression }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Ill-typed lambda for multi-signed transfer

The provided lambda for a transfer from a multisig contract is ill-typed

Id : client.alpha.illTypedLambdaForMultisig
Category : permanent

  { /* Ill-typed lambda for multi-signed transfer
       The provided lambda for a transfer from a multisig contract is
       ill-typed */
    "kind": "permanent",
    "id": "client.alpha.illTypedLambdaForMultisig",
    "lam": $micheline.alpha.michelson_v1.expression,
    "exp": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The following signature did not match a public key in the given multisig contract

A signature was given for a multisig contract that matched none of the public keys of the contract signers

Id : client.alpha.invalidSignature
Category : permanent

  { /* The following signature did not match a public key in the given
       multisig contract
       A signature was given for a multisig contract that matched none of
       the public keys of the contract signers */
    "kind": "permanent",
    "id": "client.alpha.invalidSignature",
    "invalid_signature": $Signature.V1 }
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong number of arguments to macro

A wrong number of arguments was provided to a macro

Id : client.alpha.michelson.macros.bas_arity
Category : permanent

  { /* Wrong number of arguments to macro
       A wrong number of arguments was provided to a macro */
    "kind": "permanent",
    "id": "client.alpha.michelson.macros.bas_arity",
    "macro_name": $unistring,
    "given_number_of_arguments": integer ∈ [0, 2^16-1],
    "expected_number_of_arguments": integer ∈ [0, 2^16-1] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Macro expects a sequence

An macro expects a sequence, but a sequence was not provided

Id : client.alpha.michelson.macros.sequence_expected
Category : permanent

  { /* Macro expects a sequence
       An macro expects a sequence, but a sequence was not provided */
    "kind": "permanent",
    "id": "client.alpha.michelson.macros.sequence_expected",
    "macro_name": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected annotation

A macro had an annotation, but no annotation was permitted on this macro.

Id : client.alpha.michelson.macros.unexpected_annotation
Category : permanent

  { /* Unexpected annotation
       A macro had an annotation, but no annotation was permitted on this
       macro. */
    "kind": "permanent",
    "id": "client.alpha.michelson.macros.unexpected_annotation",
    "macro_name": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong stack

Failed to parse a typed stack.

Id : client.alpha.michelson.stack.wrong_stack
Category : permanent

  { /* Wrong stack
       Failed to parse a typed stack. */
    "kind": "permanent",
    "id": "client.alpha.michelson.stack.wrong_stack",
    "parser_location":
      { /* Some */
        "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } }
      || null
      /* None */,
    "canonical_location": $micheline.location,
    "node": $micheline.alpha_client.expression }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong stack item

Failed to parse an item in a typed stack.

Id : client.alpha.michelson.stack.wrong_stack_item
Category : permanent

  { /* Wrong stack item
       Failed to parse an item in a typed stack. */
    "kind": "permanent",
    "id": "client.alpha.michelson.stack.wrong_stack_item",
    "parser_location":
      { /* Some */
        "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } }
      || null
      /* None */,
    "canonical_location": $micheline.location,
    "node": $micheline.alpha_client.expression }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong description of a list of extra big maps

Failed to parse a description of extra big maps.

Id : client.alpha.michelson.wrong_extra_big_maps
Category : permanent

  { /* Wrong description of a list of extra big maps
       Failed to parse a description of extra big maps. */
    "kind": "permanent",
    "id": "client.alpha.michelson.wrong_extra_big_maps",
    "parser_location":
      { /* Some */
        "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } }
      || null
      /* None */,
    "canonical_location": $micheline.location,
    "node": $micheline.alpha_client.expression }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong description of an extra big map

Failed to parse an item in a description of extra big maps.

Id : client.alpha.michelson.wrong_extra_big_maps_item
Category : permanent

  { /* Wrong description of an extra big map
       Failed to parse an item in a description of extra big maps. */
    "kind": "permanent",
    "id": "client.alpha.michelson.wrong_extra_big_maps_item",
    "parser_location":
      { /* Some */
        "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } }
      || null
      /* None */,
    "canonical_location": $micheline.location,
    "node": $micheline.alpha_client.expression }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong description of a list of other contracts

Failed to parse a description of other contracts.

Id : client.alpha.michelson.wrong_other_contracts
Category : permanent

  { /* Wrong description of a list of other contracts
       Failed to parse a description of other contracts. */
    "kind": "permanent",
    "id": "client.alpha.michelson.wrong_other_contracts",
    "parser_location":
      { /* Some */
        "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } }
      || null
      /* None */,
    "canonical_location": $micheline.location,
    "node": $micheline.alpha_client.expression }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong description of an other contract

Failed to parse an item in a description of other contracts.

Id : client.alpha.michelson.wrong_other_contracts_item
Category : permanent

  { /* Wrong description of an other contract
       Failed to parse an item in a description of other contracts. */
    "kind": "permanent",
    "id": "client.alpha.michelson.wrong_other_contracts_item",
    "parser_location":
      { /* Some */
        "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } }
      || null
      /* None */,
    "canonical_location": $micheline.location,
    "node": $micheline.alpha_client.expression }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Given threshold is not positive

A multisig threshold should be a positive number

Id : client.alpha.nonPositiveThreshold
Category : permanent

  { /* Given threshold is not positive
       A multisig threshold should be a positive number */
    "kind": "permanent",
    "id": "client.alpha.nonPositiveThreshold",
    "threshold": integer ∈ [-2^30, 2^30] }

The given contract is not one of the supported contracts

A multisig command has referenced a smart contract whose script is not one of the known multisig contract scripts.

Id : client.alpha.notASupportedMultisigContract
Category : permanent

  { /* The given contract is not one of the supported contracts
       A multisig command has referenced a smart contract whose script is
       not one of the known multisig contract scripts. */
    "kind": "permanent",
    "id": "client.alpha.notASupportedMultisigContract",
    "hash": $script_expr }
  $script_expr:
    /* A script expression ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The entrypoint is not viewable

A transaction made a call on an entrypoint expecting it to implement the 'view' type.

Id : client.alpha.notAViewableEntrypoint
Category : permanent

  { /* The entrypoint is not viewable
       A transaction made a call on an entrypoint expecting it to implement
       the 'view' type. */
    "kind": "permanent",
    "id": "client.alpha.notAViewableEntrypoint",
    "entrypoint": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The expression is not for an entrypoint

The parameter value of the contract call refers to a non-existing entrypoint.

Id : client.alpha.notAnEntrypoint
Category : permanent

  { /* The expression is not for an entrypoint
       The parameter value of the contract call refers to a non-existing
       entrypoint. */
    "kind": "permanent",
    "id": "client.alpha.notAnEntrypoint",
    "param": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The sender does not have enough allowance

An FA1.2 transfer failed because the receiver does not have enough allowance to ask for a transfer from the sender.

Id : client.alpha.notEnoughAllowance
Category : permanent

  { /* The sender does not have enough allowance
       An FA1.2 transfer failed because the receiver does not have enough
       allowance to ask for a transfer from the sender. */
    "kind": "permanent",
    "id": "client.alpha.notEnoughAllowance",
    "present": $positive_bignum,
    "required": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

The sender does not have enough balance

An FA1.2 transfer failed because the sender does not have enough balance.

Id : client.alpha.notEnoughBalance
Category : permanent

  { /* The sender does not have enough balance
       An FA1.2 transfer failed because the sender does not have enough
       balance. */
    "kind": "permanent",
    "id": "client.alpha.notEnoughBalance",
    "present": $positive_bignum,
    "required": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Not enough signatures were provided for this multisig action

To run an action on a multisig contract, you should provide at least as many signatures as indicated by the threshold stored in the multisig contract.

Id : client.alpha.notEnoughSignatures
Category : permanent

  { /* Not enough signatures were provided for this multisig action
       To run an action on a multisig contract, you should provide at least
       as many signatures as indicated by the threshold stored in the
       multisig contract. */
    "kind": "permanent",
    "id": "client.alpha.notEnoughSignatures",
    "threshold_nsigs":
      [ integer ∈ [-2^30, 2^30], integer ∈ [-2^30, 2^30] ] }

Given threshold is too high

The given threshold is higher than the number of keys, this would lead to a frozen multisig contract

Id : client.alpha.thresholdTooHigh
Category : permanent

  { /* Given threshold is too high
       The given threshold is higher than the number of keys, this would
       lead to a frozen multisig contract */
    "kind": "permanent",
    "id": "client.alpha.thresholdTooHigh",
    "received_expected":
      [ integer ∈ [-2^30, 2^30], integer ∈ [-2^30, 2^30] ] }

Duplicated TZT toplevel primitive

A toplevel TZT primitive was used several times.

Id : client.alpha.tzt.duplicated_toplevel
Category : permanent

  { /* Duplicated TZT toplevel primitive
       A toplevel TZT primitive was used several times. */
    "kind": "permanent",
    "id": "client.alpha.tzt.duplicated_toplevel",
    "prim": $unistring,
    "node":
      { "parser_location":
          { /* Some */
            "start":
              { "line": integer ∈ [0, 2^16-1],
                "column": integer ∈ [0, 2^16-1],
                "point": integer ∈ [0, 2^16-1],
                "byte": integer ∈ [0, 2^16-1] },
            "stop":
              { "line": integer ∈ [0, 2^16-1],
                "column": integer ∈ [0, 2^16-1],
                "point": integer ∈ [0, 2^16-1],
                "byte": integer ∈ [0, 2^16-1] } }
          || null
          /* None */,
        "canonical_location": $micheline.location,
        "node": $micheline.alpha_client.expression } }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid format for a TZT toplevel primitive

Invalid format for a TZT toplevel primitive

Id : client.alpha.tzt.invalid_format
Category : permanent

  { /* Invalid format for a TZT toplevel primitive
       Invalid format for a TZT toplevel primitive */
    "kind": "permanent",
    "id": "client.alpha.tzt.invalid_format",
    "prim": $unistring,
    "node":
      { "parser_location":
          { /* Some */
            "start":
              { "line": integer ∈ [0, 2^16-1],
                "column": integer ∈ [0, 2^16-1],
                "point": integer ∈ [0, 2^16-1],
                "byte": integer ∈ [0, 2^16-1] },
            "stop":
              { "line": integer ∈ [0, 2^16-1],
                "column": integer ∈ [0, 2^16-1],
                "point": integer ∈ [0, 2^16-1],
                "byte": integer ∈ [0, 2^16-1] } }
          || null
          /* None */,
        "canonical_location": $micheline.location,
        "node": $micheline.alpha_client.expression } }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid format for TZT toplevel entry

Invalid format for a TZT toplevel entry

Id : client.alpha.tzt.invalid_toplevel
Category : permanent

  { /* Invalid format for TZT toplevel entry
       Invalid format for a TZT toplevel entry */
    "kind": "permanent",
    "id": "client.alpha.tzt.invalid_toplevel",
    "parser_location":
      { /* Some */
        "start":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] },
        "stop":
          { "line": integer ∈ [0, 2^16-1],
            "column": integer ∈ [0, 2^16-1],
            "point": integer ∈ [0, 2^16-1],
            "byte": integer ∈ [0, 2^16-1] } }
      || null
      /* None */,
    "canonical_location": $micheline.location,
    "node": $micheline.alpha_client.expression }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing TZT mandatory toplevel primitive

A mandatory toplevel TZT primitive was missing.

Id : client.alpha.tzt.missing_mandatory
Category : permanent

  { /* Missing TZT mandatory toplevel primitive
       A mandatory toplevel TZT primitive was missing. */
    "kind": "permanent",
    "id": "client.alpha.tzt.missing_mandatory",
    "prim": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unknown TZT toplevel primitive

A toplevel TZT primitive was unknown.

Id : client.alpha.tzt.unknown_toplevel
Category : permanent

  { /* Unknown TZT toplevel primitive
       A toplevel TZT primitive was unknown. */
    "kind": "permanent",
    "id": "client.alpha.tzt.unknown_toplevel",
    "prim": $unistring,
    "node":
      { "parser_location":
          { /* Some */
            "start":
              { "line": integer ∈ [0, 2^16-1],
                "column": integer ∈ [0, 2^16-1],
                "point": integer ∈ [0, 2^16-1],
                "byte": integer ∈ [0, 2^16-1] },
            "stop":
              { "line": integer ∈ [0, 2^16-1],
                "column": integer ∈ [0, 2^16-1],
                "point": integer ∈ [0, 2^16-1],
                "byte": integer ∈ [0, 2^16-1] } }
          || null
          /* None */,
        "canonical_location": $micheline.location,
        "node": $micheline.alpha_client.expression } }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong arity for a TZT toplevel primitive

A known toplevel TZT primitive was used with a bad arity.

Id : client.alpha.tzt.wrong_toplevel_arity
Category : permanent

  { /* Wrong arity for a TZT toplevel primitive
       A known toplevel TZT primitive was used with a bad arity. */
    "kind": "permanent",
    "id": "client.alpha.tzt.wrong_toplevel_arity",
    "prim": $unistring,
    "node":
      { "parser_location":
          { /* Some */
            "start":
              { "line": integer ∈ [0, 2^16-1],
                "column": integer ∈ [0, 2^16-1],
                "point": integer ∈ [0, 2^16-1],
                "byte": integer ∈ [0, 2^16-1] },
            "stop":
              { "line": integer ∈ [0, 2^16-1],
                "column": integer ∈ [0, 2^16-1],
                "point": integer ∈ [0, 2^16-1],
                "byte": integer ∈ [0, 2^16-1] } }
          || null
          /* None */,
        "canonical_location": $micheline.location,
        "node": $micheline.alpha_client.expression },
    "arity": integer ∈ [-2^15, 2^15-1] }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha_client.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha_client.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $unistring,
         "args"?: [ $micheline.alpha_client.expression ... ],
         "annots"?: [ $unistring ... ] }
  $micheline.location:
    /* Canonical location in a Micheline expression
       The location of a node in a Micheline expression tree in prefix
       order, with zero being the root and adding one for every basic node,
       sequence and primitive application. */
    integer ∈ [-2^30, 2^30]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

The allowance change is unsafe

An FA1.2 non-zero allowance change failed because the current allowance is non-zero. For more explanation on why such allowance change is unsafe, please look at TZIP-7 (https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-7/tzip-7.md#approve).

Id : client.alpha.unsafeAllowanceChange
Category : permanent

  { /* The allowance change is unsafe
       An FA1.2 non-zero allowance change failed because the current
       allowance is non-zero. For more explanation on why such allowance
       change is unsafe, please look at TZIP-7
       (https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-7/tzip-7.md#approve). */
    "kind": "permanent",
    "id": "client.alpha.unsafeAllowanceChange",
    "previous": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Unsupported multisig feature: generic call

This multisig contract does not feature calling contracts with arguments

Id : client.alpha.unsupportedGenericMultisigFeature
Category : permanent

  { /* Unsupported multisig feature: generic call
       This multisig contract does not feature calling contracts with
       arguments */
    "kind": "permanent",
    "id": "client.alpha.unsupportedGenericMultisigFeature",
    "arg": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unsupported multisig feature: generic call to non-unit entrypoint

This multisig contract does not feature calling contracts with arguments

Id : client.alpha.unsupportedGenericMultisigFeatureTy
Category : permanent

  { /* Unsupported multisig feature: generic call to non-unit entrypoint
       This multisig contract does not feature calling contracts with
       arguments */
    "kind": "permanent",
    "id": "client.alpha.unsupportedGenericMultisigFeatureTy",
    "ty": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unsupported multisig feature: running lambda

This multisig contract does not feature running lambdas

Id : client.alpha.unsupportedGenericMultisigLambda
Category : permanent

  { /* Unsupported multisig feature: running lambda
       This multisig contract does not feature running lambdas */
    "kind": "permanent",
    "id": "client.alpha.unsupportedGenericMultisigLambda",
    "lam": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot switch history mode

Cannot switch history mode.

Id : config_file.cannot_switch_history_mode
Category : permanent

  { /* Cannot switch history mode
       Cannot switch history mode. */
    "kind": "permanent",
    "id": "config_file.cannot_switch_history_mode",
    "previous_mode": $history_mode,
    "next_mode": $history_mode }
  $history_mode:
    /* history mode
       Storage mode for the Tezos shell. */
    "archive"
    || { /* full
            Full mode retains every block and operations since the genesis
            block but periodically prunes older blocks' metadata to reduce
            the storage size. */
         "full":
           { "additional_cycles":
               integer ∈ [0, 1000.000000]
               /* additional cycles
                  Number of additional cycles preserved below the
                  savepoint. By default: 1 additional cycles will be
                  stored. */ } }
    || { /* rolling
            Rolling mode only retain the most recent cycles by periodically
            periodically discarding older blocks to reduce the storage
            size. */
         "rolling":
           { "additional_cycles":
               integer ∈ [0, 1000.000000]
               /* additional cycles
                  Number of additional cycles preserved below the
                  savepoint. By default: 1 additional cycles will be
                  stored. */ } }
    || "full"
    || "rolling"

Unsupported context hash version

Unsupported context hash version.

Id : context_hash.unsupported_version
Category : permanent

  { /* Unsupported context hash version
       Unsupported context hash version. */
    "kind": "permanent",
    "id": "context_hash.unsupported_version",
    "version": $context_hash_version }
  $context_hash_version:
    /* A version number for the context hash computation */
    integer ∈ [0, 2^16-1]

Invalid_precomputation_hash

Unexpected precomputation hash

Id : dal.node.invalid_precomputation_hash
Category : permanent

  { /* Invalid_precomputation_hash
       Unexpected precomputation hash */
    "kind": "permanent",
    "id": "dal.node.invalid_precomputation_hash",
    "given": $unistring,
    "expected": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Trusted setup loading failed

Trusted setup failed to load

Id : dal.node.trusted_setup_loading_failed
Category : permanent

  { /* Trusted setup loading failed
       Trusted setup failed to load */
    "kind": "permanent",
    "id": "dal.node.trusted_setup_loading_failed",
    "msg": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Decoding error

Error while decoding a value

Id : decoding_error
Category : permanent

  { /* Decoding error
       Error while decoding a value */
    "kind": "permanent",
    "id": "decoding_error",
    "error":
      { /* Not enough data */
         }
      || { /* Extra bytes */
            }
      || { /* No case matched */
            }
      || integer ∈ [-2^30, 2^30]
      /* Unexpected tag */
      || { /* Invalid int */
           "min": integer ∈ [-2^30, 2^30],
           "v": integer ∈ [-2^30, 2^30],
           "max": integer ∈ [-2^30, 2^30] }
      || { /* Invalid float */
           "min": number,
           "v": number,
           "max": number }
      || { /* Trailing zero */
            }
      || { /* Size limit exceeded */
            }
      || { /* List too long */
            }
      || { /* Array too long */
            }
      || $unistring
      /* Exception raised in user function */
      || $unistring
      /* User invariant guard */ }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Encoding error

Error while encoding a value for a socket

Id : encoding_error
Category : permanent

  { /* Encoding error
       Error while encoding a value for a socket */
    "kind": "permanent",
    "id": "encoding_error",
    "error":
      { /* Size limit exceeded */
         }
      || { /* No case matched */
            }
      || { /* Invalid int */
           "min": integer ∈ [-2^30, 2^30],
           "v": integer ∈ [-2^30, 2^30],
           "max": integer ∈ [-2^30, 2^30] }
      || { /* Invalid float */
           "min": number,
           "v": number,
           "max": number }
      || { /* Invalid bytes length */
           "expected": integer ∈ [-2^30, 2^30],
           "found": integer ∈ [-2^30, 2^30] }
      || { /* Invalid string length */
           "expected": integer ∈ [-2^30, 2^30],
           "found": integer ∈ [-2^30, 2^30] }
      || { /* Invalid natural */
            }
      || { /* List too long or too short */
            }
      || { /* Array too long or too short */
            }
      || $unistring
      /* Exception raised in user function */ }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot create socket

Cannot create socket for external process.

Id : external_process.cannot_create_socket
Category : temporary

  { /* Cannot create socket
       Cannot create socket for external process. */
    "kind": "temporary",
    "id": "external_process.cannot_create_socket",
    "error": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Socket path too long

Socket path too long.

Id : external_process.socket_path_too_long
Category : temporary

  { /* Socket path too long
       Socket path too long. */
    "kind": "temporary",
    "id": "external_process.socket_path_too_long",
    "path": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong permission for socket path

Wrong permission for socket path.

Id : external_process.socket_path_wrong_permission
Category : temporary

  { /* Wrong permission for socket path
       Wrong permission for socket path. */
    "kind": "temporary",
    "id": "external_process.socket_path_wrong_permission",
    "path": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Exception

Exception safely wrapped in an error

Id : failure
Category : temporary

  { /* Exception
       Exception safely wrapped in an error */
    "kind": "temporary",
    "id": "failure",
    "msg": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Injection operation error

The injection of this operation failed. The error trace are the following errors in this list.

Id : injection_operation_error_case
Category : permanent

  { /* Injection operation error
       The injection of this operation failed. The error trace are the
       following errors in this list. */
    "kind": "permanent",
    "id": "injection_operation_error_case",
    "oph": $Operation_hash }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Injection operation succeed

The injection of this operation succeed among a list of injections containing at least one error.

Id : injection_operation_succeed_case
Category : permanent

  { /* Injection operation succeed
       The injection of this operation succeed among a list of injections
       containing at least one error. */
    "kind": "permanent",
    "id": "injection_operation_succeed_case",
    "oph": $Operation_hash }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Injection operations error

While injecting several operations at once, one or several injections failed.

Id : injection_operations_error
Category : permanent

  { /* Injection operations error
       While injecting several operations at once, one or several
       injections failed. */
    "kind": "permanent",
    "id": "injection_operations_error",
    ... }

Internal Event Sink: Wrong Activation URI

Activation of an Internal Event SINK with an URI failed

Id : internal-event-activation-error
Category : permanent

  /* Internal Event Sink: Wrong Activation URI
     Activation of an Internal Event SINK with an URI failed */
  { /* missing-uri-scheme */
    "kind": "permanent",
    "id": "internal-event-activation-error",
    "missing-uri-scheme": { "uri": $unistring } }
  || { /* non-registered-uri-scheme */
       "kind": "permanent",
       "id": "internal-event-activation-error",
       "non-registered-uri-scheme": { "uri": $unistring } }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

IO error

IO error

Id : io_error
Category : permanent

  { /* IO error
       IO error */
    "kind": "permanent",
    "id": "io_error",
    "action": "open" | "close" | "Rename" | "Unlink" | "lock",
    "unix_code":
      { /* E2BIG */
        "unix-error": "E2BIG" }
      || { /* EACCES */
           "unix-error": "EACCES" }
      || { /* EAGAIN */
           "unix-error": "EAGAIN" }
      || { /* EBADF */
           "unix-error": "EBADF" }
      || { /* EBUSY */
           "unix-error": "EBUSY" }
      || { /* ECHILD */
           "unix-error": "ECHILD" }
      || { /* EDEADLK */
           "unix-error": "EDEADLK" }
      || { /* EDOM */
           "unix-error": "EDOM" }
      || { /* EEXIST */
           "unix-error": "EEXIST" }
      || { /* EFAULT */
           "unix-error": "EFAULT" }
      || { /* EFBIG */
           "unix-error": "EFBIG" }
      || { /* EINTR */
           "unix-error": "EINTR" }
      || { /* EINVAL */
           "unix-error": "EINVAL" }
      || { /* EIO */
           "unix-error": "EIO" }
      || { /* EISDIR */
           "unix-error": "EISDIR" }
      || { /* EMFILE */
           "unix-error": "EMFILE" }
      || { /* EMLINK */
           "unix-error": "EMLINK" }
      || { /* ENAMETOOLONG */
           "unix-error": "ENAMETOOLONG" }
      || { /* ENFILE */
           "unix-error": "ENFILE" }
      || { /* ENODEV */
           "unix-error": "ENODEV" }
      || { /* ENOENT */
           "unix-error": "ENOENT" }
      || { /* ENOEXEC */
           "unix-error": "ENOEXEC" }
      || { /* ENOLCK */
           "unix-error": "ENOLCK" }
      || { /* ENOMEM */
           "unix-error": "ENOMEM" }
      || { /* ENOSPC */
           "unix-error": "ENOSPC" }
      || { /* ENOSYS */
           "unix-error": "ENOSYS" }
      || { /* ENOTDIR */
           "unix-error": "ENOTDIR" }
      || { /* ENOTEMPTY */
           "unix-error": "ENOTEMPTY" }
      || { /* ENOTTY */
           "unix-error": "ENOTTY" }
      || { /* ENXIO */
           "unix-error": "ENXIO" }
      || { /* EPERM */
           "unix-error": "EPERM" }
      || { /* EPIPE */
           "unix-error": "EPIPE" }
      || { /* ERANGE */
           "unix-error": "ERANGE" }
      || { /* EROFS */
           "unix-error": "EROFS" }
      || { /* ESPIPE */
           "unix-error": "ESPIPE" }
      || { /* ESRCH */
           "unix-error": "ESRCH" }
      || { /* EXDEV */
           "unix-error": "EXDEV" }
      || { /* EWOULDBLOCK */
           "unix-error": "EWOULDBLOCK" }
      || { /* EINPROGRESS */
           "unix-error": "EINPROGRESS" }
      || { /* EALREADY */
           "unix-error": "EALREADY" }
      || { /* ENOTSOCK */
           "unix-error": "ENOTSOCK" }
      || { /* EDESTADDRREQ */
           "unix-error": "EDESTADDRREQ" }
      || { /* EMSGSIZE */
           "unix-error": "EMSGSIZE" }
      || { /* EPROTOTYPE */
           "unix-error": "EPROTOTYPE" }
      || { /* ENOPROTOOPT */
           "unix-error": "ENOPROTOOPT" }
      || { /* EPROTONOSUPPORT */
           "unix-error": "EPROTONOSUPPORT" }
      || { /* ESOCKTNOSUPPORT */
           "unix-error": "ESOCKTNOSUPPORT" }
      || { /* EOPNOTSUPP */
           "unix-error": "EOPNOTSUPP" }
      || { /* EPFNOSUPPORT */
           "unix-error": "EPFNOSUPPORT" }
      || { /* EAFNOSUPPORT */
           "unix-error": "EAFNOSUPPORT" }
      || { /* EADDRINUSE */
           "unix-error": "EADDRINUSE" }
      || { /* EADDRNOTAVAIL */
           "unix-error": "EADDRNOTAVAIL" }
      || { /* ENETDOWN */
           "unix-error": "ENETDOWN" }
      || { /* ENETUNREACH */
           "unix-error": "ENETUNREACH" }
      || { /* ENETRESET */
           "unix-error": "ENETRESET" }
      || { /* ECONNABORTED */
           "unix-error": "ECONNABORTED" }
      || { /* ECONNRESET */
           "unix-error": "ECONNRESET" }
      || { /* ENOBUFS */
           "unix-error": "ENOBUFS" }
      || { /* EISCONN */
           "unix-error": "EISCONN" }
      || { /* ENOTCONN */
           "unix-error": "ENOTCONN" }
      || { /* ESHUTDOWN */
           "unix-error": "ESHUTDOWN" }
      || { /* ETOOMANYREFS */
           "unix-error": "ETOOMANYREFS" }
      || { /* ETIMEDOUT */
           "unix-error": "ETIMEDOUT" }
      || { /* ECONNREFUSED */
           "unix-error": "ECONNREFUSED" }
      || { /* EHOSTDOWN */
           "unix-error": "EHOSTDOWN" }
      || { /* EHOSTUNREACH */
           "unix-error": "EHOSTUNREACH" }
      || { /* ELOOP */
           "unix-error": "ELOOP" }
      || { /* EOVERFLOW */
           "unix-error": "EOVERFLOW" }
      || { /* EUNKNOWNERR */
           "unix-error": { "EUNKNOWNERR": integer ∈ [-2^30, 2^30] } },
    "caller": $unistring,
    "arg": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Operation conflict

The operation cannot be added because the mempool already contains a conflicting operation.

Id : prevalidation.operation_conflict
Category : temporary

  { /* Operation conflict
       The operation cannot be added because the mempool already contains a
       conflicting operation. */
    "kind": "temporary",
    "id": "prevalidation.operation_conflict",
    "new_hash": $Operation_hash,
    "needed_fee_in_mutez"?: $int64 }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Operation replacement

The operation has been replaced.

Id : prevalidation.operation_replacement
Category : temporary

  { /* Operation replacement
       The operation has been replaced. */
    "kind": "temporary",
    "id": "prevalidation.operation_replacement",
    "old_hash": $Operation_hash,
    "new_hash": $Operation_hash }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent operation hashes

The operations given do not match their hashes.

Id : snapshots.inconsistent_operation_hashes
Category : permanent

  { /* Inconsistent operation hashes
       The operations given do not match their hashes. */
    "kind": "permanent",
    "id": "snapshots.inconsistent_operation_hashes",
    "expected_operation_hashes": $Operation_list_list_hash,
    "received_operation_hashes": $Operation_list_list_hash }
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected size of decoded value

A decoded value comes from a buffer of unexpected size.

Id : socket.unexpected_size_of_decoded_value
Category : permanent

  { /* Unexpected size of decoded value
       A decoded value comes from a buffer of unexpected size. */
    "kind": "permanent",
    "id": "socket.unexpected_size_of_decoded_value" }

Key value stored was closed

Action performed while the store is closed

Id : stdlib_unix.closed
Category : permanent

  { /* Key value stored was closed
       Action performed while the store is closed */
    "kind": "permanent",
    "id": "stdlib_unix.closed",
    "action": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

key value store data is corrupted

A data of the key value store was corrupted

Id : stdlib_unix.corrupted_data
Category : permanent

  { /* key value store data is corrupted
       A data of the key value store was corrupted */
    "kind": "permanent",
    "id": "stdlib_unix.corrupted_data",
    "action": $unistring,
    "filepath": $unistring,
    "index": integer ∈ [-2^30, 2^30] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

key value store failed to decode the data

A failure was triggered while decoding the data

Id : stdlib_unix.decoding_failed
Category : permanent

  { /* key value store failed to decode the data
       A failure was triggered while decoding the data */
    "kind": "permanent",
    "id": "stdlib_unix.decoding_failed",
    "filepath": $unistring,
    "index": integer ∈ [-2^30, 2^30] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

key value store failed to encode the data

A failure was triggered while encoding the data

Id : stdlib_unix.encoding_failed
Category : permanent

  { /* key value store failed to encode the data
       A failure was triggered while encoding the data */
    "kind": "permanent",
    "id": "stdlib_unix.encoding_failed",
    "filepath": $unistring,
    "index": integer ∈ [-2^30, 2^30] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing stored data from KVS

Failed to load stored data from KVS

Id : stdlib_unix.missing_kvs_data
Category : permanent

  { /* Missing stored data from KVS
       Failed to load stored data from KVS */
    "kind": "permanent",
    "id": "stdlib_unix.missing_kvs_data",
    "filepath": $unistring,
    "index": integer ∈ [-2^30, 2^30] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing stored data

Failed to load stored data

Id : stdlib_unix.missing_stored_data
Category : permanent

  { /* Missing stored data
       Failed to load stored data */
    "kind": "permanent",
    "id": "stdlib_unix.missing_stored_data",
    "path": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Wrong encoded value size

Try to write a value that does not match the expected size

Id : stdlib_unix.wrong_encoded_value_size
Category : permanent

  { /* Wrong encoded value size
       Try to write a value that does not match the expected size */
    "kind": "permanent",
    "id": "stdlib_unix.wrong_encoded_value_size",
    "file": $unistring,
    "index": integer ∈ [-2^30, 2^30],
    "expected_size ": integer ∈ [-2^30, 2^30],
    "got_size": integer ∈ [-2^30, 2^30] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Bad head invariant

Bad invariant during Store.set_head

Id : store.bad_head_invariant
Category : permanent

  { /* Bad head invariant
       Bad invariant during Store.set_head */
    "kind": "permanent",
    "id": "store.bad_head_invariant" }

Bad level

Read a block at level past our current head.

Id : store.bad_level
Category : permanent

  { /* Bad level
       Read a block at level past our current head. */
    "kind": "permanent",
    "id": "store.bad_level",
    "head_level": integer ∈ [-2^31-1, 2^31],
    "given_level": integer ∈ [-2^31-1, 2^31] }

Bad ordering invariant

The ordering invariant does not hold

Id : store.bad_ordering_invariant
Category : permanent

  { /* Bad ordering invariant
       The ordering invariant does not hold */
    "kind": "permanent",
    "id": "store.bad_ordering_invariant",
    "genesis": integer ∈ [-2^31-1, 2^31],
    "caboose": integer ∈ [-2^31-1, 2^31],
    "savepoint": integer ∈ [-2^31-1, 2^31],
    "cementing_highwatermark":
      integer ∈ [-2^31-1, 2^31] /* Some */ || null /* None */,
    "checkpoint": integer ∈ [-2^31-1, 2^31],
    "head": integer ∈ [-2^31-1, 2^31] }

Block not found

Block not found

Id : store.block_not_found
Category : permanent

  { /* Block not found
       Block not found */
    "kind": "permanent",
    "id": "store.block_not_found",
    "block_not_found": [ $block_hash, integer ∈ [-2^30, 2^30] ] }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot cement blocks

Cannot cement blocks

Id : store.cannot_cement_blocks
Category : temporary

  { /* Cannot cement blocks
       Cannot cement blocks */
    "kind": "temporary",
    "id": "store.cannot_cement_blocks",
    "reason": "higher_cemented" | "empty" }

Cannot cement blocks metadata

Cannot cement blocks metadata

Id : store.cannot_cement_blocks_metadata
Category : temporary

  { /* Cannot cement blocks metadata
       Cannot cement blocks metadata */
    "kind": "temporary",
    "id": "store.cannot_cement_blocks_metadata",
    "reason": "not_cemented" | "empty" }

Cannot checkout context

Failed to checkout context

Id : store.cannot_checkout_context
Category : temporary

  { /* Cannot checkout context
       Failed to checkout context */
    "kind": "temporary",
    "id": "store.cannot_checkout_context",
    "block_hash": $block_hash,
    "context_hash": $Context_hash }
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot encode block

Failed to encode block

Id : store.cannot_encode_block
Category : temporary

  { /* Cannot encode block
       Failed to encode block */
    "kind": "temporary",
    "id": "store.cannot_encode_block",
    "hash": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot find chain dir

Cannot find chain dir while upgrading storage

Id : store.cannot_find_chain_dir
Category : permanent

  { /* Cannot find chain dir
       Cannot find chain dir while upgrading storage */
    "kind": "permanent",
    "id": "store.cannot_find_chain_dir",
    "path": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot find protocol

Cannot find protocol

Id : store.cannot_find_protocol
Category : temporary

  { /* Cannot find protocol
       Cannot find protocol */
    "kind": "temporary",
    "id": "store.cannot_find_protocol",
    "protocol_level": integer ∈ [-2^30, 2^30] }

Cannot fork testchain

Failed to fork testchain

Id : store.cannot_fork_testchain
Category : temporary

  { /* Cannot fork testchain
       Failed to fork testchain */
    "kind": "temporary",
    "id": "store.cannot_fork_testchain",
    "chain_id": $Chain_id }
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot instanciate temporary floating store

Cannot instanciate temporary floating store

Id : store.cannot_instanciate_temporary_floating_store
Category : temporary

  { /* Cannot instanciate temporary floating store
       Cannot instanciate temporary floating store */
    "kind": "temporary",
    "id": "store.cannot_instanciate_temporary_floating_store" }

Cannot load degraded store

Cannot load a degraded block store.

Id : store.cannot_load_degraded_store
Category : permanent

  { /* Cannot load degraded store
       Cannot load a degraded block store. */
    "kind": "permanent",
    "id": "store.cannot_load_degraded_store" }

Cannot load testchain

Failed to load the testchain

Id : store.cannot_load_testchain
Category : temporary

  { /* Cannot load testchain
       Failed to load the testchain */
    "kind": "temporary",
    "id": "store.cannot_load_testchain",
    "path": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot merge store

Cannot merge the store.

Id : store.cannot_merge_store
Category : permanent

  { /* Cannot merge store
       Cannot merge the store. */
    "kind": "permanent",
    "id": "store.cannot_merge_store",
    "status": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot retrieve savepoint

Failed to retrieve savepoint

Id : store.cannot_retrieve_savepoint
Category : temporary

  { /* Cannot retrieve savepoint
       Failed to retrieve savepoint */
    "kind": "temporary",
    "id": "store.cannot_retrieve_savepoint",
    "level": integer ∈ [-2^31-1, 2^31] }

Cannot set target

The given block to be set as target is invalid.

Id : store.cannot_set_target
Category : temporary

  { /* Cannot set target
       The given block to be set as target is invalid. */
    "kind": "temporary",
    "id": "store.cannot_set_target",
    "given_target": [ $block_hash, integer ∈ [-2^31-1, 2^31] ] }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot store block

Failed to store block

Id : store.cannot_store_block
Category : temporary

  { /* Cannot store block
       Failed to store block */
    "kind": "temporary",
    "id": "store.cannot_store_block",
    "hash": $block_hash,
    "err":
      { /* Invalid operations length */
        "validation_passes": integer ∈ [-2^30, 2^30],
        "operations": integer ∈ [-2^30, 2^30] }
      || { /* Invalid operations data length */
           "validation_passes": integer ∈ [-2^30, 2^30],
           "operations_data": integer ∈ [-2^30, 2^30] }
      || { /* Inconsistent operations length */
           "operations_lengths": $unistring,
           "operations_data_lengths": $unistring } }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Cannot update floating store

Cannot update floating store

Id : store.cannot_update_floating_store
Category : temporary

  { /* Cannot update floating store
       Cannot update floating store */
    "kind": "temporary",
    "id": "store.cannot_update_floating_store" }

Cannot write in readonly

Cannot write data in store when in readonly

Id : store.cannot_write_in_readonly
Category : permanent

  { /* Cannot write in readonly
       Cannot write data in store when in readonly */
    "kind": "permanent",
    "id": "store.cannot_write_in_readonly" }

Corrupted store

The store is corrupted

Id : store.corrupted_store
Category : permanent

  { /* Corrupted store
       The store is corrupted */
    "kind": "permanent",
    "id": "store.corrupted_store",
    "kind":
      { /* Inferred_head */
        "hash": $block_hash,
        "level": integer ∈ [-2^31-1, 2^31] }
      || { /* Cannot_find_floating_savepoint */
            }
      || { /* Cannot_find_savepoint_candidate */
            }
      || { /* Cannot_find_floating_caboose */
            }
      || { /* Cannot_find_caboose_candidate */
            }
      || { /* Cannot_find_block_with_metadata */
            }
      || { /* Cannot_find_activation_block */
           "proto_level": integer ∈ [-2^30, 2^30] }
      || { /* Missing_genesis */
            } }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Fail to get live blocks

Unable to compute live blocks from a given block.

Id : store.failed_to_get_live_blocks
Category : permanent

  { /* Fail to get live blocks
       Unable to compute live blocks from a given block. */
    "kind": "permanent",
    "id": "store.failed_to_get_live_blocks",
    "hash": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Failed to init cemented block store

Failed to initialize the cemented block store

Id : store.failed_to_init_cemented_block_store
Category : temporary

  { /* Failed to init cemented block store
       Failed to initialize the cemented block store */
    "kind": "temporary",
    "id": "store.failed_to_init_cemented_block_store",
    "path": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Fork testchain not allowed

Forking the test chain is not allowed

Id : store.fork_testchain_not_allowed
Category : temporary

  { /* Fork testchain not allowed
       Forking the test chain is not allowed */
    "kind": "temporary",
    "id": "store.fork_testchain_not_allowed" }

Inconsistent block hash

Inconsistent block hash found

Id : store.inconsistent_block_hash
Category : temporary

  { /* Inconsistent block hash
       Inconsistent block hash found */
    "kind": "temporary",
    "id": "store.inconsistent_block_hash",
    "level": integer ∈ [-2^31-1, 2^31],
    "expected_hash": $block_hash,
    "computed_hash": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent block predecessor

Inconsistent block predecessor

Id : store.inconsistent_block_predecessor
Category : temporary

  { /* Inconsistent block predecessor
       Inconsistent block predecessor */
    "kind": "temporary",
    "id": "store.inconsistent_block_predecessor",
    "block_hash": $block_hash,
    "level": integer ∈ [-2^31-1, 2^31],
    "expected_hash": $block_hash,
    "computed_hash": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent cemented file

Failed to read a cemented file

Id : store.inconsistent_cemented_file
Category : temporary

  { /* Inconsistent cemented file
       Failed to read a cemented file */
    "kind": "temporary",
    "id": "store.inconsistent_cemented_file",
    "path": $unistring,
    "trace": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent cemented store

Failed to check indexes consistency

Id : store.inconsistent_cemented_store
Category : temporary

  { /* Inconsistent cemented store
       Failed to check indexes consistency */
    "kind": "temporary",
    "id": "store.inconsistent_cemented_store",
    "inconsistent_cemented_file":
      { /* Missing cycle */
        "low_cycle": $unistring,
        "high_cycle": $unistring }
      || { /* Inconsistent_cycle_start */
           "cycle_start": integer ∈ [-2^31-1, 2^31],
           "expected_cycle_start": integer ∈ [-2^31-1, 2^31] }
      || { /* Bad offset */
           "level": integer ∈ [-2^30, 2^30],
           "cycle": $unistring }
      || { /* Unexpected level */
           "block_hash": $block_hash,
           "expected": integer ∈ [-2^31-1, 2^31],
           "got": integer ∈ [-2^31-1, 2^31] }
      || { /* Corrupted index */
           "block_hash": $block_hash }
      || { /* Inconsistent highest cemented level */
           "highest_cemented_level": integer ∈ [-2^31-1, 2^31],
           "cementing_highwatermark": integer ∈ [-2^31-1, 2^31] } }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent cementing highwatermark

The stored cementing highwatermark is inconsistent with the store.

Id : store.inconsistent_cementing_highwatermark
Category : permanent

  { /* Inconsistent cementing highwatermark
       The stored cementing highwatermark is inconsistent with the store. */
    "kind": "permanent",
    "id": "store.inconsistent_cementing_highwatermark",
    "highest_cemented_level": integer ∈ [-2^31-1, 2^31],
    "cementing_highwatermark": integer ∈ [-2^31-1, 2^31] }

Inconsistent chain store

Failed to load chain store

Id : store.inconsistent_chain_store
Category : temporary

  { /* Inconsistent chain store
       Failed to load chain store */
    "kind": "temporary",
    "id": "store.inconsistent_chain_store" }

Inconsistent genesis

The given genesis block is inconsistent with the store.

Id : store.inconsistent_genesis
Category : permanent

  { /* Inconsistent genesis
       The given genesis block is inconsistent with the store. */
    "kind": "permanent",
    "id": "store.inconsistent_genesis",
    "expected": $block_hash,
    "got": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Inconsistent history mode

The history mode does not correspond to the store.

Id : store.inconsistent_history_mode
Category : permanent

  { /* Inconsistent history mode
       The history mode does not correspond to the store. */
    "kind": "permanent",
    "id": "store.inconsistent_history_mode",
    "history_mode": $history_mode }
  $history_mode:
    /* history mode
       Storage mode for the Tezos shell. */
    "archive"
    || { /* full
            Full mode retains every block and operations since the genesis
            block but periodically prunes older blocks' metadata to reduce
            the storage size. */
         "full":
           { "additional_cycles":
               integer ∈ [0, 1000.000000]
               /* additional cycles
                  Number of additional cycles preserved below the
                  savepoint. By default: 1 additional cycles will be
                  stored. */ } }
    || { /* rolling
            Rolling mode only retain the most recent cycles by periodically
            periodically discarding older blocks to reduce the storage
            size. */
         "rolling":
           { "additional_cycles":
               integer ∈ [0, 1000.000000]
               /* additional cycles
                  Number of additional cycles preserved below the
                  savepoint. By default: 1 additional cycles will be
                  stored. */ } }
    || "full"
    || "rolling"

Inconsistent protocol commit info

Inconsistent protocol commit info while restoring snapshot

Id : store.inconsistent_protocol_commit_info
Category : temporary

  { /* Inconsistent protocol commit info
       Inconsistent protocol commit info while restoring snapshot */
    "kind": "temporary",
    "id": "store.inconsistent_protocol_commit_info",
    "block_hash": $block_hash,
    "protocol_hash": $Protocol_hash }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Invalid blocks to cement

Invalid block list to cement

Id : store.invalid_blocks_to_cement
Category : temporary

  { /* Invalid blocks to cement
       Invalid block list to cement */
    "kind": "temporary",
    "id": "store.invalid_blocks_to_cement" }

Invalid genesis marking

Cannot mark genesis as invalid

Id : store.invalid_genesis_marking
Category : temporary

  { /* Invalid genesis marking
       Cannot mark genesis as invalid */
    "kind": "temporary",
    "id": "store.invalid_genesis_marking" }

Invalid head switch

The given head is not consistent with the current store's savepoint

Id : store.invalid_head_switch
Category : permanent

  { /* Invalid head switch
       The given head is not consistent with the current store's savepoint */
    "kind": "permanent",
    "id": "store.invalid_head_switch",
    "minimum_allowed_level": integer ∈ [-2^31-1, 2^31],
    "given_head": [ $block_hash, integer ∈ [-2^31-1, 2^31] ] }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Merge already running

The store's merge is already running

Id : store.merge_already_running
Category : temporary

  { /* Merge already running
       The store's merge is already running */
    "kind": "temporary",
    "id": "store.merge_already_running" }

Merge error

Error while merging the store

Id : store.merge_error
Category : temporary

  { /* Merge error
       Error while merging the store */
    "kind": "temporary",
    "id": "store.merge_error" }

Block metadata not found

Block metadata not found

Id : store.metadata_not_found
Category : permanent

  { /* Block metadata not found
       Block metadata not found */
    "kind": "permanent",
    "id": "store.metadata_not_found",
    "block_metadata_not_found": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing activation block

Missing activation block while restoring snapshot

Id : store.missing_activation_block
Category : temporary

  { /* Missing activation block
       Missing activation block while restoring snapshot */
    "kind": "temporary",
    "id": "store.missing_activation_block",
    "block_hash": $block_hash,
    "protocol_hash": $Protocol_hash,
    "history_mode": $history_mode }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $history_mode:
    /* history mode
       Storage mode for the Tezos shell. */
    "archive"
    || { /* full
            Full mode retains every block and operations since the genesis
            block but periodically prunes older blocks' metadata to reduce
            the storage size. */
         "full":
           { "additional_cycles":
               integer ∈ [0, 1000.000000]
               /* additional cycles
                  Number of additional cycles preserved below the
                  savepoint. By default: 1 additional cycles will be
                  stored. */ } }
    || { /* rolling
            Rolling mode only retain the most recent cycles by periodically
            periodically discarding older blocks to reduce the storage
            size. */
         "rolling":
           { "additional_cycles":
               integer ∈ [0, 1000.000000]
               /* additional cycles
                  Number of additional cycles preserved below the
                  savepoint. By default: 1 additional cycles will be
                  stored. */ } }
    || "full"
    || "rolling"
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing commit info

Failed to retreive commit info

Id : store.missing_commit_info
Category : temporary

  { /* Missing commit info
       Failed to retreive commit info */
    "kind": "temporary",
    "id": "store.missing_commit_info",
    "trace": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Missing last preserved block

Current head's last preserved block (or its associated metadata) cannot be found in the store.

Id : store.missing_last_preserved_block
Category : temporary

  { /* Missing last preserved block
       Current head's last preserved block (or its associated metadata)
       cannot be found in the store. */
    "kind": "temporary",
    "id": "store.missing_last_preserved_block" }

Protocol not found

Protocol not found

Id : store.protocol_not_found
Category : permanent

  { /* Protocol not found
       Protocol not found */
    "kind": "permanent",
    "id": "store.protocol_not_found",
    "protocol_level": integer ∈ [-2^30, 2^30] }

Resulting context hash not found

Resulting context hash not found

Id : store.resulting_context_hash_not_found
Category : permanent

  { /* Resulting context hash not found
       Resulting context hash not found */
    "kind": "permanent",
    "id": "store.resulting_context_hash_not_found",
    "block_not_found": [ $block_hash, integer ∈ [-2^31-1, 2^31] ] }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

target mismatch

Target is reached but it is not a head's ancestor.

Id : store.target_mismatch
Category : permanent

  { /* target mismatch
       Target is reached but it is not a head's ancestor. */
    "kind": "permanent",
    "id": "store.target_mismatch" }

Temporary cemented file exists

The temporary cemented file already exists

Id : store.temporary_cemented_file_exists
Category : temporary

  { /* Temporary cemented file exists
       The temporary cemented file already exists */
    "kind": "temporary",
    "id": "store.temporary_cemented_file_exists",
    "path": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected missing activaiton block

An activation block is unexpectedly missing from the store.

Id : store.unexpected_missing_activation_block
Category : permanent

  { /* Unexpected missing activaiton block
       An activation block is unexpectedly missing from the store. */
    "kind": "permanent",
    "id": "store.unexpected_missing_activation_block",
    "block": $block_hash,
    "protocol": $Protocol_hash }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected missing block

A block is unexpectedly missing from the store.

Id : store.unexpected_missing_block
Category : permanent

  { /* Unexpected missing block
       A block is unexpectedly missing from the store. */
    "kind": "permanent",
    "id": "store.unexpected_missing_block",
    "missing_block": $unistring,
    "level": integer ∈ [-2^31-1, 2^31],
    "hash": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected missing block metadata

A block's metadata is unexpectedly missing from the store.

Id : store.unexpected_missing_block_metadata
Category : permanent

  { /* Unexpected missing block metadata
       A block's metadata is unexpectedly missing from the store. */
    "kind": "permanent",
    "id": "store.unexpected_missing_block_metadata",
    "missing_block_metadata": $unistring,
    "level": integer ∈ [-2^31-1, 2^31],
    "hash": $block_hash }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected missing protocol

A protocol is unexpectedly missing from the store.

Id : store.unexpected_missing_protocol
Category : permanent

  { /* Unexpected missing protocol
       A protocol is unexpectedly missing from the store. */
    "kind": "permanent",
    "id": "store.unexpected_missing_protocol",
    "protocol_level": integer ∈ [-2^30, 2^30] }

Wrong floating kind swap

Try to swap wrong floating store kind

Id : store.wrong_floating_kind_swap
Category : temporary

  { /* Wrong floating kind swap
       Try to swap wrong floating store kind */
    "kind": "temporary",
    "id": "store.wrong_floating_kind_swap" }

Wrong predecessor

Failed to get block's predecessor

Id : store.wrong_predecessor
Category : temporary

  { /* Wrong predecessor
       Failed to get block's predecessor */
    "kind": "temporary",
    "id": "store.wrong_predecessor",
    "hash": $block_hash,
    "offset": integer ∈ [-2^30, 2^30] }
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unexpected size of encoded value

An encoded value is not of the expected size.

Id : unexpected_size_of_encoded_value
Category : permanent

  { /* Unexpected size of encoded value
       An encoded value is not of the expected size. */
    "kind": "permanent",
    "id": "unexpected_size_of_encoded_value" }

Unix System_info failure

Unix System_info failure

Id : unix.system_info
Category : temporary

  { /* Unix System_info failure
       Unix System_info failure */
    "kind": "temporary",
    "id": "unix.system_info",
    "failure": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Unix error

An unhandled unix exception

Id : unix_error
Category : temporary

  { /* Unix error
       An unhandled unix exception */
    "kind": "temporary",
    "id": "unix_error",
    "msg": $unistring }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Timeout

Timeout

Id : utils.Timeout
Category : temporary

  { /* Timeout
       Timeout */
    "kind": "temporary",
    "id": "utils.Timeout",
    ... }