{
  "kcc": 20,
  "format_version": 1,
  "byte_string_format": {
    "literal": "A hex field is a complete byte string encoded as lowercase hexadecimal.",
    "signatures": "Every sig and pubkey value is a placeholder byte pattern that corresponds to no known private key; no vector asserts the result of a signature verification."
  },
  "state_record": {
    "name": "KCC20State",
    "field_types": ["int", "byte[32]", "byte", "byte", "byte[32]", "byte[32]"],
    "dispatch_type_name": "{int,byte[32],byte,byte,byte[32],byte[32]}",
    "encoded_state_length": 112
  },
  "dispatch": [
    {
      "entrypoint": "transfer",
      "function_signature": "transfer({int,byte[32],byte,byte,byte[32],byte[32]}[],byte[])",
      "dispatch_tag_hex": "79c71c23"
    },
    {
      "entrypoint": "transfer_delegator",
      "function_signature": "transfer_delegator(byte[])",
      "dispatch_tag_hex": "fd3ef14a"
    }
  ],
  "state_encoding": {
    "state": {
      "amount": 1000,
      "owner_hex": "1111111111111111111111111111111111111111111111111111111111111111",
      "owner_scheme_hex": "01",
      "borrow_scheme_hex": "01",
      "borrow_guard_hex": "f401000000000000000000000000000000000000000000000000000000000000",
      "extension_commitment_hex": "0000000000000000000000000000000000000000000000000000000000000000"
    },
    "encoded_fields_hex": ["08e803000000000000", "201111111111111111111111111111111111111111111111111111111111111111", "0101", "0101", "20f401000000000000000000000000000000000000000000000000000000000000", "200000000000000000000000000000000000000000000000000000000000000000"],
    "encoded_hex": "08e8030000000000002011111111111111111111111111111111111111111111111111111111111111110101010120f401000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000"
  },
  "transfer_arguments": {
    "entrypoint": "transfer({int,byte[32],byte,byte,byte[32],byte[32]}[],byte[])",
    "next_states": [
      {
        "amount": 600,
        "owner_hex": "2222222222222222222222222222222222222222222222222222222222222222",
        "owner_scheme_hex": "00",
        "borrow_scheme_hex": "00",
        "borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "extension_commitment_hex": "0000000000000000000000000000000000000000000000000000000000000000"
      },
      {
        "amount": 400,
        "owner_hex": "3333333333333333333333333333333333333333333333333333333333333333",
        "owner_scheme_hex": "01",
        "borrow_scheme_hex": "01",
        "borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "extension_commitment_hex": "0000000000000000000000000000000000000000000000000000000000000000"
      }
    ],
    "grouped_field_pushes_hex": ["1058020000000000009001000000000000", "4022222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333", "020001", "020001", "4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"],
    "witness_hex": "004444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
    "witness_push_hex": "42004444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
    "dispatch_tag_push_hex": "0479c71c23"
  },
  "standard_transfer": {
    "common": {
      "leader_state": {
        "amount": 1000,
        "owner_hex": "1111111111111111111111111111111111111111111111111111111111111111",
        "owner_scheme_hex": "00",
        "borrow_scheme_hex": "00",
        "borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "extension_commitment_hex": "0000000000000000000000000000000000000000000000000000000000000000"
      },
      "delegate_amounts": [],
      "max_token_inputs": 3,
      "next_state_amounts": [600, 400],
      "next_state_owner_schemes_hex": ["00", "01"],
      "next_state_extension_commitments_hex": ["0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000"],
      "witness_hex": "004444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444"
    },
    "note": "Each case starts from common, whose successors are the next_states of transfer_arguments, and changes only the fields listed. The token inputs are the leader plus one delegate per entry of delegate_amounts. Signature checks are stipulated to succeed; signature_dependent marks cases whose outcome depends on a signature verifying.",
    "cases": [
      {
        "id": "negative-amount",
        "next_state_amounts": [-600, 1600],
        "signature_dependent": false,
        "result": "reject",
        "reason": "successor amount is negative"
      },
      {
        "id": "unsupported-owner-scheme",
        "next_state_owner_schemes_hex": ["00", "7f"],
        "signature_dependent": false,
        "result": "reject",
        "reason": "owner_scheme is not supported by the configuration"
      },
      {
        "id": "invalid-witness-path-byte",
        "witness_hex": "024444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
        "signature_dependent": false,
        "result": "reject",
        "reason": "witness path byte 0x02 is reserved"
      },
      {
        "id": "extension-commitment-not-preserved",
        "next_state_extension_commitments_hex": ["0000000000000000000000000000000000000000000000000000000000000000", "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"],
        "signature_dependent": false,
        "result": "reject",
        "reason": "successor extension_commitment differs from the inputs"
      },
      {
        "id": "amount-not-preserved",
        "next_state_amounts": [600, 500],
        "signature_dependent": false,
        "result": "reject",
        "reason": "total successor amount 1100 does not equal total input amount 1000"
      },
      {
        "id": "over-max-token-inputs",
        "delegate_amounts": [100, 100, 100],
        "next_state_amounts": [600, 700],
        "signature_dependent": false,
        "result": "reject",
        "reason": "4 token inputs exceed max_token_inputs 3"
      }
    ]
  },
  "owner_witness": [
    {
      "scheme": "p2pk-schnorr/v1",
      "owner_scheme_hex": "00",
      "witness_hex": "004444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
      "length": 66
    },
    {
      "scheme": "p2pkh-schnorr/v1",
      "owner_scheme_hex": "01",
      "witness_hex": "0022222222222222222222222222222222222222222222222222222222222222224444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
      "length": 98,
      "p2pkh_hash_hex": "7caa514a05535fd97887e483ce6f1fc36ef7026435c47521b04549d9af4837bf"
    },
    {
      "scheme": "p2pkh-ecdsa/v1",
      "owner_scheme_hex": "02",
      "witness_hex": "000255555555555555555555555555555555555555555555555555555555555555554444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
      "length": 99,
      "p2pkh_hash_hex": "ed887ad164d313eeeac970912504a81156274732ab09c0c0559ff59160abddf9"
    },
    {
      "scheme": "p2sh/v1",
      "owner_scheme_hex": "03",
      "witness_hex": "0002",
      "length": 2
    },
    {
      "scheme": "covenant-id/v1",
      "owner_scheme_hex": "04",
      "witness_hex": "00",
      "length": 1
    }
  ],
  "borrow_witness": [
    {
      "scheme": "amount-threshold/v1",
      "borrow_scheme_hex": "01",
      "witness_hex": "01",
      "length": 1
    },
    {
      "scheme": "schnorr-signature/v1",
      "borrow_scheme_hex": "02",
      "witness_hex": "014444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
      "length": 66
    },
    {
      "scheme": "hash-chain/v1",
      "borrow_scheme_hex": "03",
      "witness_hex": "01c1addceaf72a21a322c888e10e2f34445b063c3ca61fe7a1614f2d382961f0eeb3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b34444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
      "length": 130
    }
  ],
  "hash_chain": {
    "x_0_hex": "a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0",
    "links": [
      {
        "i": 1,
        "pubkey_hex": "b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1",
        "x_hex": "7c39893345dd20342a5b0b5dd3459276e4fee0cfab947e720b18be5af5500f99"
      },
      {
        "i": 2,
        "pubkey_hex": "b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2",
        "x_hex": "c1addceaf72a21a322c888e10e2f34445b063c3ca61fe7a1614f2d382961f0ee"
      },
      {
        "i": 3,
        "pubkey_hex": "b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3",
        "x_hex": "46530c9d75f7a5a1ce01b4e04cd8833f5f30c2482f99d855e3841279a8bcb8cc"
      }
    ],
    "initial_borrow_guard_hex": "46530c9d75f7a5a1ce01b4e04cd8833f5f30c2482f99d855e3841279a8bcb8cc"
  },
  "borrowed_receive": {
    "common": {
      "leader_amount": 1000,
      "owner_hex": "1111111111111111111111111111111111111111111111111111111111111111",
      "owner_scheme_hex": "01",
      "extension_commitment_hex": "0000000000000000000000000000000000000000000000000000000000000000"
    },
    "note": "The successor preserves every field not listed; successor_owner_hex, leader_kas_value_sompi and successor_kas_value_sompi override or add to it where present. Cases with negative threshold payloads apply only to contracts that permit those payloads. Signature checks are stipulated to succeed; signature_dependent marks cases whose outcome depends on a signature verifying.",
    "cases": [
      {
        "id": "threshold-exceeded",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "f401000000000000000000000000000000000000000000000000000000000000",
        "successor_amount": 1501,
        "successor_borrow_guard_hex": "f401000000000000000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "accept",
        "reason": ""
      },
      {
        "id": "threshold-equal",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "f401000000000000000000000000000000000000000000000000000000000000",
        "successor_amount": 1500,
        "successor_borrow_guard_hex": "f401000000000000000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "reject",
        "reason": "amount increase does not strictly exceed the threshold"
      },
      {
        "id": "threshold-zero",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "successor_amount": 1001,
        "successor_borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "accept",
        "reason": ""
      },
      {
        "id": "threshold-negative",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "f401000000000080000000000000000000000000000000000000000000000000",
        "successor_amount": 1001,
        "successor_borrow_guard_hex": "f401000000000080000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "accept",
        "reason": ""
      },
      {
        "id": "threshold-negative-unchanged",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "f401000000000080000000000000000000000000000000000000000000000000",
        "successor_amount": 1000,
        "successor_borrow_guard_hex": "f401000000000080000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "reject",
        "reason": "amount increase does not strictly exceed the effective threshold of zero"
      },
      {
        "id": "threshold-negative-decrease",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "f401000000000080000000000000000000000000000000000000000000000000",
        "successor_amount": 999,
        "successor_borrow_guard_hex": "f401000000000080000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "reject",
        "reason": "borrowed successor amount is smaller than the leader's amount"
      },
      {
        "id": "threshold-negative-zero",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "0000000000000080000000000000000000000000000000000000000000000000",
        "successor_amount": 1001,
        "successor_borrow_guard_hex": "0000000000000080000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "accept",
        "reason": ""
      },
      {
        "id": "threshold-negative-zero-unchanged",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "0000000000000080000000000000000000000000000000000000000000000000",
        "successor_amount": 1000,
        "successor_borrow_guard_hex": "0000000000000080000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "reject",
        "reason": "amount increase does not strictly exceed the effective threshold of zero"
      },
      {
        "id": "threshold-guard-normalized",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "f401000000000080000000000000000000000000000000000000000000000000",
        "successor_amount": 1001,
        "successor_borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "reject",
        "reason": "borrowed successor does not preserve the complete borrow_guard"
      },
      {
        "id": "disabled",
        "borrow_scheme_hex": "00",
        "leader_borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "successor_amount": 1500,
        "successor_borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "reject",
        "reason": "borrow_scheme is disabled/v1"
      },
      {
        "id": "hash-chain-valid",
        "borrow_scheme_hex": "03",
        "leader_borrow_guard_hex": "46530c9d75f7a5a1ce01b4e04cd8833f5f30c2482f99d855e3841279a8bcb8cc",
        "successor_amount": 1001,
        "successor_borrow_guard_hex": "c1addceaf72a21a322c888e10e2f34445b063c3ca61fe7a1614f2d382961f0ee",
        "witness_hex": "01c1addceaf72a21a322c888e10e2f34445b063c3ca61fe7a1614f2d382961f0eeb3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b34444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
        "signature_dependent": true,
        "result": "accept",
        "reason": ""
      },
      {
        "id": "hash-chain-guard-not-advanced",
        "borrow_scheme_hex": "03",
        "leader_borrow_guard_hex": "46530c9d75f7a5a1ce01b4e04cd8833f5f30c2482f99d855e3841279a8bcb8cc",
        "successor_amount": 1001,
        "successor_borrow_guard_hex": "46530c9d75f7a5a1ce01b4e04cd8833f5f30c2482f99d855e3841279a8bcb8cc",
        "witness_hex": "01c1addceaf72a21a322c888e10e2f34445b063c3ca61fe7a1614f2d382961f0eeb3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b34444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
        "signature_dependent": false,
        "result": "reject",
        "reason": "borrowed successor does not carry the expected next_borrow_guard"
      },
      {
        "id": "unassigned-scheme",
        "borrow_scheme_hex": "7f",
        "leader_borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "successor_amount": 1500,
        "successor_borrow_guard_hex": "0000000000000000000000000000000000000000000000000000000000000000",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "reject",
        "reason": "unassigned borrow_scheme value"
      },
      {
        "id": "successor-changes-owner",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "f401000000000000000000000000000000000000000000000000000000000000",
        "successor_amount": 1501,
        "successor_borrow_guard_hex": "f401000000000000000000000000000000000000000000000000000000000000",
        "successor_owner_hex": "2222222222222222222222222222222222222222222222222222222222222222",
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "reject",
        "reason": "borrowed successor does not preserve owner"
      },
      {
        "id": "successor-reduces-kas-value",
        "borrow_scheme_hex": "01",
        "leader_borrow_guard_hex": "f401000000000000000000000000000000000000000000000000000000000000",
        "successor_amount": 1501,
        "successor_borrow_guard_hex": "f401000000000000000000000000000000000000000000000000000000000000",
        "leader_kas_value_sompi": 100000000,
        "successor_kas_value_sompi": 99999999,
        "witness_hex": "01",
        "signature_dependent": false,
        "result": "reject",
        "reason": "borrowed successor output carries less KAS than the borrowed input"
      },
      {
        "id": "hash-chain-link-mismatch",
        "borrow_scheme_hex": "03",
        "leader_borrow_guard_hex": "46530c9d75f7a5a1ce01b4e04cd8833f5f30c2482f99d855e3841279a8bcb8cc",
        "successor_amount": 1001,
        "successor_borrow_guard_hex": "7c39893345dd20342a5b0b5dd3459276e4fee0cfab947e720b18be5af5500f99",
        "witness_hex": "017c39893345dd20342a5b0b5dd3459276e4fee0cfab947e720b18be5af5500f99b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b34444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444",
        "revealed_link_hash_hex": "54b9c2f64c32236324a93ad2d57da6c73d5ff733ef133b69e0da978f5ba00a00",
        "signature_dependent": false,
        "result": "reject",
        "reason": "revealed link does not hash to the leader's borrow_guard"
      }
    ]
  }
}
