nim-nitro/nitro/protocol/channel.nim

23 lines
478 B
Nim
Raw Normal View History

import pkg/nimcrypto
2021-03-04 11:30:32 +01:00
import ../types
import ./abi
include questionable/errorban
2021-03-03 10:30:07 +01:00
export types
type
Channel* = object
nonce*: UInt48
participants*: seq[EthAddress]
chainId*: UInt256
proc getChannelId*(channel: Channel): array[32, byte] =
var encoder= AbiEncoder.init()
encoder.startTuple()
encoder.write(channel.chainId)
encoder.write(channel.participants)
encoder.write(channel.nonce)
encoder.finishTuple()
keccak256.digest(encoder.finish()).data