diff --git a/core/embed/upymod/qstrdefsport.h b/core/embed/upymod/qstrdefsport.h index c1d22c61cb..dce40706d6 100644 --- a/core/embed/upymod/qstrdefsport.h +++ b/core/embed/upymod/qstrdefsport.h @@ -20,715 +20,718 @@ // We need to avoid run-time interning as much as possible, because it creates // uncollectable garbage in the GC arena. +Q(AmountUnit) +Q(BackupAvailability) +Q(BackupType) +Q(BootCommand) +Q(ButtonRequestType) +Q(Capability) +Q(DecredStakingSpendType) +Q(DisplayRotation) +Q(FailureType) +Q(HomescreenFormat) +Q(InputScriptType) +Q(MessageType) +Q(MultisigPubkeysOrder) +Q(OutputScriptType) +Q(PinMatrixRequestType) +Q(RecoveryDeviceInputMethod) +Q(RecoveryStatus) +Q(RecoveryType) +Q(RequestType) +Q(SafetyCheckLevel) +Q(SdProtectOperationType) +Q(WordRequestType) +Q(address_mac) +Q(address_type) +Q(addresses) +Q(apply_flags) +Q(apply_settings) +Q(approvers) +Q(apps) +Q(apps.base) +Q(apps.benchmark) +Q(apps.benchmark.benchmark) +Q(apps.benchmark.benchmarks) +Q(apps.benchmark.cipher_benchmark) +Q(apps.benchmark.common) +Q(apps.benchmark.curve_benchmark) +Q(apps.benchmark.hash_benchmark) +Q(apps.benchmark.list_names) +Q(apps.benchmark.run) +Q(apps.bitcoin) +Q(apps.bitcoin.addresses) +Q(apps.bitcoin.authorization) +Q(apps.bitcoin.authorize_coinjoin) +Q(apps.bitcoin.common) +Q(apps.bitcoin.get_address) +Q(apps.bitcoin.get_ownership_id) +Q(apps.bitcoin.get_ownership_proof) +Q(apps.bitcoin.get_public_key) +Q(apps.bitcoin.keychain) +Q(apps.bitcoin.multisig) +Q(apps.bitcoin.ownership) +Q(apps.bitcoin.readers) +Q(apps.bitcoin.scripts) +Q(apps.bitcoin.scripts_decred) +Q(apps.bitcoin.sign_message) +Q(apps.bitcoin.sign_tx) +Q(apps.bitcoin.sign_tx.approvers) +Q(apps.bitcoin.sign_tx.bitcoin) +Q(apps.bitcoin.sign_tx.bitcoinlike) +Q(apps.bitcoin.sign_tx.change_detector) +Q(apps.bitcoin.sign_tx.decred) +Q(apps.bitcoin.sign_tx.helpers) +Q(apps.bitcoin.sign_tx.layout) +Q(apps.bitcoin.sign_tx.matchcheck) +Q(apps.bitcoin.sign_tx.omni) +Q(apps.bitcoin.sign_tx.payment_request) +Q(apps.bitcoin.sign_tx.progress) +Q(apps.bitcoin.sign_tx.sig_hasher) +Q(apps.bitcoin.sign_tx.tx_info) +Q(apps.bitcoin.sign_tx.tx_weight) +Q(apps.bitcoin.verification) +Q(apps.bitcoin.verify_message) +Q(apps.bitcoin.writers) +Q(apps.common) +Q(apps.common.address_mac) +Q(apps.common.address_type) +Q(apps.common.authorization) +Q(apps.common.backup) +Q(apps.common.backup_types) +Q(apps.common.cache) +Q(apps.common.cbor) +Q(apps.common.coininfo) +Q(apps.common.coins) +Q(apps.common.keychain) +Q(apps.common.passphrase) +Q(apps.common.paths) +Q(apps.common.readers) +Q(apps.common.request_pin) +Q(apps.common.safety_checks) +Q(apps.common.sdcard) +Q(apps.common.seed) +Q(apps.common.signverify) +Q(apps.common.writers) +Q(apps.homescreen) +Q(apps.management) +Q(apps.management.apply_flags) +Q(apps.management.apply_settings) +Q(apps.management.authenticate_device) +Q(apps.management.backup_device) +Q(apps.management.ble.unpair) +Q(apps.management.change_language) +Q(apps.management.change_pin) +Q(apps.management.change_wipe_code) +Q(apps.management.get_next_u2f_counter) +Q(apps.management.get_nonce) +Q(apps.management.reboot_to_bootloader) +Q(apps.management.recovery_device) +Q(apps.management.recovery_device.homescreen) +Q(apps.management.recovery_device.layout) +Q(apps.management.recovery_device.recover) +Q(apps.management.recovery_device.word_validity) +Q(apps.management.reset_device) +Q(apps.management.reset_device.layout) +Q(apps.management.sd_protect) +Q(apps.management.set_brightness) +Q(apps.management.set_u2f_counter) +Q(apps.management.show_tutorial) +Q(apps.management.wipe_device) +Q(apps.misc) +Q(apps.misc.cipher_key_value) +Q(apps.misc.get_ecdh_session_key) +Q(apps.misc.get_entropy) +Q(apps.misc.get_firmware_hash) +Q(apps.misc.sign_identity) +Q(apps.nostr) +Q(apps.nostr.get_pubkey) +Q(apps.nostr.sign_event) +Q(apps.workflow_handlers) +Q(authenticate_device) +Q(authorization) +Q(authorize_coinjoin) +Q(backup) +Q(backup_device) +Q(backup_types) +Q(base) +Q(base32) +Q(base58) +Q(bech32) +Q(benchmark) +Q(benchmarks) +Q(bitcoin) +Q(bitcoinlike) +Q(bolt) Q(boot) +Q(cache) +Q(cache_codec) +Q(cache_common) +Q(caesar) +Q(cashaddr) +Q(cbor) +Q(change_detector) +Q(change_language) +Q(change_pin) +Q(change_wipe_code) +Q(cipher_benchmark) +Q(cipher_key_value) +Q(codec) +Q(codec_context) +Q(codec_v1) +Q(coininfo) +Q(coins) +Q(common) +Q(context) +Q(cosi) +Q(crypto) +Q(curve) +Q(curve_benchmark) +Q(decred) +Q(delizia) +Q(der) +Q(device) +Q(enums) +Q(errors) +Q(fido) +Q(fido2) +Q(get_address) +Q(get_ecdh_session_key) +Q(get_entropy) +Q(get_firmware_hash) +Q(get_next_u2f_counter) +Q(get_nonce) +Q(get_ownership_id) +Q(get_ownership_proof) +Q(get_pubkey) +Q(get_public_key) +Q(hash_benchmark) +Q(hashlib) +Q(helpers) +Q(homescreen) +Q(keychain) +Q(layout) +Q(layouts) +Q(list_names) +Q(log) +Q(loop) Q(main) +Q(management) +Q(matchcheck) +Q(message_handler) +Q(messages) +Q(misc) +Q(multisig) +Q(nostr) +Q(omni) +Q(ownership) +Q(passphrase) +Q(paths) +Q(payment_request) +Q(pin) +Q(progress) +Q(protobuf) +Q(protocol_common) +Q(readers) +Q(reboot_to_bootloader) +Q(recover) +Q(recovery) +Q(recovery_device) +Q(recovery_shares) +Q(request_pin) +Q(reset) +Q(reset_device) +Q(resident_credentials) +Q(rlp) +Q(run) +Q(safety_checks) +Q(scripts) +Q(scripts_decred) +Q(sd_protect) +Q(sd_salt) +Q(sdcard) +Q(seed) Q(session) -Q(typing) -Q(usb) +Q(set_brightness) +Q(set_u2f_counter) +Q(show_tutorial) +Q(sig_hasher) +Q(sign_event) +Q(sign_identity) +Q(sign_message) +Q(sign_tx) +Q(signverify) +Q(slip39) Q(storage) Q(storage.cache) -Q(cache) Q(storage.cache_codec) -Q(cache_codec) Q(storage.cache_common) -Q(cache_common) Q(storage.common) -Q(common) -Q(storage.debug) -Q(debug) Q(storage.device) -Q(device) Q(storage.fido2) -Q(fido2) Q(storage.recovery) -Q(recovery) Q(storage.recovery_shares) -Q(recovery_shares) Q(storage.resident_credentials) -Q(resident_credentials) Q(storage.sd_salt) -Q(sd_salt) +Q(strings) Q(trezor) Q(trezor.crypto) -Q(crypto) Q(trezor.crypto.base32) -Q(base32) Q(trezor.crypto.base58) -Q(base58) Q(trezor.crypto.bech32) -Q(bech32) Q(trezor.crypto.cashaddr) -Q(cashaddr) Q(trezor.crypto.cosi) -Q(cosi) Q(trezor.crypto.curve) -Q(curve) Q(trezor.crypto.der) -Q(der) Q(trezor.crypto.hashlib) -Q(hashlib) Q(trezor.crypto.rlp) -Q(rlp) Q(trezor.crypto.scripts) -Q(scripts) Q(trezor.crypto.slip39) -Q(slip39) -Q(trezor.enums.AmountUnit) -Q(AmountUnit) -Q(trezor.enums.BackupAvailability) -Q(BackupAvailability) -Q(trezor.enums.BackupType) -Q(BackupType) -Q(trezor.enums.BootCommand) -Q(BootCommand) -Q(trezor.enums.ButtonRequestType) -Q(ButtonRequestType) -Q(trezor.enums.Capability) -Q(Capability) -Q(trezor.enums.DebugButton) -Q(DebugButton) -Q(trezor.enums.DebugPhysicalButton) -Q(DebugPhysicalButton) -Q(trezor.enums.DebugSwipeDirection) -Q(DebugSwipeDirection) -Q(trezor.enums.DebugWaitType) -Q(DebugWaitType) -Q(trezor.enums.DecredStakingSpendType) -Q(DecredStakingSpendType) -Q(trezor.enums.DisplayRotation) -Q(DisplayRotation) -Q(trezor.enums.FailureType) -Q(FailureType) -Q(trezor.enums.HomescreenFormat) -Q(HomescreenFormat) -Q(trezor.enums.InputScriptType) -Q(InputScriptType) -Q(trezor.enums.MessageType) -Q(MessageType) -Q(trezor.enums.MultisigPubkeysOrder) -Q(MultisigPubkeysOrder) -Q(trezor.enums.OutputScriptType) -Q(OutputScriptType) -Q(trezor.enums.PinMatrixRequestType) -Q(PinMatrixRequestType) -Q(trezor.enums.RecoveryDeviceInputMethod) -Q(RecoveryDeviceInputMethod) -Q(trezor.enums.RecoveryStatus) -Q(RecoveryStatus) -Q(trezor.enums.RecoveryType) -Q(RecoveryType) -Q(trezor.enums.RequestType) -Q(RequestType) -Q(trezor.enums.SafetyCheckLevel) -Q(SafetyCheckLevel) -Q(trezor.enums.SdProtectOperationType) -Q(SdProtectOperationType) -Q(trezor.enums.WordRequestType) -Q(WordRequestType) Q(trezor.enums) -Q(enums) +Q(trezor.enums.AmountUnit) +Q(trezor.enums.BackupAvailability) +Q(trezor.enums.BackupType) +Q(trezor.enums.BootCommand) +Q(trezor.enums.ButtonRequestType) +Q(trezor.enums.Capability) +Q(trezor.enums.DecredStakingSpendType) +Q(trezor.enums.DisplayRotation) +Q(trezor.enums.FailureType) +Q(trezor.enums.HomescreenFormat) +Q(trezor.enums.InputScriptType) +Q(trezor.enums.MessageType) +Q(trezor.enums.MultisigPubkeysOrder) +Q(trezor.enums.OutputScriptType) +Q(trezor.enums.PinMatrixRequestType) +Q(trezor.enums.RecoveryDeviceInputMethod) +Q(trezor.enums.RecoveryStatus) +Q(trezor.enums.RecoveryType) +Q(trezor.enums.RequestType) +Q(trezor.enums.SafetyCheckLevel) +Q(trezor.enums.SdProtectOperationType) +Q(trezor.enums.WordRequestType) Q(trezor.errors) -Q(errors) Q(trezor.log) -Q(log) Q(trezor.loop) -Q(loop) Q(trezor.messages) -Q(messages) Q(trezor.pin) -Q(pin) Q(trezor.protobuf) -Q(protobuf) Q(trezor.sdcard) -Q(sdcard) Q(trezor.strings) -Q(strings) Q(trezor.ui) -Q(ui) Q(trezor.ui.layouts) -Q(layouts) Q(trezor.ui.layouts.bolt) -Q(bolt) Q(trezor.ui.layouts.bolt.fido) -Q(fido) Q(trezor.ui.layouts.bolt.recovery) Q(trezor.ui.layouts.bolt.reset) -Q(reset) Q(trezor.ui.layouts.caesar) -Q(caesar) Q(trezor.ui.layouts.caesar.fido) Q(trezor.ui.layouts.caesar.recovery) Q(trezor.ui.layouts.caesar.reset) Q(trezor.ui.layouts.common) Q(trezor.ui.layouts.delizia) -Q(delizia) Q(trezor.ui.layouts.delizia.fido) Q(trezor.ui.layouts.delizia.recovery) Q(trezor.ui.layouts.delizia.reset) Q(trezor.ui.layouts.fido) Q(trezor.ui.layouts.homescreen) -Q(homescreen) Q(trezor.ui.layouts.progress) -Q(progress) Q(trezor.ui.layouts.recovery) Q(trezor.ui.layouts.reset) Q(trezor.utils) -Q(utils) Q(trezor.wire) -Q(wire) Q(trezor.wire.codec) -Q(codec) Q(trezor.wire.codec.codec_context) -Q(codec_context) Q(trezor.wire.codec.codec_v1) -Q(codec_v1) Q(trezor.wire.context) -Q(context) Q(trezor.wire.errors) Q(trezor.wire.message_handler) -Q(message_handler) Q(trezor.wire.protocol_common) -Q(protocol_common) Q(trezor.workflow) -Q(workflow) -Q(apps) -Q(apps.base) -Q(base) -Q(apps.benchmark) -Q(benchmark) -Q(apps.benchmark.benchmark) -Q(apps.benchmark.benchmarks) -Q(benchmarks) -Q(apps.benchmark.cipher_benchmark) -Q(cipher_benchmark) -Q(apps.benchmark.common) -Q(apps.benchmark.curve_benchmark) -Q(curve_benchmark) -Q(apps.benchmark.hash_benchmark) -Q(hash_benchmark) -Q(apps.benchmark.list_names) -Q(list_names) -Q(apps.benchmark.run) -Q(run) -Q(apps.bitcoin) -Q(bitcoin) -Q(apps.bitcoin.addresses) -Q(addresses) -Q(apps.bitcoin.authorization) -Q(authorization) -Q(apps.bitcoin.authorize_coinjoin) -Q(authorize_coinjoin) -Q(apps.bitcoin.common) -Q(apps.bitcoin.get_address) -Q(get_address) -Q(apps.bitcoin.get_ownership_id) -Q(get_ownership_id) -Q(apps.bitcoin.get_ownership_proof) -Q(get_ownership_proof) -Q(apps.bitcoin.get_public_key) -Q(get_public_key) -Q(apps.bitcoin.keychain) -Q(keychain) -Q(apps.bitcoin.multisig) -Q(multisig) -Q(apps.bitcoin.ownership) -Q(ownership) -Q(apps.bitcoin.readers) -Q(readers) -Q(apps.bitcoin.scripts) -Q(apps.bitcoin.scripts_decred) -Q(scripts_decred) -Q(apps.bitcoin.sign_message) -Q(sign_message) -Q(apps.bitcoin.sign_tx) -Q(sign_tx) -Q(apps.bitcoin.sign_tx.approvers) -Q(approvers) -Q(apps.bitcoin.sign_tx.bitcoin) -Q(apps.bitcoin.sign_tx.bitcoinlike) -Q(bitcoinlike) -Q(apps.bitcoin.sign_tx.change_detector) -Q(change_detector) -Q(apps.bitcoin.sign_tx.decred) -Q(decred) -Q(apps.bitcoin.sign_tx.helpers) -Q(helpers) -Q(apps.bitcoin.sign_tx.layout) -Q(layout) -Q(apps.bitcoin.sign_tx.matchcheck) -Q(matchcheck) -Q(apps.bitcoin.sign_tx.omni) -Q(omni) -Q(apps.bitcoin.sign_tx.payment_request) -Q(payment_request) -Q(apps.bitcoin.sign_tx.progress) -Q(apps.bitcoin.sign_tx.sig_hasher) -Q(sig_hasher) -Q(apps.bitcoin.sign_tx.tx_info) Q(tx_info) -Q(apps.bitcoin.sign_tx.tx_weight) Q(tx_weight) -Q(apps.bitcoin.verification) -Q(verification) -Q(apps.bitcoin.verify_message) -Q(verify_message) -Q(apps.bitcoin.writers) -Q(writers) -Q(apps.common) -Q(apps.common.address_mac) -Q(address_mac) -Q(apps.common.address_type) -Q(address_type) -Q(apps.common.authorization) -Q(apps.common.backup) -Q(backup) -Q(apps.common.backup_types) -Q(backup_types) -Q(apps.common.cache) -Q(apps.common.cbor) -Q(cbor) -Q(apps.common.coininfo) -Q(coininfo) -Q(apps.common.coins) -Q(coins) -Q(apps.common.keychain) -Q(apps.common.passphrase) -Q(passphrase) -Q(apps.common.paths) -Q(paths) -Q(apps.common.readers) -Q(apps.common.request_pin) -Q(request_pin) -Q(apps.common.safety_checks) -Q(safety_checks) -Q(apps.common.sdcard) -Q(apps.common.seed) -Q(seed) -Q(apps.common.signverify) -Q(signverify) -Q(apps.common.writers) -Q(apps.debug) -Q(apps.debug.load_device) -Q(load_device) -Q(apps.homescreen) -Q(apps.management) -Q(management) -Q(apps.management.apply_flags) -Q(apply_flags) -Q(apps.management.apply_settings) -Q(apply_settings) -Q(apps.management.authenticate_device) -Q(authenticate_device) -Q(apps.management.backup_device) -Q(backup_device) -Q(apps.management.ble.unpair) +Q(typing) +Q(ui) Q(unpair) -Q(apps.management.change_language) -Q(change_language) -Q(apps.management.change_pin) -Q(change_pin) -Q(apps.management.change_wipe_code) -Q(change_wipe_code) -Q(apps.management.get_next_u2f_counter) -Q(get_next_u2f_counter) -Q(apps.management.get_nonce) -Q(get_nonce) -Q(apps.management.reboot_to_bootloader) -Q(reboot_to_bootloader) -Q(apps.management.recovery_device) -Q(recovery_device) -Q(apps.management.recovery_device.homescreen) -Q(apps.management.recovery_device.layout) -Q(apps.management.recovery_device.recover) -Q(recover) -Q(apps.management.recovery_device.word_validity) -Q(word_validity) -Q(apps.management.reset_device) -Q(reset_device) -Q(apps.management.reset_device.layout) -Q(apps.management.sd_protect) -Q(sd_protect) -Q(apps.management.set_brightness) -Q(set_brightness) -Q(apps.management.set_u2f_counter) -Q(set_u2f_counter) -Q(apps.management.show_tutorial) -Q(show_tutorial) -Q(apps.management.wipe_device) +Q(usb) +Q(utils) +Q(verification) +Q(verify_message) Q(wipe_device) -Q(apps.misc) -Q(misc) -Q(apps.misc.cipher_key_value) -Q(cipher_key_value) -Q(apps.misc.get_ecdh_session_key) -Q(get_ecdh_session_key) -Q(apps.misc.get_entropy) -Q(get_entropy) -Q(apps.misc.get_firmware_hash) -Q(get_firmware_hash) -Q(apps.misc.sign_identity) -Q(sign_identity) -Q(apps.nostr) -Q(nostr) -Q(apps.nostr.get_pubkey) -Q(get_pubkey) -Q(apps.nostr.sign_event) -Q(sign_event) -Q(apps.workflow_handlers) +Q(wire) +Q(word_validity) +Q(workflow) Q(workflow_handlers) +Q(writers) #if USE_THP Q(apps.thp) -Q(thp) Q(apps.thp.credential_manager) Q(credential_manager) +Q(thp) #endif #if !BITCOIN_ONLY -Q(trezor.enums.BinanceOrderSide) Q(BinanceOrderSide) -Q(trezor.enums.BinanceOrderType) Q(BinanceOrderType) -Q(trezor.enums.BinanceTimeInForce) Q(BinanceTimeInForce) -Q(trezor.enums.CardanoAddressType) Q(CardanoAddressType) -Q(trezor.enums.CardanoCVoteRegistrationFormat) Q(CardanoCVoteRegistrationFormat) -Q(trezor.enums.CardanoCertificateType) Q(CardanoCertificateType) -Q(trezor.enums.CardanoDRepType) Q(CardanoDRepType) -Q(trezor.enums.CardanoDerivationType) Q(CardanoDerivationType) -Q(trezor.enums.CardanoNativeScriptHashDisplayFormat) Q(CardanoNativeScriptHashDisplayFormat) -Q(trezor.enums.CardanoNativeScriptType) Q(CardanoNativeScriptType) -Q(trezor.enums.CardanoPoolRelayType) Q(CardanoPoolRelayType) -Q(trezor.enums.CardanoTxAuxiliaryDataSupplementType) Q(CardanoTxAuxiliaryDataSupplementType) -Q(trezor.enums.CardanoTxOutputSerializationFormat) Q(CardanoTxOutputSerializationFormat) -Q(trezor.enums.CardanoTxSigningMode) Q(CardanoTxSigningMode) -Q(trezor.enums.CardanoTxWitnessType) Q(CardanoTxWitnessType) -Q(trezor.enums.EthereumDataType) Q(EthereumDataType) -Q(trezor.enums.EthereumDefinitionType) Q(EthereumDefinitionType) -Q(trezor.enums.MoneroNetworkType) Q(MoneroNetworkType) -Q(trezor.enums.NEMImportanceTransferMode) Q(NEMImportanceTransferMode) -Q(trezor.enums.NEMModificationType) Q(NEMModificationType) -Q(trezor.enums.NEMMosaicLevy) Q(NEMMosaicLevy) -Q(trezor.enums.NEMSupplyChangeType) Q(NEMSupplyChangeType) -Q(trezor.enums.StellarAssetType) Q(StellarAssetType) -Q(trezor.enums.StellarMemoType) Q(StellarMemoType) -Q(trezor.enums.StellarSignerType) Q(StellarSignerType) -Q(trezor.enums.TezosBallotType) Q(TezosBallotType) -Q(trezor.enums.TezosContractType) Q(TezosContractType) -Q(apps.binance) -Q(binance) -Q(apps.binance.get_address) -Q(get_address) -Q(apps.binance.get_public_key) -Q(get_public_key) -Q(apps.binance.helpers) -Q(helpers) -Q(apps.binance.layout) -Q(layout) -Q(apps.binance.sign_tx) -Q(sign_tx) -Q(apps.bitcoin.sign_tx.zcash_v4) -Q(zcash_v4) -Q(apps.cardano) -Q(cardano) -Q(apps.cardano.addresses) +Q(account_path_check) +Q(actions) +Q(add_resident_credential) Q(addresses) +Q(apps.binance) +Q(apps.binance.get_address) +Q(apps.binance.get_public_key) +Q(apps.binance.helpers) +Q(apps.binance.layout) +Q(apps.binance.sign_tx) +Q(apps.bitcoin.sign_tx.zcash_v4) +Q(apps.cardano) +Q(apps.cardano.addresses) Q(apps.cardano.auxiliary_data) -Q(auxiliary_data) Q(apps.cardano.byron_addresses) -Q(byron_addresses) Q(apps.cardano.certificates) -Q(certificates) Q(apps.cardano.get_address) Q(apps.cardano.get_native_script_hash) -Q(get_native_script_hash) Q(apps.cardano.get_public_key) Q(apps.cardano.helpers) Q(apps.cardano.helpers.account_path_check) -Q(account_path_check) Q(apps.cardano.helpers.bech32) -Q(bech32) Q(apps.cardano.helpers.credential) -Q(credential) Q(apps.cardano.helpers.hash_builder_collection) -Q(hash_builder_collection) Q(apps.cardano.helpers.network_ids) -Q(network_ids) Q(apps.cardano.helpers.paths) -Q(paths) Q(apps.cardano.helpers.protocol_magics) -Q(protocol_magics) Q(apps.cardano.helpers.utils) -Q(utils) Q(apps.cardano.layout) Q(apps.cardano.native_script) -Q(native_script) Q(apps.cardano.seed) -Q(seed) Q(apps.cardano.sign_tx) Q(apps.cardano.sign_tx.multisig_signer) -Q(multisig_signer) Q(apps.cardano.sign_tx.ordinary_signer) -Q(ordinary_signer) Q(apps.cardano.sign_tx.plutus_signer) -Q(plutus_signer) Q(apps.cardano.sign_tx.pool_owner_signer) -Q(pool_owner_signer) Q(apps.cardano.sign_tx.signer) -Q(signer) Q(apps.common.mnemonic) -Q(mnemonic) Q(apps.eos) -Q(eos) Q(apps.eos.actions) -Q(actions) Q(apps.eos.actions.layout) Q(apps.eos.get_public_key) Q(apps.eos.helpers) Q(apps.eos.layout) Q(apps.eos.sign_tx) Q(apps.eos.writers) -Q(writers) Q(apps.ethereum) -Q(ethereum) Q(apps.ethereum.definitions) -Q(definitions) Q(apps.ethereum.definitions_constants) -Q(definitions_constants) Q(apps.ethereum.get_address) Q(apps.ethereum.get_public_key) Q(apps.ethereum.helpers) Q(apps.ethereum.keychain) -Q(keychain) Q(apps.ethereum.layout) Q(apps.ethereum.networks) -Q(networks) Q(apps.ethereum.sign_message) -Q(sign_message) Q(apps.ethereum.sign_tx) Q(apps.ethereum.sign_tx_eip1559) -Q(sign_tx_eip1559) Q(apps.ethereum.sign_typed_data) -Q(sign_typed_data) Q(apps.ethereum.staking_tx_constants) -Q(staking_tx_constants) Q(apps.ethereum.tokens) -Q(tokens) Q(apps.ethereum.verify_message) -Q(verify_message) Q(apps.monero) -Q(monero) Q(apps.monero.diag) -Q(diag) Q(apps.monero.get_address) Q(apps.monero.get_tx_keys) -Q(get_tx_keys) Q(apps.monero.get_watch_only) -Q(get_watch_only) Q(apps.monero.key_image_sync) -Q(key_image_sync) Q(apps.monero.layout) Q(apps.monero.live_refresh) -Q(live_refresh) Q(apps.monero.misc) -Q(misc) Q(apps.monero.sign_tx) Q(apps.monero.signing) -Q(signing) Q(apps.monero.signing.offloading_keys) -Q(offloading_keys) Q(apps.monero.signing.state) -Q(state) Q(apps.monero.signing.step_01_init_transaction) -Q(step_01_init_transaction) Q(apps.monero.signing.step_02_set_input) -Q(step_02_set_input) Q(apps.monero.signing.step_04_input_vini) -Q(step_04_input_vini) Q(apps.monero.signing.step_05_all_inputs_set) -Q(step_05_all_inputs_set) Q(apps.monero.signing.step_06_set_output) -Q(step_06_set_output) Q(apps.monero.signing.step_07_all_outputs_set) -Q(step_07_all_outputs_set) Q(apps.monero.signing.step_09_sign_input) -Q(step_09_sign_input) Q(apps.monero.signing.step_10_sign_final) -Q(step_10_sign_final) Q(apps.monero.xmr) -Q(xmr) Q(apps.monero.xmr.addresses) Q(apps.monero.xmr.bulletproof) -Q(bulletproof) Q(apps.monero.xmr.chacha_poly) -Q(chacha_poly) Q(apps.monero.xmr.clsag) -Q(clsag) Q(apps.monero.xmr.credentials) -Q(credentials) Q(apps.monero.xmr.crypto_helpers) -Q(crypto_helpers) Q(apps.monero.xmr.keccak_hasher) -Q(keccak_hasher) Q(apps.monero.xmr.key_image) -Q(key_image) Q(apps.monero.xmr.mlsag_hasher) -Q(mlsag_hasher) Q(apps.monero.xmr.monero) Q(apps.monero.xmr.networks) Q(apps.monero.xmr.range_signatures) -Q(range_signatures) Q(apps.monero.xmr.serialize) -Q(serialize) Q(apps.monero.xmr.serialize.base_types) -Q(base_types) Q(apps.monero.xmr.serialize.int_serialize) -Q(int_serialize) Q(apps.monero.xmr.serialize.message_types) -Q(message_types) Q(apps.monero.xmr.serialize.readwriter) -Q(readwriter) Q(apps.monero.xmr.serialize_messages.base) -Q(base) Q(apps.monero.xmr.serialize_messages.tx_ct_key) -Q(tx_ct_key) Q(apps.monero.xmr.serialize_messages.tx_ecdh) -Q(tx_ecdh) Q(apps.monero.xmr.serialize_messages.tx_prefix) -Q(tx_prefix) Q(apps.monero.xmr.serialize_messages.tx_rsig_bulletproof) -Q(tx_rsig_bulletproof) Q(apps.nem) -Q(nem) Q(apps.nem.get_address) Q(apps.nem.helpers) Q(apps.nem.layout) Q(apps.nem.mosaic) -Q(mosaic) Q(apps.nem.mosaic.helpers) Q(apps.nem.mosaic.layout) Q(apps.nem.mosaic.nem_mosaics) -Q(nem_mosaics) Q(apps.nem.mosaic.serialize) Q(apps.nem.multisig) -Q(multisig) Q(apps.nem.multisig.layout) Q(apps.nem.multisig.serialize) Q(apps.nem.namespace) -Q(namespace) Q(apps.nem.namespace.layout) Q(apps.nem.namespace.serialize) Q(apps.nem.sign_tx) Q(apps.nem.transfer) -Q(transfer) Q(apps.nem.transfer.layout) Q(apps.nem.transfer.serialize) Q(apps.nem.validators) -Q(validators) Q(apps.nem.writers) Q(apps.ripple) -Q(ripple) Q(apps.ripple.base58_ripple) -Q(base58_ripple) Q(apps.ripple.get_address) Q(apps.ripple.helpers) Q(apps.ripple.layout) Q(apps.ripple.serialize) Q(apps.ripple.sign_tx) Q(apps.solana) -Q(solana) Q(apps.solana.constants) -Q(constants) Q(apps.solana.format) -Q(format) Q(apps.solana.get_address) Q(apps.solana.get_public_key) Q(apps.solana.layout) Q(apps.solana.predefined_transaction) -Q(predefined_transaction) Q(apps.solana.sign_tx) Q(apps.solana.token_account) -Q(token_account) Q(apps.solana.transaction) -Q(transaction) Q(apps.solana.transaction.instruction) -Q(instruction) Q(apps.solana.transaction.instructions) -Q(instructions) Q(apps.solana.transaction.parse) -Q(parse) Q(apps.solana.types) -Q(types) Q(apps.stellar) -Q(stellar) Q(apps.stellar.consts) -Q(consts) Q(apps.stellar.get_address) Q(apps.stellar.helpers) Q(apps.stellar.layout) Q(apps.stellar.operations) -Q(operations) Q(apps.stellar.operations.layout) Q(apps.stellar.operations.serialize) Q(apps.stellar.sign_tx) Q(apps.stellar.writers) Q(apps.tezos) -Q(tezos) Q(apps.tezos.get_address) Q(apps.tezos.get_public_key) Q(apps.tezos.helpers) Q(apps.tezos.layout) Q(apps.tezos.sign_tx) Q(apps.webauthn) -Q(webauthn) Q(apps.webauthn.add_resident_credential) -Q(add_resident_credential) Q(apps.webauthn.common) -Q(common) Q(apps.webauthn.credential) Q(apps.webauthn.fido2) -Q(fido2) Q(apps.webauthn.knownapps) -Q(knownapps) Q(apps.webauthn.list_resident_credentials) -Q(list_resident_credentials) Q(apps.webauthn.remove_resident_credential) -Q(remove_resident_credential) Q(apps.webauthn.resident_credentials) -Q(resident_credentials) Q(apps.zcash) -Q(zcash) Q(apps.zcash.f4jumble) -Q(f4jumble) Q(apps.zcash.hasher) -Q(hasher) Q(apps.zcash.signer) Q(apps.zcash.unified_addresses) +Q(auxiliary_data) +Q(base) +Q(base58_ripple) +Q(base_types) +Q(bech32) +Q(binance) +Q(bulletproof) +Q(byron_addresses) +Q(cardano) +Q(certificates) +Q(chacha_poly) +Q(clsag) +Q(common) +Q(constants) +Q(consts) +Q(credential) +Q(credentials) +Q(crypto_helpers) +Q(definitions) +Q(definitions_constants) +Q(diag) +Q(eos) +Q(ethereum) +Q(f4jumble) +Q(fido2) +Q(format) +Q(get_address) +Q(get_native_script_hash) +Q(get_public_key) +Q(get_tx_keys) +Q(get_watch_only) +Q(hash_builder_collection) +Q(hasher) +Q(helpers) +Q(instruction) +Q(instructions) +Q(int_serialize) +Q(keccak_hasher) +Q(key_image) +Q(key_image_sync) +Q(keychain) +Q(knownapps) +Q(layout) +Q(list_resident_credentials) +Q(live_refresh) +Q(message_types) +Q(misc) +Q(mlsag_hasher) +Q(mnemonic) +Q(monero) +Q(mosaic) +Q(multisig) +Q(multisig_signer) +Q(namespace) +Q(native_script) +Q(nem) +Q(nem_mosaics) +Q(network_ids) +Q(networks) +Q(offloading_keys) +Q(operations) +Q(ordinary_signer) +Q(parse) +Q(paths) +Q(plutus_signer) +Q(pool_owner_signer) +Q(predefined_transaction) +Q(protocol_magics) +Q(range_signatures) +Q(readwriter) +Q(remove_resident_credential) +Q(resident_credentials) +Q(ripple) +Q(seed) +Q(serialize) +Q(sign_message) +Q(sign_tx) +Q(sign_tx_eip1559) +Q(sign_typed_data) +Q(signer) +Q(signing) +Q(solana) +Q(staking_tx_constants) +Q(state) +Q(stellar) +Q(step_01_init_transaction) +Q(step_02_set_input) +Q(step_04_input_vini) +Q(step_05_all_inputs_set) +Q(step_06_set_output) +Q(step_07_all_outputs_set) +Q(step_09_sign_input) +Q(step_10_sign_final) +Q(tezos) +Q(token_account) +Q(tokens) +Q(transaction) +Q(transfer) +Q(trezor.enums.BinanceOrderSide) +Q(trezor.enums.BinanceOrderType) +Q(trezor.enums.BinanceTimeInForce) +Q(trezor.enums.CardanoAddressType) +Q(trezor.enums.CardanoCVoteRegistrationFormat) +Q(trezor.enums.CardanoCertificateType) +Q(trezor.enums.CardanoDRepType) +Q(trezor.enums.CardanoDerivationType) +Q(trezor.enums.CardanoNativeScriptHashDisplayFormat) +Q(trezor.enums.CardanoNativeScriptType) +Q(trezor.enums.CardanoPoolRelayType) +Q(trezor.enums.CardanoTxAuxiliaryDataSupplementType) +Q(trezor.enums.CardanoTxOutputSerializationFormat) +Q(trezor.enums.CardanoTxSigningMode) +Q(trezor.enums.CardanoTxWitnessType) +Q(trezor.enums.EthereumDataType) +Q(trezor.enums.EthereumDefinitionType) +Q(trezor.enums.MoneroNetworkType) +Q(trezor.enums.NEMImportanceTransferMode) +Q(trezor.enums.NEMModificationType) +Q(trezor.enums.NEMMosaicLevy) +Q(trezor.enums.NEMSupplyChangeType) +Q(trezor.enums.StellarAssetType) +Q(trezor.enums.StellarMemoType) +Q(trezor.enums.StellarSignerType) +Q(trezor.enums.TezosBallotType) +Q(trezor.enums.TezosContractType) +Q(tx_ct_key) +Q(tx_ecdh) +Q(tx_prefix) +Q(tx_rsig_bulletproof) +Q(types) Q(unified_addresses) +Q(utils) +Q(validators) +Q(verify_message) +Q(webauthn) +Q(writers) +Q(xmr) +Q(zcash) +Q(zcash_v4) +#endif + +#if !PYOPT +Q(DebugButton) +Q(DebugPhysicalButton) +Q(DebugSwipeDirection) +Q(DebugWaitType) +Q(apps.debug) +Q(apps.debug.load_device) +Q(debug) +Q(load_device) +Q(storage.debug) +Q(trezor.enums.DebugButton) +Q(trezor.enums.DebugPhysicalButton) +Q(trezor.enums.DebugSwipeDirection) +Q(trezor.enums.DebugWaitType) #endif // generate full alphabet diff --git a/core/embed/upymod/qstrdefsport.h.mako b/core/embed/upymod/qstrdefsport.h.mako index 12f003be2b..209f3ba9fd 100644 --- a/core/embed/upymod/qstrdefsport.h.mako +++ b/core/embed/upymod/qstrdefsport.h.mako @@ -3,6 +3,7 @@ // do not edit manually! // fmt: off <% +import re from itertools import chain SRCDIR = THIS_FILE.resolve().parent.parent.parent / "src" @@ -29,6 +30,10 @@ ALTCOINS = ( "zcash", ) +ALTCOINS_RE = re.compile("|".join(ALTCOINS), flags=re.IGNORECASE) +THP_RE = re.compile(r"\.thp", flags=re.IGNORECASE) +DEBUG_RE = re.compile("debug", flags=re.IGNORECASE) + pyfiles = chain.from_iterable(sorted(SRCDIR.glob(p)) for p in PATTERNS) def make_import_name(pyfile): @@ -39,19 +44,19 @@ def make_import_name(pyfile): import_name = str(importfile.with_suffix("")) return import_name.replace("/", ".") -imports = [make_import_name(f) for f in pyfiles] +imports = set(make_import_name(f) for f in pyfiles) -imports_thp = [import_name for import_name in imports if ".thp" in import_name.lower()] -imports_common = [import_name for import_name in imports if (not any(a in import_name.lower() for a in ALTCOINS) and import_name not in imports_thp)] -imports_altcoin = [import_name for import_name in imports if import_name not in imports_common and import_name not in imports_thp] +imports_thp = set(import_name for import_name in imports if THP_RE.search(import_name)) +imports_altcoin = set(import_name for import_name in imports if ALTCOINS_RE.search(import_name)) +imports_debug = set(import_name for import_name in imports if DEBUG_RE.search(import_name)) +imports_common = imports - imports_thp - imports_altcoin - imports_debug def make_import_qstrs(import_names): - imported = set() + import_qstrs = set() for name in import_names: - for qstr in (name, name.rsplit('.', 1)[-1]): - if qstr not in imported: - yield qstr - imported.add(qstr) + import_qstrs.add(name) + import_qstrs.add(name.rsplit('.', 1)[-1]) + return sorted(import_qstrs) %>\ #error This header should not be part of the build, its purpose is only to add missed Qstrings @@ -87,6 +92,12 @@ Q(${import_name}) % endfor #endif +#if !PYOPT +% for import_name in make_import_qstrs(imports_debug): +Q(${import_name}) +% endfor +#endif + // generate full alphabet <% ALPHABET = "abcdefghijklmnopqrstuvwxyz"