diff --git a/tests/ragger/snapshots/nanos/get_pk_1/00000.png b/tests/ragger/snapshots/nanos/get_pk_1/00000.png new file mode 100644 index 0000000..63778c4 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_1/00000.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_1/00001.png b/tests/ragger/snapshots/nanos/get_pk_1/00001.png new file mode 100644 index 0000000..7c0b047 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_1/00001.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_1/00002.png b/tests/ragger/snapshots/nanos/get_pk_1/00002.png new file mode 100644 index 0000000..94d8888 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_1/00002.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_1/00003.png b/tests/ragger/snapshots/nanos/get_pk_1/00003.png new file mode 100644 index 0000000..1fbf36d Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_1/00003.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_1/00004.png b/tests/ragger/snapshots/nanos/get_pk_1/00004.png new file mode 100644 index 0000000..66c411c Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_1/00004.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_1/00005.png b/tests/ragger/snapshots/nanos/get_pk_1/00005.png new file mode 100644 index 0000000..ce795f3 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_1/00005.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_137/00000.png b/tests/ragger/snapshots/nanos/get_pk_137/00000.png new file mode 100644 index 0000000..63778c4 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_137/00000.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_137/00001.png b/tests/ragger/snapshots/nanos/get_pk_137/00001.png new file mode 100644 index 0000000..7c0b047 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_137/00001.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_137/00002.png b/tests/ragger/snapshots/nanos/get_pk_137/00002.png new file mode 100644 index 0000000..94d8888 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_137/00002.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_137/00003.png b/tests/ragger/snapshots/nanos/get_pk_137/00003.png new file mode 100644 index 0000000..1fbf36d Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_137/00003.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_137/00004.png b/tests/ragger/snapshots/nanos/get_pk_137/00004.png new file mode 100644 index 0000000..66c411c Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_137/00004.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_137/00005.png b/tests/ragger/snapshots/nanos/get_pk_137/00005.png new file mode 100644 index 0000000..ce795f3 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_137/00005.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_2/00000.png b/tests/ragger/snapshots/nanos/get_pk_2/00000.png new file mode 100644 index 0000000..63778c4 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_2/00000.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_2/00001.png b/tests/ragger/snapshots/nanos/get_pk_2/00001.png new file mode 100644 index 0000000..7c0b047 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_2/00001.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_2/00002.png b/tests/ragger/snapshots/nanos/get_pk_2/00002.png new file mode 100644 index 0000000..94d8888 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_2/00002.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_2/00003.png b/tests/ragger/snapshots/nanos/get_pk_2/00003.png new file mode 100644 index 0000000..1fbf36d Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_2/00003.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_2/00004.png b/tests/ragger/snapshots/nanos/get_pk_2/00004.png new file mode 100644 index 0000000..66c411c Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_2/00004.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_2/00005.png b/tests/ragger/snapshots/nanos/get_pk_2/00005.png new file mode 100644 index 0000000..ce795f3 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_2/00005.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_5/00000.png b/tests/ragger/snapshots/nanos/get_pk_5/00000.png new file mode 100644 index 0000000..63778c4 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_5/00000.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_5/00001.png b/tests/ragger/snapshots/nanos/get_pk_5/00001.png new file mode 100644 index 0000000..7c0b047 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_5/00001.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_5/00002.png b/tests/ragger/snapshots/nanos/get_pk_5/00002.png new file mode 100644 index 0000000..94d8888 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_5/00002.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_5/00003.png b/tests/ragger/snapshots/nanos/get_pk_5/00003.png new file mode 100644 index 0000000..1fbf36d Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_5/00003.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_5/00004.png b/tests/ragger/snapshots/nanos/get_pk_5/00004.png new file mode 100644 index 0000000..66c411c Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_5/00004.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_5/00005.png b/tests/ragger/snapshots/nanos/get_pk_5/00005.png new file mode 100644 index 0000000..ce795f3 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_5/00005.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_None/00000.png b/tests/ragger/snapshots/nanos/get_pk_None/00000.png new file mode 100644 index 0000000..63778c4 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_None/00000.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_None/00001.png b/tests/ragger/snapshots/nanos/get_pk_None/00001.png new file mode 100644 index 0000000..7c0b047 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_None/00001.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_None/00002.png b/tests/ragger/snapshots/nanos/get_pk_None/00002.png new file mode 100644 index 0000000..94d8888 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_None/00002.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_None/00003.png b/tests/ragger/snapshots/nanos/get_pk_None/00003.png new file mode 100644 index 0000000..1fbf36d Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_None/00003.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_None/00004.png b/tests/ragger/snapshots/nanos/get_pk_None/00004.png new file mode 100644 index 0000000..66c411c Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_None/00004.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_None/00005.png b/tests/ragger/snapshots/nanos/get_pk_None/00005.png new file mode 100644 index 0000000..ce795f3 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_None/00005.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_rejected/00000.png b/tests/ragger/snapshots/nanos/get_pk_rejected/00000.png new file mode 100644 index 0000000..63778c4 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_rejected/00000.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_rejected/00001.png b/tests/ragger/snapshots/nanos/get_pk_rejected/00001.png new file mode 100644 index 0000000..7c0b047 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_rejected/00001.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_rejected/00002.png b/tests/ragger/snapshots/nanos/get_pk_rejected/00002.png new file mode 100644 index 0000000..94d8888 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_rejected/00002.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_rejected/00003.png b/tests/ragger/snapshots/nanos/get_pk_rejected/00003.png new file mode 100644 index 0000000..1fbf36d Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_rejected/00003.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_rejected/00004.png b/tests/ragger/snapshots/nanos/get_pk_rejected/00004.png new file mode 100644 index 0000000..66c411c Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_rejected/00004.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_rejected/00005.png b/tests/ragger/snapshots/nanos/get_pk_rejected/00005.png new file mode 100644 index 0000000..9c7e704 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_rejected/00005.png differ diff --git a/tests/ragger/snapshots/nanos/get_pk_rejected/00006.png b/tests/ragger/snapshots/nanos/get_pk_rejected/00006.png new file mode 100644 index 0000000..ce795f3 Binary files /dev/null and b/tests/ragger/snapshots/nanos/get_pk_rejected/00006.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_1/00000.png b/tests/ragger/snapshots/nanosp/get_pk_1/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_1/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_1/00001.png b/tests/ragger/snapshots/nanosp/get_pk_1/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_1/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_1/00002.png b/tests/ragger/snapshots/nanosp/get_pk_1/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_1/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_1/00003.png b/tests/ragger/snapshots/nanosp/get_pk_1/00003.png new file mode 100644 index 0000000..a58590b Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_1/00003.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_137/00000.png b/tests/ragger/snapshots/nanosp/get_pk_137/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_137/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_137/00001.png b/tests/ragger/snapshots/nanosp/get_pk_137/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_137/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_137/00002.png b/tests/ragger/snapshots/nanosp/get_pk_137/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_137/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_137/00003.png b/tests/ragger/snapshots/nanosp/get_pk_137/00003.png new file mode 100644 index 0000000..a58590b Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_137/00003.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_2/00000.png b/tests/ragger/snapshots/nanosp/get_pk_2/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_2/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_2/00001.png b/tests/ragger/snapshots/nanosp/get_pk_2/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_2/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_2/00002.png b/tests/ragger/snapshots/nanosp/get_pk_2/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_2/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_2/00003.png b/tests/ragger/snapshots/nanosp/get_pk_2/00003.png new file mode 100644 index 0000000..a58590b Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_2/00003.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_5/00000.png b/tests/ragger/snapshots/nanosp/get_pk_5/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_5/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_5/00001.png b/tests/ragger/snapshots/nanosp/get_pk_5/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_5/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_5/00002.png b/tests/ragger/snapshots/nanosp/get_pk_5/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_5/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_5/00003.png b/tests/ragger/snapshots/nanosp/get_pk_5/00003.png new file mode 100644 index 0000000..a58590b Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_5/00003.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_None/00000.png b/tests/ragger/snapshots/nanosp/get_pk_None/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_None/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_None/00001.png b/tests/ragger/snapshots/nanosp/get_pk_None/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_None/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_None/00002.png b/tests/ragger/snapshots/nanosp/get_pk_None/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_None/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_None/00003.png b/tests/ragger/snapshots/nanosp/get_pk_None/00003.png new file mode 100644 index 0000000..a58590b Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_None/00003.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_rejected/00000.png b/tests/ragger/snapshots/nanosp/get_pk_rejected/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_rejected/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_rejected/00001.png b/tests/ragger/snapshots/nanosp/get_pk_rejected/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_rejected/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_rejected/00002.png b/tests/ragger/snapshots/nanosp/get_pk_rejected/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_rejected/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_rejected/00003.png b/tests/ragger/snapshots/nanosp/get_pk_rejected/00003.png new file mode 100644 index 0000000..c922246 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_rejected/00003.png differ diff --git a/tests/ragger/snapshots/nanosp/get_pk_rejected/00004.png b/tests/ragger/snapshots/nanosp/get_pk_rejected/00004.png new file mode 100644 index 0000000..a58590b Binary files /dev/null and b/tests/ragger/snapshots/nanosp/get_pk_rejected/00004.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_1/00000.png b/tests/ragger/snapshots/nanox/get_pk_1/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_1/00000.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_1/00001.png b/tests/ragger/snapshots/nanox/get_pk_1/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_1/00001.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_1/00002.png b/tests/ragger/snapshots/nanox/get_pk_1/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_1/00002.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_1/00003.png b/tests/ragger/snapshots/nanox/get_pk_1/00003.png new file mode 100644 index 0000000..6578872 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_1/00003.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_137/00000.png b/tests/ragger/snapshots/nanox/get_pk_137/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_137/00000.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_137/00001.png b/tests/ragger/snapshots/nanox/get_pk_137/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_137/00001.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_137/00002.png b/tests/ragger/snapshots/nanox/get_pk_137/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_137/00002.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_137/00003.png b/tests/ragger/snapshots/nanox/get_pk_137/00003.png new file mode 100644 index 0000000..6578872 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_137/00003.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_2/00000.png b/tests/ragger/snapshots/nanox/get_pk_2/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_2/00000.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_2/00001.png b/tests/ragger/snapshots/nanox/get_pk_2/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_2/00001.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_2/00002.png b/tests/ragger/snapshots/nanox/get_pk_2/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_2/00002.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_2/00003.png b/tests/ragger/snapshots/nanox/get_pk_2/00003.png new file mode 100644 index 0000000..6578872 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_2/00003.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_5/00000.png b/tests/ragger/snapshots/nanox/get_pk_5/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_5/00000.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_5/00001.png b/tests/ragger/snapshots/nanox/get_pk_5/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_5/00001.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_5/00002.png b/tests/ragger/snapshots/nanox/get_pk_5/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_5/00002.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_5/00003.png b/tests/ragger/snapshots/nanox/get_pk_5/00003.png new file mode 100644 index 0000000..6578872 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_5/00003.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_None/00000.png b/tests/ragger/snapshots/nanox/get_pk_None/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_None/00000.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_None/00001.png b/tests/ragger/snapshots/nanox/get_pk_None/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_None/00001.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_None/00002.png b/tests/ragger/snapshots/nanox/get_pk_None/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_None/00002.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_None/00003.png b/tests/ragger/snapshots/nanox/get_pk_None/00003.png new file mode 100644 index 0000000..6578872 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_None/00003.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_rejected/00000.png b/tests/ragger/snapshots/nanox/get_pk_rejected/00000.png new file mode 100644 index 0000000..a487005 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_rejected/00000.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_rejected/00001.png b/tests/ragger/snapshots/nanox/get_pk_rejected/00001.png new file mode 100644 index 0000000..da2878f Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_rejected/00001.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_rejected/00002.png b/tests/ragger/snapshots/nanox/get_pk_rejected/00002.png new file mode 100644 index 0000000..53ae651 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_rejected/00002.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_rejected/00003.png b/tests/ragger/snapshots/nanox/get_pk_rejected/00003.png new file mode 100644 index 0000000..e90cd9d Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_rejected/00003.png differ diff --git a/tests/ragger/snapshots/nanox/get_pk_rejected/00004.png b/tests/ragger/snapshots/nanox/get_pk_rejected/00004.png new file mode 100644 index 0000000..6578872 Binary files /dev/null and b/tests/ragger/snapshots/nanox/get_pk_rejected/00004.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_1/00000.png b/tests/ragger/snapshots/stax/get_pk_1/00000.png new file mode 100644 index 0000000..7593390 Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_1/00001.png b/tests/ragger/snapshots/stax/get_pk_1/00001.png new file mode 100644 index 0000000..16af88b Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_1/00002.png b/tests/ragger/snapshots/stax/get_pk_1/00002.png new file mode 100644 index 0000000..f59899e Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_137/00000.png b/tests/ragger/snapshots/stax/get_pk_137/00000.png new file mode 100644 index 0000000..21af728 Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_137/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_137/00001.png b/tests/ragger/snapshots/stax/get_pk_137/00001.png new file mode 100644 index 0000000..16af88b Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_137/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_137/00002.png b/tests/ragger/snapshots/stax/get_pk_137/00002.png new file mode 100644 index 0000000..f59899e Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_137/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_137/00003.png b/tests/ragger/snapshots/stax/get_pk_137/00003.png new file mode 100644 index 0000000..b1ff1b3 Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_137/00003.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_2/00000.png b/tests/ragger/snapshots/stax/get_pk_2/00000.png new file mode 100644 index 0000000..f70d464 Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_2/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_2/00001.png b/tests/ragger/snapshots/stax/get_pk_2/00001.png new file mode 100644 index 0000000..16af88b Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_2/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_2/00002.png b/tests/ragger/snapshots/stax/get_pk_2/00002.png new file mode 100644 index 0000000..f59899e Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_2/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_2/00003.png b/tests/ragger/snapshots/stax/get_pk_2/00003.png new file mode 100644 index 0000000..b1ff1b3 Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_2/00003.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_5/00000.png b/tests/ragger/snapshots/stax/get_pk_5/00000.png new file mode 100644 index 0000000..8726e42 Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_5/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_5/00001.png b/tests/ragger/snapshots/stax/get_pk_5/00001.png new file mode 100644 index 0000000..16af88b Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_5/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_5/00002.png b/tests/ragger/snapshots/stax/get_pk_5/00002.png new file mode 100644 index 0000000..f59899e Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_5/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_5/00003.png b/tests/ragger/snapshots/stax/get_pk_5/00003.png new file mode 100644 index 0000000..b1ff1b3 Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_5/00003.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_None/00000.png b/tests/ragger/snapshots/stax/get_pk_None/00000.png new file mode 100644 index 0000000..7593390 Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_None/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_None/00001.png b/tests/ragger/snapshots/stax/get_pk_None/00001.png new file mode 100644 index 0000000..16af88b Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_None/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_None/00002.png b/tests/ragger/snapshots/stax/get_pk_None/00002.png new file mode 100644 index 0000000..f59899e Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_None/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_rejected/00000.png b/tests/ragger/snapshots/stax/get_pk_rejected/00000.png new file mode 100644 index 0000000..7593390 Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_rejected/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_rejected/00001.png b/tests/ragger/snapshots/stax/get_pk_rejected/00001.png new file mode 100644 index 0000000..16af88b Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_rejected/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_rejected/00002.png b/tests/ragger/snapshots/stax/get_pk_rejected/00002.png new file mode 100644 index 0000000..b0eba3f Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_rejected/00002.png differ diff --git a/tests/ragger/test_get_address.py b/tests/ragger/test_get_address.py new file mode 100644 index 0000000..33ab5f8 --- /dev/null +++ b/tests/ragger/test_get_address.py @@ -0,0 +1,80 @@ +import pytest +from typing import Optional +from pathlib import Path +from ragger.error import ExceptionRAPDU +from ragger.firmware import Firmware +from ragger.backend import BackendInterface +from ragger.navigator import Navigator, NavInsID +from ledger_app_clients.ethereum.client import EthAppClient, StatusWord +from ledger_app_clients.ethereum.settings import SettingID, settings_toggle +import ledger_app_clients.ethereum.response_parser as ResponseParser +from ragger.bip import calculate_public_key_and_chaincode, CurveChoice + +ROOT_SCREENSHOT_PATH = Path(__file__).parent + +@pytest.fixture(params=[True, False]) +def with_chaincode(request) -> bool: + return request.param + +@pytest.fixture(params=[None, 1, 2, 5, 137]) +def chain(request) -> Optional[int]: + return request.param + +def get_moves(firmware: Firmware, + navigator: BackendInterface, + chain: Optional[int] = None, + reject: bool = False): + moves = list() + + if firmware.is_nano: + moves += [ NavInsID.RIGHT_CLICK ] + if firmware.device == "nanos": + moves += [ NavInsID.RIGHT_CLICK ] * 3 + else: + moves += [ NavInsID.RIGHT_CLICK ] + if reject: + moves += [ NavInsID.RIGHT_CLICK ] + moves += [ NavInsID.BOTH_CLICK ] + else: + moves += [ NavInsID.USE_CASE_REVIEW_TAP ] + if chain is not None and chain > 1: + moves += [ NavInsID.USE_CASE_ADDRESS_CONFIRMATION_TAP ] + if reject: + moves += [ NavInsID.USE_CASE_ADDRESS_CONFIRMATION_CANCEL ] + else: + moves += [ NavInsID.USE_CASE_ADDRESS_CONFIRMATION_CONFIRM ] + + return moves + +def test_get_pk_rejected(firmware: Firmware, + backend: BackendInterface, + navigator: Navigator): + app_client = EthAppClient(backend) + + try: + with app_client.get_public_addr(): + navigator.navigate_and_compare(ROOT_SCREENSHOT_PATH, + "get_pk_rejected", + get_moves(firmware, navigator, reject=True)) + except ExceptionRAPDU as e: + assert e.status == StatusWord.CONDITION_NOT_SATISFIED + else: + assert False # An exception should have been raised + +def test_get_pk(firmware: Firmware, + backend: BackendInterface, + navigator: Navigator, + with_chaincode: bool, + chain: Optional[int]): + app_client = EthAppClient(backend) + + with app_client.get_public_addr(chaincode=with_chaincode, chain_id=chain): + navigator.navigate_and_compare(ROOT_SCREENSHOT_PATH, + "get_pk_%s" % (chain), + get_moves(firmware, navigator, chain=chain)) + pk, addr, chaincode = ResponseParser.pk_addr(app_client.response().data, with_chaincode) + ref_pk, ref_chaincode = calculate_public_key_and_chaincode(curve=CurveChoice.Secp256k1, + path="m/44'/60'/0'/0/0") + assert pk.hex() == ref_pk + if with_chaincode: + assert chaincode.hex() == ref_chaincode