mirror of
https://github.com/logos-storage/logos-storage-nim.git
synced 2026-01-08 00:13:08 +00:00
Rationale: price is no longer set per peer, but per chunk. Only the Ethereum accounts of the peers needs to be exchanged.
38 lines
1.1 KiB
Nim
38 lines
1.1 KiB
Nim
import pkg/asynctest
|
|
import pkg/chronos
|
|
import pkg/stew/byteutils
|
|
import ../../examples
|
|
import ../../../../dagger/bitswap/protobuf/payments
|
|
|
|
suite "account protobuf messages":
|
|
|
|
let account = Account(address: EthAddress.example)
|
|
let message = AccountMessage.init(account)
|
|
|
|
test "encodes recipient of payments":
|
|
check message.address == @(account.address.toArray)
|
|
|
|
test "decodes recipient of payments":
|
|
check Account.init(message).?address == account.address.some
|
|
|
|
test "fails to decode when address has incorrect number of bytes":
|
|
var incorrect = message
|
|
incorrect.address.del(0)
|
|
check Account.init(incorrect).isNone
|
|
|
|
suite "channel update messages":
|
|
|
|
let state = SignedState.example
|
|
let update = StateChannelUpdate.init(state)
|
|
|
|
test "encodes a nitro signed state":
|
|
check update.update == state.toJson.toBytes
|
|
|
|
test "decodes a channel update":
|
|
check SignedState.init(update) == state.some
|
|
|
|
test "fails to decode incorrect channel update":
|
|
var incorrect = update
|
|
incorrect.update.del(0)
|
|
check SignedState.init(incorrect).isNone
|