2019-02-05 10:32:22 +00:00
|
|
|
# Nim Eth-keys
|
|
|
|
# Copyright (c) 2018 Status Research & Development GmbH
|
|
|
|
# Licensed under either of
|
|
|
|
#
|
|
|
|
# * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
|
|
|
|
# * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
|
|
|
#
|
|
|
|
# at your option. This file may not be copied, modified, or distributed except according to those terms.
|
|
|
|
|
2019-02-05 15:40:29 +00:00
|
|
|
import eth/keys,
|
2019-02-05 10:32:22 +00:00
|
|
|
./config
|
|
|
|
|
|
|
|
import unittest
|
|
|
|
|
|
|
|
suite "Testing private -> public key conversion":
|
|
|
|
test "Known private to known public keys (test data from Ethereum eth-keys)":
|
|
|
|
for person in [alice, bob, eve]:
|
2020-02-19 09:11:45 +00:00
|
|
|
let
|
|
|
|
privKey = initPrivateKey(person.privkey)
|
|
|
|
pubKey = privKey.getPublicKey
|
2019-02-05 10:32:22 +00:00
|
|
|
|
2020-02-19 09:11:45 +00:00
|
|
|
check:
|
|
|
|
# Compare as strings
|
|
|
|
$pubKey == person.pubkey
|
2019-02-05 10:32:22 +00:00
|
|
|
|
2020-02-19 09:11:45 +00:00
|
|
|
# Compare as keys
|
|
|
|
pubKey == initPublicKey(person.pubkey)
|