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.
|
|
|
|
|
2020-04-27 13:16:11 +00:00
|
|
|
{.used.}
|
|
|
|
|
2021-04-06 11:33:24 +00:00
|
|
|
import
|
|
|
|
../../eth/keys,
|
|
|
|
./config
|
2019-02-05 10:32:22 +00:00
|
|
|
|
|
|
|
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
|
2020-04-04 16:44:01 +00:00
|
|
|
privKey = PrivateKey.fromHex(person.privkey)[]
|
2020-06-22 16:07:48 +00:00
|
|
|
pubKey = privKey.toPublicKey()
|
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
|
2020-04-04 16:44:01 +00:00
|
|
|
pubKey == PublicKey.fromHex(person.pubkey)[]
|