mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-28 00:58:09 +00:00
60 lines
1.5 KiB
Mako
60 lines
1.5 KiB
Mako
// generated from ${THIS_FILE.name}
|
|
// (by running `make templates` in `core`)
|
|
// do not edit manually!
|
|
#pragma GCC diagnostic ignored "-Wunused-value"
|
|
#pragma GCC diagnostic ignored "-Wunused-function"
|
|
|
|
static void _librust_qstrs(void) {
|
|
<%
|
|
import subprocess
|
|
import sys
|
|
from pathlib import Path
|
|
from typing import Union, Set
|
|
|
|
RUST_SRC = THIS_FILE.parent / "src"
|
|
|
|
ALTCOIN_PREFIXES = (
|
|
"binance",
|
|
"cardano",
|
|
"eos",
|
|
"ethereum",
|
|
"fido",
|
|
"monero",
|
|
"nem",
|
|
"ripple",
|
|
"solana",
|
|
"stellar",
|
|
"tezos",
|
|
"u2f",
|
|
)
|
|
|
|
def find_unique_patterns_in_dir(directory: Union[str, Path], pattern: str) -> Set[str]:
|
|
command = f"grep -ro '{pattern}' {directory}"
|
|
result = subprocess.run(command, stdout=subprocess.PIPE, text=True, shell=True)
|
|
output_lines = result.stdout.strip().split("\n")
|
|
return set([line.split(":", 1)[1] for line in output_lines if line])
|
|
|
|
pattern = r"\bMP_QSTR_\w*"
|
|
qstrings = find_unique_patterns_in_dir(RUST_SRC, pattern)
|
|
|
|
qstrings_universal = set()
|
|
for prefix in ALTCOIN_PREFIXES:
|
|
mp_prefix = f"MP_QSTR_{prefix}__"
|
|
qstrings_universal |= {qstr for qstr in qstrings if qstr.startswith(mp_prefix)}
|
|
|
|
qstrings_btconly = qstrings - qstrings_universal
|
|
|
|
# sort result alphabetically
|
|
qstrings_btconly_sorted = sorted(qstrings_btconly)
|
|
qstrings_universal_sorted = sorted(qstrings_universal)
|
|
%>\
|
|
% for qstr in qstrings_btconly_sorted:
|
|
${qstr};
|
|
% endfor
|
|
#if !BITCOIN_ONLY
|
|
% for qstr in qstrings_universal_sorted:
|
|
${qstr};
|
|
% endfor
|
|
#endif
|
|
}
|
|
|