From 2614a476f47389d6fa85025ac5ae6ffec0af7a07 Mon Sep 17 00:00:00 2001 From: hazim-j Date: Fri, 1 Aug 2025 12:27:08 +1000 Subject: [PATCH] Findings 16: use verifyCalldata in registerNode --- snapshots/Keystore32NodeUCMT.json | 2 +- src/core/Keystore.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/snapshots/Keystore32NodeUCMT.json b/snapshots/Keystore32NodeUCMT.json index 0f26ec4..f8f8738 100644 --- a/snapshots/Keystore32NodeUCMT.json +++ b/snapshots/Keystore32NodeUCMT.json @@ -1,5 +1,5 @@ { - "1. registerNode": "77515", + "1. registerNode": "77284", "2. validate (with proof)": "12407", "3. validate (without proof)": "5284", "4. handleUpdates (with proof)": "64278", diff --git a/src/core/Keystore.sol b/src/core/Keystore.sol index 3cd9875..31a9c8c 100644 --- a/src/core/Keystore.sol +++ b/src/core/Keystore.sol @@ -53,7 +53,7 @@ contract Keystore is IKeystore { bytes32 rootHash = _getCurrentRootHash(refHash, msg.sender); bytes32 nodeHash = keccak256(node); - require(MerkleProofLib.verify(proof, rootHash, nodeHash), InvalidProof()); + require(MerkleProofLib.verifyCalldata(proof, rootHash, nodeHash), InvalidProof()); _nodeCache[rootHash][nodeHash][msg.sender] = node; }