diff --git a/speculos/cxlib/flex-api-level-cx-22.elf b/speculos/cxlib/flex-api-level-cx-22.elf new file mode 100755 index 00000000..de8e8572 Binary files /dev/null and b/speculos/cxlib/flex-api-level-cx-22.elf differ diff --git a/speculos/cxlib/nanosp-api-level-cx-22.elf b/speculos/cxlib/nanosp-api-level-cx-22.elf new file mode 100755 index 00000000..2406863a Binary files /dev/null and b/speculos/cxlib/nanosp-api-level-cx-22.elf differ diff --git a/speculos/cxlib/nanox-api-level-cx-22.elf b/speculos/cxlib/nanox-api-level-cx-22.elf new file mode 100755 index 00000000..3fa26eb2 Binary files /dev/null and b/speculos/cxlib/nanox-api-level-cx-22.elf differ diff --git a/speculos/cxlib/stax-api-level-cx-22.elf b/speculos/cxlib/stax-api-level-cx-22.elf new file mode 100755 index 00000000..de8e8572 Binary files /dev/null and b/speculos/cxlib/stax-api-level-cx-22.elf differ diff --git a/speculos/fonts/flex-fonts-22.bin b/speculos/fonts/flex-fonts-22.bin new file mode 120000 index 00000000..bde526b9 --- /dev/null +++ b/speculos/fonts/flex-fonts-22.bin @@ -0,0 +1 @@ +flex-fonts-21.bin \ No newline at end of file diff --git a/speculos/fonts/nanosp-fonts-22.bin b/speculos/fonts/nanosp-fonts-22.bin new file mode 100644 index 00000000..7a565f3d Binary files /dev/null and b/speculos/fonts/nanosp-fonts-22.bin differ diff --git a/speculos/fonts/nanox-fonts-22.bin b/speculos/fonts/nanox-fonts-22.bin new file mode 100644 index 00000000..99c5d3ed Binary files /dev/null and b/speculos/fonts/nanox-fonts-22.bin differ diff --git a/speculos/fonts/stax-fonts-22.bin b/speculos/fonts/stax-fonts-22.bin new file mode 120000 index 00000000..5d48ba2d --- /dev/null +++ b/speculos/fonts/stax-fonts-22.bin @@ -0,0 +1 @@ +stax-fonts-21.bin \ No newline at end of file diff --git a/src/bolos/fonts_info.c b/src/bolos/fonts_info.c index f89f3f9f..35f88a98 100644 --- a/src/bolos/fonts_info.c +++ b/src/bolos/fonts_info.c @@ -232,6 +232,7 @@ void parse_fonts(void *code, unsigned long text_load_addr, case SDK_API_LEVEL_19: case SDK_API_LEVEL_20: case SDK_API_LEVEL_21: + case SDK_API_LEVEL_22: break; default: // Unsupported API_LEVEL, will not parse fonts! diff --git a/src/launcher.c b/src/launcher.c index fefbe80c..01c4dedf 100644 --- a/src/launcher.c +++ b/src/launcher.c @@ -795,7 +795,7 @@ int main(int argc, char *argv[]) if (sdk_version != SDK_NANO_X_1_2 && sdk_version != SDK_NANO_X_2_0 && sdk_version != SDK_NANO_X_2_0_2 && sdk_version != SDK_API_LEVEL_1 && sdk_version != SDK_API_LEVEL_5 && sdk_version != SDK_API_LEVEL_12 && - sdk_version != SDK_API_LEVEL_18) { + sdk_version != SDK_API_LEVEL_18 && sdk_version != SDK_API_LEVEL_22) { errx(1, "invalid SDK version for the Ledger Nano X"); } break; @@ -807,7 +807,8 @@ int main(int argc, char *argv[]) case MODEL_NANO_SP: if (sdk_version != SDK_NANO_SP_1_0 && sdk_version != SDK_NANO_SP_1_0_3 && sdk_version != SDK_API_LEVEL_1 && sdk_version != SDK_API_LEVEL_5 && - sdk_version != SDK_API_LEVEL_12 && sdk_version != SDK_API_LEVEL_18) { + sdk_version != SDK_API_LEVEL_12 && sdk_version != SDK_API_LEVEL_18 && + sdk_version != SDK_API_LEVEL_22) { errx(1, "invalid SDK version for the Ledger NanoSP"); } break; @@ -818,13 +819,15 @@ int main(int argc, char *argv[]) sdk_version != SDK_API_LEVEL_10 && sdk_version != SDK_API_LEVEL_11 && sdk_version != SDK_API_LEVEL_12 && sdk_version != SDK_API_LEVEL_13 && sdk_version != SDK_API_LEVEL_14 && sdk_version != SDK_API_LEVEL_15 && - sdk_version != SDK_API_LEVEL_20 && sdk_version != SDK_API_LEVEL_21) { + sdk_version != SDK_API_LEVEL_20 && sdk_version != SDK_API_LEVEL_21 && + sdk_version != SDK_API_LEVEL_22) { errx(1, "invalid SDK version for the Ledger Stax"); } break; case MODEL_FLEX: if (sdk_version != SDK_API_LEVEL_18 && sdk_version != SDK_API_LEVEL_19 && - sdk_version != SDK_API_LEVEL_20 && sdk_version != SDK_API_LEVEL_21) { + sdk_version != SDK_API_LEVEL_20 && sdk_version != SDK_API_LEVEL_21 && + sdk_version != SDK_API_LEVEL_22) { errx(1, "invalid SDK version for the Ledger Flex"); } break; diff --git a/src/sdk.h b/src/sdk.h index 21474684..7e702802 100644 --- a/src/sdk.h +++ b/src/sdk.h @@ -36,6 +36,7 @@ typedef enum { SDK_API_LEVEL_19, SDK_API_LEVEL_20, SDK_API_LEVEL_21, + SDK_API_LEVEL_22, SDK_COUNT } sdk_version_t;