feat: tests sign

Signed-off-by: Coline <coline.seguret@ledger.fr>
This commit is contained in:
Coline
2022-04-11 10:47:15 +02:00
parent 104bfee2a9
commit 35363e256d
7 changed files with 205 additions and 32 deletions

View File

@@ -1,16 +1,18 @@
from cgitb import reset
from pickle import TRUE
from typing import Tuple
import boilerplate_client
def test_get_public_key(cmd):
# ETHER COIN
uncompressed_addr_len, eth_addr, chain_code = cmd.get_public_key(
bip32_path="44'/60'/1'/0/0",
display=False
) # type: bytes, bytes, bytes
# ETHER COIN without display
result: list = []
with cmd.get_public_key(bip32_path="44'/60'/1'/0/0", display=False, result=result) as exchange:
pass
print("HERE", uncompressed_addr_len)
uncompressed_addr_len, eth_addr, chain_code = result
assert len(uncompressed_addr_len) == 65
assert len(eth_addr) == 40
@@ -20,14 +22,20 @@ def test_get_public_key(cmd):
assert eth_addr == b'463e4e114AA57F54f2Fd2C3ec03572C6f75d84C2'
assert chain_code == b'\xaf\x89\xcd)\xea${8I\xec\xc80\xc2\xc8\x94\\e1\xd6P\x87\x07?\x9f\xd09\x00\xa0\xea\xa7\x96\xc8'
# DAI COIN
uncompressed_addr_len, eth_addr, chain_code = cmd.get_public_key(
bip32_path="44'/700'/1'/0/0",
display=False
) # type: bytes, bytes, bytes
print("HERE2", uncompressed_addr_len)
# DAI COIN with display
result: list = []
with cmd.get_public_key(bip32_path="44'/700'/1'/0/0", display=True, result=result) as exchange:
cmd.client.press_and_release('right')
# Verify address
cmd.client.press_and_release('right')
# Address 1/3, 2/3, 3/3
cmd.client.press_and_release('right')
cmd.client.press_and_release('right')
cmd.client.press_and_release('right')
# Approved
cmd.client.press_and_release('both')
uncompressed_addr_len, eth_addr, chain_code = result
assert len(uncompressed_addr_len) == 65
assert len(eth_addr) == 40
assert len(chain_code) == 32
@@ -35,3 +43,23 @@ def test_get_public_key(cmd):
assert uncompressed_addr_len == b'\x04V\x8a\x15\xdc\xed\xc8[\x16\x17\x8d\xaf\xcax\x91v~{\x9c\x06\xba\xaa\xde\xf4\xe7\x9f\x86\x1d~\xed)\xdc\n8\x9c\x84\xf01@E\x13]\xd7~6\x8e\x8e\xabb-\xad\xcdo\xc3Fw\xb7\xc8y\xdbQ/\xc3\xe5\x18'
assert eth_addr == b'Ba9A9aED0a1AbBE1da1155F64e73e57Af7995880'
assert chain_code == b'4\xaa\x95\xf4\x02\x12\x12-T\x155\x86\xed\xc5\x0b\x1d8\x81\xae\xce\xbd\x1a\xbbv\x9a\xc7\xd5\x1a\xd0KT\xe4'
def test_reject_get_public_key(cmd):
try:
# DAI COIN with display
result: list = []
with cmd.get_public_key(bip32_path="44'/700'/1'/0/0", display=True, result=result) as exchange:
cmd.client.press_and_release('right')
# Verify address
cmd.client.press_and_release('right')
# Address 1/3, 2/3, 3/3
cmd.client.press_and_release('right')
cmd.client.press_and_release('right')
cmd.client.press_and_release('right')
# Reject
cmd.client.press_and_release('right')
cmd.client.press_and_release('both')
except boilerplate_client.exception.errors.DenyError as error:
assert error.args[0] == '0x6985'