mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-07-29 09:58:47 +00:00
![]() - CLSAG signature scheme added - type hints added xmr: optimize protocol, send only required data - real_out_additional_tx_keys contains only one element as nothing more is needed during signature - only src_entr.outputs[index] is HMACed and always present. Other outputs are present only if needed which reduces comm and CPU overhead. - getting rid of subaddresses dictionary (memory requirements), now subaddr indices are present per source entry so keys are computed when needed xmr: prepare for permutation sending removal, specify index - specify source entry ordering index prior sorting by key images as original HMAC keys are generated based on these. - permutation checked just by valid HMACs, size of the set, key image sort order - sending permutation is now deprecated, will be removed in the following protocol versions - more strict state transition checks, guard strict check with respect to steps ordering |
||
---|---|---|
.. | ||
production_tests | ||
common.py | ||
mock_storage.py | ||
mock.py | ||
README.md | ||
run_tests_click_emu.sh | ||
run_tests_device_emu_monero.sh | ||
run_tests.sh | ||
slip39_vectors.py | ||
test_apps.binance.address.py | ||
test_apps.binance.sign_tx.py | ||
test_apps.cardano.address.py | ||
test_apps.cardano.get_public_key.py | ||
test_apps.common.cbor.py | ||
test_apps.common.coins.py | ||
test_apps.common.paths.py | ||
test_apps.common.seed.py | ||
test_apps.eos.check_action.py | ||
test_apps.eos.conversions.py | ||
test_apps.eos.get_public_key.py | ||
test_apps.ethereum.address.py | ||
test_apps.ethereum.layout.py | ||
test_apps.ethereum.tokens.py | ||
test_apps.lisk.address.py | ||
test_apps.management.recovery_device.py | ||
test_apps.monero.address.py | ||
test_apps.monero.bulletproof.py | ||
test_apps.monero.clsag.py | ||
test_apps.monero.crypto.py | ||
test_apps.monero.proto.py | ||
test_apps.monero.serializer.py | ||
test_apps.nem.address.py | ||
test_apps.nem.hdnode.py | ||
test_apps.nem.mosaic_creation.py | ||
test_apps.nem.mosaic_supply_change.py | ||
test_apps.nem.mosaic.py | ||
test_apps.nem.multisig.aggregate_modification.py | ||
test_apps.nem.multisig.py | ||
test_apps.nem.namespace.py | ||
test_apps.nem.transfer.py | ||
test_apps.ripple.address.py | ||
test_apps.ripple.serializer.py | ||
test_apps.stellar.address.py | ||
test_apps.tezos.address.py | ||
test_apps.tezos.encode.py | ||
test_apps.wallet.address_grs.py | ||
test_apps.wallet.address.py | ||
test_apps.wallet.segwit.bip143.native_p2wpkh.py | ||
test_apps.wallet.segwit.bip143.p2wpkh_in_p2sh.py | ||
test_apps.wallet.segwit.signtx.native_p2wpkh_grs.py | ||
test_apps.wallet.segwit.signtx.native_p2wpkh.py | ||
test_apps.wallet.segwit.signtx.p2wpkh_in_p2sh_grs.py | ||
test_apps.wallet.segwit.signtx.p2wpkh_in_p2sh.py | ||
test_apps.wallet.sign_tx.writers.py | ||
test_apps.wallet.signtx_grs.py | ||
test_apps.wallet.signtx.fee_threshold.py | ||
test_apps.wallet.signtx.omni.py | ||
test_apps.wallet.signtx.py | ||
test_apps.wallet.txweight.py | ||
test_apps.wallet.zcash.zip143.py | ||
test_apps.wallet.zcash.zip243.py | ||
test_apps.webauthn.credential.py | ||
test_protobuf.py | ||
test_storage.cache.py | ||
test_storage.py | ||
test_trezor.config.py | ||
test_trezor.crypto.aes.py | ||
test_trezor.crypto.base32.py | ||
test_trezor.crypto.base58.py | ||
test_trezor.crypto.bech32.py | ||
test_trezor.crypto.bip32.py | ||
test_trezor.crypto.bip39.py | ||
test_trezor.crypto.cashaddr.py | ||
test_trezor.crypto.chacha20poly1305.py | ||
test_trezor.crypto.crc.py | ||
test_trezor.crypto.curve.curve25519.py | ||
test_trezor.crypto.curve.ed25519_cosi.py | ||
test_trezor.crypto.curve.ed25519.py | ||
test_trezor.crypto.curve.nist256p1.py | ||
test_trezor.crypto.curve.secp256k1.py | ||
test_trezor.crypto.der.py | ||
test_trezor.crypto.hashlib.blake2b.py | ||
test_trezor.crypto.hashlib.blake2s.py | ||
test_trezor.crypto.hashlib.blake256.py | ||
test_trezor.crypto.hashlib.groestl512.py | ||
test_trezor.crypto.hashlib.ripemd160.py | ||
test_trezor.crypto.hashlib.sha1.py | ||
test_trezor.crypto.hashlib.sha3_256.py | ||
test_trezor.crypto.hashlib.sha3_512.py | ||
test_trezor.crypto.hashlib.sha256.py | ||
test_trezor.crypto.hashlib.sha512.py | ||
test_trezor.crypto.hmac.py | ||
test_trezor.crypto.pbkdf2.py | ||
test_trezor.crypto.random.py | ||
test_trezor.crypto.rfc6979.py | ||
test_trezor.crypto.rlp.py | ||
test_trezor.crypto.slip39.py | ||
test_trezor.io.fatfs.py | ||
test_trezor.io.sdcard.py | ||
test_trezor.sdcard.py | ||
test_trezor.strings.py | ||
test_trezor.ui.display.py | ||
test_trezor.utils.py | ||
test_trezor.wire.codec_v1.py | ||
test_unittest.py | ||
unittest.py |
Unit tests
Unit tests test some smaller individual parts of code (mainly functions and classes) and are run by micropython directly.
Usage
Please use the unittest.TestCase class:
from common import *
class TestSomething(unittest.TestCase):
test_something(self):
self.assertTrue(True)
Usage of assert
is discouraged because it is not evaluated in production code (when PYOPT=1
). Use self.assertXY
instead, see unittest.py
.