{
  "kind": "viral-sync-devnet-causal-commerce",
  "cluster": "devnet",
  "proofStatus": "verified",
  "proofStatusNote": "Counter-attested devnet proof generated with terminal, visitor, claim-pass, settlement, nullifier, and fraud-gauntlet evidence.",
  "generatedAt": "2026-05-09T11:51:29.981Z",
  "effectCheckedAt": "2026-05-09T11:51:29.980Z",
  "rpcUrl": "https://api.devnet.solana.com",
  "programId": "AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46",
  "wallet": "EETUeH3fzpCAEDiGpvWWXa9zZQXadmuX79FzNsGdsCJ9",
  "initialBalanceSol": 9.93397164,
  "inputs": {
    "orgId": "outcome-settlement-devnet-20260509115050",
    "campaignId": "verified-outcome-thamel-brew-20260509115050",
    "receiptId": "receipt-counter-attested-outcome-20260509115050",
    "rewardPerVisit": "1000",
    "maxRedemptions": 10,
    "maxDepth": 2,
    "campaignDurationSeconds": 2592000,
    "fundAmount": "10000",
    "amountToFund": "10000",
    "alreadyFunded": "0",
    "remainingCapacity": "10000",
    "maxCapacity": "10000",
    "replayCheck": true,
    "attackCheck": true,
    "closeCheck": false
  },
  "hashes": {
    "orgIdHash": "717129f6a394f8ba36b1561cfbd08dbb2254668ceff8a2760635028d063d28e8",
    "campaignIdHash": "0964d4a533cb708a94497a0a3d1ba72a0b92056d32369a2b06f8083a793bb40b",
    "receiptIdHash": "d4be9384a4458d778195ccbff75d597b8dc7ad360a10f79ca8e89e662eed5a5f",
    "claimerNullifierHash": "db032e85591605473e2dfe6bce22d1b935b4e1adfe9a0b4f70ef4dc61ee20ec0",
    "inviteHash": "1091c8967cf360e1fce19efc55dfb7000bad5a45c1035da2d66e55d5a05fd235",
    "visitAttestationHash": "22bb3dc3118d92d3293d16bdaabd0758b4216961c912b67bd95ebc3750e3bf5c",
    "intentManifestHash": "2f3c2b6f98cf59ddcc603ac52c75f0c81059ef7ad333bba76877caacfa1d7c60",
    "splitRulesHash": "7bcdc895c71eb8ac1ec80673bfb44d3ab709035f93796b96f8726f913f0b378b",
    "fraudPolicyHash": "e0f186c998db67ba33dc41d3bb2eb7eed3428f15979c2b27b4baceca71339a8a"
  },
  "intentManifest": {
    "version": "viral-sync-intent-v1",
    "action": "record_causal_receipt_and_settle_reward",
    "chain": "devnet",
    "programId": "AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46",
    "orgIdHash": "717129f6a394f8ba36b1561cfbd08dbb2254668ceff8a2760635028d063d28e8",
    "campaignIdHash": "0964d4a533cb708a94497a0a3d1ba72a0b92056d32369a2b06f8083a793bb40b",
    "receiptIdHash": "d4be9384a4458d778195ccbff75d597b8dc7ad360a10f79ca8e89e662eed5a5f",
    "claimerNullifierHash": "db032e85591605473e2dfe6bce22d1b935b4e1adfe9a0b4f70ef4dc61ee20ec0",
    "inviteHash": "1091c8967cf360e1fce19efc55dfb7000bad5a45c1035da2d66e55d5a05fd235",
    "visitAttestationHash": "22bb3dc3118d92d3293d16bdaabd0758b4216961c912b67bd95ebc3750e3bf5c",
    "rewardPerVisit": "1000",
    "rewardAmount": 1000,
    "maxRedemptions": 10,
    "referrerSplitBps": 8000,
    "referrerBeneficiary": "56ME6CFQ9S3S6Na7A4qoPMmXtmogCfojbK3veLXQDHU8",
    "visitorBeneficiary": "DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj",
    "attestationModel": "merchant_terminal_visitor_signed",
    "proofLevel": "counter_attested",
    "terminalAuthority": "8fPxj9YJZQrWnK9jRbR4wUPnrMj5a8Zi3h8doLwCXbei",
    "visitorAuthority": "DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj",
    "claimHash": "9e690f5adf1df41161515dd3abe77850b99a9649b2b042c0980d808791bd14e3",
    "lineageProofHash": "35154b12529d218f9ba987e08a7e1c563bd05c567a9c4e825c8ab2283917df16",
    "lineageGeneration": 1,
    "allowedInstructions": [
      "record_causal_receipt",
      "settle_receipt_reward"
    ],
    "allowedPrograms": [
      "AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46",
      "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
      "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
      "11111111111111111111111111111111"
    ],
    "forbiddenEffects": [
      "set_authority",
      "assign_account_owner",
      "unknown_token_transfer",
      "close_user_token_account",
      "delegate_token_account",
      "unknown_writable_account",
      "extra_sol_transfer",
      "wrong_beneficiary",
      "wrong_reward_amount",
      "duplicate_nullifier"
    ],
    "issuedAt": "2026-05-09T11:50:54.119Z",
    "expiresAt": "2026-05-10T11:50:54.119Z",
    "expirySemantics": "Intent expiry is evaluated at receipt creation/effect-check time, not at judge review time.",
    "nonce": "6acae0a7-2afe-4e72-9d4e-e47780ead61e"
  },
  "intentManifestHash": "2f3c2b6f98cf59ddcc603ac52c75f0c81059ef7ad333bba76877caacfa1d7c60",
  "pdas": {
    "merchantConfig": "CHhM3BTLb8ruSSdNkUgL4f5966LLFU2qejPPRBKX9btj",
    "merchantConfigBump": 254,
    "growthCampaign": "c7WBeYQTf6TXPWvEQoKiWp59vKFupASBkRHun1JAPmw",
    "growthCampaignBump": 255,
    "terminalDevice": "235EFGtD27SJeuXb2b456jZvrAQn5zH6Ga8pgVnkCwcq",
    "terminalDeviceBump": 251,
    "terminalAuthority": "8fPxj9YJZQrWnK9jRbR4wUPnrMj5a8Zi3h8doLwCXbei",
    "claimPass": "JASwxNhdib19wFiQxSAMbDmvPWovcpeEKRpkNdCPcFUv",
    "claimPassBump": 255,
    "claimHash": "9e690f5adf1df41161515dd3abe77850b99a9649b2b042c0980d808791bd14e3",
    "lineageProofHash": "35154b12529d218f9ba987e08a7e1c563bd05c567a9c4e825c8ab2283917df16",
    "lineageGeneration": 1,
    "rewardMint": "QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6",
    "merchantRewardAccount": "2JHD3aeJcLB5cxM3fPUcPeuyFrQFksRxgGvJhRAdJBHm",
    "rewardEscrow": "2D9yt6aFE1C2zCgtw1xnSsWi11e3F5Zz5wsFjwUS9QGU",
    "rewardEscrowBump": 254,
    "rewardVault": "FSS5zwGWmH8DQRfBwhkuRUkfCmMBb8n96qgM8WNEvfKw",
    "causalReceipt": "6i9UeRN1s9tA3qxZ3PQvCseoVFAWNGia6NsLieorJRxK",
    "causalReceiptBump": 255,
    "nullifierRecord": "E3kT3UT9XEKhxLY8p22YLFtiQ3aZJ1USRJPFt8WU5eEB",
    "nullifierRecordBump": 253,
    "settlementRecord": "5FUTwyEP1UanmtxJNECfEiieczAKEahH4Tb81JPvyVpy",
    "settlementRecordBump": 255,
    "referrerAuthority": "56ME6CFQ9S3S6Na7A4qoPMmXtmogCfojbK3veLXQDHU8",
    "referrerRewardAccount": "BHSoAr6QxG3yK37jBya7iihvkBCgZEPGGSrfGPQPEuEa",
    "visitorAuthority": "DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj",
    "visitorRewardAccount": "AqvY1PcsqF9Eq3Ve2175mJTDuW8XSxNHkTxiERBFVmvZ",
    "protocolTreasury": "6Th2egk7ASNNsySSiqwm7FFxbxpULffULkzzKjsr1AUH",
    "treasuryRewardAccount": "4CrRTsQBy78Z3NwS1p4UqvAv968z98FyBwV1jHxHeYLJ",
    "attackerAuthority": "3aFeFmwnQhEsoSBnCUeXdM9aJBumbG2kFmsZ1PUaDzep",
    "attackerRewardAccount": "9w7BWn3tcDZArFANJ8tvqVNS8924Mbr7NB1yQGcMz846"
  },
  "signatures": {
    "createRewardMint": "2jEtWR4Fa14gzArUoYXQ1boj8w3fTSnhAJm88iJNEt1aASsfNgC7MJwk2HFGBc5g3G1DVvWxGg1TpA6iMjBUgKgW",
    "createMerchantRewardAccount": "r61FD5jpFUcQWWkU8FATjjE6ibqasuWaE3ChQhUk18d18v5qTjoiqyT8bNhuaU2wZbfEdqu2DPBmowDdP2q9jSG",
    "createRewardVault": "4ETkTg8h4hDWui95AMjguQLA7H8wWXbt1vwG76LLv5nNsrDynxz8JCtoZLB9NprQpRkYi1vgXHuMw2Eftz9wtZBo",
    "createReferrerRewardAccount": "4FEAwfK5gtyYFsKmAgrgph6j3bQQJJ2WJCsZUXPnh8JGvujGJZ8jpB7nmG7qTijMog6GD6wijvh2kR6ssUP81Vd1",
    "createVisitorRewardAccount": "3MPE9uGPfGKvLsPb5ADtpPm4iQBnvjbwkkbWCz3nytAGtmUnXKzX4UzX56QxJdB3ffs13HybxrPxUD6bPCRRAuqi",
    "createTreasuryRewardAccount": "hJg7D1zFeZHdphNP81W5LUwkpJEUYDDY95P2SPPs1YrB4e4yWTVMa9AYpZPQt8kQttB5uesQgGKjzY4TnzRx7nD",
    "fundAttackerAuthority": "31E4i4RWyiWi6LagiXhcvHo6ASZgRiPt9ybiUnw8GrhD4FzUbcK3aBdEKqDK1T1BwEgYLzCDBBLEGjBK3J7wTkt5",
    "mintRewardTokens": "3TTruYdBnbpWqHFhyB5LskJrfRHPHDfAyCBkjb4u7evNbZZUtDMYr2M7qFvu4x87GNA34GEZBrG7QNfkcT5fMnpC",
    "registerMerchant": {
      "signature": "aG86YZonaHyJswCNXY368Cgo3Ee5Z744jdJWdwB9svLz7iv6CVXz3ok7y5nna5nEzEHDPaHWRgupYYPpT2BVuzk",
      "reused": false
    },
    "enrollTerminalDevice": "dtQBbi2bCg6UTYnYwiEkbdjPLS55B2RTm1MuY9eMCVDuZu5y3j4pZM3CNxrVPh3ZEKgHv7ZmhfjArBg4Mpkxdya",
    "createGrowthCampaign": {
      "signature": "4q7gqetWvTPnbfErGKuErikbzWAPBkjiyCgKjPcDSLeywmbRCeKARQGBLq6CoJKZ1Ar1iP71RK7qQQqqD5vV6ss2",
      "reused": false
    },
    "issueClaimPass": "q4A4w1YBZXGMcFbi8an5MKUj3nwqvVBf6QTSScK3BatRpYgazGjtpXSxkNfDwycg8FCvsnt8FhAbUaWNQG96tNz",
    "issueChildClaimPass": "251B1NgMJ41nmWbhr9BhMCcMoK6wknyyxDmUA2BwwstpxPeRqGiL3LXPqdXCPrETdKDPptC3jt9V5aEZDCmhS2dF",
    "issueReplayClaimPass": "3Ek3wu6gGu8N9K87cwBk9HLCCPyfygQMWJKeorGKRNnWWoaNo6G3Btqcn6qR95ub2vh5GGqc83c33FuSsts3pf6R",
    "fundGrowthBounty": "4UWkfcC5YQTWagoYmxWp8fXmHNt15NFuqtmomUibEjCfndsFr34efsKAUWLRZadFB74zbc9pnpjb33hGF8aZykNW",
    "recordCausalReceipt": "2TeXV39HGnU3Go2z1uXyQefCmE28hhKKsXFoVSmxF1JygaPbw92f7bNkKD8Desg9b4hnBLvDacAxggeQWGkkC64U",
    "recordChildCausalReceipt": "2eQBAAiwMyd8aBWTYVuaNjM3kta95sdD3TfYptjP2NGx4VqcdzdG98K2FJssbuVQfmzTt4AVKH8p4rxb4bysCMQd",
    "settleReceiptReward": "byiQwdijWYUuwj3SD7qEMx1R4ADFfHTCdrm9ZfmRr2fX5u9ihDj4nhzPy6t9vXrLfiHfqEqCKHdyp4VXbeH83Xx",
    "closeGrowthBounty": null
  },
  "transactions": {
    "recordCausalReceipt": "2TeXV39HGnU3Go2z1uXyQefCmE28hhKKsXFoVSmxF1JygaPbw92f7bNkKD8Desg9b4hnBLvDacAxggeQWGkkC64U",
    "settleReceiptReward": "byiQwdijWYUuwj3SD7qEMx1R4ADFfHTCdrm9ZfmRr2fX5u9ihDj4nhzPy6t9vXrLfiHfqEqCKHdyp4VXbeH83Xx"
  },
  "explorerLinks": {
    "transactions": {
      "createRewardMint": "https://explorer.solana.com/tx/2jEtWR4Fa14gzArUoYXQ1boj8w3fTSnhAJm88iJNEt1aASsfNgC7MJwk2HFGBc5g3G1DVvWxGg1TpA6iMjBUgKgW?cluster=devnet",
      "createMerchantRewardAccount": "https://explorer.solana.com/tx/r61FD5jpFUcQWWkU8FATjjE6ibqasuWaE3ChQhUk18d18v5qTjoiqyT8bNhuaU2wZbfEdqu2DPBmowDdP2q9jSG?cluster=devnet",
      "createRewardVault": "https://explorer.solana.com/tx/4ETkTg8h4hDWui95AMjguQLA7H8wWXbt1vwG76LLv5nNsrDynxz8JCtoZLB9NprQpRkYi1vgXHuMw2Eftz9wtZBo?cluster=devnet",
      "createReferrerRewardAccount": "https://explorer.solana.com/tx/4FEAwfK5gtyYFsKmAgrgph6j3bQQJJ2WJCsZUXPnh8JGvujGJZ8jpB7nmG7qTijMog6GD6wijvh2kR6ssUP81Vd1?cluster=devnet",
      "createVisitorRewardAccount": "https://explorer.solana.com/tx/3MPE9uGPfGKvLsPb5ADtpPm4iQBnvjbwkkbWCz3nytAGtmUnXKzX4UzX56QxJdB3ffs13HybxrPxUD6bPCRRAuqi?cluster=devnet",
      "createTreasuryRewardAccount": "https://explorer.solana.com/tx/hJg7D1zFeZHdphNP81W5LUwkpJEUYDDY95P2SPPs1YrB4e4yWTVMa9AYpZPQt8kQttB5uesQgGKjzY4TnzRx7nD?cluster=devnet",
      "mintRewardTokens": "https://explorer.solana.com/tx/3TTruYdBnbpWqHFhyB5LskJrfRHPHDfAyCBkjb4u7evNbZZUtDMYr2M7qFvu4x87GNA34GEZBrG7QNfkcT5fMnpC?cluster=devnet",
      "registerMerchant": "https://explorer.solana.com/tx/aG86YZonaHyJswCNXY368Cgo3Ee5Z744jdJWdwB9svLz7iv6CVXz3ok7y5nna5nEzEHDPaHWRgupYYPpT2BVuzk?cluster=devnet",
      "enrollTerminalDevice": "https://explorer.solana.com/tx/dtQBbi2bCg6UTYnYwiEkbdjPLS55B2RTm1MuY9eMCVDuZu5y3j4pZM3CNxrVPh3ZEKgHv7ZmhfjArBg4Mpkxdya?cluster=devnet",
      "createGrowthCampaign": "https://explorer.solana.com/tx/4q7gqetWvTPnbfErGKuErikbzWAPBkjiyCgKjPcDSLeywmbRCeKARQGBLq6CoJKZ1Ar1iP71RK7qQQqqD5vV6ss2?cluster=devnet",
      "issueClaimPass": "https://explorer.solana.com/tx/q4A4w1YBZXGMcFbi8an5MKUj3nwqvVBf6QTSScK3BatRpYgazGjtpXSxkNfDwycg8FCvsnt8FhAbUaWNQG96tNz?cluster=devnet",
      "fundGrowthBounty": "https://explorer.solana.com/tx/4UWkfcC5YQTWagoYmxWp8fXmHNt15NFuqtmomUibEjCfndsFr34efsKAUWLRZadFB74zbc9pnpjb33hGF8aZykNW?cluster=devnet",
      "recordCausalReceipt": "https://explorer.solana.com/tx/2TeXV39HGnU3Go2z1uXyQefCmE28hhKKsXFoVSmxF1JygaPbw92f7bNkKD8Desg9b4hnBLvDacAxggeQWGkkC64U?cluster=devnet",
      "settleReceiptReward": "https://explorer.solana.com/tx/byiQwdijWYUuwj3SD7qEMx1R4ADFfHTCdrm9ZfmRr2fX5u9ihDj4nhzPy6t9vXrLfiHfqEqCKHdyp4VXbeH83Xx?cluster=devnet",
      "closeGrowthBounty": null
    },
    "accounts": {
      "merchantConfig": "https://explorer.solana.com/address/CHhM3BTLb8ruSSdNkUgL4f5966LLFU2qejPPRBKX9btj?cluster=devnet",
      "growthCampaign": "https://explorer.solana.com/address/c7WBeYQTf6TXPWvEQoKiWp59vKFupASBkRHun1JAPmw?cluster=devnet",
      "rewardMint": "https://explorer.solana.com/address/QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6?cluster=devnet",
      "terminalDevice": "https://explorer.solana.com/address/235EFGtD27SJeuXb2b456jZvrAQn5zH6Ga8pgVnkCwcq?cluster=devnet",
      "claimPass": "https://explorer.solana.com/address/JASwxNhdib19wFiQxSAMbDmvPWovcpeEKRpkNdCPcFUv?cluster=devnet",
      "rewardEscrow": "https://explorer.solana.com/address/2D9yt6aFE1C2zCgtw1xnSsWi11e3F5Zz5wsFjwUS9QGU?cluster=devnet",
      "rewardVault": "https://explorer.solana.com/address/FSS5zwGWmH8DQRfBwhkuRUkfCmMBb8n96qgM8WNEvfKw?cluster=devnet",
      "protocolTreasury": "https://explorer.solana.com/address/6Th2egk7ASNNsySSiqwm7FFxbxpULffULkzzKjsr1AUH?cluster=devnet",
      "treasuryRewardAccount": "https://explorer.solana.com/address/4CrRTsQBy78Z3NwS1p4UqvAv968z98FyBwV1jHxHeYLJ?cluster=devnet",
      "causalReceipt": "https://explorer.solana.com/address/6i9UeRN1s9tA3qxZ3PQvCseoVFAWNGia6NsLieorJRxK?cluster=devnet",
      "nullifierRecord": "https://explorer.solana.com/address/E3kT3UT9XEKhxLY8p22YLFtiQ3aZJ1USRJPFt8WU5eEB?cluster=devnet",
      "settlementRecord": "https://explorer.solana.com/address/5FUTwyEP1UanmtxJNECfEiieczAKEahH4Tb81JPvyVpy?cluster=devnet"
    }
  },
  "attestationModel": "merchant_terminal_visitor_signed",
  "proofLevel": "counter_attested",
  "terminalVerified": true,
  "visitorVerified": true,
  "lineageVerified": true,
  "childLineageProof": {
    "depth": 2,
    "parentReceipt": "6i9UeRN1s9tA3qxZ3PQvCseoVFAWNGia6NsLieorJRxK",
    "childReceipt": "GFZzy8XPcJhXjX5nHw7BzhYjMYA5YxvBuomqDwdTmA8Z",
    "childClaimPass": "CkeXjbqzrY1YyhcgMEjN31p1VHhsa29tGgpcJwbWvAGE",
    "parentReceiptIdHash": "d4be9384a4458d778195ccbff75d597b8dc7ad360a10f79ca8e89e662eed5a5f",
    "childReceiptIdHash": "53231aac34f434545251e1086be9cc1b4930d1f4f408bdb8920905aa7ca404fe",
    "childNullifierHash": "370966e73758a6d6e82551b71b47cb93bb2f38830424941f92eebed4eaa705f4",
    "childLineageProofHash": "940defe6c49fcf5ee7ddede5734418fa575c8eba7e0ca0d7818afe212afe686f",
    "issueChildClaimPass": "251B1NgMJ41nmWbhr9BhMCcMoK6wknyyxDmUA2BwwstpxPeRqGiL3LXPqdXCPrETdKDPptC3jt9V5aEZDCmhS2dF",
    "recordChildCausalReceipt": "2eQBAAiwMyd8aBWTYVuaNjM3kta95sdD3TfYptjP2NGx4VqcdzdG98K2FJssbuVQfmzTt4AVKH8p4rxb4bysCMQd",
    "onChainParentReceiptVerified": true
  },
  "settlementVerified": true,
  "nullifierVerified": true,
  "programSourceHash": "d32e45cff047e254ef928e1978eed5b85b46f4b37ab47fe9b1c4a774fe1d72fe",
  "idlHash": "cbb74d824ce63e9cc5aacd63e5f3d1407ddd011417cd9cbb4f33f76b86e3a6af",
  "proofGeneratorHash": "e69ef8930b15bad61d4dc1ed7b26845912c025cffabbfde2107eea88740a0443",
  "verifierHash": "66a6f12a5d1b98886862580608a131ab2fb32b5a6484b2aa8e0b4962503fe31c",
  "rawVerifierHash": "556d7dc43cf17e0c7d77c00574d0b9b063627ad49e17ed772456a5cf97c5d0e0",
  "publishedVerifierHash": "556d7dc43cf17e0c7d77c00574d0b9b063627ad49e17ed772456a5cf97c5d0e0",
  "attackEvidence": [
    {
      "id": "merchant-only-receipt",
      "title": "Merchant tries to fake receipt alone",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "MissingRequiredSignature",
      "expectedErrorCode": "MissingRequiredSignature",
      "expectedErrorPatterns": [
        "MissingRequiredSignature",
        "MissingRequiredSignature",
        "Missing Required Signature",
        "error code: MissingRequiredSignature",
        "error number: MissingRequiredSignature",
        "missing required signature",
        "signature verification failed"
      ],
      "actualError": "Signature verification failed.\nMissing signature for public key(s) [`8fPxj9YJZQrWnK9jRbR4wUPnrMj5a8Zi3h8doLwCXbei`, `DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj`].",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "da9b031b45ebe5d0283e6c2d8a449fd3e7589f7c9acd3aee3276d36d5c35d8a6",
      "accountSnapshotHashAfter": "da9b031b45ebe5d0283e6c2d8a449fd3e7589f7c9acd3aee3276d36d5c35d8a6",
      "proofSource": "devnet_transaction_execution",
      "reason": "Signature verification failed."
    },
    {
      "id": "wrong-terminal-signer",
      "title": "Wrong terminal signer",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "AccountNotInitialized",
      "expectedErrorCode": "AccountNotInitialized",
      "expectedErrorPatterns": [
        "AccountNotInitialized",
        "AccountNotInitialized",
        "Account Not Initialized",
        "error code: AccountNotInitialized",
        "error number: AccountNotInitialized",
        "account not initialized",
        "not initialized"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0xbc4. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program log: AnchorError caused by account: terminal_device. Error Code: AccountNotInitialized. Error Number: 3012. Error Message: The program expected this account to be already initialized.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 6929 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0xbc4\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "2a7f22056a54b94c6be1f682d8238a976384b6085ed6a9ec2a290ef4af15e228",
      "accountSnapshotHashAfter": "2a7f22056a54b94c6be1f682d8238a976384b6085ed6a9ec2a290ef4af15e228",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "different-merchant-terminal",
      "title": "Enrolled terminal from different merchant",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "ConstraintSeeds",
      "expectedErrorCode": "ConstraintSeeds",
      "expectedErrorPatterns": [
        "ConstraintSeeds",
        "ConstraintSeeds",
        "Constraint Seeds",
        "error code: ConstraintSeeds",
        "error number: ConstraintSeeds",
        "constraintseeds",
        "seeds constraint",
        "a seeds constraint was violated"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x7d6. \nLogs: \n[\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: terminal_device. Error Code: ConstraintSeeds. Error Number: 2006. Error Message: A seeds constraint was violated.\",\n  \"Program log: Left:\",\n  \"Program log: 47eDtHwQ9QGF1SUWKRTUPygDCmwdeCAj5v7j7MidqQYM\",\n  \"Program log: Right:\",\n  \"Program log: H2gUsF2Bf29j2PUGBEp3jCK5QwAJUtMpen3pk29nzJoy\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 26849 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x7d6\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "ddd564120f8768cf5469fb431685449cf437c9febfdda916084ac66d3bd04993",
      "accountSnapshotHashAfter": "ddd564120f8768cf5469fb431685449cf437c9febfdda916084ac66d3bd04993",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "terminal-account-signer-mismatch",
      "title": "Correct terminal account with wrong signer",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "ConstraintSeeds",
      "expectedErrorCode": "ConstraintSeeds",
      "expectedErrorPatterns": [
        "ConstraintSeeds",
        "ConstraintSeeds",
        "Constraint Seeds",
        "error code: ConstraintSeeds",
        "error number: ConstraintSeeds",
        "constraintseeds",
        "seeds constraint",
        "a seeds constraint was violated"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x7d6. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: terminal_device. Error Code: ConstraintSeeds. Error Number: 2006. Error Message: A seeds constraint was violated.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 23324 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x7d6\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "1a3549c2c5d515fd152439f86f67ae308411f85e06d9ec8a937e4b22d9b5d046",
      "accountSnapshotHashAfter": "1a3549c2c5d515fd152439f86f67ae308411f85e06d9ec8a937e4b22d9b5d046",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "visitor-signer-mismatch",
      "title": "Visitor signer mismatch",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "InvalidClaimPass",
      "expectedErrorCode": "InvalidClaimPass",
      "expectedErrorPatterns": [
        "InvalidClaimPass",
        "InvalidClaimPass",
        "Invalid Claim Pass",
        "error code: InvalidClaimPass",
        "error number: InvalidClaimPass",
        "invalid claim pass"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178f. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: claim_pass. Error Code: InvalidClaimPass. Error Number: 6031. Error Message: Claim pass is not active or does not match this receipt path..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 21790 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178f\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "a8456fbf1fe6d4975359d50424cbf17a9212b9c301498cd1202994c504ea1bfa",
      "accountSnapshotHashAfter": "a8456fbf1fe6d4975359d50424cbf17a9212b9c301498cd1202994c504ea1bfa",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "visitor-beneficiary-mismatch",
      "title": "Visitor beneficiary mismatch",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "InvalidVisitorAuthority",
      "expectedErrorCode": "InvalidVisitorAuthority",
      "expectedErrorPatterns": [
        "InvalidVisitorAuthority",
        "InvalidVisitorAuthority",
        "Invalid Visitor Authority",
        "error code: InvalidVisitorAuthority",
        "error number: InvalidVisitorAuthority",
        "invalid visitor authority"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178e. \nLogs: \n[\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:571. Error Code: InvalidVisitorAuthority. Error Number: 6030. Error Message: Visitor authority must match visitor beneficiary..\",\n  \"Program log: Left:\",\n  \"Program log: DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj\",\n  \"Program log: Right:\",\n  \"Program log: 3aFeFmwnQhEsoSBnCUeXdM9aJBumbG2kFmsZ1PUaDzep\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 22585 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178e\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "ce1533af05ce4d7ec50cda7f2d55801b15b49cea31dada9e11567f5716f7e764",
      "accountSnapshotHashAfter": "ce1533af05ce4d7ec50cda7f2d55801b15b49cea31dada9e11567f5716f7e764",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "claim-pass-reused",
      "title": "Claim pass already recorded",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "InvalidClaimPass",
      "expectedErrorCode": "InvalidClaimPass",
      "expectedErrorPatterns": [
        "InvalidClaimPass",
        "InvalidClaimPass",
        "Invalid Claim Pass",
        "error code: InvalidClaimPass",
        "error number: InvalidClaimPass",
        "invalid claim pass"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178f. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: claim_pass. Error Code: InvalidClaimPass. Error Number: 6031. Error Message: Claim pass is not active or does not match this receipt path..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 26305 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178f\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "c9a656442f0374b1a3dc45dfdc2e97762e3ef304b392010b06722549c6d85bcd",
      "accountSnapshotHashAfter": "c9a656442f0374b1a3dc45dfdc2e97762e3ef304b392010b06722549c6d85bcd",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "claim-pass-campaign-mismatch",
      "title": "Claim pass campaign mismatch",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "InvalidClaimPass",
      "expectedErrorCode": "InvalidClaimPass",
      "expectedErrorPatterns": [
        "InvalidClaimPass",
        "InvalidClaimPass",
        "Invalid Claim Pass",
        "error code: InvalidClaimPass",
        "error number: InvalidClaimPass",
        "invalid claim pass"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178f. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: claim_pass. Error Code: InvalidClaimPass. Error Number: 6031. Error Message: Claim pass is not active or does not match this receipt path..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 23272 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178f\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "8839531af2da1f60c2facd89c3f7408135b77d186d0522475feaed5ca6411ec6",
      "accountSnapshotHashAfter": "8839531af2da1f60c2facd89c3f7408135b77d186d0522475feaed5ca6411ec6",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "claim-pass-depth-exceeds-max-depth",
      "title": "Claim pass depth exceeds campaign max depth",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "MaxDepthExceeded",
      "expectedErrorCode": "MaxDepthExceeded",
      "expectedErrorPatterns": [
        "MaxDepthExceeded",
        "MaxDepthExceeded",
        "Max Depth Exceeded",
        "error code: MaxDepthExceeded",
        "error number: MaxDepthExceeded",
        "max depth exceeded",
        "depth exceeds"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1790. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: IssueClaimPass\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:199. Error Code: MaxDepthExceeded. Error Number: 6032. Error Message: Claim pass depth exceeds campaign max depth..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 15512 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x1790\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "issue_claim_pass",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "86eac90978d5003ff298fcdd4d1b3db1e2ad6a881e139057bfea316c10603555",
      "accountSnapshotHashAfter": "86eac90978d5003ff298fcdd4d1b3db1e2ad6a881e139057bfea316c10603555",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "root-parent-lineage-mismatch",
      "title": "Root claim pass supplies parent receipt hash",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "InvalidLineageProof",
      "expectedErrorCode": "InvalidLineageProof",
      "expectedErrorPatterns": [
        "InvalidLineageProof",
        "InvalidLineageProof",
        "Invalid Lineage Proof",
        "error code: InvalidLineageProof",
        "error number: InvalidLineageProof"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1792. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:599. Error Code: InvalidLineageProof. Error Number: 6034. Error Message: Claim-pass lineage proof does not match receipt parent data.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 25424 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x1792\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "b4e9c4c15d79599f4f25c320cdbd61e4a5ab1ab9aee5c53973c9e172b4628743",
      "accountSnapshotHashAfter": "b4e9c4c15d79599f4f25c320cdbd61e4a5ab1ab9aee5c53973c9e172b4628743",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "child-parent-receipt-hash-mismatch",
      "title": "Child claim pass supplies forged parent receipt hash",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "InvalidLineageProof",
      "expectedErrorCode": "InvalidLineageProof",
      "expectedErrorPatterns": [
        "InvalidLineageProof",
        "InvalidLineageProof",
        "Invalid Lineage Proof",
        "error code: InvalidLineageProof",
        "error number: InvalidLineageProof"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1792. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:613. Error Code: InvalidLineageProof. Error Number: 6034. Error Message: Claim-pass lineage proof does not match receipt parent data.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 30072 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x1792\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "e4ce3115fcedbd05090a63575d56c2fb704dcd2f66c649f0d557664c82988e17",
      "accountSnapshotHashAfter": "e4ce3115fcedbd05090a63575d56c2fb704dcd2f66c649f0d557664c82988e17",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "paused-terminal-device",
      "title": "Paused terminal device cannot record receipt",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "TerminalDeviceInactive",
      "expectedErrorCode": "TerminalDeviceInactive",
      "expectedErrorPatterns": [
        "TerminalDeviceInactive",
        "TerminalDeviceInactive",
        "Terminal Device Inactive",
        "error code: TerminalDeviceInactive",
        "error number: TerminalDeviceInactive"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178b. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:572. Error Code: TerminalDeviceInactive. Error Number: 6027. Error Message: Terminal device is not active..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 23628 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178b\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "efe41bb2578da795216ad929427a4a7d614aea63d020565cfd263877a2e262fd",
      "accountSnapshotHashAfter": "efe41bb2578da795216ad929427a4a7d614aea63d020565cfd263877a2e262fd",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "duplicate-nullifier",
      "title": "Duplicate receipt nullifier",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "AccountAlreadyInitialized",
      "expectedErrorCode": "AccountAlreadyInitialized",
      "expectedErrorPatterns": [
        "AccountAlreadyInitialized",
        "AccountAlreadyInitialized",
        "Account Already Initialized",
        "error code: AccountAlreadyInitialized",
        "error number: AccountAlreadyInitialized",
        "account already initialized",
        "already initialized",
        "already in use"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x0. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Allocate: account Address { address: E3kT3UT9XEKhxLY8p22YLFtiQ3aZJ1USRJPFt8WU5eEB, base: None } already in use\",\n  \"Program 11111111111111111111111111111111 failed: custom program error: 0x0\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 18568 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x0\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "21ee40657e530ce7cca4d100cd651c5aff591de2bc47991bd08096179325e787",
      "accountSnapshotHashAfter": "21ee40657e530ce7cca4d100cd651c5aff591de2bc47991bd08096179325e787",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "inflated-reward-amount",
      "title": "Inflated reward amount",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "RewardAmountExceedsManifest",
      "expectedErrorCode": "RewardAmountExceedsManifest",
      "expectedErrorPatterns": [
        "RewardAmountExceedsManifest",
        "RewardAmountExceedsManifest",
        "Reward Amount Exceeds Manifest",
        "error code: RewardAmountExceedsManifest",
        "error number: RewardAmountExceedsManifest",
        "reward amount exceeds manifest",
        "exceeds manifest"
      ],
      "actualError": "Reward amount exceeds manifest maximum.",
      "expectedErrorMatched": true,
      "failureKind": "intent_validator_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "proofSource": "intent_validator_check",
      "reason": "Reward amount exceeds manifest maximum."
    },
    {
      "id": "inflated-split-bps",
      "title": "Inflated referrer split bps",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "IntentMismatch",
      "expectedErrorCode": "IntentMismatch",
      "expectedErrorPatterns": [
        "IntentMismatch",
        "IntentMismatch",
        "Intent Mismatch",
        "error code: IntentMismatch",
        "error number: IntentMismatch"
      ],
      "actualError": "IntentMismatch: referrer split does not match manifest.",
      "expectedErrorMatched": true,
      "failureKind": "intent_validator_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "proofSource": "intent_validator_check",
      "reason": "IntentMismatch: referrer split does not match manifest."
    },
    {
      "id": "wrong-reward-mint",
      "title": "Wrong reward mint",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "0x7de",
      "expectedErrorCode": "0x7de",
      "expectedErrorPatterns": [
        "0x7de",
        "0x7de",
        "0x7de",
        "error code: 0x7de",
        "error number: 0x7de"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x7de. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: FundGrowthBounty\",\n  \"Program log: AnchorError caused by account: reward_vault. Error Code: ConstraintTokenMint. Error Number: 2014. Error Message: A token mint constraint was violated.\",\n  \"Program log: Left:\",\n  \"Program log: QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6\",\n  \"Program log: Right:\",\n  \"Program log: 3uKMctkN5CMr6daTcTpNsJ2uki7DMoYSd3sKQyz6dYZV\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 10286 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x7de\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "fund_growth_bounty",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "0bb2df3dfc457febf407d9ae3ac294652835c95c33fdec1680acfceafe51125b",
      "accountSnapshotHashAfter": "0bb2df3dfc457febf407d9ae3ac294652835c95c33fdec1680acfceafe51125b",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "wrong-reward-vault",
      "title": "Wrong reward vault",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "InvalidState",
      "expectedErrorCode": "InvalidState",
      "expectedErrorPatterns": [
        "InvalidState",
        "InvalidState",
        "Invalid State",
        "error code: InvalidState",
        "error number: InvalidState",
        "invalidstate",
        "invalid state"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177e. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: SettleReceiptReward\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: reward_vault. Error Code: InvalidState. Error Number: 6014. Error Message: Invalid account state.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 15852 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x177e\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "settle_receipt_reward",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "4705e7f58fb2e76850d08eecdbea2c6d2c56f3a8bd53d5a0e2d60bc34b90ae2c",
      "accountSnapshotHashAfter": "4705e7f58fb2e76850d08eecdbea2c6d2c56f3a8bd53d5a0e2d60bc34b90ae2c",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "settlement-replay",
      "title": "Settlement replay",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "AccountAlreadyInitialized",
      "expectedErrorCode": "AccountAlreadyInitialized",
      "expectedErrorPatterns": [
        "AccountAlreadyInitialized",
        "AccountAlreadyInitialized",
        "Account Already Initialized",
        "error code: AccountAlreadyInitialized",
        "error number: AccountAlreadyInitialized",
        "account already initialized",
        "already initialized",
        "already in use"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x0. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: SettleReceiptReward\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Allocate: account Address { address: 5FUTwyEP1UanmtxJNECfEiieczAKEahH4Tb81JPvyVpy, base: None } already in use\",\n  \"Program 11111111111111111111111111111111 failed: custom program error: 0x0\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 11291 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x0\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "settle_receipt_reward",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "73d17b7c223f2180ea4f61cffcdfc385d32505a9a7912ad2e10540c0cc9b19d7",
      "accountSnapshotHashAfter": "73d17b7c223f2180ea4f61cffcdfc385d32505a9a7912ad2e10540c0cc9b19d7",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    },
    {
      "id": "paused-or-expired-campaign",
      "title": "Paused or expired campaign receipt attempt",
      "attempted": true,
      "expected": "rejected",
      "observed": "rejected",
      "errorCode": "InvalidState",
      "expectedErrorCode": "InvalidState",
      "expectedErrorPatterns": [
        "InvalidState",
        "InvalidState",
        "Invalid State",
        "error code: InvalidState",
        "error number: InvalidState",
        "invalidstate",
        "invalid state"
      ],
      "actualError": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177e. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: growth_campaign. Error Code: InvalidState. Error Number: 6014. Error Message: Invalid account state.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 18446 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x177e\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "expectedErrorMatched": true,
      "failureKind": "program_rejection",
      "instruction": "record_causal_receipt",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "d52b744b688b84c308fea3ffe7767be8abda2e101ee748d92d3856c28781151f",
      "accountSnapshotHashAfter": "d52b744b688b84c308fea3ffe7767be8abda2e101ee748d92d3856c28781151f",
      "proofSource": "devnet_transaction_execution",
      "reason": "Simulation failed. "
    }
  ],
  "replayChecks": [
    {
      "label": "merchant-only receipt rejected",
      "rejected": true,
      "message": "Signature verification failed.\nMissing signature for public key(s) [`8fPxj9YJZQrWnK9jRbR4wUPnrMj5a8Zi3h8doLwCXbei`, `DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj`].",
      "shortMessage": "Signature verification failed.",
      "logs": [],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "da9b031b45ebe5d0283e6c2d8a449fd3e7589f7c9acd3aee3276d36d5c35d8a6",
      "accountSnapshotHashAfter": "da9b031b45ebe5d0283e6c2d8a449fd3e7589f7c9acd3aee3276d36d5c35d8a6"
    },
    {
      "label": "wrong terminal signer rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0xbc4. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program log: AnchorError caused by account: terminal_device. Error Code: AccountNotInitialized. Error Number: 3012. Error Message: The program expected this account to be already initialized.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 6929 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0xbc4\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program log: AnchorError caused by account: terminal_device. Error Code: AccountNotInitialized. Error Number: 3012. Error Message: The program expected this account to be already initialized.",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 6929 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0xbc4"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "2a7f22056a54b94c6be1f682d8238a976384b6085ed6a9ec2a290ef4af15e228",
      "accountSnapshotHashAfter": "2a7f22056a54b94c6be1f682d8238a976384b6085ed6a9ec2a290ef4af15e228"
    },
    {
      "label": "enrolled terminal account with wrong terminal signer rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x7d6. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: terminal_device. Error Code: ConstraintSeeds. Error Number: 2006. Error Message: A seeds constraint was violated.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 23324 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x7d6\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError caused by account: terminal_device. Error Code: ConstraintSeeds. Error Number: 2006. Error Message: A seeds constraint was violated.",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 23324 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x7d6"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "1a3549c2c5d515fd152439f86f67ae308411f85e06d9ec8a937e4b22d9b5d046",
      "accountSnapshotHashAfter": "1a3549c2c5d515fd152439f86f67ae308411f85e06d9ec8a937e4b22d9b5d046"
    },
    {
      "label": "visitor signer does not match claim pass visitor rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178f. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: claim_pass. Error Code: InvalidClaimPass. Error Number: 6031. Error Message: Claim pass is not active or does not match this receipt path..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 21790 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178f\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError caused by account: claim_pass. Error Code: InvalidClaimPass. Error Number: 6031. Error Message: Claim pass is not active or does not match this receipt path..",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 21790 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178f"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "a8456fbf1fe6d4975359d50424cbf17a9212b9c301498cd1202994c504ea1bfa",
      "accountSnapshotHashAfter": "a8456fbf1fe6d4975359d50424cbf17a9212b9c301498cd1202994c504ea1bfa"
    },
    {
      "label": "receipt visitor beneficiary must match visitor signer rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178e. \nLogs: \n[\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:571. Error Code: InvalidVisitorAuthority. Error Number: 6030. Error Message: Visitor authority must match visitor beneficiary..\",\n  \"Program log: Left:\",\n  \"Program log: DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj\",\n  \"Program log: Right:\",\n  \"Program log: 3aFeFmwnQhEsoSBnCUeXdM9aJBumbG2kFmsZ1PUaDzep\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 22585 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178e\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError thrown in programs\\viral_sync\\src\\instructions\\causal_commerce.rs:571. Error Code: InvalidVisitorAuthority. Error Number: 6030. Error Message: Visitor authority must match visitor beneficiary..",
        "Program log: Left:",
        "Program log: DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj",
        "Program log: Right:",
        "Program log: 3aFeFmwnQhEsoSBnCUeXdM9aJBumbG2kFmsZ1PUaDzep",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 22585 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178e"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "ce1533af05ce4d7ec50cda7f2d55801b15b49cea31dada9e11567f5716f7e764",
      "accountSnapshotHashAfter": "ce1533af05ce4d7ec50cda7f2d55801b15b49cea31dada9e11567f5716f7e764"
    },
    {
      "label": "claim pass depth exceeds maxDepth rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1790. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: IssueClaimPass\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:199. Error Code: MaxDepthExceeded. Error Number: 6032. Error Message: Claim pass depth exceeds campaign max depth..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 15512 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x1790\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: IssueClaimPass",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError thrown in programs\\viral_sync\\src\\instructions\\causal_commerce.rs:199. Error Code: MaxDepthExceeded. Error Number: 6032. Error Message: Claim pass depth exceeds campaign max depth..",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 15512 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x1790"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "86eac90978d5003ff298fcdd4d1b3db1e2ad6a881e139057bfea316c10603555",
      "accountSnapshotHashAfter": "86eac90978d5003ff298fcdd4d1b3db1e2ad6a881e139057bfea316c10603555"
    },
    {
      "label": "different merchant terminal rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x7d6. \nLogs: \n[\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: terminal_device. Error Code: ConstraintSeeds. Error Number: 2006. Error Message: A seeds constraint was violated.\",\n  \"Program log: Left:\",\n  \"Program log: 47eDtHwQ9QGF1SUWKRTUPygDCmwdeCAj5v7j7MidqQYM\",\n  \"Program log: Right:\",\n  \"Program log: H2gUsF2Bf29j2PUGBEp3jCK5QwAJUtMpen3pk29nzJoy\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 26849 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x7d6\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError caused by account: terminal_device. Error Code: ConstraintSeeds. Error Number: 2006. Error Message: A seeds constraint was violated.",
        "Program log: Left:",
        "Program log: 47eDtHwQ9QGF1SUWKRTUPygDCmwdeCAj5v7j7MidqQYM",
        "Program log: Right:",
        "Program log: H2gUsF2Bf29j2PUGBEp3jCK5QwAJUtMpen3pk29nzJoy",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 26849 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x7d6"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "ddd564120f8768cf5469fb431685449cf437c9febfdda916084ac66d3bd04993",
      "accountSnapshotHashAfter": "ddd564120f8768cf5469fb431685449cf437c9febfdda916084ac66d3bd04993"
    },
    {
      "label": "claim pass campaign mismatch rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178f. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: claim_pass. Error Code: InvalidClaimPass. Error Number: 6031. Error Message: Claim pass is not active or does not match this receipt path..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 23272 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178f\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError caused by account: claim_pass. Error Code: InvalidClaimPass. Error Number: 6031. Error Message: Claim pass is not active or does not match this receipt path..",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 23272 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178f"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "8839531af2da1f60c2facd89c3f7408135b77d186d0522475feaed5ca6411ec6",
      "accountSnapshotHashAfter": "8839531af2da1f60c2facd89c3f7408135b77d186d0522475feaed5ca6411ec6"
    },
    {
      "label": "wrong reward mint rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x7de. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: FundGrowthBounty\",\n  \"Program log: AnchorError caused by account: reward_vault. Error Code: ConstraintTokenMint. Error Number: 2014. Error Message: A token mint constraint was violated.\",\n  \"Program log: Left:\",\n  \"Program log: QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6\",\n  \"Program log: Right:\",\n  \"Program log: 3uKMctkN5CMr6daTcTpNsJ2uki7DMoYSd3sKQyz6dYZV\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 10286 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x7de\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: FundGrowthBounty",
        "Program log: AnchorError caused by account: reward_vault. Error Code: ConstraintTokenMint. Error Number: 2014. Error Message: A token mint constraint was violated.",
        "Program log: Left:",
        "Program log: QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6",
        "Program log: Right:",
        "Program log: 3uKMctkN5CMr6daTcTpNsJ2uki7DMoYSd3sKQyz6dYZV",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 10286 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x7de"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "0bb2df3dfc457febf407d9ae3ac294652835c95c33fdec1680acfceafe51125b",
      "accountSnapshotHashAfter": "0bb2df3dfc457febf407d9ae3ac294652835c95c33fdec1680acfceafe51125b"
    },
    {
      "label": "paused or expired campaign receipt attempt rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177e. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: growth_campaign. Error Code: InvalidState. Error Number: 6014. Error Message: Invalid account state.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 18446 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x177e\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError caused by account: growth_campaign. Error Code: InvalidState. Error Number: 6014. Error Message: Invalid account state.",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 18446 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x177e"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "d52b744b688b84c308fea3ffe7767be8abda2e101ee748d92d3856c28781151f",
      "accountSnapshotHashAfter": "d52b744b688b84c308fea3ffe7767be8abda2e101ee748d92d3856c28781151f"
    },
    {
      "label": "root claim pass with parent receipt hash rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1792. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:599. Error Code: InvalidLineageProof. Error Number: 6034. Error Message: Claim-pass lineage proof does not match receipt parent data.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 25424 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x1792\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError thrown in programs\\viral_sync\\src\\instructions\\causal_commerce.rs:599. Error Code: InvalidLineageProof. Error Number: 6034. Error Message: Claim-pass lineage proof does not match receipt parent data.",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 25424 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x1792"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "b4e9c4c15d79599f4f25c320cdbd61e4a5ab1ab9aee5c53973c9e172b4628743",
      "accountSnapshotHashAfter": "b4e9c4c15d79599f4f25c320cdbd61e4a5ab1ab9aee5c53973c9e172b4628743"
    },
    {
      "label": "paused terminal device rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178b. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:572. Error Code: TerminalDeviceInactive. Error Number: 6027. Error Message: Terminal device is not active..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 23628 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178b\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError thrown in programs\\viral_sync\\src\\instructions\\causal_commerce.rs:572. Error Code: TerminalDeviceInactive. Error Number: 6027. Error Message: Terminal device is not active..",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 23628 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178b"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "efe41bb2578da795216ad929427a4a7d614aea63d020565cfd263877a2e262fd",
      "accountSnapshotHashAfter": "efe41bb2578da795216ad929427a4a7d614aea63d020565cfd263877a2e262fd"
    },
    {
      "label": "claim pass already recorded rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178f. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: claim_pass. Error Code: InvalidClaimPass. Error Number: 6031. Error Message: Claim pass is not active or does not match this receipt path..\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 26305 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178f\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError caused by account: claim_pass. Error Code: InvalidClaimPass. Error Number: 6031. Error Message: Claim pass is not active or does not match this receipt path..",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 26305 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178f"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "c9a656442f0374b1a3dc45dfdc2e97762e3ef304b392010b06722549c6d85bcd",
      "accountSnapshotHashAfter": "c9a656442f0374b1a3dc45dfdc2e97762e3ef304b392010b06722549c6d85bcd"
    },
    {
      "label": "duplicate campaign nullifier",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x0. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Allocate: account Address { address: E3kT3UT9XEKhxLY8p22YLFtiQ3aZJ1USRJPFt8WU5eEB, base: None } already in use\",\n  \"Program 11111111111111111111111111111111 failed: custom program error: 0x0\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 18568 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x0\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Allocate: account Address { address: E3kT3UT9XEKhxLY8p22YLFtiQ3aZJ1USRJPFt8WU5eEB, base: None } already in use",
        "Program 11111111111111111111111111111111 failed: custom program error: 0x0",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 18568 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x0"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "21ee40657e530ce7cca4d100cd651c5aff591de2bc47991bd08096179325e787",
      "accountSnapshotHashAfter": "21ee40657e530ce7cca4d100cd651c5aff591de2bc47991bd08096179325e787"
    },
    {
      "label": "wrong merchant authority cannot settle receipt",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178a. \nLogs: \n[\n  \"Program log: Instruction: SettleReceiptReward\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: growth_campaign. Error Code: AccessDenied. Error Number: 6026. Error Message: Access Denied or Invalid Authority.\",\n  \"Program log: Left:\",\n  \"Program log: EETUeH3fzpCAEDiGpvWWXa9zZQXadmuX79FzNsGdsCJ9\",\n  \"Program log: Right:\",\n  \"Program log: 3aFeFmwnQhEsoSBnCUeXdM9aJBumbG2kFmsZ1PUaDzep\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 14711 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178a\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: SettleReceiptReward",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError caused by account: growth_campaign. Error Code: AccessDenied. Error Number: 6026. Error Message: Access Denied or Invalid Authority.",
        "Program log: Left:",
        "Program log: EETUeH3fzpCAEDiGpvWWXa9zZQXadmuX79FzNsGdsCJ9",
        "Program log: Right:",
        "Program log: 3aFeFmwnQhEsoSBnCUeXdM9aJBumbG2kFmsZ1PUaDzep",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 14711 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178a"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "7382315d71696039ef02a427a9bd60bdd34c57431b37deb4519c7cdfb8bcf26e",
      "accountSnapshotHashAfter": "7382315d71696039ef02a427a9bd60bdd34c57431b37deb4519c7cdfb8bcf26e"
    },
    {
      "label": "wrong beneficiary token account cannot receive settlement",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x178a. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: SettleReceiptReward\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: referrer_reward_account. Error Code: AccessDenied. Error Number: 6026. Error Message: Access Denied or Invalid Authority.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 15976 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178a\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: SettleReceiptReward",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError caused by account: referrer_reward_account. Error Code: AccessDenied. Error Number: 6026. Error Message: Access Denied or Invalid Authority.",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 15976 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x178a"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "4705e7f58fb2e76850d08eecdbea2c6d2c56f3a8bd53d5a0e2d60bc34b90ae2c",
      "accountSnapshotHashAfter": "4705e7f58fb2e76850d08eecdbea2c6d2c56f3a8bd53d5a0e2d60bc34b90ae2c"
    },
    {
      "label": "wrong reward vault rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177e. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: SettleReceiptReward\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError caused by account: reward_vault. Error Code: InvalidState. Error Number: 6014. Error Message: Invalid account state.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 15852 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x177e\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: SettleReceiptReward",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError caused by account: reward_vault. Error Code: InvalidState. Error Number: 6014. Error Message: Invalid account state.",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 15852 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x177e"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "4705e7f58fb2e76850d08eecdbea2c6d2c56f3a8bd53d5a0e2d60bc34b90ae2c",
      "accountSnapshotHashAfter": "4705e7f58fb2e76850d08eecdbea2c6d2c56f3a8bd53d5a0e2d60bc34b90ae2c"
    },
    {
      "label": "child claim pass with forged parent receipt hash rejected",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1792. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: RecordCausalReceipt\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Program 11111111111111111111111111111111 success\",\n  \"Program log: AnchorError thrown in programs\\\\viral_sync\\\\src\\\\instructions\\\\causal_commerce.rs:613. Error Code: InvalidLineageProof. Error Number: 6034. Error Message: Claim-pass lineage proof does not match receipt parent data.\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 30072 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x1792\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: RecordCausalReceipt",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: AnchorError thrown in programs\\viral_sync\\src\\instructions\\causal_commerce.rs:613. Error Code: InvalidLineageProof. Error Number: 6034. Error Message: Claim-pass lineage proof does not match receipt parent data.",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 30072 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x1792"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "e4ce3115fcedbd05090a63575d56c2fb704dcd2f66c649f0d557664c82988e17",
      "accountSnapshotHashAfter": "e4ce3115fcedbd05090a63575d56c2fb704dcd2f66c649f0d557664c82988e17"
    },
    {
      "label": "duplicate receipt settlement",
      "rejected": true,
      "message": "Simulation failed. \nMessage: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x0. \nLogs: \n[\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]\",\n  \"Program log: Instruction: SettleReceiptReward\",\n  \"Program 11111111111111111111111111111111 invoke [2]\",\n  \"Allocate: account Address { address: 5FUTwyEP1UanmtxJNECfEiieczAKEahH4Tb81JPvyVpy, base: None } already in use\",\n  \"Program 11111111111111111111111111111111 failed: custom program error: 0x0\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 11291 of 200000 compute units\",\n  \"Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x0\"\n]. \nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",
      "shortMessage": "Simulation failed. ",
      "logs": [
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 invoke [1]",
        "Program log: Instruction: SettleReceiptReward",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Allocate: account Address { address: 5FUTwyEP1UanmtxJNECfEiieczAKEahH4Tb81JPvyVpy, base: None } already in use",
        "Program 11111111111111111111111111111111 failed: custom program error: 0x0",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 consumed 11291 of 200000 compute units",
        "Program AeKT1B58Qi9rBtrtnMe11o4eXbVwHweKxGFNS5X3Vv46 failed: custom program error: 0x0"
      ],
      "source": "devnet_transaction_execution",
      "failureKind": "program_rejection",
      "accountsMutated": false,
      "accountsMutationVerified": true,
      "accountSnapshotHashBefore": "73d17b7c223f2180ea4f61cffcdfc385d32505a9a7912ad2e10540c0cc9b19d7",
      "accountSnapshotHashAfter": "73d17b7c223f2180ea4f61cffcdfc385d32505a9a7912ad2e10540c0cc9b19d7"
    }
  ],
  "effectChecks": [
    {
      "label": "Valid receipt effect",
      "ok": true,
      "reason": "Effect matches Viral Sync causal receipt intent.",
      "manifestHash": "2f3c2b6f98cf59ddcc603ac52c75f0c81059ef7ad333bba76877caacfa1d7c60"
    },
    {
      "label": "Wrong referrer beneficiary",
      "ok": false,
      "reason": "Referrer beneficiary does not match manifest."
    },
    {
      "label": "Inflated reward",
      "ok": false,
      "reason": "Reward amount exceeds manifest maximum."
    },
    {
      "label": "Forbidden instruction",
      "ok": false,
      "reason": "Instruction is not allowed by manifest."
    },
    {
      "label": "Inflated split bps",
      "ok": false,
      "reason": "IntentMismatch: referrer split does not match manifest."
    }
  ],
  "tokenBalances": {
    "before": {
      "merchantRewardAccount": "10000",
      "rewardVault": "0",
      "referrerRewardAccount": "0",
      "visitorRewardAccount": "0",
      "treasuryRewardAccount": "0"
    },
    "beforeSettlement": {
      "merchantRewardAccount": "0",
      "rewardVault": "10000",
      "referrerRewardAccount": "0",
      "visitorRewardAccount": "0",
      "treasuryRewardAccount": "0"
    },
    "afterSettlement": {
      "merchantRewardAccount": "0",
      "rewardVault": "9000",
      "referrerRewardAccount": "792",
      "visitorRewardAccount": "198",
      "treasuryRewardAccount": "10"
    },
    "after": {
      "merchantRewardAccount": "0",
      "rewardVault": "9000",
      "referrerRewardAccount": "792",
      "visitorRewardAccount": "198",
      "treasuryRewardAccount": "10"
    },
    "afterClose": null
  },
  "accounts": {
    "merchantConfig": {
      "bump": 254,
      "merchantAuthority": "EETUeH3fzpCAEDiGpvWWXa9zZQXadmuX79FzNsGdsCJ9",
      "orgIdHash": [
        113,
        113,
        41,
        246,
        163,
        148,
        248,
        186,
        54,
        177,
        86,
        28,
        251,
        208,
        141,
        187,
        34,
        84,
        102,
        140,
        239,
        248,
        162,
        118,
        6,
        53,
        2,
        141,
        6,
        61,
        40,
        232
      ],
      "allowedStaffDelegateRoot": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "terminalAuthorityRoot": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "status": {
        "active": {}
      },
      "createdAt": "1778327458",
      "updatedAt": "1778327458"
    },
    "growthCampaign": {
      "bump": 255,
      "merchantConfig": "CHhM3BTLb8ruSSdNkUgL4f5966LLFU2qejPPRBKX9btj",
      "merchantAuthority": "EETUeH3fzpCAEDiGpvWWXa9zZQXadmuX79FzNsGdsCJ9",
      "campaignIdHash": [
        9,
        100,
        212,
        165,
        51,
        203,
        112,
        138,
        148,
        73,
        122,
        10,
        61,
        27,
        167,
        42,
        11,
        146,
        5,
        109,
        50,
        54,
        154,
        43,
        6,
        248,
        8,
        58,
        121,
        59,
        180,
        11
      ],
      "rewardMint": "QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6",
      "claimPassMint": "QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6",
      "lineageRequired": true,
      "rewardPerVerifiedVisit": "1000",
      "maxRedemptions": 10,
      "maxDepth": 2,
      "referrerSplitBps": 8000,
      "splitRulesHash": [
        123,
        205,
        200,
        149,
        199,
        30,
        184,
        172,
        30,
        200,
        6,
        115,
        191,
        180,
        77,
        58,
        183,
        9,
        3,
        95,
        147,
        121,
        107,
        150,
        248,
        114,
        111,
        145,
        63,
        11,
        55,
        139
      ],
      "fraudPolicyHash": [
        224,
        241,
        134,
        201,
        152,
        219,
        103,
        186,
        51,
        220,
        65,
        211,
        187,
        46,
        183,
        238,
        211,
        66,
        143,
        21,
        151,
        156,
        43,
        39,
        180,
        186,
        206,
        202,
        113,
        51,
        154,
        138
      ],
      "startsAt": "1778327402",
      "expiresAt": "1780919462",
      "totalFunded": "10000",
      "totalSettled": "1000",
      "totalRecorded": 2,
      "status": {
        "active": {}
      },
      "createdAt": "1778327460",
      "updatedAt": "1778327485"
    },
    "rewardEscrow": {
      "bump": 254,
      "campaign": "c7WBeYQTf6TXPWvEQoKiWp59vKFupASBkRHun1JAPmw",
      "rewardMint": "QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6",
      "rewardVault": "FSS5zwGWmH8DQRfBwhkuRUkfCmMBb8n96qgM8WNEvfKw",
      "totalFunded": "10000",
      "totalReserved": "1000",
      "totalSettled": "1000",
      "createdAt": "1778327462",
      "updatedAt": "1778327485"
    },
    "causalReceipt": {
      "bump": 255,
      "campaign": "c7WBeYQTf6TXPWvEQoKiWp59vKFupASBkRHun1JAPmw",
      "merchantConfig": "CHhM3BTLb8ruSSdNkUgL4f5966LLFU2qejPPRBKX9btj",
      "referrerBeneficiary": "56ME6CFQ9S3S6Na7A4qoPMmXtmogCfojbK3veLXQDHU8",
      "visitorBeneficiary": "DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj",
      "rewardMint": "QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6",
      "referrerSplitBps": 8000,
      "terminalDevice": "235EFGtD27SJeuXb2b456jZvrAQn5zH6Ga8pgVnkCwcq",
      "terminalAuthority": "8fPxj9YJZQrWnK9jRbR4wUPnrMj5a8Zi3h8doLwCXbei",
      "visitorAuthority": "DdrATNwsqENiAnbT4jbCuL3CDYYLJpZasNgTf9HB14sj",
      "attestationModel": {
        "merchantTerminalVisitorSigned": {}
      },
      "claimPass": "JASwxNhdib19wFiQxSAMbDmvPWovcpeEKRpkNdCPcFUv",
      "claimPassMint": "QCDxFDVZSqCeMq1GcAvxmzZwtbU5jaK3QLZkDwsxsx6",
      "claimPassTokenAccount": "11111111111111111111111111111111",
      "lineageState": "JASwxNhdib19wFiQxSAMbDmvPWovcpeEKRpkNdCPcFUv",
      "lineageGeneration": 1,
      "lineageProofHash": [
        53,
        21,
        75,
        18,
        82,
        157,
        33,
        143,
        155,
        169,
        135,
        224,
        138,
        126,
        28,
        86,
        59,
        208,
        92,
        86,
        122,
        156,
        78,
        130,
        92,
        138,
        178,
        40,
        57,
        23,
        223,
        22
      ],
      "receiptIdHash": [
        212,
        190,
        147,
        132,
        164,
        69,
        141,
        119,
        129,
        149,
        204,
        191,
        247,
        93,
        89,
        123,
        141,
        199,
        173,
        54,
        10,
        16,
        247,
        156,
        168,
        232,
        158,
        102,
        46,
        237,
        90,
        95
      ],
      "parentReceiptIdHash": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "referrerCommitment": [
        17,
        145,
        22,
        48,
        44,
        119,
        72,
        144,
        130,
        50,
        148,
        170,
        241,
        73,
        223,
        229,
        197,
        235,
        88,
        46,
        60,
        206,
        129,
        119,
        8,
        125,
        234,
        250,
        16,
        204,
        80,
        115
      ],
      "claimerNullifierHash": [
        219,
        3,
        46,
        133,
        89,
        22,
        5,
        71,
        62,
        45,
        254,
        107,
        206,
        34,
        209,
        185,
        53,
        180,
        225,
        173,
        254,
        154,
        11,
        79,
        112,
        239,
        77,
        198,
        30,
        226,
        14,
        192
      ],
      "inviteHash": [
        16,
        145,
        200,
        150,
        124,
        243,
        96,
        225,
        252,
        225,
        158,
        252,
        85,
        223,
        183,
        0,
        11,
        173,
        90,
        69,
        193,
        3,
        93,
        162,
        214,
        110,
        85,
        213,
        160,
        95,
        210,
        53
      ],
      "visitAttestationHash": [
        34,
        187,
        61,
        195,
        17,
        141,
        146,
        211,
        41,
        61,
        22,
        189,
        170,
        189,
        7,
        88,
        180,
        33,
        105,
        97,
        201,
        18,
        182,
        123,
        217,
        94,
        188,
        55,
        80,
        227,
        191,
        92
      ],
      "intentManifestHash": [
        47,
        60,
        43,
        111,
        152,
        207,
        89,
        221,
        204,
        96,
        58,
        197,
        44,
        117,
        240,
        200,
        16,
        89,
        239,
        122,
        211,
        51,
        187,
        167,
        104,
        119,
        202,
        172,
        250,
        29,
        124,
        96
      ],
      "riskScoreCommitment": [
        53,
        95,
        51,
        221,
        57,
        245,
        127,
        196,
        160,
        204,
        66,
        90,
        81,
        117,
        18,
        136,
        194,
        226,
        217,
        97,
        54,
        65,
        75,
        198,
        78,
        106,
        198,
        138,
        161,
        178,
        160,
        148
      ],
      "rewardAmount": "1000",
      "settledAmount": "1000",
      "status": {
        "settled": {}
      },
      "createdAt": "1778327476",
      "settledAt": "1778327484"
    },
    "nullifierRecord": {
      "bump": 253,
      "campaign": "c7WBeYQTf6TXPWvEQoKiWp59vKFupASBkRHun1JAPmw",
      "nullifierHash": [
        219,
        3,
        46,
        133,
        89,
        22,
        5,
        71,
        62,
        45,
        254,
        107,
        206,
        34,
        209,
        185,
        53,
        180,
        225,
        173,
        254,
        154,
        11,
        79,
        112,
        239,
        77,
        198,
        30,
        226,
        14,
        192
      ],
      "firstReceipt": "6i9UeRN1s9tA3qxZ3PQvCseoVFAWNGia6NsLieorJRxK",
      "createdAt": "1778327476"
    },
    "settlementRecord": {
      "bump": 255,
      "receipt": "6i9UeRN1s9tA3qxZ3PQvCseoVFAWNGia6NsLieorJRxK",
      "campaign": "c7WBeYQTf6TXPWvEQoKiWp59vKFupASBkRHun1JAPmw",
      "referrerAmount": "792",
      "visitorAmount": "198",
      "protocolFee": "10",
      "settledAt": "1778327484"
    }
  },
  "verifierCommand": "npm run devnet:verify-receipt -- --output tmp/devnet-causal-commerce-verifier.json",
  "limitation": "devnet proof path verifies counter attestation (merchant + enrolled terminal + visitor), claim-pass account lineage, SPL custody, nullifier replay rejection, payout, and intent manifest hash commitment. It does not claim GPS or independent physical-world oracle proof.",
  "stampMode": "final-candidate",
  "artifactHash": "a6850bf6f27ac62c444d2f3ea1754b7dfb69791d2f7ecfdb5cd0b0535f766de3"
}
