Skip to content
This repository was archived by the owner on Apr 14, 2026. It is now read-only.

Migrate CodeQL workflow to reusable workflow#6

Closed
mbrousset-ledger wants to merge 1 commit intodevelopfrom
mbr/migrate-legacy-image
Closed

Migrate CodeQL workflow to reusable workflow#6
mbrousset-ledger wants to merge 1 commit intodevelopfrom
mbr/migrate-legacy-image

Conversation

@mbrousset-ledger
Copy link
Copy Markdown

This PR migrates the CodeQL workflow to use the centralized reusable workflow from LedgerHQ/ledger-app-workflows.

@github-actions
Copy link
Copy Markdown

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-format (v18.1.8) reports: 1 file(s) not formatted
  • app/src/parser_impl.h
clang-tidy (v18.1.8) reports: 1767 concern(s)
  • app/src/substrate/substrate_methods.h:31:1: error: [misc-include-cleaner]

    included header substrate_types_V2.h is not used directly

       31 | #include "substrate_types_V2.h"
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       32 | 
  • app/src/crypto.c:19:1: error: [misc-include-cleaner]

    included header base58.h is not used directly

       19 | #include "base58.h"
          | ^~~~~~~~~~~~~~~~~~~
       20 | #include "coin.h"
  • app/src/crypto.c:20:1: error: [misc-include-cleaner]

    included header coin.h is not used directly

       20 | #include "coin.h"
          | ^~~~~~~~~~~~~~~~~
       21 | #include "crypto_helper.h"
  • app/src/crypto.c:22:1: error: [misc-include-cleaner]

    included header cx.h is not used directly

       22 | #include "cx.h"
          | ^~~~~~~~~~~~~~~
       23 | #include "zxmacros.h"
  • app/src/crypto.c:23:1: error: [misc-include-cleaner]

    included header zxmacros.h is not used directly

       23 | #include "zxmacros.h"
          | ^~~~~~~~~~~~~~~~~~~~~
       24 | 
  • app/src/crypto.c:25:1: error: [misc-include-cleaner]

    no header providing "uint32_t" is directly included

       18 | 
       19 | #include "base58.h"
       20 | #include "coin.h"
       21 | #include "crypto_helper.h"
       22 | #include "cx.h"
       23 | #include "zxmacros.h"
       24 | 
       25 | uint32_t hdPath[HDPATH_LEN_DEFAULT];
          | ^
  • app/src/crypto.c:25:17: error: [misc-include-cleaner]

    no header providing "HDPATH_LEN_DEFAULT" is directly included

       23 | #include "zxmacros.h"
       24 | 
       25 | uint32_t hdPath[HDPATH_LEN_DEFAULT];
          |                 ^
  • app/src/crypto.c:27:8: error: [misc-include-cleaner]

    no header providing "zxerr_t" is directly included

       23 | #include "zxmacros.h"
       24 | 
       25 | uint32_t hdPath[HDPATH_LEN_DEFAULT];
       26 | 
       27 | static zxerr_t crypto_extractPublicKey(uint8_t *pubKey, uint16_t pubKeyLen) {
          |        ^
  • app/src/crypto.c:27:40: error: [misc-include-cleaner]

    no header providing "uint8_t" is directly included

       27 | static zxerr_t crypto_extractPublicKey(uint8_t *pubKey, uint16_t pubKeyLen) {
          |                                        ^
  • app/src/crypto.c:27:57: error: [misc-include-cleaner]

    no header providing "uint16_t" is directly included

       27 | static zxerr_t crypto_extractPublicKey(uint8_t *pubKey, uint16_t pubKeyLen) {
          |                                                         ^
  • app/src/crypto.c:28:19: error: [misc-include-cleaner]

    no header providing "NULL" is directly included

       18 | 
       19 | #include "base58.h"
       20 | #include "coin.h"
       21 | #include "crypto_helper.h"
       22 | #include "cx.h"
       23 | #include "zxmacros.h"
       24 | 
       25 | uint32_t hdPath[HDPATH_LEN_DEFAULT];
       26 | 
       27 | static zxerr_t crypto_extractPublicKey(uint8_t *pubKey, uint16_t pubKeyLen) {
       28 |     if (pubKey == NULL || pubKeyLen < PK_LEN_25519) {
          |                   ^
  • app/src/crypto.c:28:39: error: [misc-include-cleaner]

    no header providing "PK_LEN_25519" is directly included

       28 |     if (pubKey == NULL || pubKeyLen < PK_LEN_25519) {
          |                                       ^
  • app/src/crypto.c:29:16: error: [misc-include-cleaner]

    no header providing "zxerr_buffer_too_small" is directly included

       29 |         return zxerr_buffer_too_small;
          |                ^
  • app/src/crypto.c:32:21: error: [misc-include-cleaner]

    no header providing "zxerr_unknown" is directly included

       32 |     zxerr_t error = zxerr_unknown;
          |                     ^
  • app/src/crypto.c:33:5: error: [misc-include-cleaner]

    no header providing "cx_ecfp_public_key_t" is directly included

       23 | #include "zxmacros.h"
       24 | 
       25 | uint32_t hdPath[HDPATH_LEN_DEFAULT];
       26 | 
       27 | static zxerr_t crypto_extractPublicKey(uint8_t *pubKey, uint16_t pubKeyLen) {
       28 |     if (pubKey == NULL || pubKeyLen < PK_LEN_25519) {
       29 |         return zxerr_buffer_too_small;
       30 |     }
       31 | 
       32 |     zxerr_t error = zxerr_unknown;
       33 |     cx_ecfp_public_key_t cx_publicKey;
          |     ^
  • app/src/crypto.c:34:5: error: [misc-include-cleaner]

    no header providing "cx_ecfp_private_key_t" is directly included

       34 |     cx_ecfp_private_key_t cx_privateKey;
          |     ^
  • app/src/crypto.c:35:28: error: [misc-include-cleaner]

    no header providing "SK_LEN_25519" is directly included

       35 |     uint8_t privateKeyData[SK_LEN_25519] = {0};
          |                            ^
  • app/src/crypto.c:38:5: error: [misc-include-cleaner]

    no header providing "CATCH_CXERROR" is directly included

       24 | 
       25 | uint32_t hdPath[HDPATH_LEN_DEFAULT];
       26 | 
       27 | static zxerr_t crypto_extractPublicKey(uint8_t *pubKey, uint16_t pubKeyLen) {
       28 |     if (pubKey == NULL || pubKeyLen < PK_LEN_25519) {
       29 |         return zxerr_buffer_too_small;
       30 |     }
       31 | 
       32 |     zxerr_t error = zxerr_unknown;
       33 |     cx_ecfp_public_key_t cx_publicKey;
       34 |     cx_ecfp_private_key_t cx_privateKey;
       35 |     uint8_t privateKeyData[SK_LEN_25519] = {0};
       36 | 
       37 |     // Generate keys
       38 |     CATCH_CXERROR(os_derive_bip32_with_seed_no_throw(HDW_NORMAL, CX_CURVE_Ed25519, hdPath, HDPATH_LEN_DEFAULT,
          |     ^
  • app/src/crypto.c:38:19: error: [misc-include-cleaner]

    no header providing "os_derive_bip32_with_seed_no_throw" is directly included

       23 | #include "zxmacros.h"
       24 | 
       25 | uint32_t hdPath[HDPATH_LEN_DEFAULT];
       26 | 
       27 | static zxerr_t crypto_extractPublicKey(uint8_t *pubKey, uint16_t pubKeyLen) {
       28 |     if (pubKey == NULL || pubKeyLen < PK_LEN_25519) {
       29 |         return zxerr_buffer_too_small;
       30 |     }
       31 | 
       32 |     zxerr_t error = zxerr_unknown;
       33 |     cx_ecfp_public_key_t cx_publicKey;
       34 |     cx_ecfp_private_key_t cx_privateKey;
       35 |     uint8_t privateKeyData[SK_LEN_25519] = {0};
       36 | 
       37 |     // Generate keys
       38 |     CATCH_CXERROR(os_derive_bip32_with_seed_no_throw(HDW_NORMAL, CX_CURVE_Ed25519, hdPath, HDPATH_LEN_DEFAULT,
          |                   ^
  • app/src/crypto.c:38:54: error: [misc-include-cleaner]

    no header providing "HDW_NORMAL" is directly included

       38 |     CATCH_CXERROR(os_derive_bip32_with_seed_no_throw(HDW_NORMAL, CX_CURVE_Ed25519, hdPath, HDPATH_LEN_DEFAULT,
          |                                                      ^
  • app/src/crypto.c:38:66: error: [misc-include-cleaner]

    no header providing "CX_CURVE_Ed25519" is directly included

       23 | #include "zxmacros.h"
       24 | 
       25 | uint32_t hdPath[HDPATH_LEN_DEFAULT];
       26 | 
       27 | static zxerr_t crypto_extractPublicKey(uint8_t *pubKey, uint16_t pubKeyLen) {
       28 |     if (pubKey == NULL || pubKeyLen < PK_LEN_25519) {
       29 |         return zxerr_buffer_too_small;
       30 |     }
       31 | 
       32 |     zxerr_t error = zxerr_unknown;
       33 |     cx_ecfp_public_key_t cx_publicKey;
       34 |     cx_ecfp_private_key_t cx_privateKey;
       35 |     uint8_t privateKeyData[SK_LEN_25519] = {0};
       36 | 
       37 |     // Generate keys
       38 |     CATCH_CXERROR(os_derive_bip32_with_seed_no_throw(HDW_NORMAL, CX_CURVE_Ed25519, hdPath, HDPATH_LEN_DEFAULT,
          |                                                                  ^
  • app/src/crypto.c:41:19: error: [misc-include-cleaner]

    no header providing "cx_ecfp_init_private_key_no_throw" is directly included

       41 |     CATCH_CXERROR(cx_ecfp_init_private_key_no_throw(CX_CURVE_Ed25519, privateKeyData, 32, &cx_privateKey));
          |                   ^
  • app/src/crypto.c:42:19: error: [misc-include-cleaner]

    no header providing "cx_ecfp_init_public_key_no_throw" is directly included

       42 |     CATCH_CXERROR(cx_ecfp_init_public_key_no_throw(CX_CURVE_Ed25519, NULL, 0, &cx_publicKey));
          |                   ^
  • app/src/crypto.c:43:19: error: [misc-include-cleaner]

    no header providing "cx_ecfp_generate_pair_no_throw" is directly included

       43 |     CATCH_CXERROR(cx_ecfp_generate_pair_no_throw(CX_CURVE_Ed25519, &cx_publicKey, &cx_privateKey, 1));
          |                   ^
  • app/src/crypto.c:45:36: error: [readability-magic-numbers]

    64 is a magic number; consider replacing it with a named constant

       45 |         pubKey[i] = cx_publicKey.W[64 - i];
          |                                    ^
  • app/src/crypto.c:49:16: error: [readability-magic-numbers]

    31 is a magic number; consider replacing it with a named constant

       49 |         pubKey[31] |= 0x80;
          |                ^
  • app/src/crypto.c:49:23: error: [readability-magic-numbers]

    0x80 is a magic number; consider replacing it with a named constant

       49 |         pubKey[31] |= 0x80;
          |                       ^
  • app/src/crypto.c:51:13: error: [misc-include-cleaner]

    no header providing "zxerr_ok" is directly included

       51 |     error = zxerr_ok;
          |             ^
  • app/src/crypto.c:54:5: error: [misc-include-cleaner]

    no header providing "MEMZERO" is directly included

       54 |     MEMZERO(&cx_privateKey, sizeof(cx_privateKey));
          |     ^
  • app/src/crypto.c:63:9: error: [readability-function-cognitive-complexity]

    function 'crypto_sign_ed25519' has cognitive complexity of 28 (threshold 25)

       63 | zxerr_t crypto_sign_ed25519(uint8_t *signature, uint16_t signatureMaxlen, const uint8_t *message, uint16_t messageLen) {
          |         ^
    /__w/app-reef/app-reef/app/src/crypto.c:64:5: note: +1, including nesting penalty of 0, nesting level increased to 1
       64 |     if (signature == NULL || message == NULL || signatureMaxlen < SIG_PLUS_TYPE_LEN || messageLen == 0) {
          |     ^
    /__w/app-reef/app-reef/app/src/crypto.c:64:85: note: +1
       64 |     if (signature == NULL || message == NULL || signatureMaxlen < SIG_PLUS_TYPE_LEN || messageLen == 0) {
          |                                                                                     ^
    /__w/app-reef/app-reef/app/src/crypto.c:75:5: note: +1, including nesting penalty of 0, nesting level increased to 1
       75 |     if (messageLen > MAX_SIGN_SIZE) {
          |     ^
    /__w/app-reef/app-reef/app/src/crypto.c:78:9: note: +2, including nesting penalty of 1, nesting level increased to 2
       78 |         CATCH_CXERROR(cx_blake2b_init_no_throw(&ctx, 256));
          |         ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:78:5: note: expanded from macro 'CATCH_CXERROR'
       78 |     do {                          \
          |     ^
    /__w/app-reef/app-reef/app/src/crypto.c:78:9: note: +3, including nesting penalty of 2, nesting level increased to 3
       78 |         CATCH_CXERROR(cx_blake2b_init_no_throw(&ctx, 256));
          |         ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:80:9: note: expanded from macro 'CATCH_CXERROR'
       80 |         if (__cx_err != CX_OK) {  \
          |         ^
    /__w/app-reef/app-reef/app/src/crypto.c:78:9: note: +1
       78 |         CATCH_CXERROR(cx_blake2b_init_no_throw(&ctx, 256));
          |         ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:81:13: note: expanded from macro 'CATCH_CXERROR'
       81 |             goto catch_cx_error;  \
          |             ^
    /__w/app-reef/app-reef/app/src/crypto.c:79:9: note: +2, including nesting penalty of 1, nesting level increased to 2
       79 |         CATCH_CXERROR(cx_hash_no_throw(&ctx.header, CX_LAST, message, messageLen, messageDigest, BLAKE2B_DIGEST_SIZE));
          |         ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:78:5: note: expanded from macro 'CATCH_CXERROR'
       78 |     do {                          \
          |     ^
    /__w/app-reef/app-reef/app/src/crypto.c:79:9: note: +3, including nesting penalty of 2, nesting level increased to 3
       79 |         CATCH_CXERROR(cx_hash_no_throw(&ctx.header, CX_LAST, message, messageLen, messageDigest, BLAKE2B_DIGEST_SIZE));
          |         ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:80:9: note: expanded from macro 'CATCH_CXERROR'
       80 |         if (__cx_err != CX_OK) {  \
          |         ^
    /__w/app-reef/app-reef/app/src/crypto.c:79:9: note: +1
       79 |         CATCH_CXERROR(cx_hash_no_throw(&ctx.header, CX_LAST, message, messageLen, messageDigest, BLAKE2B_DIGEST_SIZE));
          |         ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:81:13: note: expanded from macro 'CATCH_CXERROR'
       81 |             goto catch_cx_error;  \
          |             ^
    /__w/app-reef/app-reef/app/src/crypto.c:85:5: note: +1, including nesting penalty of 0, nesting level increased to 1
       85 |     CATCH_CXERROR(os_derive_bip32_with_seed_no_throw(HDW_NORMAL, CX_CURVE_Ed25519, hdPath, HDPATH_LEN_DEFAULT,
          |     ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:78:5: note: expanded from macro 'CATCH_CXERROR'
       78 |     do {                          \
          |     ^
    /__w/app-reef/app-reef/app/src/crypto.c:85:5: note: +2, including nesting penalty of 1, nesting level increased to 2
       85 |     CATCH_CXERROR(os_derive_bip32_with_seed_no_throw(HDW_NORMAL, CX_CURVE_Ed25519, hdPath, HDPATH_LEN_DEFAULT,
          |     ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:80:9: note: expanded from macro 'CATCH_CXERROR'
       80 |         if (__cx_err != CX_OK) {  \
          |         ^
    /__w/app-reef/app-reef/app/src/crypto.c:85:5: note: +1
       85 |     CATCH_CXERROR(os_derive_bip32_with_seed_no_throw(HDW_NORMAL, CX_CURVE_Ed25519, hdPath, HDPATH_LEN_DEFAULT,
          |     ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:81:13: note: expanded from macro 'CATCH_CXERROR'
       81 |             goto catch_cx_error;  \
          |             ^
    /__w/app-reef/app-reef/app/src/crypto.c:88:5: note: +1, including nesting penalty of 0, nesting level increased to 1
       88 |     CATCH_CXERROR(
          |     ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:78:5: note: expanded from macro 'CATCH_CXERROR'
       78 |     do {                          \
          |     ^
    /__w/app-reef/app-reef/app/src/crypto.c:88:5: note: +2, including nesting penalty of 1, nesting level increased to 2
       88 |     CATCH_CXERROR(
          |     ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:80:9: note: expanded from macro 'CATCH_CXERROR'
       80 |         if (__cx_err != CX_OK) {  \
          |         ^
    /__w/app-reef/app-reef/app/src/crypto.c:88:5: note: +1
       88 |     CATCH_CXERROR(
          |     ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:81:13: note: expanded from macro 'CATCH_CXERROR'
       81 |             goto catch_cx_error;  \
          |             ^
    /__w/app-reef/app-reef/app/src/crypto.c:93:5: note: +1, including nesting penalty of 0, nesting level increased to 1
       93 |     CATCH_CXERROR(
          |     ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:78:5: note: expanded from macro 'CATCH_CXERROR'
       78 |     do {                          \
          |     ^
    /__w/app-reef/app-reef/app/src/crypto.c:93:5: note: +2, including nesting penalty of 1, nesting level increased to 2
       93 |     CATCH_CXERROR(
          |     ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:80:9: note: expanded from macro 'CATCH_CXERROR'
       80 |         if (__cx_err != CX_OK) {  \
          |         ^
    /__w/app-reef/app-reef/app/src/crypto.c:93:5: note: +1
       93 |     CATCH_CXERROR(
          |     ^
    ../deps/ledger-zxlib/include/zxmacros_ledger.h:81:13: note: expanded from macro 'CATCH_CXERROR'
       81 |             goto catch_cx_error;  \
          |             ^
    /__w/app-reef/app-reef/app/src/crypto.c:101:5: note: +1, including nesting penalty of 0, nesting level increased to 1
      101 |     if (error != zxerr_ok) {
          |     ^
  • app/src/crypto.c:64:67: error: [misc-include-cleaner]

    no header providing "SIG_PLUS_TYPE_LEN" is directly included

       64 |     if (signature == NULL || message == NULL || signatureMaxlen < SIG_PLUS_TYPE_LEN || messageLen == 0) {
          |                                                                   ^
  • app/src/crypto.c:71:27: error: [misc-include-cleaner]

    no header providing "BLAKE2B_DIGEST_SIZE" is directly included

       71 |     uint8_t messageDigest[BLAKE2B_DIGEST_SIZE] = {0};
          |                           ^
  • app/src/crypto.c:75:22: error: [misc-include-cleaner]

    no header providing "MAX_SIGN_SIZE" is directly included

       75 |     if (messageLen > MAX_SIGN_SIZE) {
          |                      ^
  • app/src/crypto.c:77:9: error: [misc-include-cleaner]

    no header providing "cx_blake2b_t" is directly included

       23 |         cx_blake2b_t ctx;
          |         ^
  • app/src/crypto.c:78:23: error: [misc-include-cleaner]

    no header providing "cx_blake2b_init_no_throw" is directly included

       78 |         CATCH_CXERROR(cx_blake2b_init_no_throw(&ctx, 256));
          |                       ^
  • app/src/crypto.c:79:23: error: [misc-include-cleaner]

    no header providing "cx_hash_no_throw" is directly included

       23 |         CATCH_CXERROR(cx_hash_no_throw(&ctx.header, CX_LAST, message, messageLen, messageDigest, BLAKE2B_DIGEST_SIZE));
          |                       ^
  • app/src/crypto.c:79:53: error: [misc-include-cleaner]

    no header providing "CX_LAST" is directly included

       23 |         CATCH_CXERROR(cx_hash_no_throw(&ctx.header, CX_LAST, message, messageLen, messageDigest, BLAKE2B_DIGEST_SIZE));
          |                                                     ^
  • app/src/crypto.c:89:77: error: [misc-include-cleaner]

    no header providing "SCALAR_LEN_ED25519" is directly included

       89 |         cx_ecfp_init_private_key_no_throw(CX_CURVE_Ed25519, privateKeyData, SCALAR_LEN_ED25519, &cx_privateKey));
          |                                                                             ^
  • app/src/crypto.c:94:9: error: [misc-include-cleaner]

    no header providing "cx_eddsa_sign_no_throw" is directly included

       23 |         cx_eddsa_sign_no_throw(&cx_privateKey, CX_SHA512, toSign, messageLen, signature + 1, signatureMaxlen - 1));
          |         ^
  • app/src/crypto.c:94:48: error: [misc-include-cleaner]

    no header providing "CX_SHA512" is directly included

       94 |         cx_eddsa_sign_no_throw(&cx_privateKey, CX_SHA512, toSign, messageLen, signature + 1, signatureMaxlen - 1));
          |                                                ^
  • app/src/crypto.c:113:5: error: [misc-include-cleaner]

    no header providing "CHECK_ZXERR" is directly included

      113 |     CHECK_ZXERR(crypto_extractPublicKey(buffer, bufferLen))
          |     ^
  • app/src/crypto.c:115:94: error: [misc-include-cleaner]

    no header providing "PK_ADDRESS_TYPE" is directly included

      115 |     size_t outLen = crypto_SS58EncodePubkey(buffer + PK_LEN_25519, bufferLen - PK_LEN_25519, PK_ADDRESS_TYPE, buffer);
          |                                                                                              ^
  • app/src/parser_txdef.c:16:1: error: [misc-include-cleaner]

    included header parser_txdef.h is not used directly

       16 | #include "parser_txdef.h"
          | ^~~~~~~~~~~~~~~~~~~~~~~~~
       17 | 
  • app/src/addr.c:20:1: error: [misc-include-cleaner]

    included header coin.h is not used directly

       20 | #include "coin.h"
          | ^~~~~~~~~~~~~~~~~
       21 | #include "crypto.h"
  • app/src/addr.c:25:1: error: [misc-include-cleaner]

    no header providing "zxerr_t" is directly included

       22 | #include "zxformat.h"
       23 | #include "zxmacros.h"
       24 | 
       25 | zxerr_t addr_getNumItems(uint8_t *num_items) {
          | ^
  • app/src/addr.c:25:26: error: [misc-include-cleaner]

    no header providing "uint8_t" is directly included

       17 | #include <stdio.h>
       18 | 
       19 | #include "app_mode.h"
       20 | #include "coin.h"
       21 | #include "crypto.h"
       22 | #include "zxformat.h"
       23 | #include "zxmacros.h"
       24 | 
       25 | zxerr_t addr_getNumItems(uint8_t *num_items) {
          |                          ^
  • app/src/addr.c:31:12: error: [misc-include-cleaner]

    no header providing "zxerr_ok" is directly included

       31 |     return zxerr_ok;
          |            ^
  • app/src/addr.c:34:22: error: [misc-include-cleaner]

    no header providing "int8_t" is directly included

       34 | zxerr_t addr_getItem(int8_t displayIdx, char *outKey, uint16_t outKeyLen, char *outVal, uint16_t outValLen,
          |                      ^
  • app/src/addr.c:34:55: error: [misc-include-cleaner]

    no header providing "uint16_t" is directly included

       34 | zxerr_t addr_getItem(int8_t displayIdx, char *outKey, uint16_t outKeyLen, char *outVal, uint16_t outValLen,
          |                                                       ^
  • app/src/addr.c:41:52: error: [misc-include-cleaner]

    no header providing "G_io_apdu_buffer" is directly included

       22 |             pageString(outVal, outValLen, (char *)(G_io_apdu_buffer + PK_LEN_25519), pageIdx, pageCount);
          |                                                    ^
  • app/src/addr.c:41:71: error: [misc-include-cleaner]

    no header providing "PK_LEN_25519" is directly included

       22 |             pageString(outVal, outValLen, (char *)(G_io_apdu_buffer + PK_LEN_25519), pageIdx, pageCount);
          |                                                                       ^
  • app/src/addr.c:45:24: error: [misc-include-cleaner]

    no header providing "zxerr_no_data" is directly included

       45 |                 return zxerr_no_data;
          |                        ^
  • app/src/addr.c:49:25: error: [readability-magic-numbers]

    300 is a magic number; consider replacing it with a named constant

       49 |             char buffer[300];
          |                         ^
  • app/src/addr.c:50:58: error: [misc-include-cleaner]

    no header providing "HDPATH_LEN_DEFAULT" is directly included

       50 |             bip32_to_str(buffer, sizeof(buffer), hdPath, HDPATH_LEN_DEFAULT);
          |                                                          ^
  • app/src/substrate/substrate_dispatch.c:20:1: error: [misc-include-cleaner]

    included header parser_impl.h is not used directly

       20 | #include "parser_impl.h"
          | ^~~~~~~~~~~~~~~~~~~~~~~~
       21 | #include "zxmacros.h"
  • app/src/substrate/substrate_dispatch.c:21:1: error: [misc-include-cleaner]

    included header zxmacros.h is not used directly

       21 | #include "zxmacros.h"
          | ^~~~~~~~~~~~~~~~~~~~~
       22 | 
  • app/src/substrate/substrate_dispatch.c:23:1: error: [misc-include-cleaner]

    no header providing "parser_error_t" is directly included

       20 | #include "parser_impl.h"
       21 | #include "zxmacros.h"
       22 | 
       23 | parser_error_t _readMethod(parser_context_t *c, uint8_t moduleIdx, uint8_t callIdx, pd_Method_t *method) {
          | ^
  • app/src/substrate/substrate_dispatch.c:23:28: error: [misc-include-cleaner]

    no header providing "parser_context_t" is directly included

       23 | parser_error_t _readMethod(parser_context_t *c, uint8_t moduleIdx, uint8_t callIdx, pd_Method_t *method) {
          |                            ^
  • app/src/substrate/substrate_dispatch.c:23:46: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       23 | parser_error_t _readMethod(parser_context_t *c, uint8_t moduleIdx, uint8_t callIdx, pd_Method_t *method) {
          |                                              ^
  • app/src/substrate/substrate_dispatch.c:23:85: error: [misc-include-cleaner]

    no header providing "pd_Method_t" is directly included

       21 | #include "zxmacros.h"
       22 | 
       23 | parser_error_t _readMethod(parser_context_t *c, uint8_t moduleIdx, uint8_t callIdx, pd_Method_t *method) {
          |                                                                                     ^
  • app/src/substrate/substrate_dispatch.c:26:20: error: [misc-include-cleaner]

    no header providing "_readMethod_V2" is directly included

       21 | #include "zxmacros.h"
       22 | 
       23 | parser_error_t _readMethod(parser_context_t *c, uint8_t moduleIdx, uint8_t callIdx, pd_Method_t *method) {
       24 |     switch (c->tx_obj->transactionVersion) {
       25 |         case 2:
       26 |             return _readMethod_V2(c, moduleIdx, callIdx, &method->V2);
          |                    ^
  • app/src/substrate/substrate_dispatch.c:28:20: error: [misc-include-cleaner]

    no header providing "parser_tx_version_not_supported" is directly included

       28 |             return parser_tx_version_not_supported;
          |                    ^
  • app/src/substrate/substrate_dispatch.c:35:20: error: [misc-include-cleaner]

    no header providing "_getMethod_NumItems_V2" is directly included

       35 |             return _getMethod_NumItems_V2(moduleIdx, callIdx);
          |                    ^
  • app/src/substrate/substrate_dispatch.c:44:20: error: [misc-include-cleaner]

    no header providing "_getMethod_ModuleName_V2" is directly included

       44 |             return _getMethod_ModuleName_V2(moduleIdx);
          |                    ^
  • app/src/substrate/substrate_dispatch.c:46:20: error: [misc-include-cleaner]

    no header providing "NULL" is directly included

       19 |             return NULL;
          |                    ^
  • app/src/substrate/substrate_dispatch.c:53:20: error: [misc-include-cleaner]

    no header providing "_getMethod_Name_V2" is directly included

       53 |             return _getMethod_Name_V2(moduleIdx, callIdx);
          |                    ^
  • app/src/substrate/substrate_dispatch.c:62:20: error: [misc-include-cleaner]

    no header providing "_getMethod_ItemName_V2" is directly included

       62 |             return _getMethod_ItemName_V2(moduleIdx, callIdx, itemIdx);
          |                    ^
  • app/src/substrate/substrate_dispatch.c:68:79: error: [readability-identifier-length]

    parameter name 'm' is too short, expected at least 2 characters

       68 | parser_error_t _getMethod_ItemValue(uint32_t transactionVersion, pd_Method_t *m, uint8_t moduleIdx, uint8_t callIdx,
          |                                                                               ^
  • app/src/substrate/substrate_dispatch.c:73:20: error: [misc-include-cleaner]

    no header providing "_getMethod_ItemValue_V2" is directly included

       73 |             return _getMethod_ItemValue_V2(&m->V2, moduleIdx, callIdx, itemIdx, outValue, outValueLen, pageIdx,
          |                    ^
  • app/src/substrate/substrate_dispatch.c:83:20: error: [misc-include-cleaner]

    no header providing "_getMethod_ItemIsExpert_V2" is directly included

       83 |             return _getMethod_ItemIsExpert_V2(moduleIdx, callIdx, itemIdx);
          |                    ^
  • app/src/substrate/substrate_dispatch.c:92:20: error: [misc-include-cleaner]

    no header providing "_getMethod_IsNestingSupported_V2" is directly included

       92 |             return _getMethod_IsNestingSupported_V2(moduleIdx, callIdx);
          |                    ^
  • app/src/substrate/substrate_functions.h:26:1: error: [misc-include-cleaner]

    included header zxerror.h is not used directly

       26 | #include <zxerror.h>
          | ^~~~~~~~~~~~~~~~~~~~
       27 | 
  • app/src/substrate/substrate_functions.h:30:44: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       30 | parser_error_t _readbool(parser_context_t *c, pd_bool_t *v);
          |                                            ^
  • app/src/substrate/substrate_functions.h:30:58: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       30 | parser_error_t _readbool(parser_context_t *c, pd_bool_t *v);
          |                                                          ^
  • app/src/substrate/substrate_functions.h:31:42: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       31 | parser_error_t _readu8(parser_context_t *c, pd_u8_t *v);
          |                                          ^
  • app/src/substrate/substrate_functions.h:31:54: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       31 | parser_error_t _readu8(parser_context_t *c, pd_u8_t *v);
          |                                                      ^
  • app/src/substrate/substrate_functions.h:32:43: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       32 | parser_error_t _readu16(parser_context_t *c, pd_u16_t *v);
          |                                           ^
  • app/src/substrate/substrate_functions.h:32:56: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       32 | parser_error_t _readu16(parser_context_t *c, pd_u16_t *v);
          |                                                        ^
  • app/src/substrate/substrate_functions.h:33:43: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       33 | parser_error_t _readu32(parser_context_t *c, pd_u32_t *v);
          |                                           ^
  • app/src/substrate/substrate_functions.h:33:56: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       33 | parser_error_t _readu32(parser_context_t *c, pd_u32_t *v);
          |                                                        ^
  • app/src/substrate/substrate_functions.h:34:43: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       34 | parser_error_t _readu64(parser_context_t *c, pd_u64_t *v);
          |                                           ^
  • app/src/substrate/substrate_functions.h:34:56: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       34 | parser_error_t _readu64(parser_context_t *c, pd_u64_t *v);
          |                                                        ^
  • app/src/substrate/substrate_functions.h:35:51: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       35 | parser_error_t _readBlockNumber(parser_context_t *c, pd_BlockNumber_t *v);
          |                                                   ^
  • app/src/substrate/substrate_functions.h:35:72: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       35 | parser_error_t _readBlockNumber(parser_context_t *c, pd_BlockNumber_t *v);
          |                                                                        ^
  • app/src/substrate/substrate_functions.h:36:50: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       36 | parser_error_t _readCompactu32(parser_context_t *c, pd_Compactu32_t *v);
          |                                                  ^
  • app/src/substrate/substrate_functions.h:36:70: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       36 | parser_error_t _readCompactu32(parser_context_t *c, pd_Compactu32_t *v);
          |                                                                      ^
  • app/src/substrate/substrate_functions.h:37:50: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       37 | parser_error_t _readCompactu64(parser_context_t *c, pd_Compactu64_t *v);
          |                                                  ^
  • app/src/substrate/substrate_functions.h:37:70: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       37 | parser_error_t _readCompactu64(parser_context_t *c, pd_Compactu64_t *v);
          |                                                                      ^
  • app/src/substrate/substrate_functions.h:38:48: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       38 | parser_error_t _readCallImpl(parser_context_t *c, pd_Call_t *v, pd_MethodNested_t *m);
          |                                                ^
  • app/src/substrate/substrate_functions.h:38:62: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       38 | parser_error_t _readCallImpl(parser_context_t *c, pd_Call_t *v, pd_MethodNested_t *m);
          |                                                              ^
  • app/src/substrate/substrate_functions.h:38:65: error: [misc-include-cleaner]

    no header providing "pd_MethodNested_t" is directly included

       18 | parser_error_t _readCallImpl(parser_context_t *c, pd_Call_t *v, pd_MethodNested_t *m);
          |                                                                 ^
  • app/src/substrate/substrate_functions.h:38:84: error: [readability-identifier-length]

    parameter name 'm' is too short, expected at least 2 characters

       38 | parser_error_t _readCallImpl(parser_context_t *c, pd_Call_t *v, pd_MethodNested_t *m);
          |                                                                                    ^
  • app/src/substrate/substrate_functions.h:40:44: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       40 | parser_error_t _readData(parser_context_t *c, pd_Data_t *v);
          |                                            ^
  • app/src/substrate/substrate_functions.h:40:58: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       40 | parser_error_t _readData(parser_context_t *c, pd_Data_t *v);
          |                                                          ^
  • app/src/substrate/substrate_functions.h:41:49: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       41 | parser_error_t _readAccountId(parser_context_t *c, pd_AccountId_t *v);
          |                                                 ^
  • app/src/substrate/substrate_functions.h:41:68: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       41 | parser_error_t _readAccountId(parser_context_t *c, pd_AccountId_t *v);
          |                                                                    ^
  • app/src/substrate/substrate_functions.h:42:53: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       42 | parser_error_t _readTupleDataData(parser_context_t *c, pd_TupleDataData_t *v);
          |                                                     ^
  • app/src/substrate/substrate_functions.h:42:76: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       42 | parser_error_t _readTupleDataData(parser_context_t *c, pd_TupleDataData_t *v);
          |                                                                            ^
  • app/src/substrate/substrate_functions.h:43:51: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       43 | parser_error_t _readu8_array_20(parser_context_t *c, pd_u8_array_20_t *v);
          |                                                   ^
  • app/src/substrate/substrate_functions.h:43:72: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       43 | parser_error_t _readu8_array_20(parser_context_t *c, pd_u8_array_20_t *v);
          |                                                                        ^
  • app/src/substrate/substrate_functions.h:44:47: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       44 | parser_error_t _readBalance(parser_context_t *c, pd_Balance_t *v);
          |                                               ^
  • app/src/substrate/substrate_functions.h:44:64: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       44 | parser_error_t _readBalance(parser_context_t *c, pd_Balance_t *v);
          |                                                                ^
  • app/src/substrate/substrate_functions.h:45:44: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       45 | parser_error_t _readCall(parser_context_t *c, pd_Call_t *v);
          |                                            ^
  • app/src/substrate/substrate_functions.h:45:58: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       45 | parser_error_t _readCall(parser_context_t *c, pd_Call_t *v);
          |                                                          ^
  • app/src/substrate/substrate_functions.h:46:64: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       46 | parser_error_t _readChangesTrieConfiguration(parser_context_t *c, pd_ChangesTrieConfiguration_t *v);
          |                                                                ^
  • app/src/substrate/substrate_functions.h:46:98: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       46 | parser_error_t _readChangesTrieConfiguration(parser_context_t *c, pd_ChangesTrieConfiguration_t *v);
          |                                                                                                  ^
  • app/src/substrate/substrate_functions.h:47:54: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       47 | parser_error_t _readCompactPerBill(parser_context_t *c, pd_CompactPerBill_t *v);
          |                                                      ^
  • app/src/substrate/substrate_functions.h:47:78: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       47 | parser_error_t _readCompactPerBill(parser_context_t *c, pd_CompactPerBill_t *v);
          |                                                                              ^
  • app/src/substrate/substrate_functions.h:48:50: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       48 | parser_error_t _readCurrencyId(parser_context_t *c, pd_CurrencyId_t *v);
          |                                                  ^
  • app/src/substrate/substrate_functions.h:48:70: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       48 | parser_error_t _readCurrencyId(parser_context_t *c, pd_CurrencyId_t *v);
          |                                                                      ^
  • app/src/substrate/substrate_functions.h:49:46: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       49 | parser_error_t _readHeader(parser_context_t *c, pd_Header_t *v);
          |                                              ^
  • app/src/substrate/substrate_functions.h:49:62: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       49 | parser_error_t _readHeader(parser_context_t *c, pd_Header_t *v);
          |                                                              ^
  • app/src/substrate/substrate_functions.h:50:48: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       50 | parser_error_t _readKeyValue(parser_context_t *c, pd_KeyValue_t *v);
          |                                                ^
  • app/src/substrate/substrate_functions.h:50:66: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       50 | parser_error_t _readKeyValue(parser_context_t *c, pd_KeyValue_t *v);
          |                                                                  ^
  • app/src/substrate/substrate_functions.h:51:43: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       51 | parser_error_t _readKey(parser_context_t *c, pd_Key_t *v);
          |                                           ^
  • app/src/substrate/substrate_functions.h:51:56: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       51 | parser_error_t _readKey(parser_context_t *c, pd_Key_t *v);
          |                                                        ^
  • app/src/substrate/substrate_functions.h:52:52: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       52 | parser_error_t _readLookupSource(parser_context_t *c, pd_LookupSource_t *v);
          |                                                    ^
  • app/src/substrate/substrate_functions.h:52:74: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       52 | parser_error_t _readLookupSource(parser_context_t *c, pd_LookupSource_t *v);
          |                                                                          ^
  • app/src/substrate/substrate_functions.h:53:59: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       53 | parser_error_t _readCompactAccountIndex(parser_context_t *c, pd_CompactAccountIndex_t *v);
          |                                                           ^
  • app/src/substrate/substrate_functions.h:53:88: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       53 | parser_error_t _readCompactAccountIndex(parser_context_t *c, pd_CompactAccountIndex_t *v);
          |                                                                                        ^
  • app/src/substrate/substrate_functions.h:54:57: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       54 | parser_error_t _readOptionu8_array_20(parser_context_t *c, pd_Optionu8_array_20_t *v);
          |                                                         ^
  • app/src/substrate/substrate_functions.h:54:84: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       54 | parser_error_t _readOptionu8_array_20(parser_context_t *c, pd_Optionu8_array_20_t *v);
          |                                                                                    ^
  • app/src/substrate/substrate_functions.h:55:47: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       55 | parser_error_t _readPercent(parser_context_t *c, pd_Percent_t *v);
          |                                               ^
  • app/src/substrate/substrate_functions.h:55:64: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       55 | parser_error_t _readPercent(parser_context_t *c, pd_Percent_t *v);
          |                                                                ^
  • app/src/substrate/substrate_functions.h:56:46: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       56 | parser_error_t _readPeriod(parser_context_t *c, pd_Period_t *v);
          |                                              ^
  • app/src/substrate/substrate_functions.h:56:62: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       56 | parser_error_t _readPeriod(parser_context_t *c, pd_Period_t *v);
          |                                                              ^
  • app/src/substrate/substrate_functions.h:57:56: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       57 | parser_error_t _readStreamDependency(parser_context_t *c, pd_StreamDependency_t *v);
          |                                                        ^
  • app/src/substrate/substrate_functions.h:57:82: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       57 | parser_error_t _readStreamDependency(parser_context_t *c, pd_StreamDependency_t *v);
          |                                                                                  ^
  • app/src/substrate/substrate_functions.h:58:49: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       58 | parser_error_t _readTimepoint(parser_context_t *c, pd_Timepoint_t *v);
          |                                                 ^
  • app/src/substrate/substrate_functions.h:58:68: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       58 | parser_error_t _readTimepoint(parser_context_t *c, pd_Timepoint_t *v);
          |                                                                    ^
  • app/src/substrate/substrate_functions.h:59:58: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       59 | parser_error_t _readTupleAccountIdData(parser_context_t *c, pd_TupleAccountIdData_t *v);
          |                                                          ^
  • app/src/substrate/substrate_functions.h:59:86: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       59 | parser_error_t _readTupleAccountIdData(parser_context_t *c, pd_TupleAccountIdData_t *v);
          |                                                                                      ^
  • app/src/substrate/substrate_functions.h:60:56: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       60 | parser_error_t _readVecTupleDataData(parser_context_t *c, pd_VecTupleDataData_t *v);
          |                                                        ^
  • app/src/substrate/substrate_functions.h:60:82: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       60 | parser_error_t _readVecTupleDataData(parser_context_t *c, pd_VecTupleDataData_t *v);
          |                                                                                  ^
  • app/src/substrate/substrate_functions.h:61:49: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       61 | parser_error_t _readBalanceOf(parser_context_t *c, pd_BalanceOf_t *v);
          |                                                 ^
  • app/src/substrate/substrate_functions.h:61:68: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       61 | parser_error_t _readBalanceOf(parser_context_t *c, pd_BalanceOf_t *v);
          |                                                                    ^
  • app/src/substrate/substrate_functions.h:62:52: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       62 | parser_error_t _readIdentityInfo(parser_context_t *c, pd_IdentityInfo_t *v);
          |                                                    ^
  • app/src/substrate/substrate_functions.h:62:74: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       62 | parser_error_t _readIdentityInfo(parser_context_t *c, pd_IdentityInfo_t *v);
          |                                                                          ^
  • app/src/substrate/substrate_functions.h:63:50: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       63 | parser_error_t _readOpaqueCall(parser_context_t *c, pd_OpaqueCall_t *v);
          |                                                  ^
  • app/src/substrate/substrate_functions.h:63:70: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       63 | parser_error_t _readOpaqueCall(parser_context_t *c, pd_OpaqueCall_t *v);
          |                                                                      ^
  • app/src/substrate/substrate_functions.h:64:70: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       64 | parser_error_t _readOptionChangesTrieConfiguration(parser_context_t *c, pd_OptionChangesTrieConfiguration_t *v);
          |                                                                      ^
  • app/src/substrate/substrate_functions.h:64:110: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       64 | parser_error_t _readOptionChangesTrieConfiguration(parser_context_t *c, pd_OptionChangesTrieConfiguration_t *v);
          |                                                                                                              ^
  • app/src/substrate/substrate_functions.h:65:55: error: [readability-identifier-length]

    parameter name 'c' is too short, expected at least 2 characters

       65 | parser_error_t _readOptionTimepoint(parser_context_t *c, pd_OptionTimepoint_t *v);
          |                                                       ^
  • app/src/substrate/substrate_functions.h:65:80: error: [readability-identifier-length]

    parameter name 'v' is too short, expected at least 2 characters

       65 | parser_error_t _readOptionTimepoint(parser_context_t *c, pd_OptionTimepoint_t *v);
          |                                                                                ^
  • app/src/apdu_handler.c:21:1: error: [misc-include-cleaner]

    included header ux.h is not used directly

       21 | #include <ux.h>
          | ^~~~~~~~~~~~~~~
       22 | 

Have any feedback or feature suggestions? Share it here.

@mbrousset-ledger
Copy link
Copy Markdown
Author

Closing this PR for now.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant