@@ -392,7 +392,11 @@ def find_registered_handler(iface: WireInterface, msg_type: int) -> Handler | No
392392 module = __import__ (modname , None , None , (handler_name ,), 0 )
393393 handler = getattr (module , handler_name )
394394
395- if iface is not None and _is_address_derivation_message (msg_type ):
395+ if (
396+ handler is not None
397+ and iface is not None
398+ and _is_address_derivation_message (msg_type )
399+ ):
396400 return _wrap_with_version_check (handler )
397401
398402 return handler
@@ -401,47 +405,53 @@ def find_registered_handler(iface: WireInterface, msg_type: int) -> Handler | No
401405
402406
403407def _is_address_derivation_message (msg_type : int ) -> bool :
404- return msg_type in (
405- MessageType .GetAddress ,
406- MessageType .GetPublicKey ,
407- MessageType .EthereumGetAddress ,
408- MessageType .EthereumGetAddressOneKey ,
409- MessageType .MoneroGetAddress ,
410- MessageType .NEMGetAddress ,
411- MessageType .NeoGetAddress ,
412- MessageType .StellarGetAddress ,
413- MessageType .RippleGetAddress ,
414- MessageType .CardanoGetAddress ,
415- MessageType .TezosGetAddress ,
416- MessageType .BinanceGetAddress ,
417- MessageType .ConfluxGetAddress ,
418- MessageType .TonGetAddress ,
419- MessageType .TronGetAddress ,
420- MessageType .SolanaGetAddress ,
421- MessageType .StarcoinGetAddress ,
422- MessageType .NearGetAddress ,
423- MessageType .AptosGetAddress ,
424- MessageType .AlgorandGetAddress ,
425- MessageType .PolkadotGetAddress ,
426- MessageType .SuiGetAddress ,
427- MessageType .FilecoinGetAddress ,
428- MessageType .CosmosGetAddress ,
429- MessageType .KaspaGetAddress ,
430- MessageType .NexaGetAddress ,
431- MessageType .NervosGetAddress ,
432- MessageType .ScdoGetAddress ,
433- MessageType .AlephiumGetAddress ,
434- MessageType .BenfenGetAddress ,
435- # Add other GetPublicKey variants
436- MessageType .BinanceGetPublicKey ,
437- MessageType .CardanoGetPublicKey ,
438- MessageType .EthereumGetPublicKey ,
439- MessageType .EthereumGetPublicKeyOneKey ,
440- MessageType .TezosGetPublicKey ,
441- MessageType .StarcoinGetPublicKey ,
442- # MessageType.EOSGetPublicKey,
443- MessageType .NostrGetPublicKey ,
444- )
408+ if utils .BITCOIN_ONLY :
409+ return msg_type in (
410+ MessageType .GetAddress ,
411+ MessageType .GetPublicKey ,
412+ )
413+ else :
414+ return msg_type in (
415+ MessageType .GetAddress ,
416+ MessageType .GetPublicKey ,
417+ MessageType .EthereumGetAddress ,
418+ MessageType .EthereumGetAddressOneKey ,
419+ MessageType .MoneroGetAddress ,
420+ MessageType .NEMGetAddress ,
421+ MessageType .NeoGetAddress ,
422+ MessageType .StellarGetAddress ,
423+ MessageType .RippleGetAddress ,
424+ MessageType .CardanoGetAddress ,
425+ MessageType .TezosGetAddress ,
426+ MessageType .BinanceGetAddress ,
427+ MessageType .ConfluxGetAddress ,
428+ MessageType .TonGetAddress ,
429+ MessageType .TronGetAddress ,
430+ MessageType .SolanaGetAddress ,
431+ MessageType .StarcoinGetAddress ,
432+ MessageType .NearGetAddress ,
433+ MessageType .AptosGetAddress ,
434+ MessageType .AlgorandGetAddress ,
435+ MessageType .PolkadotGetAddress ,
436+ MessageType .SuiGetAddress ,
437+ MessageType .FilecoinGetAddress ,
438+ MessageType .CosmosGetAddress ,
439+ MessageType .KaspaGetAddress ,
440+ MessageType .NexaGetAddress ,
441+ MessageType .NervosGetAddress ,
442+ MessageType .ScdoGetAddress ,
443+ MessageType .AlephiumGetAddress ,
444+ MessageType .BenfenGetAddress ,
445+ # Add other GetPublicKey variants
446+ MessageType .BinanceGetPublicKey ,
447+ MessageType .CardanoGetPublicKey ,
448+ MessageType .EthereumGetPublicKey ,
449+ MessageType .EthereumGetPublicKeyOneKey ,
450+ MessageType .TezosGetPublicKey ,
451+ MessageType .StarcoinGetPublicKey ,
452+ # MessageType.EOSGetPublicKey,
453+ MessageType .NostrGetPublicKey ,
454+ )
445455
446456
447457def _wrap_with_version_check (handler ):
0 commit comments