{
  "chainId": 1874,
  "address": "0x64117398C837a8708a816818b31C36Df5a968596",
  "solc": "0.8.28",
  "evmVersion": "cancun",
  "viaIR": true,
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadataBytecodeHash": "ipfs",
  "commit": "100c6158bb2360e0a0c60968e5ff7d4d0ab63ab5",
  "source": "src/SiteboundV2.sol:SiteboundV2",
  "deployTx": "0xc54c53e26ecfaeac2b85b712ce52096f5f7f264d620b1d9635f2acde3f0446d5",
  "runtimeCodeLength": 21074,
  "runtimeCodeHashMasked": "0xc9c9a99f74a8066af413321ad482f1aa0da0a9620ba248423284edd25b1c49e6",
  "method": "Fetch the runtime code with eth_getCode. Overwrite every byte range listed in immutables[*].offsets (each immutables[*].length bytes) with zero bytes. Take keccak256 of the resulting bytes and compare with runtimeCodeHashMasked. The same recipe applied to the locally compiled deployedBytecode (scripts/verify.sh) gives the same hash.",
  "immutables": {
    "token": {
      "offsets": [
        522,
        859,
        19482
      ],
      "length": 32,
      "value": "0xcedfB56113143d55b2358b8CFbB0dEB5Ad2f55a7"
    },
    "rpIdHash": {
      "offsets": [
        5629,
        14639
      ],
      "length": 32,
      "value": "0x8ffe2127ed75c36647d195c03abb12495aa9148e687218b86ee92ffc592840b0"
    },
    "delay": {
      "offsets": [
        1627,
        2375,
        3954,
        4578,
        5148,
        10827
      ],
      "length": 32,
      "value": "3600"
    },
    "maxRelayerFee": {
      "offsets": [
        7899,
        14448
      ],
      "length": 32,
      "value": "1000000"
    },
    "guardian": {
      "offsets": [
        5208,
        6193
      ],
      "length": 32,
      "value": "0x0000000000000000000000000000000000000000"
    }
  },
  "constructorArgs": {
    "token": "0xcedfB56113143d55b2358b8CFbB0dEB5Ad2f55a7",
    "frameOrigin": "https://sitebound-pay.pages.dev",
    "rpIdHash": "0x8ffe2127ed75c36647d195c03abb12495aa9148e687218b86ee92ffc592840b0",
    "attestors": [
      "0xDf54063Eb6FEF689965d470c6b5aab0489eA5b4A"
    ],
    "threshold": 1,
    "delay": 3600,
    "guardian": "0x0000000000000000000000000000000000000000",
    "note": "frameOrigin is read from storage slot 0 (short string, stored inline); rpIdHash is sha256 of the RP ID; the attestor set is confirmed by quorum() and isAttestor() on chain; maxRelayerFee is 10 ** token.decimals(), set in the constructor. guardian value is null until the deploy fixes it (0x0 if GUARDIAN is unset)."
  },
  "hashNote": "runtimeCodeHashMasked is for src/SiteboundV2.sol exactly as committed with this file; any later edit to that file, comments included, changes it. Recompute with scripts/verify.sh before the deploy.",
  "sourcify": {
    "match": "exact_match (creation and runtime)",
    "url": "https://repo.sourcify.dev/1874/0x64117398C837a8708a816818b31C36Df5a968596"
  },
  "previous": {
    "note": "v1, the deployment the live frame uses until V2 is deployed",
    "address": "0x43bb27f7079c76D6F0Fa4b4e6d69843e0457DF73",
    "source": "src/Sitebound.sol:Sitebound",
    "commit": "84d5c9a0b041d49ff095641953477e014d828791",
    "deployTx": "0x9d1278d275ab2003a996ac46cad324364d01465e85029263ccc433f7fbdd6b78",
    "runtimeCodeLength": 8612,
    "runtimeCodeHashMasked": "0xaa7fc4f738a41cc4ff55b7dfc84353a4ee48244e2074ddbdeecab73c19633f1f",
    "sourcify": {
      "match": "exact_match",
      "url": "https://sourcify.dev/server/v2/contract/1874/0x43bb27f7079c76D6F0Fa4b4e6d69843e0457DF73"
    }
  }
}
