{
  "schemaVersion": 1,
  "article": {
    "wpId": 6047,
    "permalink": "/archives/6047",
    "sourceIssue": 189
  },
  "checkedAt": "2026-08-31",
  "localFixture": {
    "externalRpc": false,
    "mainnetFork": false,
    "realWallet": false,
    "userPrivateKey": false,
    "localAnvilDevKeys": true,
    "publicTransactionBroadcast": false,
    "realAsset": false,
    "environment": {
      "foundry": "1.8.0",
      "foundryCommit": "61ae26af36320d4fa1020f7db53785885e29eeb5",
      "foundryArchiveSha256": "0599b28a19af97c3ae91fab12ad868a1922db7770c4adff6b6d26235862153d0",
      "solidity": "0.8.36",
      "viem": "2.56.0",
      "evmVersion": "cancun",
      "chainId": 31348,
      "optimizer": true,
      "optimizerRuns": 200,
      "fuzzRuns": 256,
      "seed": "0x6047604760476047604760476047604760476047604760476047604760476047"
    },
    "tests": {
      "status": "pass",
      "foundryUnitTestCount": 12,
      "foundryUnitTests": [
        "testAddSelectorEmitsCutAndBecomesCallable",
        "testDeclaredInterfaceIdsAreReported",
        "testDuplicateAddSelectorReverts",
        "testFallbackDelegatecallUsesDiamondStateAndCallerContext",
        "testInitialCutAndLoupeExposeCurrentRouting",
        "testInitializerFailureRollsBackTheCut",
        "testInitializerWritesDiamondOwnedStateAtomically",
        "testMissingFacetCodeReverts",
        "testRemoveSelectorMakesFallbackRevert",
        "testReplaceSelectorChangesFacetAndPreservesDiamondState",
        "testStorageRootsStaySeparateAndWrongAppLayoutCollides",
        "testUnauthorizedCutReverts"
      ],
      "viemAnvilLifecycleCount": 1
    },
    "observation": {
      "chainId": 31348,
      "accounts": {
        "deployer": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
        "outsider": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8"
      },
      "diamond": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
      "selectorTable": [
        {
          "name": "diamondCut",
          "signature": "diamondCut((address,uint8,bytes4[])[],address,bytes)",
          "selector": "0x1f931c1c",
          "facetAddress": "0x5FbDB2315678afecb367f032d93F642f64180aa3"
        },
        {
          "name": "facets",
          "signature": "facets()",
          "selector": "0x7a0ed627",
          "facetAddress": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0"
        },
        {
          "name": "facetFunctionSelectors",
          "signature": "facetFunctionSelectors(address)",
          "selector": "0xadfca15e",
          "facetAddress": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0"
        },
        {
          "name": "facetAddresses",
          "signature": "facetAddresses()",
          "selector": "0x52ef6b2c",
          "facetAddress": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0"
        },
        {
          "name": "facetAddress",
          "signature": "facetAddress(bytes4)",
          "selector": "0xcdffacc6",
          "facetAddress": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0"
        },
        {
          "name": "supportsInterface",
          "signature": "supportsInterface(bytes4)",
          "selector": "0x01ffc9a7",
          "facetAddress": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0"
        },
        {
          "name": "setValue",
          "signature": "setValue(uint256)",
          "selector": "0x55241077",
          "facetAddress": "0x0165878A594ca255338adfa4d48449f69242Eb8F"
        },
        {
          "name": "value",
          "signature": "value()",
          "selector": "0x3fa4f245",
          "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"
        },
        {
          "name": "version",
          "signature": "version()",
          "selector": "0x54fd4d50",
          "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"
        },
        {
          "name": "lastInitializer",
          "signature": "lastInitializer()",
          "selector": "0x0bcde9ec",
          "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"
        },
        {
          "name": "lastCaller",
          "signature": "lastCaller()",
          "selector": "0x2113522a",
          "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"
        },
        {
          "name": "appStorageRoot",
          "signature": "appStorageRoot()",
          "selector": "0xd3b70bee",
          "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"
        },
        {
          "name": "diamondStorageRoot",
          "signature": "diamondStorageRoot()",
          "selector": "0xe2b451f3",
          "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"
        },
        {
          "name": "erc7201ExampleRoot",
          "signature": "erc7201ExampleRoot()",
          "selector": "0x0fb8b31e",
          "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"
        },
        {
          "name": "owner",
          "signature": "owner()",
          "selector": "0x8da5cb5b",
          "facetAddress": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9"
        },
        {
          "name": "transferOwnership",
          "signature": "transferOwnership(address)",
          "selector": "0xf2fde38b",
          "facetAddress": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9"
        },
        {
          "name": "note",
          "signature": "note()",
          "selector": "0x26d111f5",
          "facetAddress": "0x0000000000000000000000000000000000000000"
        }
      ],
      "loupe": {
        "interfaceIds": {
          "IERC165": "0x01ffc9a7",
          "IDiamondCut": "0x1f931c1c",
          "IDiamondLoupe": "0x48e2b093"
        },
        "supportedInterfaces": {
          "IERC165": true,
          "IDiamondCut": true,
          "IDiamondLoupe": true,
          "invalid": false
        },
        "initialFacets": [
          {
            "facetAddress": "0x5FbDB2315678afecb367f032d93F642f64180aa3",
            "functionSelectors": [
              "0x1f931c1c"
            ]
          },
          {
            "facetAddress": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0",
            "functionSelectors": [
              "0x7a0ed627",
              "0xadfca15e",
              "0x52ef6b2c",
              "0xcdffacc6",
              "0x01ffc9a7"
            ]
          },
          {
            "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9",
            "functionSelectors": [
              "0x55241077",
              "0x3fa4f245",
              "0x54fd4d50",
              "0x0bcde9ec",
              "0x2113522a",
              "0xd3b70bee",
              "0xe2b451f3",
              "0x0fb8b31e"
            ]
          },
          {
            "facetAddress": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
            "functionSelectors": [
              "0x8da5cb5b",
              "0xf2fde38b"
            ]
          }
        ],
        "finalFacets": [
          {
            "facetAddress": "0x5FbDB2315678afecb367f032d93F642f64180aa3",
            "functionSelectors": [
              "0x1f931c1c"
            ]
          },
          {
            "facetAddress": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0",
            "functionSelectors": [
              "0x7a0ed627",
              "0xadfca15e",
              "0x52ef6b2c",
              "0xcdffacc6",
              "0x01ffc9a7"
            ]
          },
          {
            "facetAddress": "0x0165878A594ca255338adfa4d48449f69242Eb8F",
            "functionSelectors": [
              "0x55241077"
            ]
          },
          {
            "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9",
            "functionSelectors": [
              "0x3fa4f245",
              "0x54fd4d50",
              "0x0bcde9ec",
              "0x2113522a",
              "0xd3b70bee",
              "0xe2b451f3",
              "0x0fb8b31e"
            ]
          },
          {
            "facetAddress": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
            "functionSelectors": [
              "0x8da5cb5b",
              "0xf2fde38b"
            ]
          }
        ],
        "finalFacetAddresses": [
          "0x5FbDB2315678afecb367f032d93F642f64180aa3",
          "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0",
          "0x0165878A594ca255338adfa4d48449f69242Eb8F",
          "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9",
          "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9"
        ]
      },
      "cuts": {
        "actionCodes": {
          "add": 0,
          "replace": 1,
          "remove": 2
        },
        "events": [
          {
            "kind": "initial",
            "emitter": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
            "cuts": [
              {
                "facetAddress": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0",
                "action": 0,
                "functionSelectors": [
                  "0x7a0ed627",
                  "0xadfca15e",
                  "0x52ef6b2c",
                  "0xcdffacc6",
                  "0x01ffc9a7"
                ]
              },
              {
                "facetAddress": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9",
                "action": 0,
                "functionSelectors": [
                  "0x55241077",
                  "0x3fa4f245",
                  "0x54fd4d50",
                  "0x0bcde9ec",
                  "0x2113522a",
                  "0xd3b70bee",
                  "0xe2b451f3",
                  "0x0fb8b31e"
                ]
              },
              {
                "facetAddress": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
                "action": 0,
                "functionSelectors": [
                  "0x8da5cb5b",
                  "0xf2fde38b"
                ]
              }
            ],
            "init": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707",
            "initCalldata": "0xe4a3011600000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "kind": "add",
            "emitter": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
            "cuts": [
              {
                "facetAddress": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853",
                "action": 0,
                "functionSelectors": [
                  "0x26d111f5"
                ]
              }
            ],
            "init": "0x0000000000000000000000000000000000000000",
            "initCalldata": "0x"
          },
          {
            "kind": "replace",
            "emitter": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
            "cuts": [
              {
                "facetAddress": "0x0165878A594ca255338adfa4d48449f69242Eb8F",
                "action": 1,
                "functionSelectors": [
                  "0x55241077"
                ]
              }
            ],
            "init": "0x0000000000000000000000000000000000000000",
            "initCalldata": "0x"
          },
          {
            "kind": "remove",
            "emitter": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
            "cuts": [
              {
                "facetAddress": "0x0000000000000000000000000000000000000000",
                "action": 2,
                "functionSelectors": [
                  "0x26d111f5"
                ]
              }
            ],
            "init": "0x0000000000000000000000000000000000000000",
            "initCalldata": "0x"
          }
        ],
        "routeAfterAdd": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853",
        "finalSetValueFacet": "0x0165878A594ca255338adfa4d48449f69242Eb8F",
        "routeAfterRemove": "0x0000000000000000000000000000000000000000",
        "removedSelectorRejected": true,
        "revertingInitializationRejected": true,
        "routeAfterInitializerFailure": "0x0000000000000000000000000000000000000000",
        "unauthorizedCutRejected": true
      },
      "delegatecallState": {
        "value": "42",
        "version": "2",
        "lastInitializer": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
        "lastCaller": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
        "rawSlots": [
          "0x000000000000000000000000000000000000000000000000000000000000002a",
          "0x0000000000000000000000000000000000000000000000000000000000000002",
          "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266",
          "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266"
        ]
      },
      "storageRoots": {
        "appStorage": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "diamondStorage": "0xc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c",
        "erc7201Example": "0x3286117daff9f85013498e4492687a45855d62df0707c718045a4347f7b1d900",
        "erc7201AlignedTo256Slots": true
      },
      "authority": {
        "owner": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
        "unauthorizedCutRejected": true
      },
      "facetCode": {
        "diamondCut": {
          "address": "0x5FbDB2315678afecb367f032d93F642f64180aa3",
          "bytes": 3249,
          "hash": "0x9ae07cb18db7121d650f59f685c3c4f4a50d00b577ab5f24acc6ae6e9f4a1fbf"
        },
        "loupe": {
          "address": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0",
          "bytes": 2065,
          "hash": "0x288e55868ce4c3d982a9152e8307e597298fa20b17406a7dbce50ff9b91830f4"
        },
        "counterV1": {
          "address": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9",
          "bytes": 590,
          "hash": "0x3f59288ec1ad70dbbfec5a6ec3d3b917fabf97ceedb97fff7d203df941f0a689"
        },
        "counterV2": {
          "address": "0x0165878A594ca255338adfa4d48449f69242Eb8F",
          "bytes": 234,
          "hash": "0x7b273f7f5323d07ab71d4c54be522b611520f1a7fb9240d3f6aded0d2365a00a"
        },
        "ownership": {
          "address": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
          "bytes": 389,
          "hash": "0xa234efe7ddad9e7b48e486e35bd785622305a8c43bebf0f3bd6e944e30b550fb"
        },
        "extra": {
          "address": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853",
          "bytes": 75,
          "hash": "0x0440ee1a9d87fdcd9d700d964bf20f25c3aa0ce55e3482fe1afa5544f654872b"
        },
        "initializer": {
          "address": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707",
          "bytes": 190,
          "hash": "0x2002a196fda59bbb858e2bc410577f0dec5c26cdd723d2bc20edeb10f37834a1"
        }
      }
    }
  },
  "fixedConclusions": {
    "routing": "the first four calldata bytes select one facet and the facet code executes against diamond-owned storage through delegatecall",
    "loupe": "the four loupe functions expose the current selector-to-facet routing in this fixture, including the post-replacement destination",
    "cuts": "DiamondCut events record action 0 add, action 1 replace and action 2 remove, while the resulting loupe state shows the current routing",
    "initializer": "the initializer delegatecall and selector changes share one transaction; a reverting initializer rolls back the attempted selector addition",
    "storage": "AppStorage at slot zero, hashed diamond storage and an ERC-7201-formula example root are distinct in this fixture",
    "authority": "the fixture owner can call diamondCut and an unrelated local account is rejected"
  },
  "limits": [
    "This local fixture does not prove the safety, completeness or upgrade policy of a production diamond or facet.",
    "Loupe output is current state; historical reconstruction still requires deployment data and the complete ordered DiamondCut event history.",
    "Selector equality alone does not prove source identity, storage compatibility, initializer safety or upgrade authorization.",
    "EIP-2535 defines the cut mechanism but does not require one universal ownership, multisig, timelock or immutable policy.",
    "The ERC-7201 root is an isolated formula example; it does not claim that every EIP-2535 implementation adopts ERC-7201.",
    "No public RPC, mainnet fork, browser wallet, user key, public transaction or real asset is used."
  ]
}
