[
  {
    "id": "missing-utxo",
    "title": "Missing previous output",
    "description": "The PSBT omits its previous output. Input amount and fee are unknown; adding the witness UTXO repairs the metadata, not the missing signature.",
    "text": "cHNidP8BAFICAAAAARERERERERERERERERERERERERERERERERERERERERERAAAAAAD9////ARwlAAAAAAAAFgAUKioqKioqKioqKioqKioqKioqKiqQ0AMAAAAA",
    "correctedId": "corrected-utxo",
    "kind": "doctor",
    "synthetic": true,
    "offline": true
  },
  {
    "id": "corrected-utxo",
    "title": "Previous output supplied",
    "description": "Adding the synthetic 10,000-sat witness UTXO reveals a 500-sat fee. The PSBT still has no signature.",
    "text": "cHNidP8BAFICAAAAARERERERERERERERERERERERERERERERERERERERERERAAAAAAD9////ARwlAAAAAAAAFgAUKioqKioqKioqKioqKioqKioqKiqQ0AMAAAEBHxAnAAAAAAAAFgAUdR526BmRltRUlBxF0bOjI/FDO9YAAA==",
    "correctedId": "signed-psbt",
    "kind": "doctor",
    "synthetic": true,
    "offline": true
  },
  {
    "id": "missing-signatures",
    "title": "Unsigned PSBT",
    "description": "Complete synthetic P2WPKH UTXO metadata is present, but the required signature is absent.",
    "text": "cHNidP8BAFICAAAAARERERERERERERERERERERERERERERERERERERERERERAAAAAAD9////ARwlAAAAAAAAFgAUKioqKioqKioqKioqKioqKioqKiqQ0AMAAAEBHxAnAAAAAAAAFgAUdR526BmRltRUlBxF0bOjI/FDO9YAAA==",
    "correctedId": "signed-psbt",
    "kind": "doctor",
    "synthetic": true,
    "offline": true
  },
  {
    "id": "signed-psbt",
    "title": "Signature present",
    "description": "The build script signed this synthetic P2WPKH fixture and verified its ECDSA signature. The Doctor reports presence only and does not repeat cryptographic verification.",
    "text": "cHNidP8BAFICAAAAARERERERERERERERERERERERERERERERERERERERERERAAAAAAD9////ARwlAAAAAAAAFgAUKioqKioqKioqKioqKioqKioqKiqQ0AMAAAEBHxAnAAAAAAAAFgAUdR526BmRltRUlBxF0bOjI/FDO9YiAgJ5vmZ++dy7rFWgYpXOhwsHApv82y3OKNlZ8oFbFvgXmEcwRAIgWgoQooVlxsEwpdeOkM33XUzcrJAwz84VTHal3ctqJmoCIClesGMaLLd2MzZTGjBIaS7VecDYirr7xhRysyffWhTPAQAA",
    "correctedId": "finalized-psbt",
    "kind": "doctor",
    "synthetic": true,
    "offline": true
  },
  {
    "id": "finalized-psbt",
    "title": "Final witness fields",
    "description": "bitcoinjs-lib finalized the verified synthetic signature and extracted a transaction. Final field presence is not a Doctor claim of script validity or network acceptance.",
    "text": "cHNidP8BAFICAAAAARERERERERERERERERERERERERERERERERERERERERERAAAAAAD9////ARwlAAAAAAAAFgAUKioqKioqKioqKioqKioqKioqKiqQ0AMAAAEBHxAnAAAAAAAAFgAUdR526BmRltRUlBxF0bOjI/FDO9YBCGsCRzBEAiBaChCihWXGwTCl146QzfddTNyskDDPzhVMdqXdy2omagIgKV6wYxost3YzNlMaMEhpLtV5wNiKuvvGFHKzJ99aFM8BIQJ5vmZ++dy7rFWgYpXOhwsHApv82y3OKNlZ8oFbFvgXmAAA",
    "kind": "doctor",
    "synthetic": true,
    "offline": true
  },
  {
    "id": "raw-finalized",
    "title": "Extracted raw transaction",
    "description": "The same synthetic final witness serialized as raw hex. Raw transaction bytes omit the input amount, so the Doctor correctly cannot calculate its fee.",
    "text": "0200000000010111111111111111111111111111111111111111111111111111111111111111110000000000fdffffff011c250000000000001600142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0247304402205a0a10a28565c6c130a5d78e90cdf75d4cdcac9030cfce154c76a5ddcb6a266a0220295eb0631a2cb7763336531a3048692ed579c0d88abafbc61472b327df5a14cf01210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179890d00300",
    "kind": "doctor",
    "synthetic": true,
    "offline": true
  },
  {
    "id": "overspend",
    "title": "Outputs exceed supplied inputs",
    "description": "Deliberately incorrect UTXO metadata sets the input to 9,000 sats against 9,500 sats of outputs. The reported negative fee is an error, not a valid transaction fee.",
    "text": "cHNidP8BAFICAAAAARERERERERERERERERERERERERERERERERERERERERERAAAAAAD9////ARwlAAAAAAAAFgAUKioqKioqKioqKioqKioqKioqKiqQ0AMAAAEBHygjAAAAAAAAFgAUdR526BmRltRUlBxF0bOjI/FDO9YAAA==",
    "correctedId": "corrected-utxo",
    "kind": "doctor",
    "synthetic": true,
    "offline": true
  },
  {
    "id": "taproot-metadata",
    "title": "Taproot metadata and relative lock",
    "description": "A synthetic P2TR script and internal-key field are present, with a 1,024-second relative-lock signal. The key commitment, signatures, and age constraints were not validated.",
    "text": "cHNidP8BAFICAAAAASIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAQAAAAACAEAAASgjAAAAAAAAFgAUKioqKioqKioqKioqKioqKioqKioAAAAAAAEBKxAnAAAAAAAAIlEgeb5mfvncu6xVoGKVzocLBwKb/NstzijZWfKBWxb4F5gBFyB5vmZ++dy7rFWgYpXOhwsHApv82y3OKNlZ8oFbFvgXmAAA",
    "kind": "doctor",
    "synthetic": true,
    "offline": true
  },
  {
    "id": "taproot-assets-anchor",
    "kind": "doctor",
    "title": "Taproot Assets: anchor versus asset proof",
    "description": "An authentic Lightning Labs regtest genesis-proof vector. Inspect the Bitcoin anchor separately from its companion asset record and proof; none of the asset state or ownership is validated here.",
    "text": "020000000001010599d595bb64f60b7ad5f4f4a597a4b1f030d67a6dc3bd3fc8ddd165357381c100000000000000000002e80300000000000022512061765e684a645f8c7eb9ea4b4ba0f081362ea6087d8c3688a367bf99b9a3f09abbd4f505000000002251207fad9065b76db29237dc7ca6381b330cbb49f2938115bb5851523fb1699ab4660247304402207bcd442a997ed8602b77bad73fd19057b18860b3f25cf5f166b15c2249b5fb36022066dfbe37a9fc84a033760abdeef9d65a9d15bb0b04bff87da12d78d569d23baa012102a6e52ad8d7e001421707ae7c5f3e06b39cb15a9783c3d5d13b9c4bddd12d390500000000",
    "synthetic": true,
    "offline": true,
    "onChain": false,
    "provenance": "Copied from Lightning Labs' official regtest proof test vector, not created or mined by BitcoinSignetFaucet.com. Synthetic regtest assets; no public Signet or mainnet confirmation is claimed.",
    "assetContext": {
      "fixtureId": "taproot-assets-anchor",
      "association": "exact-serialized-transaction-and-pinned-companion-vector",
      "sourceNetwork": "regtest",
      "sourceBlockHeight": 440,
      "chainVerified": false,
      "source": {
        "repository": "https://github.com/lightninglabs/taproot-assets",
        "commit": "789960c8f882cc0d18495ac9423a1a46b0d75b93",
        "file": "proof/testdata/proof_tlv_encoding_regtest.json",
        "url": "https://github.com/lightninglabs/taproot-assets/blob/789960c8f882cc0d18495ac9423a1a46b0d75b93/proof/testdata/proof_tlv_encoding_regtest.json",
        "rawUrl": "https://raw.githubusercontent.com/lightninglabs/taproot-assets/789960c8f882cc0d18495ac9423a1a46b0d75b93/proof/testdata/proof_tlv_encoding_regtest.json",
        "localPath": "/static/lab/taproot-assets/proof_tlv_encoding_regtest.json",
        "sha256": "5bbc3bfe6066b0ab1f7ee74ca216f0e9cb17f26203e4f37636a1a3e85bb8369a",
        "caseIndex": 0,
        "caseComment": "valid regtest genesis proof with meta reveal",
        "upstreamTestUrl": "https://github.com/lightninglabs/taproot-assets/blob/789960c8f882cc0d18495ac9423a1a46b0d75b93/proof/proof_test.go#L1165-L1198",
        "license": {
          "id": "MIT",
          "attribution": "Copyright (c) 2022 Lightning Labs",
          "url": "https://github.com/lightninglabs/taproot-assets/blob/789960c8f882cc0d18495ac9423a1a46b0d75b93/LICENSE",
          "localPath": "/static/lab/taproot-assets/LICENSE",
          "sha256": "35e99c5d6ca195e0244c56a8f089dbae10664dc6cfc9cec5d41a518c2b3fdd82"
        }
      },
      "anchor": {
        "txid": "de526301dfa146c4b7161deaaec3d1a023f2fa15326ccee49a87af0e2ed30019",
        "outputIndex": 0,
        "valueSats": 1000
      },
      "asset": {
        "name": "first-itestbuxx",
        "amount": "1500",
        "unit": "asset base units",
        "type": "normal",
        "assetId": null,
        "scriptKey": "0204fdfc9254bd2948b4300eb6c4b204a9de8e4dd8ac361a01d72e0b894494c529",
        "source": "Companion proof vector; not inferred from Bitcoin transaction bytes."
      },
      "proof": {
        "path": "/static/lab/taproot-assets/genesis-proof.hex.txt",
        "format": "hex-encoded Taproot Assets single proof (TAPP)",
        "bytes": 1039,
        "sha256": "d7e5f7891ec6b7ef394c6c44cf1aec7709ee751e4a064ed7fd0b02ec4a878cec",
        "hashAppliesTo": "decoded proof bytes",
        "decoded": false,
        "validated": false,
        "validationSupported": false
      },
      "validation": {
        "bitcoinSignaturesVerified": false,
        "assetProofVerified": false,
        "assetCommitmentVerified": false,
        "assetHistoryVerified": false,
        "ownershipVerified": false
      },
      "limitations": [
        "The P2TR script alone does not identify Taproot Assets. Context appears only for this exact published fixture.",
        "Bitcoin amounts are satoshis. The companion asset amount is a separate quantity in asset units.",
        "The encoded proof is provided as a reference artifact. Doctor does not decode or verify Taproot Assets proofs, commitments, issuance history, or ownership.",
        "The source describes a regtest block; no node was queried or run here. Testnet-format address display does not establish Signet membership.",
        "Raw Bitcoin transaction bytes omit input amounts, so this anchor's Bitcoin fee remains unknown."
      ],
      "documentation": [
        "https://docs.lightning.engineering/lightning-network-tools/taproot-assets",
        "https://lightning.engineering/api-docs/api/taproot-assets/taproot-assets/decode-proof/",
        "https://lightning.engineering/api-docs/api/taproot-assets/taproot-assets/verify-proof/"
      ]
    }
  }
]
