From 412185b667e1effba062c2652cbac35c08cdd828 Mon Sep 17 00:00:00 2001 From: Uncle Stretch Date: Sun, 26 Jul 2026 22:22:34 +0300 Subject: [PATCH] make getRoot return next session if possible Signed-off-by: Uncle Stretch --- src/types/Weaver.sol | 7 ++++++- test/gatekeeper/GatekeeperWeaver.t.sol | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/types/Weaver.sol b/src/types/Weaver.sol index 8dfe6e4..9ec1de3 100644 --- a/src/types/Weaver.sol +++ b/src/types/Weaver.sol @@ -69,7 +69,12 @@ abstract contract Weaver is IWeaver { } } - return (currentLevel[0], _filledEntries[session]); + uint256 nextSession = session; + if (nextSession < currentSession) { + unchecked { ++nextSession; } + } + + return (currentLevel[0], nextSession); } function getProof( diff --git a/test/gatekeeper/GatekeeperWeaver.t.sol b/test/gatekeeper/GatekeeperWeaver.t.sol index 328e21c..f805412 100644 --- a/test/gatekeeper/GatekeeperWeaver.t.sol +++ b/test/gatekeeper/GatekeeperWeaver.t.sol @@ -173,6 +173,7 @@ contract GatekeeperWeaverTest is Test { assertEq(gatekeeper.slotLengths(session + 1, 0), 1); assertEq(prevEntries, gatekeeper.ENTRIES()); assertEq(gatekeeper.filledEntries(session + 1), 1); + assertEq(session + 1, gatekeeper.currentSession()); session += 1; previousHash = bytes32(0);