Fix ABI encoding of app part; should be in a tuple

This commit is contained in:
Mark Spanbroek 2021-02-23 12:01:06 +01:00
parent 61df75b1a1
commit aaa394fc0c
2 changed files with 4 additions and 0 deletions

View File

@ -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] =

View File

@ -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