mirror of
https://github.com/logos-storage/nim-nitro.git
synced 2026-01-05 23:23:07 +00:00
23 lines
767 B
Nim
23 lines
767 B
Nim
|
|
import ./basics
|
||
|
|
|
||
|
|
suite "nitro wallet":
|
||
|
|
|
||
|
|
let key = PrivateKey.random()
|
||
|
|
let asset = EthAddress.example
|
||
|
|
let amount = 42.u256
|
||
|
|
|
||
|
|
test "wallet can be created from private key":
|
||
|
|
let wallet = Wallet.init(key)
|
||
|
|
check wallet.address == key.toPublicKey.toAddress
|
||
|
|
|
||
|
|
test "opens ledger channel":
|
||
|
|
let wallet = Wallet.init(key)
|
||
|
|
let me = wallet.address.toDestination
|
||
|
|
let channel = wallet.openLedger(asset, amount)
|
||
|
|
let expectedOutcome = Outcome.init(asset, {me: amount})
|
||
|
|
let expectedState = State(outcome: expectedOutcome)
|
||
|
|
let expectedSignatures = @{wallet.address: key.sign(expectedState)}
|
||
|
|
check channel.latest.isNone
|
||
|
|
check channel.upcoming.?state == expectedState.some
|
||
|
|
check channel.upcoming.?signatures == expectedSignatures.some
|