diff --git a/nitro/state.nim b/nitro/state.nim index 7e43be5..93ae98d 100644 --- a/nitro/state.nim +++ b/nitro/state.nim @@ -44,9 +44,11 @@ proc variablePart*(state: State): VariablePart = proc hashAppPart*(state: State): array[32, byte] = var writer: AbiWriter + writer.startTuple() writer.write(state.challengeDuration) writer.write(state.appDefinition) writer.write(state.appData) + writer.finishTuple() keccak256.digest(writer.finish).data proc hashState*(state: State): array[32, byte] = diff --git a/tests/nitro/testState.nim b/tests/nitro/testState.nim index eb8cca7..054163b 100644 --- a/tests/nitro/testState.nim +++ b/tests/nitro/testState.nim @@ -26,9 +26,11 @@ suite "state": test "hashes app part of state": var writer: AbiWriter + writer.startTuple() writer.write(state.challengeDuration) writer.write(state.appDefinition) writer.write(state.appData) + writer.finishTuple() let encoded = writer.finish() let hashed = keccak256.digest(encoded).data check hashAppPart(state) == hashed