{
  "schemaVersion": 1,
  "wpId": 6030,
  "generatedAt": "2026-08-31T09:45:00+09:00",
  "evidenceClass": "deterministic local synthetic Safe transaction triage fixture",
  "localSyntheticEvidence": true,
  "readOnlyPublicArtifact": true,
  "publicParticipantData": false,
  "walletOpened": false,
  "accountConnected": false,
  "signatureRequested": false,
  "signatureProducedByGenerator": false,
  "privateKeyPresent": false,
  "seedPhrasePresent": false,
  "rpcRequestSentByGenerator": false,
  "transactionBroadcast": false,
  "assetMovedByFixture": false,
  "safe": {
    "address": "0x0000000000000000000000000000000000005000",
    "chainId": 31337,
    "version": "1.5.0",
    "contractPackage": "@safe-global/safe-smart-account@1.5.0",
    "sourceCommit": "dc437e8fba8b4805d76bcbd1c668c9fd3d1e83be",
    "owners": [
      "0x0000000000000000000000000000000000001001",
      "0x0000000000000000000000000000000000001002",
      "0x0000000000000000000000000000000000001003"
    ],
    "threshold": 2,
    "modules": [],
    "transactionGuard": null,
    "safeNonce": 7
  },
  "identifiers": {
    "safeTransactionHash": {
      "role": "EIP-712 hash of the Safe transaction fields and Safe nonce",
      "existsBeforeExecution": true,
      "provesOnChainExecution": false
    },
    "ethereumTransactionHash": {
      "role": "hash of the outer network transaction sent by an executor",
      "existsBeforeExecution": false,
      "valueBeforeExecution": null,
      "provesSafeInternalSuccessByItself": false
    },
    "safeNonce": {
      "ownerAuthorizationSequence": 7,
      "encodedInSafeTransactionHash": true
    },
    "executorEoaNonce": {
      "example": 12,
      "outerAccount": "0x0000000000000000000000000000000000008000",
      "encodedInSafeTransactionHash": false
    }
  },
  "lifecycle": [
    {
      "stage": "proposal",
      "location": "off-chain Transaction Service or another coordinator",
      "onChainExecutionProven": false
    },
    {
      "stage": "confirmations",
      "location": "off-chain signatures attached to one safeTxHash",
      "thresholdMetExample": "2 of 3",
      "onChainExecutionProven": false
    },
    {
      "stage": "execution",
      "location": "outer Ethereum transaction calling Safe.execTransaction",
      "requiresSeparateEthereumTransactionHash": true,
      "inspectSafeEventOrTrace": true
    }
  ],
  "cases": {
    "twoOfThree": {
      "owners": [
        "0x0000000000000000000000000000000000001001",
        "0x0000000000000000000000000000000000001002"
      ],
      "confirmations": 2,
      "threshold": 2,
      "thresholdMet": true,
      "executableFromSignatureCountAlone": false,
      "reason": "The current nonce, transaction fields, guard, target behavior, and execution attempt still matter."
    },
    "insufficientThreshold": {
      "owners": [
        "0x0000000000000000000000000000000000001001"
      ],
      "confirmations": 1,
      "threshold": 2,
      "thresholdMet": false,
      "expectedOuterCall": "revert during signature checking",
      "safeNonceConsumed": false
    },
    "sameSafeNonceConflict": {
      "sharedSafeNonce": 7,
      "proposalA": {
        "transaction": {
          "to": "0x0000000000000000000000000000000000006000",
          "value": "0",
          "data": "0x552410770000000000000000000000000000000000000000000000000000000000000029",
          "operation": 0,
          "safeTxGas": "0",
          "baseGas": "0",
          "gasPrice": "0",
          "gasToken": "0x0000000000000000000000000000000000000000",
          "refundReceiver": "0x0000000000000000000000000000000000000000",
          "nonce": 7
        },
        "safeTxHash": "0x3036ef80cdf0849e5432d97257f30926390b105cb5902e1cde3e1e1d38ba9b13"
      },
      "proposalB": {
        "transaction": {
          "to": "0x0000000000000000000000000000000000006000",
          "value": "0",
          "data": "0x55241077000000000000000000000000000000000000000000000000000000000000002a",
          "operation": 0,
          "safeTxGas": "0",
          "baseGas": "0",
          "gasPrice": "0",
          "gasToken": "0x0000000000000000000000000000000000000000",
          "refundReceiver": "0x0000000000000000000000000000000000000000",
          "nonce": 7
        },
        "safeTxHash": "0xaf3ac72fc892f6cdef394fea8584e68264be2f04fcd433573b67b4f284df4ba3"
      },
      "hashesDiffer": true,
      "afterProposalAExecution": {
        "currentSafeNonce": 8,
        "proposalBAtOriginalNonceIsStale": true,
        "replacementOrRejectionIsAutomatic": false
      }
    },
    "targetRevertCaughtBySafe": {
      "transaction": {
        "to": "0x0000000000000000000000000000000000006000",
        "value": "0",
        "data": "0x9fb37853",
        "operation": 0,
        "safeTxGas": "120000",
        "baseGas": "0",
        "gasPrice": "0",
        "gasToken": "0x0000000000000000000000000000000000000000",
        "refundReceiver": "0x0000000000000000000000000000000000000000",
        "nonce": 8
      },
      "safeTxHash": "0x8138cdcd0e60fa85ed41d8e6b2ac5249830f881283cec6241abe4bccabe1a823",
      "precondition": "safeTxGas is non-zero and gasPrice is zero",
      "outerEthereumReceiptCanHaveStatusOne": true,
      "safeExecutionResult": false,
      "safeEvent": "ExecutionFailure",
      "safeNonceConsumed": true,
      "targetStateChanged": false,
      "warning": "If safeTxGas and gasPrice are both zero, Safe 1.5.0 bubbles a target failure and the nonce increment rolls back."
    },
    "guardReject": {
      "guard": "0x0000000000000000000000000000000000007000",
      "guardStorageSlot": "0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8",
      "expectedOuterCall": "revert before target execution",
      "safeNonceConsumed": false,
      "targetStateChanged": false
    }
  },
  "transactionServiceBoundary": {
    "proposalAndConfirmationsAreOffChainRecords": true,
    "onChainOwnersThresholdNonceRemainAuthoritative": true,
    "indexerCanLagOrReorg": true,
    "serviceSafeTxHashMustMatchLocallyRecomputedHash": true,
    "queuedStatusProvesExecution": false,
    "missingServiceRecordProvesNoOnChainExecution": false
  },
  "conclusion": "Fix chain, Safe address and version, read owners, threshold, nonce, modules and guard on-chain, recompute safeTxHash, then inspect the separate execution transaction receipt, Safe event and trace."
}
