aboutsummaryrefslogtreecommitdiff
path: root/src/device_trezor (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-09-09Merge pull request #8513luigi11112-8/+8
959a3e6 wallet2: ensure imported outputs subaddresses are created (moneromooo-monero) a098504 wallet2: better test on whether to allow output import (moneromooo-monero) c5579ac allow exporting outputs in chunks (moneromooo-monero) 1e912ec wallet2: fixes for export/import output flow (j-berman) 692f1d4 wallet2: do not assume imported outputs must be non empty (moneromooo-monero) 67b6d6a wallet2: prevent importing outputs in a hot wallet (moneromooo-monero) d9fc666 wallet2: fix missing subaddress indices in 'light' exported outputs (moneromooo-monero)
2022-08-18allow exporting outputs in chunksmoneromooo-monero2-8/+8
this will make it easier huge wallets to do so without hitting random limits (eg, max string size in node).
2022-06-20feat(trezor): add HF15 support, BP+Dusan Klinec3-163/+135
- BP+ support added for Trezor - old Trezor firmware version support removed, code cleanup
2022-04-18Add view tags to outputs to reduce wallet scanning timej-berman1-2/+1
Implements view tags as proposed by @UkoeHB in MRL issue https://github.com/monero-project/research-lab/issues/73 At tx construction, the sender adds a 1-byte view tag to each output. The view tag is derived from the sender-receiver shared secret. When scanning for outputs, the receiver can check the view tag for a match, in order to reduce scanning time. When the view tag does not match, the wallet avoids the more expensive EC operations when deriving the output public key using the shared secret.
2022-03-04Copyright: Update to 2022mj-xmr16-16/+16
2021-10-17Merge pull request #7869luigi11111-2/+2
ad9fde4 UB: virtual methods in destructor at Trezor (mj-xmr)
2021-09-08UB: virtual methods in destructor at Trezormj-xmr1-2/+2
2021-08-03trezor: try empty passphrase firstDusan Klinec4-10/+63
- Try empty passphrase first when opening a wallet, as all Trezors will have passphrase enabled by default by Trezor Suite by default. This feature enables easier access to all users using disabled passphrase (or empty passhprase) - If wallet address differs from device address with empty passphrase, another opening attempt is made, without passphrase suppression, so user can enter his passhprase if using some. In this scenario, nothing changes to user, wallet opening just consumes one more call to Trezor (get wallet address with empty passphrase) - also change how m_passphrase is used. Previous version did not work well with recent passphrase entry mechanism change (made in Trezor), thus this commit fixes the behaviour).
2021-07-27Merge pull request #7782luigi11111-1/+1
a48db50 device_trezor_base: fix typo (anon)
2021-07-10device_trezor_base: fix typoanon1-1/+1
2021-07-10Merge pull request #7762luigi11111-0/+4
8ae6c85 trezor: add #if for ByteSizeLong (selsta)
2021-06-27trezor: add #if for ByteSizeLongselsta1-0/+4
Turns out Ubuntu 18.04 ships with an old protobuf version.
2021-06-11trezor: fix potential use of uninitialized memorymoneromooo-monero1-2/+7
CID 1446575
2021-06-10Merge pull request #7661luigi11111-3/+1
08e4497 Improve cryptonote (block and tx) binary read performance (Lee Clagett)
2021-05-13trezor: deprecated ByteSize -> ByteSizeLongselsta1-1/+1
2021-04-16Split epee/string_tools.h and encapsulate boost::lexical_castmj-xmr3-0/+4
2021-03-20Merge pull request #7418luigi11111-14/+1
68f1ca6 trezor: simplify recognition of integrated addresses (Dusan Klinec)
2021-03-03trezor: simplify recognition of integrated addressesDusan Klinec1-14/+1
now it is possible to simplify integrated addresses recognition using transaction destination info directly fixes https://github.com/monero-project/monero-gui/issues/3346
2021-01-23Improve cryptonote (block and tx) binary read performanceLee Clagett1-3/+1
2021-01-20device_trezor: add redundant checkanon1-1/+1
2021-01-20device_trezor: wipe string fields properlyanon1-20/+9
2020-09-04enable CLSAG support for Trezor clientDusan Klinec1-12/+17
2020-08-27Integrate CLSAGs into moneromoneromooo-monero1-1/+1
They are allowed from v12, and MLSAGs are rejected from v13.
2020-07-19Merge pull request #6512Alexander Blair14-14/+14
5ef0607da Update copyright year to 2020 (SomaticFanatic)
2020-06-08Merge pull request #6519luigi11111-1/+3
ab44293 trezor: add new firmware version support (ph4r05)
2020-05-31Fix boost <1.60 compilation and fix boost 1.73+ warningsLee Clagett1-1/+2
2020-05-14build: fix boost 1.73 compatibilityselsta1-1/+1
2020-05-12trezor: add new firmware version supportDusan Klinec1-1/+3
2020-05-06Update copyright year to 2020SomaticFanatic14-14/+14
Update copyright year to 2020
2020-04-27trezor: adapt to new passphrase mechanismDusan Klinec10-181/+351
- choice where to enter passphrase is now made on the host - use wipeable string in the comm stack - wipe passphrase memory - protocol optimizations, prepare for new firmware version - minor fixes and improvements - tests fixes, HF12 support
2019-06-17device: show address on device displayDusan Klinec3-0/+23
- Trezor: support for device address display (subaddress, integrated address) - Wallet::API support added - Simplewallet: - address device [<index>] - address new <label> // shows address on device also - integrated_address [device] <payment_id|address> // new optional "device" arg to display also on the device
2019-04-25device/trezor: device sorting and filtering improvedDusan Klinec3-16/+115
- Trezor type detection refactored, T1 disabled (was enabled before which was a bug) - Sort connected devices by env TREZOR_PATH - Compatibility with Trezor ecosystem using TREZOR_PATH env var - Enables to pick particular Trezor to use in GUI as we don't have the multi-device selection yet - Dump all detected devices to log for better debugging / troubleshooting
2019-04-18device/trezor: button request callback fixDusan Klinec1-1/+2
2019-04-15Merge pull request #5398Riccardo Spagni2-21/+53
41901b8d device/trezor: env-configurable ports (Dusan Klinec) c97a1f79 tests: trezor tests fixes and improvements (Dusan Klinec)
2019-04-15Merge pull request #5355Riccardo Spagni2-1/+14
c68fe787 device/trezor: add button pressed request (Dusan Klinec) 827f52ad wallet: API changes to enable passphrase entry (Dusan Klinec)
2019-04-10device/trezor: env-configurable portsDusan Klinec2-21/+53
2019-04-07device/trezor: add button pressed requestDusan Klinec2-1/+14
2019-03-29device/trezor: increase live-refresh timeoutDusan Klinec1-1/+1
2019-03-21wallet: fix offline signing calling a daemon RPCmoneromooo-monero2-5/+5
2019-03-21Merge pull request #5211Riccardo Spagni6-184/+831
c9b13fbb tests/trezor: HF9 and HF10 tests (Dusan Klinec) a1fd1d49 device/trezor: HF10 support added, wallet::API (Dusan Klinec) d74d26f2 crypto: hmac_keccak added (Dusan Klinec)
2019-03-20device/trezor: HF10 support added, wallet::APIDusan Klinec6-185/+832
- import only key images generated by cold signing process - wallet_api: trezor methods added - wallet: button request code added - const added to methods - wallet2::get_tx_key_device() tries to decrypt stored tx private keys using the device. - simplewallet supports get_tx_key and get_tx_proof on hw device using the get_tx_key feature - live refresh enables refresh with trezor i.e. computing key images on the fly. More convenient and efficient for users. - device: has_ki_live_refresh added - a thread is watching whether live refresh is being computed, if not for 30 seconds, it terminates the live refresh process - switches Trezor state
2019-03-17Merge pull request #5166Riccardo Spagni1-1/+1
75e5aafd device/trezor: dummy payment ID fix (Dusan Klinec)
2019-03-17Merge pull request #5061Riccardo Spagni14-14/+14
1f2930ce Update 2019 copyright (binaryFate)
2019-03-14Merge pull request #4977Riccardo Spagni11-59/+510
5ea17909 device/trezor: debugging features, trezor tests (Dusan Klinec)
2019-03-05Update 2019 copyrightbinaryFate14-14/+14
2019-03-05device/trezor: debugging features, trezor testsDusan Klinec11-59/+510
2019-02-20device/trezor: dummy payment ID fixDusan Klinec1-1/+1
2019-02-02epee: add SSL supportmoneromooo-monero1-1/+1
RPC connections now have optional tranparent SSL. An optional private key and certificate file can be passed, using the --{rpc,daemon}-ssl-private-key and --{rpc,daemon}-ssl-certificate options. Those have as argument a path to a PEM format private private key and certificate, respectively. If not given, a temporary self signed certificate will be used. SSL can be enabled or disabled using --{rpc}-ssl, which accepts autodetect (default), disabled or enabled. Access can be restricted to particular certificates using the --rpc-ssl-allowed-certificates, which takes a list of paths to PEM encoded certificates. This can allow a wallet to connect to only the daemon they think they're connected to, by forcing SSL and listing the paths to the known good certificates. To generate long term certificates: openssl genrsa -out /tmp/KEY 4096 openssl req -new -key /tmp/KEY -out /tmp/REQ openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT /tmp/KEY is the private key, and /tmp/CERT is the certificate, both in PEM format. /tmp/REQ can be removed. Adjust the last command to set expiration date, etc, as needed. It doesn't make a whole lot of sense for monero anyway, since most servers will run with one time temporary self signed certificates anyway. SSL support is transparent, so all communication is done on the existing ports, with SSL autodetection. This means you can start using an SSL daemon now, but you should not enforce SSL yet or nothing will talk to you.
2019-01-22add a bulletproof version, new bulletproof type, and rct configmoneromooo-monero1-1/+1
This makes it easier to modify the bulletproof format
2019-01-16Merge pull request #4994Riccardo Spagni1-0/+3
c5e0539c device/trezor: store tx_prefix_hash in tx key aux (Dusan Klinec)
2018-12-18device/trezor: store tx_prefix_hash in tx key auxDusan Klinec1-0/+3
- tx_prefix_hash is required in the key derivation for decryption of the tx keys
2018-12-18build: protobuf dependency fixes, libusb buildDusan Klinec1-8/+0
- docker protobuf dependencies, cross-compilation - device/trezor protobuf build fixes, try_compile - libusb built under all platforms, used by trezor for direct connect
2018-12-04device/trezor: device/trezor: correct device initialization, status checkDusan Klinec5-22/+139
- checks if the device is in the correct usable state - implements check for the v2.0.9 firmware which does not support payment IDs - simple transacttion check, payment id fmt consistency - minor fixes, refactoring, webusb session counting fix
2018-12-04device/trezor: python2 compatibility - bundle dependenciesDusan Klinec5-8/+248
2018-12-04device: enable to use multiple independent device walletsDusan Klinec2-2/+47
- adds a new option `--hw-device-deriv-path` to the simple wallet. Enables to specify wallet derivation path / wallet code (path avoided so it can be misinterpreted as a file path). - devices can use different derivation mechanisms. Trezor uses standard SLIP-10 mechanism with fixed SLIP-44 prefix for Monero - Trezor: when empty, the default derivation mechanism is used with 44'/128'/0'. When entered the derivation path is 44'/128'/PATH. - Trezor: the path is always taken as elements are hardened (1<<31 bit turned on)
2018-11-29device/trezor: passphrase entry on hostDusan Klinec2-18/+7
- simple device callback object added. Device can request passphrase/PIN entry via the callback or notify user some action is required - callback is routed to wallet2, which routes the callback to i_wallet_callback so CLI or GUI wallets can support passphrase entry for HW tokens - wallet: device open needs wallet callback first - passphrase protected device needs wallet callback so user can enter passphrase
2018-11-25device/trezor: webusb transport added, cmake fixesDusan Klinec11-191/+692
- webusb transport based on libusb added. Provides direct access to Trezor via USB, no need for Trezor bridge. - trezor protocol message handler improved, no recursion used. Ready for upcoming integration tests. - libusb (for docker) bumped from v1.0.9 to v1.0.22, newer version required for webusb transport, for device enumeration. - cmake improvements and fixes. Cmake Trezor checks are moved to a dedicated CheckTrezor.cmake file. In case of a problem Trezor is excluded from build. - ifdefs made consistent to Ledger. - UDP Transport enumeration disabled by default in release mode
2018-11-04wallet2: only export necessary outputs and key imagesmoneromooo-monero1-2/+3
and disable annoying test that requires ridiculous amounts of skullduggery every time some format changes
2018-11-02device/trezor: trezor support addedDusan Klinec18-0/+4159