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" }

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" }

Committing to a bad inbox level

Attempted to commit to a bad inbox level.

Id : proto.alpha.Sc_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.Sc_rollup_bad_inbox_level" }

DAL slot already registered for rollup

Outbox message already applied

Id : proto.alpha.Sc_rollup_dal_slot_already_registered
Category : temporary

  { /* DAL slot already registered for rollup
       Outbox message already applied */
    "kind": "permanent",
    "id": "proto.alpha.Sc_rollup_dal_slot_already_registered",
    "rollup": $alpha.rollup_address,
    "slot_index": integer ∈ [0, 255] }
  $alpha.rollup_address:
    /* A smart contract rollup address
       A smart contract rollup is identified by a base58 address starting
       with scr1 */
    $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 disputed

Attempted to cement a disputed commitment.

Id : proto.alpha.Sc_rollup_disputed
Category : temporary

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

Rollup does not exist

Attempted to use a rollup that has not been originated.

Id : proto.alpha.Sc_rollup_does_not_exist
Category : temporary

  { /* Rollup does not exist
       Attempted to use a rollup that has not been originated. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_does_not_exist",
    "rollup": $alpha.rollup_address }
  $alpha.rollup_address:
    /* A smart contract rollup address
       A smart contract rollup is identified by a base58 address starting
       with scr1 */
    $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] ... ] }

Refutation game already started

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

Id : proto.alpha.Sc_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.Sc_rollup_game_already_started",
    ... }

Invalid last-cemented-commitment

Invalid last-cemented-commitment

Id : proto.alpha.Sc_rollup_invalid_last_cemented_commitment
Category : temporary

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

Invalid outbox level

Invalid outbox level

Id : proto.alpha.Sc_rollup_invalid_outbox_level
Category : temporary

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

Invalid rollup outbox message index

Invalid rollup outbox message index

Id : proto.alpha.Sc_rollup_invalid_outbox_message_index
Category : temporary

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

Invalid output proof

Invalid output proof

Id : proto.alpha.Sc_rollup_invalid_output_proof
Category : temporary

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

Invalid parameters type

Invalid parameters type for rollup

Id : proto.alpha.Sc_rollup_invalid_parameters_type
Category : temporary

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

Maximum number of available messages reached

Maximum number of available messages reached

Id : proto.alpha.Sc_rollup_max_number_of_available_messages_reached
Category : temporary

  { /* Maximum number of available messages reached
       Maximum number of available messages reached */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_max_number_of_available_messages_reached",
    ... }

Maximum number of messages reached for commitment period

Maximum number of messages reached for commitment period

Id : proto.alpha.Sc_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.Sc_rollup_max_number_of_messages_reached_for_commitment_period",
    ... }

No conflict

No conflict.

Id : proto.alpha.Sc_rollup_no_conflict
Category : temporary

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

Refutation game does not exist

Refutation game does not exist

Id : proto.alpha.Sc_rollup_no_game
Category : temporary

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

No stakers

No stakers.

Id : proto.alpha.Sc_rollup_no_stakers
Category : temporary

  { /* No stakers
       No stakers. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_no_stakers" }

Unknown staker

Unknown staker.

Id : proto.alpha.Sc_rollup_not_staked
Category : temporary

  { /* Unknown staker
       Unknown staker. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_not_staked" }

Rollup not staked on LCC

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

Id : proto.alpha.Sc_rollup_not_staked_on_lcc
Category : temporary

  { /* Rollup not staked on LCC
       Attempted to withdraw while not staked on the last cemented
       commitment. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_not_staked_on_lcc" }

Outbox level expired

Outbox level expired

Id : proto.alpha.Sc_rollup_outbox_level_expired
Category : temporary

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

Outbox message already applied

Outbox message already applied

Id : proto.alpha.Sc_rollup_outbox_message_already_applied
Category : temporary

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

Parent not cemented

Parent is not cemented.

Id : proto.alpha.Sc_rollup_parent_not_lcc
Category : temporary

  { /* Parent not cemented
       Parent is not cemented. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_parent_not_lcc" }

Can not remove cemented

Can not remove a cemented commitment.

Id : proto.alpha.Sc_rollup_remove_lcc
Category : temporary

  { /* Can not remove cemented
       Can not remove a cemented commitment. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_remove_lcc" }

Requested list of subscribed dal slots at a future level

Outbox message already applied

Id : proto.alpha.Sc_rollup_requested_dal_slot_subscriptions_at_future_level
Category : temporary

  { /* Requested list of subscribed dal slots at a future level
       Outbox message already applied */
    "kind": "temporary",
    "id":
      "proto.alpha.Sc_rollup_requested_dal_slot_subscriptions_at_future_level",
    "current_level": integer ∈ [-2^31-1, 2^31],
    "future_level": integer ∈ [-2^31-1, 2^31] }

Staker backtracked

Staker backtracked.

Id : proto.alpha.Sc_rollup_staker_backtracked
Category : temporary

  { /* Staker backtracked
       Staker backtracked. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_staker_backtracked" }

Staker does not have enough funds to make a deposit

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

Id : proto.alpha.Sc_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 contract rollup
       deposit. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_staker_funds_too_low",
    "staker": $Signature.Public_key_hash,
    "sc_rollup": $alpha.rollup_address,
    "staker_balance": $alpha.mutez,
    "min_expected_balance": $alpha.mutez }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
    $unistring
  $alpha.mutez: $positive_bignum
  $alpha.rollup_address:
    /* A smart contract rollup address
       A smart contract rollup is identified by a base58 address starting
       with scr1 */
    $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] ... ] }

Staker is already playing a game

Attempted to start a game where one staker is already busy

Id : proto.alpha.Sc_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.Sc_rollup_staker_in_game",
    "refuter": $Signature.Public_key_hash }
  || { /* Defender */
       "kind": "temporary",
       "id": "proto.alpha.Sc_rollup_staker_in_game",
       "defender": $Signature.Public_key_hash }
  || { /* Both */
       "kind": "temporary",
       "id": "proto.alpha.Sc_rollup_staker_in_game",
       "refuter": $Signature.Public_key_hash,
       "defender": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 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] ... ] }

Attempt to timeout game too early

Attempt to timeout game too early

Id : proto.alpha.Sc_rollup_timeout_level_not_reached
Category : temporary

  { /* Attempt to timeout game too early
       Attempt to timeout game too early */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_timeout_level_not_reached",
    ... }

Commitment too far ahead

Commitment is too far ahead of the last cemented commitment.

Id : proto.alpha.Sc_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.Sc_rollup_too_far_ahead" }

Commitment too recent

Attempted to cement a commitment before its refutation deadline.

Id : proto.alpha.Sc_rollup_too_recent
Category : temporary

  { /* Commitment too recent
       Attempted to cement a commitment before its refutation deadline. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_too_recent" }

Unknown commitment

Unknown commitment.

Id : proto.alpha.Sc_rollup_unknown_commitment
Category : temporary

  { /* Unknown commitment
       Unknown commitment. */
    "kind": "temporary",
    "id": "proto.alpha.Sc_rollup_unknown_commitment",
    "commitment": $commitment_hash }
  $commitment_hash:
    /* The hash of a commitment of a smart contract 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.Sc_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.Sc_rollup_wrong_turn",
    ... }

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" }

This commitment has the wrong inbox hash

This commitment has a different hash than its inbox

Id : proto.alpha.Wrong_inbox_hash
Category : temporary

  { /* This commitment has the wrong inbox hash
       This commitment has a different hash than its inbox */
    "kind": "branch",
    "id": "proto.alpha.Wrong_inbox_hash",
    ... }

Insufficient endorsing power

The endorsing power is insufficient to satisfy the consensus threshold.

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

  { /* Insufficient endorsing power
       The endorsing power is insufficient to satisfy the consensus
       threshold. */
    "kind": "permanent",
    "id": "proto.alpha.baking.insufficient_endorsing_power",
    "endorsing_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] }

Inconsistent denunciation

A denunciation operation is inconsistent (two distinct delegates)

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

  { /* Inconsistent denunciation
       A denunciation operation is inconsistent (two distinct delegates) */
    "kind": "permanent",
    "id": "proto.alpha.block.inconsistent_denunciation",
    "kind": "endorsement" | "preendorsement" | "block",
    "delegate1": $Signature.Public_key_hash,
    "delegate2": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 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.block.invalid_denunciation
Category : temporary

  { /* Invalid denunciation
       A denunciation is malformed */
    "kind": "permanent",
    "id": "proto.alpha.block.invalid_denunciation",
    "kind": "endorsement" | "preendorsement" | "block" }

Invalid double baking evidence

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

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

  { /* Invalid double baking evidence
       A double-baking evidence is inconsistent  (two distinct level) */
    "kind": "permanent",
    "id": "proto.alpha.block.invalid_double_baking_evidence",
    "hash1": $block_hash,
    "level1": integer ∈ [-2^31-1, 2^31],
    "round1": integer ∈ [-2^31-1, 2^31],
    "hash2": $block_hash,
    "level2": integer ∈ [-2^31-1, 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] ... ] }

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" }

Outdated denunciation

A denunciation is outdated.

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

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

Too early denunciation

A denunciation is too far in the future

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

  { /* Too early denunciation
       A denunciation is too far in the future */
    "kind": "temporary",
    "id": "proto.alpha.block.too_early_denunciation",
    "kind": "endorsement" | "preendorsement" | "block",
    "level": integer ∈ [-2^31-1, 2^31],
    "current": integer ∈ [-2^31-1, 2^31] }

Unrequired denunciation

A denunciation is unrequired

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

  { /* Unrequired denunciation
       A denunciation is unrequired */
    "kind": "branch",
    "id": "proto.alpha.block.unrequired_denunciation",
    ... }

Insufficient locked round evidence

Insufficient locked round evidence.

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

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

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, or P256 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 hash

Invalid payload hash.

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

  { /* Invalid payload hash
       Invalid payload hash. */
    "kind": "permanent",
    "id": "proto.alpha.block_header.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

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" }

Locked round after block round

Locked round after block round.

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

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

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, or P256 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" }

Consensus operation for future level

Consensus operation for future level.

Id : proto.alpha.consensus_operation_for_future_level
Category : temporary

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

Consensus operation for future round

Consensus operation for future round.

Id : proto.alpha.consensus_operation_for_future_round
Category : temporary

  { /* Consensus operation for future round
       Consensus operation for future round. */
    "kind": "temporary",
    "id": "proto.alpha.consensus_operation_for_future_round",
    "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.consensus_operation_for_old_level
Category : temporary

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

Consensus operation for old round

Consensus operation for old round.

Id : proto.alpha.consensus_operation_for_old_round
Category : temporary

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

Consensus operation on competing proposal

Consensus operation on competing proposal.

Id : proto.alpha.consensus_operation_on_competing_proposal
Category : temporary

  { /* Consensus operation on competing proposal
       Consensus operation on competing proposal. */
    "kind": "branch",
    "id": "proto.alpha.consensus_operation_on_competing_proposal",
    "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

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, or P256 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, or P256 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] ... ] }

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 endorsement exceeded the limit

The endorsement for data availability is a too big

Id : proto.alpha.dal_endorsement_size_limit_exceeded
Category : temporary

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

DAL endorsement unexpected size

The endorsement for data availability has a different size

Id : proto.alpha.dal_endorsement_unexpected_size
Category : temporary

  { /* DAL endorsement unexpected size
       The endorsement for data availability has a different size */
    "kind": "permanent",
    "id": "proto.alpha.dal_endorsement_unexpected_size",
    "expected_size": integer ∈ [-2^30, 2^30],
    "got": integer ∈ [-2^30, 2^30] }

DAL publish slot header duplicate

A slot header for this slot was already proposed

Id : proto.alpha.dal_publish_slot_heade_duplicate
Category : temporary

  { /* DAL publish slot header duplicate
       A slot header for this slot was already proposed */
    "kind": "permanent",
    "id": "proto.alpha.dal_publish_slot_heade_duplicate",
    "proposed":
      { "level": integer ∈ [-2^31-1, 2^31],
        "index": integer ∈ [0, 255],
        "header": integer ∈ [-2^30, 2^30] } }

DAL slot header invalid index

Bad index for slot header

Id : proto.alpha.dal_publish_slot_header_invalid_index
Category : temporary

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

DAL slot header with low fees

Slot header with too low fees

Id : proto.alpha.dal_publish_slot_header_with_low_fees
Category : temporary

  { /* DAL slot header with low fees
       Slot header with too low fees */
    "kind": "permanent",
    "id": "proto.alpha.dal_publish_slot_header_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":
      { "level": integer ∈ [-2^31-1, 2^31],
        "index": integer ∈ [0, 255],
        "header": integer ∈ [-2^30, 2^30] } }

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",
    ... }

DAL slot invalid index for subscribing sc rollup

Bad index for slot

Id : proto.alpha.dal_subscribe_rollup_invalid_slot_index
Category : temporary

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

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" }

Cannot find active stake

The active stake of a delegate cannot be found for the given cycle.

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

  { /* Cannot find active stake
       The active stake of a delegate cannot be found for the given cycle. */
    "kind": "permanent",
    "id": "proto.alpha.delegate.cannot_find_active_stake",
    "cycle": integer ∈ [-2^31-1, 2^31],
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 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 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, or P256 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, or P256 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, or P256 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" }

Unassigned validation slot for level

The validation slot for the given level is not assigned. Nobody payed for that slot, or the level is either in the past or too far in the future (further than the validatiors_selection_offset constant)

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

  { /* Unassigned validation slot for level
       The validation slot for the given level is not assigned. Nobody
       payed for that slot, or the level is either in the past or too far
       in the future (further than the validatiors_selection_offset
       constant) */
    "kind": "permanent",
    "id": "proto.alpha.delegate.unassigned_validation_slot_for_level",
    "level":
      { "level":
          integer ∈ [-2^31-1, 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. */ },
    "slot": integer ∈ [-2^30, 2^30] }

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" }

Zero frozen deposits

The delegate has zero frozen deposits.

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

  { /* Zero frozen deposits
       The delegate has zero frozen deposits. */
    "kind": "permanent",
    "id": "proto.alpha.delegate.zero_frozen_deposits",
    "delegate": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 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] ... ] }

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, or P256 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] ... ] }

Duplicate ballot

The delegate has already submitted a ballot.

Id : proto.alpha.duplicate_ballot
Category : temporary

  { /* Duplicate ballot
       The delegate has already submitted a ballot. */
    "kind": "branch",
    "id": "proto.alpha.duplicate_ballot" }

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

Empty proposal

Proposal lists cannot be empty.

Id : proto.alpha.empty_proposal
Category : temporary

  { /* Empty proposal
       Proposal lists cannot be empty. */
    "kind": "branch",
    "id": "proto.alpha.empty_proposal" }

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] ... ] }

Zero ticket amount is not allowed

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

Id : proto.alpha.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.forbidden_zero_amount_ticket" }

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:
    { /* Tx_rollup_bond_id */
      "tx_rollup": $alpha.tx_rollup_id }
    || { /* Sc_rollup_bond_id */
         "sc_rollup": $alpha.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
  $alpha.rollup_address:
    /* A smart contract rollup address
       A smart contract rollup is identified by a base58 address starting
       with scr1 */
    $unistring
  $alpha.tx_rollup_id:
    /* A tx rollup handle
       A tx rollup notation as given to an RPC or inside scripts, is a
       base58 tx rollup 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] ... ] }

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

No manager operations are allowed on an empty implicit contract.

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

  { /* Empty implicit contract
       No manager operations are allowed on an empty implicit contract. */
    "kind": "branch",
    "id": "proto.alpha.implicit.empty_implicit_contract",
    "implicit": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 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, or P256 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 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.contract_id,
    "nonce": integer ∈ [0, 2^16-1],
    "kind": "transaction",
    "amount": $alpha.mutez,
    "destination": $alpha.transaction_destination,
    "parameters"?:
      { "entrypoint": $alpha.entrypoint,
        "value":
          { /* 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"?: [ string ... ] } } }
  || { /* Origination */
       "kind": "permanent",
       "id": "proto.alpha.internal_operation_replay",
       "source": $alpha.contract_id,
       "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.contract_id,
       "nonce": integer ∈ [0, 2^16-1],
       "kind": "delegation",
       "delegate"?: $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
    $unistring
  $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.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || string
    /* named */
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "code"
  $alpha.mutez: $positive_bignum
  $alpha.scripted.contracts:
    { "code":
        { /* 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"?: [ string ... ] },
      "storage":
        { /* 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"?: [ string ... ] } }
  $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-contract 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"?: [ string ... ] }
  $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 dictator proposal

A governance dictator can only submit one proposal at a time.

Id : proto.alpha.invalid_dictator_proposal
Category : temporary

  { /* Invalid dictator proposal
       A governance dictator can only submit one proposal at a time. */
    "kind": "permanent",
    "id": "proto.alpha.invalid_dictator_proposal" }

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 proposal

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

Id : proto.alpha.invalid_proposal
Category : temporary

  { /* Invalid proposal
       Ballot provided for a proposal that is not the current one. */
    "kind": "branch",
    "id": "proto.alpha.invalid_proposal" }

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 ∈ [-2^31-1, 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] }

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.main.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.main.missing_shell_header",
    ... }

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

Event parameter is malformed

An event address is not a valid destination to transfer any token to. Events should be sent with EMIT instructions.

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

  { /* Event parameter is malformed
       An event address is not a valid destination to transfer any token
       to. Events should be sent with EMIT instructions. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.event_invalid_destination",
    "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]

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:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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]

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":
      { /* 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"?: [ string ... ] },
    "location": $micheline.location }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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":
      { /* 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"?: [ string ... ] },
    "type_map":
      [ { "location": $micheline.location,
          "stack_before":
            [ { /* 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"?: [ string ... ] } ... ],
          "stack_after":
            [ { /* 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"?: [ string ... ] } ... ] } ... ] }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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":
      { /* 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"?: [ string ... ] },
    "ill_typed_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"?: [ string ... ] } }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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] ... ] }

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":
      [ { /* 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"?: [ string ... ] } ... ],
    "expected_view_stack":
      [ { /* 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"?: [ string ... ] } ... ] }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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":
      { /* 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"?: [ string ... ] },
    "other_type":
      { /* 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"?: [ string ... ] } }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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":
      { /* 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"?: [ string ... ] },
    "wrong_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"?: [ string ... ] } }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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":
      [ { /* 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"?: [ string ... ] } ... ],
    "aft_stack":
      [ { /* 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"?: [ string ... ] } ... ] }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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":
      [ { /* 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"?: [ string ... ] } ... ] }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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":
      { /* 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"?: [ string ... ] },
    "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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":
      { /* 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"?: [ string ... ] } }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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":
      { /* 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"?: [ string ... ] } }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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-contract rollup features as they are disabled.

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

  { /* Sc rollup are disabled
       Cannot use smart-contract 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)

A FAIL instruction was reached due to the detection of an overflow

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

  { /* Script failed (overflow error)
       A FAIL instruction was reached due to the detection of an overflow */
    "kind": "temporary",
    "id": "proto.alpha.michelson_v1.script_overflow",
    "location": $micheline.location,
    "trace"?:
      [ { "location": $micheline.location,
          "gas": $bignum /* Limited */ || "unaccounted",
          "stack":
            [ { /* 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"?: [ string ... ] } ... ] } ... ] }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       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":
      { /* 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"?: [ string ... ] },
    "trace"?:
      [ { "location": $micheline.location,
          "gas": $bignum /* Limited */ || "unaccounted",
          "stack":
            [ { /* 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"?: [ string ... ] } ... ] } ... ] }
  $alpha.michelson.v1.primitives:
    "ABS"
    | "IF"
    | "SOURCE"
    | "DUG"
    | "False"
    | "DIG"
    | "SAPLING_VERIFY_UPDATE"
    | "bls12_381_g1"
    | "BLAKE2B"
    | "key_hash"
    | "sapling_transaction_deprecated"
    | "Pair"
    | "INT"
    | "map"
    | "sapling_transaction"
    | "storage"
    | "RIGHT"
    | "view"
    | "SHA256"
    | "AND"
    | "VIEW"
    | "signature"
    | "NIL"
    | "lambda"
    | "STEPS_TO_QUOTA"
    | "RENAME"
    | "CHECK_SIGNATURE"
    | "NEVER"
    | "timestamp"
    | "MAP"
    | "big_map"
    | "chain_id"
    | "ADD"
    | "IMPLICIT_ACCOUNT"
    | "SHA512"
    | "bool"
    | "LSL"
    | "chest"
    | "never"
    | "sapling_state"
    | "operation"
    | "COMPARE"
    | "SUB_MUTEZ"
    | "SLICE"
    | "DROP"
    | "option"
    | "BALANCE"
    | "CONCAT"
    | "ticket"
    | "MUL"
    | "FAILWITH"
    | "Elt"
    | "key"
    | "MIN_BLOCK_TIME"
    | "DIP"
    | "MEM"
    | "XOR"
    | "int"
    | "UPDATE"
    | "Some"
    | "parameter"
    | "unit"
    | "EMPTY_MAP"
    | "None"
    | "SWAP"
    | "nat"
    | "AMOUNT"
    | "pair"
    | "KECCAK"
    | "set"
    | "CHAIN_ID"
    | "HASH_KEY"
    | "IF_LEFT"
    | "CREATE_ACCOUNT"
    | "LT"
    | "VOTING_POWER"
    | "UNPACK"
    | "TICKET"
    | "SELF"
    | "bytes"
    | "TRANSFER_TOKENS"
    | "LE"
    | "SOME"
    | "CREATE_CONTRACT"
    | "Unit"
    | "SAPLING_EMPTY_STATE"
    | "NONE"
    | "ADDRESS"
    | "GE"
    | "SIZE"
    | "contract"
    | "SENDER"
    | "or"
    | "CAR"
    | "NOT"
    | "mutez"
    | "CDR"
    | "ITER"
    | "SHA3"
    | "PUSH"
    | "LEFT"
    | "ISNAT"
    | "True"
    | "Right"
    | "PACK"
    | "IF_CONS"
    | "TOTAL_VOTING_POWER"
    | "bls12_381_g2"
    | "SET_DELEGATE"
    | "EMPTY_SET"
    | "NEQ"
    | "LAMBDA"
    | "string"
    | "PAIRING_CHECK"
    | "LOOP"
    | "Left"
    | "EMIT"
    | "constant"
    | "LSR"
    | "EMPTY_BIG_MAP"
    | "address"
    | "SPLIT_TICKET"
    | "LEVEL"
    | "PAIR"
    | "READ_TICKET"
    | "list"
    | "UNPAIR"
    | "GT"
    | "bls12_381_fr"
    | "tx_rollup_l2_address"
    | "NOW"
    | "IF_NONE"
    | "OR"
    | "GET_AND_UPDATE"
    | "UNIT"
    | "CONTRACT"
    | "CAST"
    | "JOIN_TICKETS"
    | "EDIV"
    | "EQ"
    | "LOOP_LEFT"
    | "chest_key"
    | "OPEN_CHEST"
    | "EXEC"
    | "GET"
    | "NEG"
    | "SELF_ADDRESS"
    | "DUP"
    | "CONS"
    | "SUB"
    | "APPLY"
    | "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"?: [ 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]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }

Tx rollup addresses are disabled

Cannot parse a tx_rollup address as tx rollups are disabled.

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

  { /* Tx rollup addresses are disabled
       Cannot parse a tx_rollup address as tx rollups are disabled. */
    "kind": "permanent",
    "id": "proto.alpha.michelson_v1.tx_rollup_addresses_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]

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

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

No available snapshots

No available snapshots

Id : proto.alpha.no_available_snapshots
Category : temporary

  { /* No available snapshots
       No available snapshots */
    "kind": "permanent",
    "id": "proto.alpha.no_available_snapshots",
    "min_cycle": integer ∈ [-2^31-1, 2^31] }

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",
    ... }

Previously revealed nonce

Duplicated revelation for a nonce.

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

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

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",
    ... }

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 transfer ticket to implicit account

Cannot transfer ticket to implicit account

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

  { /* Cannot transfer ticket to implicit account
       Cannot transfer ticket to implicit account */
    "kind": "permanent",
    "id": "proto.alpha.operation.cannot_transfer_ticket_to_implicit",
    ... }

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": $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 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" }

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",
    ... }

Event sinks are invalid transaction destinations

Event sinks are not real transaction destinations, and therefore operations targeting an event sink are invalid. To emit events, use EMIT instead.

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

  { /* Event sinks are invalid transaction destinations
       Event sinks are not real transaction destinations, and therefore
       operations targeting an event sink are invalid. To emit events, use
       EMIT instead. */
    "kind": "permanent",
    "id": "proto.alpha.operation.event_invalid_destination",
    ... }

Failing_noop operations are not executed by the protocol

The failing_noop operation is an operation that is not and never will be executed by the protocol.

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

  { /* Failing_noop operations are not executed by the protocol
       The failing_noop operation is an operation that is not and never
       will be executed by the protocol. */
    "kind": "permanent",
    "id": "proto.alpha.operation.failing_noop" }

Invalid activation

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

Id : proto.alpha.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.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] ... ] }

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",
    ... }

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",
    ... }

Not enough endorsements

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

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

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

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",
    ... }

Smart contract rollups are disabled

Smart contract rollups will be enabled in a future proposal.

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

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

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, or P256 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 to a too high value

Cannot set deposits limit such that the active stake overflows.

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

  { /* Set deposits limit to a too high value
       Cannot set deposits limit such that the active stake overflows. */
    "kind": "permanent",
    "id": "proto.alpha.operation.set_deposits_limit_too_high",
    "limit": $alpha.mutez,
    "max_limit": $alpha.mutez }
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Amount of transferred ticket is too high

The ticket amount of a rollup transaction must fit in a signed 64-bit integer.

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

  { /* Amount of transferred ticket is too high
       The ticket amount of a rollup transaction must fit in a signed
       64-bit integer. */
    "kind": "permanent",
    "id":
      "proto.alpha.operation.tx_rollup_invalid_transaction_ticket_amount",
    ... }

Tx rollup is disabled

Cannot originate a tx rollup as it is disabled.

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

  { /* Tx rollup is disabled
       Cannot originate a tx rollup as it is disabled. */
    "kind": "permanent",
    "id": "proto.alpha.operation.tx_rollup_is_disabled",
    ... }

Operation is about a commitment that is not yet finalized

This operation must be about a finalized commitment

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

  { /* Operation is about a commitment that is not yet finalized
       This operation must be about a finalized commitment */
    "kind": "temporary",
    "id":
      "proto.alpha.operation.tx_rollup_no_finalized_commitment_for_level",
    "received": integer ∈ [-2^31-1, 2^31],
    "commitment_head_level":
      [ integer ∈ [-2^31-1, 2^31], integer ∈ [-2^31-1, 2^31] ]
      /* Some */
      || null
      /* None */ }

Submit batch exceeded burn limit

The submit batch would exceed the burn limit, we withdraw the submit.

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

  { /* Submit batch exceeded burn limit
       The submit batch would exceed the burn limit, we withdraw the
       submit. */
    "kind": "temporary",
    "id": "proto.alpha.operation.tx_rollup_submit_batch_burn_exceeded",
    "burn": $alpha.mutez,
    "limit": $alpha.mutez }
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

withdraw already consumed

The submitted withdraw has already been consumed

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

  { /* withdraw already consumed
       The submitted withdraw has already been consumed */
    "kind": "temporary",
    "id": "proto.alpha.operation.withdraw_already_consumed",
    ... }

withdrawals already dispatched

The withdrawals have already been dispatched to their layer-1 beneficiary

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

  { /* withdrawals already dispatched
       The withdrawals have already been dispatched to their layer-1
       beneficiary */
    "kind": "branch",
    "id": "proto.alpha.operation.withdrawals_already_dispatched",
    ... }

Wrong consensus operation branch

Trying to include an endorsement or preendorsement which points to the wrong block. It should be the predecessor for preendorsements and the grandfather for endorsements.

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

  { /* Wrong consensus operation branch
       Trying to include an endorsement or preendorsement which points to
       the wrong block.
              It should be the predecessor for preendorsements and the
       grandfather for endorsements. */
    "kind": "temporary",
    "id": "proto.alpha.operation.wrong_consensus_operation_branch",
    "expected": $block_hash,
    "provided": $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] ... ] }

Wrong voting period

Trying to include a proposal or ballot meant for another voting period

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

  { /* Wrong voting period
       Trying to include a proposal or ballot meant for another voting
       period */
    "kind": "temporary",
    "id": "proto.alpha.operation.wrong_voting_period",
    "current_index": integer ∈ [-2^31-1, 2^31],
    "provided_index": integer ∈ [-2^31-1, 2^31] }

Invalid transfer to sc rollup

Invalid transfer to sc rollup from implicit account

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

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

Wrong slot

wrong slot

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

  { /* Wrong slot
       wrong slot */
    "kind": "permanent",
    "id": "proto.alpha.operations.wrong_slot" }

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" }

Manager operation replaced

The manager operation has been replaced

Id : proto.alpha.plugin.manager_operation_replaced
Category : temporary

  { /* Manager operation replaced
       The manager operation has been replaced */
    "kind": "permanent",
    "id": "proto.alpha.plugin.manager_operation_replaced",
    "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] ... ] }

Operation removed because fees are too low for full mempool

Operation removed because fees are too low for full mempool

Id : proto.alpha.plugin.removed_fees_too_low_for_mempool
Category : temporary

  { /* Operation removed because fees are too low for full mempool
       Operation removed because fees are too low for full mempool */
    "kind": "temporary",
    "id": "proto.alpha.plugin.removed_fees_too_low_for_mempool",
    ... }

The operation has been backtracked by the protocol

The operation has been backtracked by the protocol

Id : proto.alpha.postfilter.backtracked_operation
Category : temporary

  { /* The operation has been backtracked by the protocol
       The operation has been backtracked by the protocol */
    "kind": "temporary",
    "id": "proto.alpha.postfilter.backtracked_operation",
    ... }

The operation has been skipped by the protocol

The operation has been skipped by the protocol

Id : proto.alpha.postfilter.skipped_operation
Category : temporary

  { /* The operation has been skipped by the protocol
       The operation has been skipped by the protocol */
    "kind": "temporary",
    "id": "proto.alpha.postfilter.skipped_operation",
    ... }

Preendorsement round too high

Preendorsement round too high.

Id : proto.alpha.preendorsement_round_too_high
Category : temporary

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

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",
    ... }

Operation fees are too low to be considered in full mempool

Operation fees are too low to be considered in full mempool

Id : proto.alpha.prefilter.fees_too_low_for_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": "proto.alpha.prefilter.fees_too_low_for_mempool",
    "required_fees": $alpha.mutez }
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Only one manager operation per manager per block allowed

Only one manager operation per manager per block allowed

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

  { /* Only one manager operation per manager per block allowed
       Only one manager operation per manager per block allowed */
    "kind": "temporary",
    "id": "proto.alpha.prefilter.manager_restriction",
    "operation_hash": $Operation_hash,
    "operation_fee": $alpha.mutez }
  $Operation_hash:
    /* A Tezos operation ID (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] ... ] }

Endorsement is outdated

Endorsement is outdated

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

  { /* Endorsement is outdated
       Endorsement is outdated */
    "kind": "temporary",
    "id": "proto.alpha.prefilter.outdated_endorsement",
    ... }

Wrong operation

Failing_noop and old endorsement format are not accepted.

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

  { /* Wrong operation
       Failing_noop and old endorsement format are not accepted. */
    "kind": "temporary",
    "id": "proto.alpha.prefilter.wrong_operation",
    ... }

Error while generating rollup address

Error while generating rollup address

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

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

Invalid smart contract rollup address

A smart contract rollup address must be a valid hash starting with 'scr1'.

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

  { /* Invalid smart contract rollup address
       A smart contract rollup address must be a valid hash starting with
       'scr1'. */
    "kind": "permanent",
    "id": "proto.alpha.rollup.invalid_smart_contract_rollup_address",
    "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] ... ] }

Invalid tx rollup notation

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

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

  { /* Invalid tx rollup notation
       A malformed tx rollup notation was given to an RPC or in a script. */
    "kind": "permanent",
    "id": "proto.alpha.rollup.invalid_tx_rollup_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] ... ] }

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] }

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] }

Internal error: Trying to consume a negative number of messages

Sc_rollup_inbox.consume_n_messages must be called with a non negative integer.

Id : proto.alpha.sc_rollup_inbox.consume_n_messages
Category : temporary

  { /* Internal error: Trying to consume a negative number of messages
       Sc_rollup_inbox.consume_n_messages must be called with a non
       negative integer. */
    "kind": "permanent",
    "id": "proto.alpha.sc_rollup_inbox.consume_n_messages",
    "consume_n_messages": $int64 }
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string

Internal error: Trying to add a message to an inbox from the past

An inbox can only accept messages for its current level or for the next levels.

Id : proto.alpha.sc_rollup_inbox.invalid_level_add_messages
Category : temporary

  { /* Internal error: Trying to add a message to an inbox from the past
       An inbox can only accept messages for its current level or for the
       next levels. */
    "kind": "permanent",
    "id": "proto.alpha.sc_rollup_inbox.invalid_level_add_messages",
    "level": integer ∈ [-2^31-1, 2^31] }

Failed to decode a rollup management protocol inbox message value

Failed to decode a rollup management protocol inbox message value

Id : proto.alpha.sc_rollup_inbox_message_repr.error_decoding_inbox_message
Category : temporary

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

Failed to encode a rollup management protocol inbox message value

Failed to encode a rollup management protocol inbox message value

Id : proto.alpha.sc_rollup_inbox_message_repr.error_encoding_inbox_message
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.sc_rollup_inbox_message_repr.error_encoding_inbox_message",
    ... }

Invalid destination

Invalid destination

Id : proto.alpha.sc_rollup_management_protocol.sc_rollup_invalid_destination
Category : temporary

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

Failed to decode a rollup management protocol outbox message value

Failed to decode a rollup management protocol outbox message value

Id : proto.alpha.sc_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.sc_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.sc_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.sc_rollup_outbox_message_repr.error_encoding_outbox_message",
    ... }

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] }

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": $int64 }
  $alpha.mutez: $positive_bignum
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    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": $int64 }
  $alpha.mutez: $positive_bignum
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    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": $int64 }
  $alpha.mutez: $positive_bignum
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string

Underflowing tez subtraction

A subtraction of two tez amounts underflowed

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

  { /* Underflowing tez subtraction
       A subtraction of two tez amounts underflowed */
    "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" }

Too many proposals

The delegate reached the maximum number of allowed proposals.

Id : proto.alpha.too_many_proposals
Category : temporary

  { /* Too many proposals
       The delegate reached the maximum number of allowed proposals. */
    "kind": "branch",
    "id": "proto.alpha.too_many_proposals" }

Transaction rollup was already created

The protocol tried to originate the same transaction rollup twice

Id : proto.alpha.tx_rollup_already_exists
Category : temporary

  { /* Transaction rollup was already created
       The protocol tried to originate the same transaction rollup twice */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_already_exists",
    "rollup_address": $alpha.tx_rollup_id }
  $alpha.tx_rollup_id:
    /* A tx rollup handle
       A tx rollup notation as given to an RPC or inside scripts, is a
       base58 tx rollup 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] ... ] }

Balance overflow

Tried to credit a ticket index to an index to a new balance greater than the integer 32 limit

Id : proto.alpha.tx_rollup_balance_overflow
Category : temporary

  { /* Balance overflow
       Tried to credit a ticket index to an index to a new balance greater
       than the integer 32 limit */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_balance_overflow" }

Balance too low

Tried to spend a ticket index from an index without the required balance

Id : proto.alpha.tx_rollup_balance_too_low
Category : temporary

  { /* Balance too low
       Tried to spend a ticket index from an index without the required
       balance */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_balance_too_low" }

This account does not have a bond for this rollup

This account does not have a bond for this rollup

Id : proto.alpha.tx_rollup_bond_does_not_exist
Category : temporary

  { /* This account does not have a bond for this rollup
       This account does not have a bond for this rollup */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_bond_does_not_exist",
    "contract": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 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] ... ] }

This account’s bond is in use for one or more commitments

This account's bond is in use for one or more commitments

Id : proto.alpha.tx_rollup_bond_in_use
Category : temporary

  { /* This account's bond is in use for one or more commitments
       This account's bond is in use for one or more commitments */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_bond_in_use",
    "contract": $Signature.Public_key_hash }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 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 reject a commitment at the requested level

Cannot reject a commitment at the requested level

Id : proto.alpha.tx_rollup_cannot_reject_level
Category : temporary

  { /* Cannot reject a commitment at the requested level
       Cannot reject a commitment at the requested level */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_cannot_reject_level",
    "provided": integer ∈ [-2^31-1, 2^31],
    "accepted_range":
      { /* Some */
        "min": integer ∈ [-2^31-1, 2^31],
        "max": integer ∈ [-2^31-1, 2^31] }
      || null
      /* None */ }

The number of commitments associated with an implicit account is negative

A negative number of commitment is associated with an implicit account and its associated bound. This error is internal and should never happen.

Id : proto.alpha.tx_rollup_commitment_bond_negative
Category : temporary

  { /* The number of commitments associated with an implicit account is
       negative
       A negative number of commitment is associated with an implicit
       account and its associated bound. This error is internal and should
       never happen. */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_commitment_bond_negative",
    "count": integer ∈ [-2^30, 2^30] }

There is no commitment at the requested level

There is no commitment at the requested level

Id : proto.alpha.tx_rollup_commitment_does_not_exist
Category : temporary

  { /* There is no commitment at the requested level
       There is no commitment at the requested level */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_commitment_does_not_exist",
    "provided": integer ∈ [-2^31-1, 2^31] }

Cannot submit a commitment for this level yet

It is not possible to submit a commitment for this level just yet.

Id : proto.alpha.tx_rollup_commitment_too_early
Category : temporary

  { /* Cannot submit a commitment for this level yet
       It is not possible to submit a commitment for this level just yet. */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_commitment_too_early",
    "provided": integer ∈ [-2^31-1, 2^31],
    "expected": integer ∈ [-2^31-1, 2^31] }

Counter overflow

Tried to increment the counter of an address and reached the integer 64 limit

Id : proto.alpha.tx_rollup_counter_overflow
Category : temporary

  { /* Counter overflow
       Tried to increment the counter of an address and reached the integer
       64 limit */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_counter_overflow" }

Transaction rollup does not exist

An invalid transaction rollup address was submitted

Id : proto.alpha.tx_rollup_does_not_exist
Category : temporary

  { /* Transaction rollup does not exist
       An invalid transaction rollup address was submitted */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_does_not_exist",
    "rollup_address": $alpha.tx_rollup_id }
  $alpha.tx_rollup_id:
    /* A tx rollup handle
       A tx rollup notation as given to an RPC or inside scripts, is a
       base58 tx rollup 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] ... ] }

Transaction rollup inbox’s message count would exceed the limit

Transaction rollup inbox’s message count would exceed the limit

Id : proto.alpha.tx_rollup_inbox_count_would_exceed_limit
Category : temporary

  { /* Transaction rollup inbox’s message count would exceed the limit
       Transaction rollup inbox’s message count would exceed the limit */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_inbox_count_would_exceed_limit",
    "tx_rollup_address": $alpha.tx_rollup_id }
  $alpha.tx_rollup_id:
    /* A tx rollup handle
       A tx rollup notation as given to an RPC or inside scripts, is a
       base58 tx rollup 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] ... ] }

Missing transaction rollup inbox

The transaction rollup does not have an inbox at this level

Id : proto.alpha.tx_rollup_inbox_does_not_exist
Category : temporary

  { /* Missing transaction rollup inbox
       The transaction rollup does not have an inbox at this level */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_inbox_does_not_exist",
    "tx_rollup_address": $alpha.tx_rollup_id,
    "raw_level": integer ∈ [-2^31-1, 2^31] }
  $alpha.tx_rollup_id:
    /* A tx rollup handle
       A tx rollup notation as given to an RPC or inside scripts, is a
       base58 tx rollup 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] ... ] }

Transaction rollup inbox’s size would exceed the limit

Transaction rollup inbox’s size in bytes would exceed the limit

Id : proto.alpha.tx_rollup_inbox_size_would_exceed_limit
Category : temporary

  { /* Transaction rollup inbox’s size would exceed the limit
       Transaction rollup inbox’s size in bytes would exceed the limit */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_inbox_size_would_exceed_limit",
    "tx_rollup_address": $alpha.tx_rollup_id }
  $alpha.tx_rollup_id:
    /* A tx rollup handle
       A tx rollup notation as given to an RPC or inside scripts, is a
       base58 tx rollup 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] ... ] }

Incorrect aggregated signature

The aggregated signature is incorrect

Id : proto.alpha.tx_rollup_incorrect_aggregated_signature
Category : temporary

  { /* Incorrect aggregated signature
       The aggregated signature is incorrect */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_incorrect_aggregated_signature" }

An internal error occurred

An internal error occurred

Id : proto.alpha.tx_rollup_internal_error
Category : temporary

  { /* An internal error occurred
       An internal error occurred */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_internal_error",
    "description": $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 batch encoding

The batch could not be decoded from bytes

Id : proto.alpha.tx_rollup_invalid_batch_encoding
Category : temporary

  { /* Invalid batch encoding
       The batch could not be decoded from bytes */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_invalid_batch_encoding" }

Committer cannot propose a commitment for this level

The committer is trying to propose a commitment, but their bond is about to be slashed because a commitment they authored will be overwritten.

Id : proto.alpha.tx_rollup_invalid_committer
Category : temporary

  { /* Committer cannot propose a commitment for this level
       The committer is trying to propose a commitment, but their bond is
       about to be slashed because a commitment they authored will be
       overwritten. */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_invalid_committer",
    ... }

Invalid quantity

Tried to credit a ticket index to an index with a quantity non-strictly positive

Id : proto.alpha.tx_rollup_invalid_quantity
Category : temporary

  { /* Invalid quantity
       Tried to credit a ticket index to an index with a quantity
       non-strictly positive */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_invalid_quantity" }

Attempted to transfer ticket to self

The index for the destination is the same as the sender

Id : proto.alpha.tx_rollup_invalid_self_transfer
Category : temporary

  { /* Attempted to transfer ticket to self
       The index for the destination is the same as the sender */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_invalid_self_transfer" }

Invalid transaction

The signer signed multiple operations in the same transaction. He must gather all the contents in a single operation

Id : proto.alpha.tx_rollup_invalid_transaction
Category : temporary

  { /* Invalid transaction
       The signer signed multiple operations in the same transaction. He
       must gather all the contents in a single operation */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_invalid_transaction",
    "pk": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }

Invalid transaction encoding

The transaction could not be decoded from bytes

Id : proto.alpha.tx_rollup_invalid_transaction_encoding
Category : temporary

  { /* Invalid transaction encoding
       The transaction could not be decoded from bytes */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_invalid_transaction_encoding" }

Attempted to transfer zero ticket

A transfer's amount must be greater than zero.

Id : proto.alpha.tx_rollup_invalid_zero_transfer
Category : temporary

  { /* Attempted to transfer zero ticket
       A transfer's amount must be greater than zero. */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_invalid_zero_transfer" }

Key cannot be serialized

Tried to serialize an invalid key.

Id : proto.alpha.tx_rollup_key_cannot_be_serialized
Category : temporary

  { /* Key cannot be serialized
       Tried to serialize an invalid key. */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_key_cannot_be_serialized" }

This commitment is for a level that already has a commitment

This commitment is for a level that already has a commitment

Id : proto.alpha.tx_rollup_level_already_has_commitment
Category : temporary

  { /* This commitment is for a level that already has a commitment
       This commitment is for a level that already has a commitment */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_level_already_has_commitment",
    "level": integer ∈ [-2^31-1, 2^31] }

Maximum tx-rollup withdraws per message exceeded

The maximum number of withdraws allowed per tx-rollup message exceeded

Id : proto.alpha.tx_rollup_maximum_withdraws_per_message_exceeded
Category : temporary

  { /* Maximum tx-rollup withdraws per message exceeded
       The maximum number of withdraws allowed per tx-rollup message
       exceeded */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_maximum_withdraws_per_message_exceeded",
    "current": integer ∈ [-2^30, 2^30],
    "limit": integer ∈ [-2^30, 2^30] }

A message submitted to a transaction rollup inbox exceeds limit

A message submitted to a transaction rollup inbox exceeds limit

Id : proto.alpha.tx_rollup_message_size_exceeds_limit
Category : temporary

  { /* A message submitted to a transaction rollup inbox exceeds limit
       A message submitted to a transaction rollup inbox exceeds limit */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_message_size_exceeds_limit" }

Metadata already initiliazed

Tried to initialize a metadata for an index which was already initiliazed

Id : proto.alpha.tx_rollup_metadata_already_initialized
Category : temporary

  { /* Metadata already initiliazed
       Tried to initialize a metadata for an index which was already
       initiliazed */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_metadata_already_initialized",
    "index": integer ∈ [-2^31-1, 2^31] }

Attempted to withdraw from a ticket missing in the rollup

A withdrawal must reference a ticket that already exists in the rollup.

Id : proto.alpha.tx_rollup_missing_ticket
Category : temporary

  { /* Attempted to withdraw from a ticket missing in the rollup
       A withdrawal must reference a ticket that already exists in the
       rollup. */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_missing_ticket",
    "ticket_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 protocol has computed a negative size for the input of a hash function

The protocol has computed a negative size for the input of a hash function. This is an internal error, and denotes a bug in the protocol implementation.

Id : proto.alpha.tx_rollup_negative_input_size
Category : temporary

  { /* The protocol has computed a negative size for the input of a hash
       function
       The protocol has computed a negative size for the input of a hash
       function. This is an internal error, and denotes a bug in the
       protocol implementation. */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_negative_input_size",
    ... }

There is no commitment to finalize

There is no commitment to finalize

Id : proto.alpha.tx_rollup_no_commitment_to_finalize
Category : temporary

  { /* There is no commitment to finalize
       There is no commitment to finalize */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_no_commitment_to_finalize" }

There is no commitment to remove

There is no commitment to remove

Id : proto.alpha.tx_rollup_no_commitment_to_remove
Category : temporary

  { /* There is no commitment to remove
       There is no commitment to remove */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_no_commitment_to_remove" }

There is no inbox awaiting a commitment.

There is no inbox awaiting a commitment.

Id : proto.alpha.tx_rollup_no_uncommitted_inbox
Category : temporary

  { /* There is no inbox awaiting a commitment.
       There is no inbox awaiting a commitment. */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_no_uncommitted_inbox" }

Trying to dispatch withdrawals when none happened

Cannot dispatch an empty list of withdrawals

Id : proto.alpha.tx_rollup_no_withdrawals_to_dispatch
Category : temporary

  { /* Trying to dispatch withdrawals when none happened
       Cannot dispatch an empty list of withdrawals */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_no_withdrawals_to_dispatch" }

Operation counter mismatch

A transaction rollup operation has been submitted with an incorrect counter

Id : proto.alpha.tx_rollup_operation_counter_mismatch
Category : temporary

  { /* Operation counter mismatch
       A transaction rollup operation has been submitted with an incorrect
       counter */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_operation_counter_mismatch",
    "account": $Tx_rollup_l2_address,
    "expected": $int64,
    "provided": $int64 }
  $Tx_rollup_l2_address:
    /* The hash of a BLS public key used to identify a L2 ticket holders
       (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] ... ] }

Proof failed to reject the commitment

The proof verification failed and was unable to reject the commitment

Id : proto.alpha.tx_rollup_proof_failed_to_reject
Category : temporary

  { /* Proof failed to reject the commitment
       The proof verification failed and was unable to reject the
       commitment */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_proof_failed_to_reject" }

Proof started from an invalid hash

The proof started from a hash which is not the one agreed on (i.e. in the previous commitment)

Id : proto.alpha.tx_rollup_proof_invalid_before
Category : temporary

  { /* Proof started from an invalid hash
       The proof started from a hash which is not the one agreed on (i.e.
       in the previous commitment) */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_proof_invalid_before",
    "agreed": $Context_hash,
    "provided": $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] ... ] }

Proof produced the rejected state

The proof submitted did not refute the rejected commitment. The proof produced the same committed state

Id : proto.alpha.tx_rollup_proof_produced_rejected_state
Category : temporary

  { /* Proof produced the rejected state
       The proof submitted did not refute the rejected commitment. The
       proof produced the same committed state */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_proof_produced_rejected_state" }

It’s too early to try to remove a commitment

It's too early to try to remove the oldest final commitment

Id : proto.alpha.tx_rollup_remove_commitment_too_early
Category : temporary

  { /* It's too early to try to remove a commitment
       It's too early to try to remove the oldest final commitment */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_remove_commitment_too_early" }

The payload of the deposited ticket exceeded the size limit

The payload of the deposited ticket exceeded the size limit

Id : proto.alpha.tx_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.tx_rollup_ticket_payload_size_limit_exceeded",
    "payload_size": integer ∈ [-2^30, 2^30],
    "limit": integer ∈ [-2^30, 2^30] }

Too many commitments

Cannot create a new commitment because there are too many already

Id : proto.alpha.tx_rollup_too_many_commitments
Category : temporary

  { /* Too many commitments
       Cannot create a new commitment because there are too many already */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_too_many_commitments" }

Cannot create a new inbox because there are too many already

Cannot create a new inbox because there are too many already

Id : proto.alpha.tx_rollup_too_many_inboxes
Category : temporary

  { /* Cannot create a new inbox because there are too many already
       Cannot create a new inbox because there are too many already */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_too_many_inboxes" }

Too many l2 addresses

The number of l2 addresses has reached the integer 32 limit

Id : proto.alpha.tx_rollup_too_many_l2_addresses
Category : temporary

  { /* Too many l2 addresses
       The number of l2 addresses has reached the integer 32 limit */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_too_many_l2_addresses" }

Too many l2 tickets

The number of l2 tickets has reached the integer 32 limit

Id : proto.alpha.tx_rollup_too_many_l2_tickets
Category : temporary

  { /* Too many l2 tickets
       The number of l2 tickets has reached the integer 32 limit */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_too_many_l2_tickets" }

Cannot dispatch that many withdrawals

Cannot dispatch that many withdrawals

Id : proto.alpha.tx_rollup_too_many_withdrawals
Category : temporary

  { /* Cannot dispatch that many withdrawals
       Cannot dispatch that many withdrawals */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_too_many_withdrawals" }

Unexpected indexed ticket in deposit or transfer

Tickets in layer2-to-layer1 transfers must be referenced by value.

Id : proto.alpha.tx_rollup_unexpectedly_indexed_ticket
Category : temporary

  { /* Unexpected indexed ticket in deposit or transfer
       Tickets in layer2-to-layer1 transfers must be referenced by value. */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_unexpectedly_indexed_ticket" }

Attempted to sign a transfer with an unknown address

The address must exist in the context when signing a transfer with it.

Id : proto.alpha.tx_rollup_unknown_address
Category : temporary

  { /* Attempted to sign a transfer with an unknown address
       The address must exist in the context when signing a transfer with
       it. */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_unknown_address",
    "address": $Tx_rollup_l2_address }
  $Tx_rollup_l2_address:
    /* The hash of a BLS public key used to identify a L2 ticket holders
       (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 address index

Tried to increment the counter of an unknown address index

Id : proto.alpha.tx_rollup_unknown_address_index
Category : temporary

  { /* Unknown address index
       Tried to increment the counter of an unknown address index */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_unknown_address_index",
    "index": integer ∈ [-2^31-1, 2^31] }

Unknown metadata

A public key index was provided but the account information for this index is not present in the context.

Id : proto.alpha.tx_rollup_unknown_metadata
Category : temporary

  { /* Unknown metadata
       A public key index was provided but the account information for this
       index is not present in the context. */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_unknown_metadata",
    "idx": integer ∈ [-2^31-1, 2^31] }

Value cannot be deserialized

A value has been serialized in the Tx_rollup store, but cannot be deserialized.

Id : proto.alpha.tx_rollup_value_cannot_be_deserialized
Category : temporary

  { /* Value cannot be deserialized
       A value has been serialized in the Tx_rollup store, but cannot be
       deserialized. */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_value_cannot_be_deserialized" }

Value cannot be serialized

Tried to serialize an invalid value.

Id : proto.alpha.tx_rollup_value_cannot_be_serialized
Category : temporary

  { /* Value cannot be serialized
       Tried to serialize an invalid value. */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_value_cannot_be_serialized" }

The validation path submitted for a withdrawal is invalid

The validation path submitted for a withdrawal is not valid for the given withdrawal and message index

Id : proto.alpha.tx_rollup_withdraw_invalid_path
Category : temporary

  { /* The validation path submitted for a withdrawal is invalid
       The validation path submitted for a withdrawal is not valid for the
       given withdrawal and message index */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_withdraw_invalid_path" }

The validation path submitted for a withdrawal is invalid

The validation path submitted for a withdrawal is not valid for the given withdrawal and message index

Id : proto.alpha.tx_rollup_withdrawals_invalid_path
Category : temporary

  { /* The validation path submitted for a withdrawal is invalid
       The validation path submitted for a withdrawal is not valid for the
       given withdrawal and message index */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_withdrawals_invalid_path" }

This commitment has the wrong number of batches

This commitment has a different number of batches than its inbox

Id : proto.alpha.tx_rollup_wrong_batch_count
Category : temporary

  { /* This commitment has the wrong number of batches
       This commitment has a different number of batches than its inbox */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_wrong_batch_count",
    ... }

Wrong message path in rejection.

This rejection has sent a message and a path that does not fit the current merkle root hash in the corresponding inbox

Id : proto.alpha.tx_rollup_wrong_message_path
Category : temporary

  { /* Wrong message path in rejection.
       This rejection has sent a message and a path that does not fit the
       current merkle root hash in the corresponding inbox */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_wrong_message_path",
    "expected_merkle_root": $Inbox_list_hash }
  $Inbox_list_hash:
    /* A merkle root hash for inboxes (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 message path depth

A path submitted as argument of this operation exceeds the maximum depth that can be witnessed.

Id : proto.alpha.tx_rollup_wrong_message_path_depth
Category : temporary

  { /* Wrong message path depth
       A path submitted as argument of this operation exceeds the maximum
       depth that can be witnessed. */
    "kind": "permanent",
    "id": "proto.alpha.tx_rollup_wrong_message_path_depth",
    "target": "inbox" || "commitment",
    "provided": integer ∈ [-2^30, 2^30],
    "limit": integer ∈ [-2^30, 2^30] }

Wrong message index in rejection

The rejection references the {position}^th message of the inbox {l} which contains only {inbox_length} messages

Id : proto.alpha.tx_rollup_wrong_message_position
Category : temporary

  { /* Wrong message index in rejection
       The rejection references the {position}^th message of the inbox {l}
       which contains only {inbox_length} messages */
    "kind": "branch",
    "id": "proto.alpha.tx_rollup_wrong_message_position",
    "level": integer ∈ [-2^31-1, 2^31],
    "position": integer ∈ [-2^30, 2^30],
    "length": integer ∈ [-2^30, 2^30] }

The commitment refers to a commitment that is not in the context

The commitment refers to a commitment that is not in the context

Id : proto.alpha.tx_rollup_wrong_predecessor_hash
Category : temporary

  { /* The commitment refers to a commitment that is not in the context
       The commitment refers to a commitment that is not in the context */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_wrong_predecessor_hash",
    "provided": $Commitment_hash /* Some */ || null /* None */,
    "expected": $Commitment_hash /* Some */ || null /* None */ }
  $Commitment_hash:
    /* A commitment 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 message result hash recomputed from the rejection argument is invalid

The message result hash recomputed from the rejection argument is invalid

Id : proto.alpha.tx_rollup_wrong_rejection_hashes
Category : temporary

  { /* The message result hash recomputed from the rejection argument is
       invalid
       The message result hash recomputed from the rejection argument is
       invalid */
    "kind": "temporary",
    "id": "proto.alpha.tx_rollup_wrong_rejection_hashes",
    "provided": $Message_result_hash,
    "expected":
      $Message_result_hash
      /* hash */
      || { /* valid_path */
           "root": $Message_result_list_hash,
           "index": integer ∈ [-2^30, 2^30] } }
  $Message_result_hash:
    /* A message result hash (Base58Check-encoded) */
    $unistring
  $Message_result_list_hash:
    /* A merklised message result list 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] ... ] }

Unauthorized ballot

The delegate provided for the ballot is not in the voting listings.

Id : proto.alpha.unauthorized_ballot
Category : temporary

  { /* Unauthorized ballot
       The delegate provided for the ballot is not in the voting listings. */
    "kind": "branch",
    "id": "proto.alpha.unauthorized_ballot" }

Unauthorized proposal

The delegate provided for the proposal is not in the voting listings.

Id : proto.alpha.unauthorized_proposal
Category : temporary

  { /* Unauthorized proposal
       The delegate provided for the proposal is not in the voting
       listings. */
    "kind": "branch",
    "id": "proto.alpha.unauthorized_proposal" }

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" }

Unexpected ballot

Ballot recorded outside of a voting period.

Id : proto.alpha.unexpected_ballot
Category : temporary

  { /* Unexpected ballot
       Ballot recorded outside of a voting period. */
    "kind": "branch",
    "id": "proto.alpha.unexpected_ballot" }

Unexpected endorsement in block

Unexpected endorsement in block.

Id : proto.alpha.unexpected_endorsement_in_block
Category : temporary

  { /* Unexpected endorsement in block
       Unexpected endorsement in block. */
    "kind": "permanent",
    "id": "proto.alpha.unexpected_endorsement_in_block" }

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" }

Unexpected preendorsement in block

Unexpected preendorsement in block.

Id : proto.alpha.unexpected_preendorsement_in_block
Category : temporary

  { /* Unexpected preendorsement in block
       Unexpected preendorsement in block. */
    "kind": "permanent",
    "id": "proto.alpha.unexpected_preendorsement_in_block" }

Unexpected proposal

Proposal recorded outside of a proposal period.

Id : proto.alpha.unexpected_proposal
Category : temporary

  { /* Unexpected proposal
       Proposal recorded outside of a proposal period. */
    "kind": "branch",
    "id": "proto.alpha.unexpected_proposal" }

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. Counters of an operation must be successive.

Id : proto.alpha.validate_operation.inconsistent_counters
Category : temporary

  { /* Inconsistent counters in operation
       Inconsistent counters in operation. Counters of an operation must be
       successive. */
    "kind": "permanent",
    "id": "proto.alpha.validate_operation.inconsistent_counters" }

Inconsistent sources in operation batch

The operation batch includes operations from different sources.

Id : proto.alpha.validate_operation.inconsistent_sources
Category : temporary

  { /* Inconsistent sources in operation batch
       The operation batch includes operations from different sources. */
    "kind": "permanent",
    "id": "proto.alpha.validate_operation.inconsistent_sources" }

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: at least 1000000 gas 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: at least 1000000 gas required. */
    "kind": "permanent",
    "id": "proto.alpha.validate_operation.insufficient_gas_for_manager" }

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",
    "manager": $Signature.Public_key_hash,
    "hash": $Operation_hash }
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, or P256 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] ... ] }

Smart contract rollups are disabled

Smart contract rollups will be enabled in a future proposal.

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

  { /* Smart contract rollups are disabled
       Smart contract rollups will be enabled in a future proposal. */
    "kind": "permanent",
    "id": "proto.alpha.validate_operation.sc_rollup_disabled",
    ... }

Tx rollup is disabled

Cannot originate a tx rollup as it is disabled.

Id : proto.alpha.validate_operation.tx_rollup_is_disabled
Category : temporary

  { /* Tx rollup is disabled
       Cannot originate a tx rollup as it is disabled. */
    "kind": "permanent",
    "id": "proto.alpha.validate_operation.tx_rollup_is_disabled",
    ... }

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" }

Wrong level for consensus operation

Wrong level for consensus operation.

Id : proto.alpha.wrong_level_for_consensus_operation
Category : temporary

  { /* Wrong level for consensus operation
       Wrong level for consensus operation. */
    "kind": "permanent",
    "id": "proto.alpha.wrong_level_for_consensus_operation",
    "expected": integer ∈ [-2^31-1, 2^31],
    "provided": integer ∈ [-2^31-1, 2^31] }

Wrong payload hash for consensus operation

Wrong payload hash for consensus operation.

Id : proto.alpha.wrong_payload_hash_for_consensus_operation
Category : temporary

  { /* Wrong payload hash for consensus operation
       Wrong payload hash for consensus operation. */
    "kind": "permanent",
    "id": "proto.alpha.wrong_payload_hash_for_consensus_operation",
    "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 round for consensus operation

Wrong round for consensus operation.

Id : proto.alpha.wrong_round_for_consensus_operation
Category : temporary

  { /* Wrong round for consensus operation
       Wrong round for consensus operation. */
    "kind": "permanent",
    "id": "proto.alpha.wrong_round_for_consensus_operation",
    "expected": integer ∈ [-2^31-1, 2^31],
    "provided": integer ∈ [-2^31-1, 2^31] }

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] ... ] }

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" }

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" }

Connection refused

Connection was refused.

Id : node.p2p_pool.connection_refused
Category : permanent

  { /* Connection refused
       Connection was refused. */
    "kind": "permanent",
    "id": "node.p2p_pool.connection_refused" }

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 tezos-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 tezos-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 switch history mode

Cannot switch history mode.

Id : node_config_file.cannot_switch_history_mode
Category : permanent

  { /* Cannot switch history mode
       Cannot switch history mode. */
    "kind": "permanent",
    "id": "node_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: 5 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: 5 additional cycles will be
                  stored. */ } }
    || "full"
    || "rolling"

Cannot validate while shutting down

Cannot validate block while the node is shutting down.

Id : validator.cannot_validate_while_shutting_down
Category : temporary

  { /* Cannot validate while shutting down
       Cannot validate block while the node is shutting down. */
    "kind": "temporary",
    "id": "validator.cannot_validate_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] ... ] }
      || { /* 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 }
      || { /* Socket_path_too_long */
           "path": $unistring }
      || { /* Socket_path_wrong_permission */
           "path": $unistring }
      || { /* Cannot_run_external_validator */
           "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] ... ] }

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":
          { /* 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"?: [ string ... ] },
        "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"?: [ 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] ... ] }

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 */
      || any
      /* Redirect not supported */ }
  $unistring:
    /* Universal string representation
       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

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] ... ] }

Invalid chain store export

Error while exporting snapshot

Id : Snapshot.invalid_chain_store_export
Category : permanent

  { /* Invalid chain store export
       Error while exporting snapshot */
    "kind": "permanent",
    "id": "Snapshot.invalid_chain_store_export",
    "chain_id": $Chain_id,
    "store_dir": $unistring }
  $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] ... ] }

Wrong snapshot file

Error while opening snapshot file

Id : Snapshot.wrong_snapshot_file
Category : permanent

  { /* Wrong snapshot file
       Error while opening snapshot file */
    "kind": "permanent",
    "id": "Snapshot.wrong_snapshot_file",
    "filename": $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 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" }

Canceled

A promise was unexpectedly canceled

Id : canceled
Category : temporary

  { /* Canceled
       A promise was unexpectedly canceled */
    "kind": "temporary",
    "id": "canceled",
    ... }

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] ... ] }

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

invalid duration in -endorsement-delay

Id : client.alpha.badEndorsementDelayArg
Category : permanent

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

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

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

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

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

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] ... ] }

Non recoverable context

Cannot recover from a corrupted context.

Id : context.non_recoverable_context
Category : permanent

  { /* Non recoverable context
       Cannot recover from a corrupted context. */
    "kind": "permanent",
    "id": "context.non_recoverable_context",
    ... }

Cannot find protocol

Id : context_dump.cannot_find_protocol
Category : permanent

  { /* Cannot find protocol
        */
    "kind": "permanent",
    "id": "context_dump.cannot_find_protocol",
    ... }

Context not found

Cannot find context corresponding to hash

Id : context_dump.context_not_found
Category : permanent

  { /* Context not found
       Cannot find context corresponding to hash */
    "kind": "permanent",
    "id": "context_dump.context_not_found",
    "context_not_found": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }

Inconsistent context dump

Error while reading context dump

Id : context_dump.inconsistent_context_dump
Category : permanent

  { /* Inconsistent context dump
       Error while reading context dump */
    "kind": "permanent",
    "id": "context_dump.inconsistent_context_dump" }

Inconsistent imported block

The imported block is not the expected one.

Id : context_dump.inconsistent_imported_block
Category : permanent

  { /* Inconsistent imported block
       The imported block is not the expected one. */
    "kind": "permanent",
    "id": "context_dump.inconsistent_imported_block",
    "block_hash": $block_hash,
    "block_hash_expected": $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 snapshot data

The data provided by the snapshot is inconsistent

Id : context_dump.inconsistent_snapshot_data
Category : permanent

  { /* Inconsistent snapshot data
       The data provided by the snapshot is inconsistent */
    "kind": "permanent",
    "id": "context_dump.inconsistent_snapshot_data" }

Inconsistent snapshot file

Error while opening snapshot file

Id : context_dump.inconsistent_snapshot_file
Category : permanent

  { /* Inconsistent snapshot file
       Error while opening snapshot file */
    "kind": "permanent",
    "id": "context_dump.inconsistent_snapshot_file" }

Invalid snapshot version

The version of the snapshot to import is not valid

Id : context_dump.invalid_snapshot_version
Category : permanent

  { /* Invalid snapshot version
       The version of the snapshot to import is not valid */
    "kind": "permanent",
    "id": "context_dump.invalid_snapshot_version",
    "found": $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] ... ] }

Cannot open file for context restoring

Id : context_dump.read.cannot_open
Category : permanent

  { /* Cannot open file for context restoring
        */
    "kind": "permanent",
    "id": "context_dump.read.cannot_open",
    "context_restore_cannot_open": $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] ... ] }

Suspicious file: data after end

Id : context_dump.read.suspicious
Category : permanent

  { /* Suspicious file: data after end
        */
    "kind": "permanent",
    "id": "context_dump.read.suspicious",
    "context_restore_suspicious": integer ∈ [-2^30, 2^30] }

Failed to restore context

Internal error while restoring the context

Id : context_dump.restore_context_failure
Category : permanent

  { /* Failed to restore context
       Internal error while restoring the context */
    "kind": "permanent",
    "id": "context_dump.restore_context_failure" }

System read error

Failed to read file

Id : context_dump.system_read_error
Category : permanent

  { /* System read error
       Failed to read file */
    "kind": "permanent",
    "id": "context_dump.system_read_error",
    "system_read_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] ... ] }

Cannot open file for context dump

Id : context_dump.write.cannot_open
Category : permanent

  { /* Cannot open file for context dump
        */
    "kind": "permanent",
    "id": "context_dump.write.cannot_open",
    "context_dump_cannot_open": $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] ... ] }

Writing error

Cannot write in file for context dump

Id : context_dump.writing_error
Category : permanent

  { /* Writing error
       Cannot write in file for context dump */
    "kind": "permanent",
    "id": "context_dump.writing_error",
    "context_dump_no_space": $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 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]

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] ... ] }

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] ... ] }

Cannot start node: P2P initialization failed

Tezos node could not be started because of a network problem while initializing P2P.

Id : main.run.failed_to_init_p2p
Category : permanent

  { /* Cannot start node: P2P initialization failed
       Tezos node could not be started because of a network problem while
       initializing P2P. */
    "kind": "permanent",
    "id": "main.run.failed_to_init_p2p",
    "error": "Failed_to_init_P2P" }

Failed to open listening socket

The p2p listening socket could not be opened.

Id : p2p.welcome.failed_to_open_listening_socket
Category : permanent

  { /* Failed to open listening socket
       The p2p listening socket could not be opened. */
    "kind": "permanent",
    "id": "p2p.welcome.failed_to_open_listening_socket",
    "reason":
      { /* 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] } },
    "address": $p2p_address,
    "port": integer ∈ [0, 2^16-1] }
  $p2p_address:
    /* An address for locating peers. */
    $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] ... ] }

Read request is erroneously specified

When about to read incoming data, read parameters are erroneous

Id : p2p_io_scheduler.invalid_read_request
Category : permanent

  { /* Read request is erroneously specified
       When about to read incoming data, read parameters are erroneous */
    "kind": "permanent",
    "id": "p2p_io_scheduler.invalid_read_request",
    "expected": $unistring,
    "pos": $int64,
    "length_to_copy": $int64,
    "buflen": $int64 }
  $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] ... ] }

Endorsement branch not live

Endorsement's branch is not in the live blocks

Id : prevalidation.endorsement_branch_not_live
Category : permanent

  { /* Endorsement branch not live
       Endorsement's branch is not in the live blocks */
    "kind": "permanent",
    "id": "prevalidation.endorsement_branch_not_live" }

Cannot reconstruct

Cannot reconstruct

Id : reconstruction.cannot_failure
Category : permanent

  { /* Cannot reconstruct
       Cannot reconstruct */
    "kind": "permanent",
    "id": "reconstruction.cannot_failure",
    "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: 5 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: 5 additional cycles will be
                  stored. */ } }
    || "full"
    || "rolling"

Reconstruction failure

Error while performing storage reconstruction.

Id : reconstruction.reconstruction_failure
Category : permanent

  { /* Reconstruction failure
       Error while performing storage reconstruction. */
    "kind": "permanent",
    "id": "reconstruction.reconstruction_failure",
    "reason":
      { /* nothing_to_reconstruct */
         }
      || { /* context_hash_mismatch */
           "block_header": $block_header,
           "expected": $Context_hash,
           "got": $Context_hash }
      || $block_hash
      /* cannot_read_block_hash */
      || integer ∈ [-2^31-1, 2^31]
      /* cannot_read_block_level */ }
  $Context_hash:
    /* A hash of context (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])*$/ }
  $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] ... ] }

Unregistered protocol

No protocol was registered with the requested hash.

Id : registered_protocol.unregistered_protocol
Category : permanent

  { /* Unregistered protocol
       No protocol was registered with the requested hash. */
    "kind": "permanent",
    "id": "registered_protocol.unregistered_protocol",
    "protocol_hash": $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] ... ] }

Canceled fetch of a block_header

The fetch of a block_header has been canceled

Id : requester.block_header.fetch_canceled
Category : permanent

  { /* Canceled fetch of a block_header
       The fetch of a block_header has been canceled */
    "kind": "permanent",
    "id": "requester.block_header.fetch_canceled",
    "key": $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] ... ] }

Timed out fetch of a block_header

The fetch of a block_header has timed out

Id : requester.block_header.fetch_timeout
Category : permanent

  { /* Timed out fetch of a block_header
       The fetch of a block_header has timed out */
    "kind": "permanent",
    "id": "requester.block_header.fetch_timeout",
    "key": $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 block_header

Some block_header is missing from the requester

Id : requester.block_header.missing
Category : permanent

  { /* Missing block_header
       Some block_header is missing from the requester */
    "kind": "permanent",
    "id": "requester.block_header.missing",
    "key": $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] ... ] }

Canceled fetch of a operation

The fetch of a operation has been canceled

Id : requester.operation.fetch_canceled
Category : permanent

  { /* Canceled fetch of a operation
       The fetch of a operation has been canceled */
    "kind": "permanent",
    "id": "requester.operation.fetch_canceled",
    "key": $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] ... ] }

Timed out fetch of a operation

The fetch of a operation has timed out

Id : requester.operation.fetch_timeout
Category : permanent

  { /* Timed out fetch of a operation
       The fetch of a operation has timed out */
    "kind": "permanent",
    "id": "requester.operation.fetch_timeout",
    "key": $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] ... ] }

Missing operation

Some operation is missing from the requester

Id : requester.operation.missing
Category : permanent

  { /* Missing operation
       Some operation is missing from the requester */
    "kind": "permanent",
    "id": "requester.operation.missing",
    "key": $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] ... ] }

Canceled fetch of a operations

The fetch of a operations has been canceled

Id : requester.operations.fetch_canceled
Category : permanent

  { /* Canceled fetch of a operations
       The fetch of a operations has been canceled */
    "kind": "permanent",
    "id": "requester.operations.fetch_canceled",
    "key": { "block": $block_hash,
             "index": integer ∈ [0, 2^16-1] } }
  $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] ... ] }

Timed out fetch of a operations

The fetch of a operations has timed out

Id : requester.operations.fetch_timeout
Category : permanent

  { /* Timed out fetch of a operations
       The fetch of a operations has timed out */
    "kind": "permanent",
    "id": "requester.operations.fetch_timeout",
    "key": { "block": $block_hash,
             "index": integer ∈ [0, 2^16-1] } }
  $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 operations

Some operations is missing from the requester

Id : requester.operations.missing
Category : permanent

  { /* Missing operations
       Some operations is missing from the requester */
    "kind": "permanent",
    "id": "requester.operations.missing",
    "key": { "block": $block_hash,
             "index": integer ∈ [0, 2^16-1] } }
  $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] ... ] }

Canceled fetch of a protocol

The fetch of a protocol has been canceled

Id : requester.protocol.fetch_canceled
Category : permanent

  { /* Canceled fetch of a protocol
       The fetch of a protocol has been canceled */
    "kind": "permanent",
    "id": "requester.protocol.fetch_canceled",
    "key": $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] ... ] }

Timed out fetch of a protocol

The fetch of a protocol has timed out

Id : requester.protocol.fetch_timeout
Category : permanent

  { /* Timed out fetch of a protocol
       The fetch of a protocol has timed out */
    "kind": "permanent",
    "id": "requester.protocol.fetch_timeout",
    "key": $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

Some protocol is missing from the requester

Id : requester.protocol.missing
Category : permanent

  { /* Missing protocol
       Some protocol is missing from the requester */
    "kind": "permanent",
    "id": "requester.protocol.missing",
    "key": $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] ... ] }

Protocol import cannot decode

Failed to decode file when importing protocol

Id : snapshot.cannot_decode_protocol
Category : permanent

  { /* Protocol import cannot decode
       Failed to decode file when importing protocol */
    "kind": "permanent",
    "id": "snapshot.cannot_decode_protocol",
    "filename": $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] ... ] }

Cannot read

Cannot read some snapshot data.

Id : snapshot.cannot_read
Category : permanent

  { /* Cannot read
       Cannot read some snapshot data. */
    "kind": "permanent",
    "id": "snapshot.cannot_read",
    "kind":
      "protocol"
      | "metadata"
      | "block_data"
      | "cemented_cycle"
      | "protocol_table"
      | "context"
      | "version",
    "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 read floating stores

Unable to read floating stores.

Id : snapshot.cannot_read_floating_stores
Category : permanent

  { /* Cannot read floating stores
       Unable to read floating stores. */
    "kind": "permanent",
    "id": "snapshot.cannot_read_floating_stores",
    "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 retrieve block interval

Cannot retrieve block interval from store

Id : snapshot.cannot_retrieve_block_interval
Category : permanent

  { /* Cannot retrieve block interval
       Cannot retrieve block interval from store */
    "kind": "permanent",
    "id": "snapshot.cannot_retrieve_block_interval",
    ... }

Cannot write metadata

Cannot write metadata while exporting snapshot.

Id : snapshot.cannot_write_metadata
Category : permanent

  { /* Cannot write metadata
       Cannot write metadata while exporting snapshot. */
    "kind": "permanent",
    "id": "snapshot.cannot_write_metadata",
    "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] ... ] }

Corrupted floating store

Failed to read floating store

Id : snapshot.corrupted_floating_store
Category : permanent

  { /* Corrupted floating store
       Failed to read floating store */
    "kind": "permanent",
    "id": "snapshot.corrupted_floating_store",
    ... }

Directory already exists

The given data directory already exists.

Id : snapshot.directory_already_exists
Category : permanent

  { /* Directory already exists
       The given data directory already exists. */
    "kind": "permanent",
    "id": "snapshot.directory_already_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] ... ] }

Empty floating store

Floating store is empty.

Id : snapshot.empty_floating_store
Category : permanent

  { /* Empty floating store
       Floating store is empty. */
    "kind": "permanent",
    "id": "snapshot.empty_floating_store",
    ... }

Inconsistent context

Inconsistent context after restore.

Id : snapshot.inconsistent_context
Category : permanent

  { /* Inconsistent context
       Inconsistent context after restore. */
    "kind": "permanent",
    "id": "snapshot.inconsistent_context",
    "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] ... ] }

Inconsistent floating store

The floating block store is inconsistent.

Id : snapshot.inconsistent_floating_store
Category : permanent

  { /* Inconsistent floating store
       The floating block store is inconsistent. */
    "kind": "permanent",
    "id": "snapshot.inconsistent_floating_store",
    "target": [ $block_hash, integer ∈ [-2^31-1, 2^31] ],
    "first": [ $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] ... ] }

Invalid cemented file

Encountered an invalid cemented file while restoring the cemented store

Id : snapshot.invalid_cemented_file
Category : permanent

  { /* Invalid cemented file
       Encountered an invalid cemented file while restoring the cemented
       store */
    "kind": "permanent",
    "id": "snapshot.invalid_cemented_file",
    "file": $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 cemented file

Cannot find cemented file while restoring cemented store

Id : snapshot.missing_cemented_file
Category : permanent

  { /* Missing cemented file
       Cannot find cemented file while restoring cemented store */
    "kind": "permanent",
    "id": "snapshot.missing_cemented_file",
    "cycle": $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 target block in floating stores

Floating stores does not contain the target block.

Id : snapshot.missing_target_block
Category : permanent

  { /* Missing target block in floating stores
       Floating stores does not contain the target block. */
    "kind": "permanent",
    "id": "snapshot.missing_target_block",
    "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] ... ] }

Protocol import invalid file

Failed to import protocol as the filename is invalid

Id : snapshot.protocol_import_invalid_file
Category : permanent

  { /* Protocol import invalid file
       Failed to import protocol as the filename is invalid */
    "kind": "permanent",
    "id": "snapshot.protocol_import_invalid_file",
    "filename": $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 block validation failed

Failed to validate the target block.

Id : snapshot.target_block_validation_failed
Category : permanent

  { /* target block validation failed
       Failed to validate the target block. */
    "kind": "permanent",
    "id": "snapshot.target_block_validation_failed",
    "block": $block_hash,
    "errors": $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 create temporary export directory

Cannot create temporary directory for exporting snapshot.

Id : snapshots.cannot_create_tmp_export_directory
Category : permanent

  { /* Cannot create temporary export directory
       Cannot create temporary directory for exporting snapshot. */
    "kind": "permanent",
    "id": "snapshots.cannot_create_tmp_export_directory",
    "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] ... ] }

Incompatible snapshot export

The requested history mode for the snapshot is not compatible with the given storage.

Id : snapshots.incompatible_export
Category : permanent

  { /* Incompatible snapshot export
       The requested history mode for the snapshot is not compatible with
       the given storage. */
    "kind": "permanent",
    "id": "snapshots.incompatible_export",
    "stored": $history_mode,
    "requested": $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: 5 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: 5 additional cycles will be
                  stored. */ } }
    || "full"
    || "rolling"

Inconsistent chain import

The imported chain is inconsistent with the target data directory.

Id : snapshots.inconsistent_chain_import
Category : permanent

  { /* Inconsistent chain import
       The imported chain is inconsistent with the target data directory. */
    "kind": "permanent",
    "id": "snapshots.inconsistent_chain_import",
    "expected": $distributed_db_version.name,
    "got": $distributed_db_version.name }
  $distributed_db_version.name:
    /* A name for the distributed DB protocol */
    $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 context hash

The announced context hash doesn't match the computed hash.

Id : snapshots.inconsistent_context_hash
Category : permanent

  { /* Inconsistent context hash
       The announced context hash doesn't match the computed hash. */
    "kind": "permanent",
    "id": "snapshots.inconsistent_context_hash",
    "expected": $Context_hash,
    "got": $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] ... ] }

Inconsistent history_mode import

The imported history mode is inconsistent with the target data directory.

Id : snapshots.inconsistent_history_mode_import
Category : permanent

  { /* Inconsistent history_mode import
       The imported history mode is inconsistent with the target data
       directory. */
    "kind": "permanent",
    "id": "snapshots.inconsistent_history_mode_import",
    "requested": $history_mode,
    "stored": $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: 5 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: 5 additional cycles will be
                  stored. */ } }
    || "full"
    || "rolling"

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] ... ] }

Inconsistent protocol hash

The announced protocol hash doesn't match the computed hash.

Id : snapshots.inconsistent_protocol_hash
Category : permanent

  { /* Inconsistent protocol hash
       The announced protocol hash doesn't match the computed hash. */
    "kind": "permanent",
    "id": "snapshots.inconsistent_protocol_hash",
    "expected": $Protocol_hash,
    "got": $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 version import

The imported snapshot's version is not supported.

Id : snapshots.inconsistent_version_import
Category : permanent

  { /* Inconsistent version import
       The imported snapshot's version is not supported. */
    "kind": "permanent",
    "id": "snapshots.inconsistent_version_import",
    "expected": [ integer ∈ [-2^30, 2^30] ... ],
    "got": integer ∈ [-2^30, 2^30] }

Invalid export block

Invalid block provided for snapshot export.

Id : snapshots.invalid_export_block
Category : permanent

  { /* Invalid export block
       Invalid block provided for snapshot export. */
    "kind": "permanent",
    "id": "snapshots.invalid_export_block",
    "block"?: $block_hash,
    "reason":
      "pruned"
      | "unknown"
      | "unknown_ancestor"
      | "not_enough_pred"
      | "genesis"
      | "caboose"
      | "pruned_pred" }
  $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 export path

Invalid path to export snapshot

Id : snapshots.invalid_export_path
Category : permanent

  { /* Invalid export path
       Invalid path to export snapshot */
    "kind": "permanent",
    "id": "snapshots.invalid_export_path",
    "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] ... ] }

Snapshot file not found

The snapshot file cannot be found.

Id : snapshots.snapshot_file_not_found
Category : permanent

  { /* Snapshot file not found
       The snapshot file cannot be found. */
    "kind": "permanent",
    "id": "snapshots.snapshot_file_not_found",
    "given_snapshot_file": $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" }

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] }

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 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 */
           "block_hash": $block_hash,
           "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: 5 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: 5 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: 5 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: 5 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 allowed fork level block

Current head's last allowed fork level block (or its associated metadata) cannot be found in the store.

Id : store.missing_last_allowed_fork_level_block
Category : temporary

  { /* Missing last allowed fork level block
       Current head's last allowed fork level block (or its associated
       metadata) cannot be found in the store. */
    "kind": "temporary",
    "id": "store.missing_last_allowed_fork_level_block" }

Missing stored data

Failed to load stored data

Id : store.missing_stored_data
Category : temporary

  { /* Missing stored data
       Failed to load stored data */
    "kind": "temporary",
    "id": "store.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] ... ] }

Block not found

Block not found

Id : store.not_found
Category : permanent

  { /* Block not found
       Block not found */
    "kind": "permanent",
    "id": "store.not_found",
    "block_not_found": [ $block_hash, integer ∈ [-128, 127] ] }
  $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 }
  $unistring:
    /* Universal string representation
       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 }
  $unistring:
    /* Universal string representation
       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 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",
    ... }