mirror of
https://github.com/logos-storage/nim-nitro.git
synced 2026-01-05 23:23:07 +00:00
Fix ABI encoding of app part; should be in a tuple
This commit is contained in:
parent
61df75b1a1
commit
aaa394fc0c
@ -44,9 +44,11 @@ proc variablePart*(state: State): VariablePart =
|
|||||||
|
|
||||||
proc hashAppPart*(state: State): array[32, byte] =
|
proc hashAppPart*(state: State): array[32, byte] =
|
||||||
var writer: AbiWriter
|
var writer: AbiWriter
|
||||||
|
writer.startTuple()
|
||||||
writer.write(state.challengeDuration)
|
writer.write(state.challengeDuration)
|
||||||
writer.write(state.appDefinition)
|
writer.write(state.appDefinition)
|
||||||
writer.write(state.appData)
|
writer.write(state.appData)
|
||||||
|
writer.finishTuple()
|
||||||
keccak256.digest(writer.finish).data
|
keccak256.digest(writer.finish).data
|
||||||
|
|
||||||
proc hashState*(state: State): array[32, byte] =
|
proc hashState*(state: State): array[32, byte] =
|
||||||
|
|||||||
@ -26,9 +26,11 @@ suite "state":
|
|||||||
|
|
||||||
test "hashes app part of state":
|
test "hashes app part of state":
|
||||||
var writer: AbiWriter
|
var writer: AbiWriter
|
||||||
|
writer.startTuple()
|
||||||
writer.write(state.challengeDuration)
|
writer.write(state.challengeDuration)
|
||||||
writer.write(state.appDefinition)
|
writer.write(state.appDefinition)
|
||||||
writer.write(state.appData)
|
writer.write(state.appData)
|
||||||
|
writer.finishTuple()
|
||||||
let encoded = writer.finish()
|
let encoded = writer.finish()
|
||||||
let hashed = keccak256.digest(encoded).data
|
let hashed = keccak256.digest(encoded).data
|
||||||
check hashAppPart(state) == hashed
|
check hashAppPart(state) == hashed
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user