Alexandre Paillier
8881471a8e
EIP-712 fixes
...
- Now displays a Review page before showing the fields
- Now asks for confirmation before rejecting
- Now does not refresh the screen twice after a signature approval/rejection
- Both EIP-712 implementations on par UX-wise
- Fixed v0 approve/reject status word mismatch
- Unified NBGL UI of both implementations
2023-05-16 11:42:30 +02:00
Alexandre Paillier
b5c58b59cf
network: cleanup
2023-05-16 11:42:29 +02:00
Francois Beutin
3fa410fb24
Add log for exception
2023-04-24 11:30:14 +02:00
Alexandre Paillier
1edd8c528a
Review
2023-04-24 11:30:04 +02:00
Alexandre Paillier
d128b0c9cb
Workaround strncasecmp segfault
2023-04-24 11:28:42 +02:00
Alexandre Paillier
504747aba2
Improve finalizeParsing() checking in swap context
...
Simplify code in logic_signTx.c
2023-04-24 11:27:13 +02:00
Alexandre Paillier
fbe062a861
Extra security checks on domain name when parsing it
2023-04-20 10:12:41 +02:00
Alexandre Paillier
ceacee00a7
Provide domain name APDU implementation
2023-03-29 18:09:42 +02:00
Alexandre Paillier
e15899c92e
Moved hash_byte & hash_nbytes functions to common
...
Also fixed possible overflow on large payload hashing
2023-03-29 17:53:29 +02:00
Alexandre Paillier
f17104312b
Challenge implementation
2023-03-29 15:16:23 +02:00
Alexandre Paillier
27392c20de
Better context checks when processing EIP-191 APDUs
2023-02-09 11:44:21 +01:00
Alexandre Paillier
74f880dce9
Removes useless space at the end of tickers
2023-01-10 14:12:39 +01:00
Alexandre Paillier
fb1e1b2f78
EIP712 verbose mode "Struct review" visual glitch fix
2022-11-18 15:07:08 +01:00
Clement Bouvet
800116ee9d
cmd_signMessage712.c: use common ui
2022-11-10 13:33:59 +01:00
Alexandre Paillier
174d35782f
Review fixes
2022-10-26 14:54:10 +02:00
Alexandre Paillier
c158c3e502
Better split between business logic & UI code for EIP-712
2022-10-24 10:18:51 +02:00
Alexandre Paillier
109dffc70e
Better context check for EIP712 sign
...
It was possible to define empty structs without any fields and right after, trigger the EIP712 sign UI flow for blank domain & message hashes.
Added checks if there is actually anything relevant to sign.
2022-10-18 11:51:39 +02:00
Jorge Martins
0b288cd924
Eip712 review ( #355 )
...
* Possible security fix.
It is possible to send a new structure definition after sending a structure implementation, which makes the app treat unrestricted data as if it was a well defined structure.
This commit tries to fix that behaviour. Once a structure implementation is sent, we consider all structures to be defined and we do not allow new definitions.
* Fix previous commit
2022-10-18 11:09:00 +02:00
Alexandre Paillier
c803322f3c
Review fixes
2022-10-17 11:57:16 +02:00
Alexandre Paillier
d297a66951
Enforce proper memory alignment on APDU buffer for response status words
2022-10-17 11:57:16 +02:00
Alexandre Paillier
2474bdb81a
Merge remote-tracking branch 'origin/develop' into HEAD
2022-10-17 11:44:28 +02:00
Alexandre Paillier
f43d9c4dc7
Fix EIP-191 UI split
2022-10-06 15:11:30 +02:00
Alexandre Paillier
e9ecf2e109
Activate full EIP-191 implementation on LNS + with adequate wording
2022-10-04 13:59:50 +02:00
Lucas PASCAL
3f294f9582
Minor fixes after review
2022-09-16 14:43:51 +02:00
Alexandre Paillier
ba34e37bce
Downgrade to make the app fit on LNS
2022-09-15 16:49:20 +02:00
Alexandre Paillier
50dd4f5965
Linting + updated to clang-format 12.0.1
2022-09-15 16:49:19 +02:00
Alexandre Paillier
218098efe9
Removed unused header includes from EIP-191
2022-09-15 16:49:19 +02:00
Alexandre Paillier
eec44e994a
Removed duplicated function signature of ui_idle
2022-09-15 16:49:19 +02:00
Alexandre Paillier
f46ed72c60
Reimplement the status words for EIP-191 error cases without throwing
2022-09-15 16:49:18 +02:00
Alexandre Paillier
e93d82c104
Better separation between EIP-191 UI & business logic
2022-09-15 16:49:18 +02:00
Alexandre Paillier
4bbc142ee5
Doxygen comments
2022-09-15 16:49:15 +02:00
Alexandre Paillier
78c0bfe424
Removed EIP-712 strict chain ID check
2022-09-15 16:44:19 +02:00
Alexandre Paillier
40f00bb012
Minimize the RAM used by EIP-191 global variables
2022-09-15 13:25:10 +02:00
Alexandre Paillier
aedf6026c7
Handling of EIP191 non ASCII messages
2022-09-15 13:25:09 +02:00
Alexandre Paillier
81e15e51e8
Fix skip issue
2022-09-15 13:25:09 +02:00
Alexandre Paillier
493ce85c3b
New implementation
2022-09-15 13:25:08 +02:00
Alexandre Paillier
35c77ff29c
Increased EIP712 max array depth to 8
2022-09-14 17:27:34 +02:00
Alexandre Paillier
5ce56bd53e
Renamed EIP712 context files to less generic ones
2022-09-14 17:27:33 +02:00
Alexandre Paillier
1b46ccb190
Extract EIP-712 UI code
2022-09-14 17:27:33 +02:00
Alexandre Paillier
ab67ae1cb3
Merge remote-tracking branch 'origin/develop' into HEAD
2022-09-14 17:27:25 +02:00
Alexandre Paillier
a58d2ababb
Removed unused bagl type references in EIP-191 code
2022-09-14 11:08:10 +02:00
Alexandre Paillier
a27826dcf6
Fix EIP712 type_hash function description
2022-09-14 09:41:39 +02:00
Alexandre Paillier
ed479128fd
EIP712 Filtering count checking
2022-09-14 09:41:39 +02:00
Alexandre Paillier
93b0bb08f7
Better handling of missing EIP721 error codes + add a missing one for EIP712 filtering signature checking
2022-09-14 09:41:38 +02:00
Alexandre Paillier
9e4df4b655
Updated EIP712 filtering signature specs to start with a magic number
...
Making it impossible for a signature of one type to be valid as another
2022-09-14 09:41:38 +02:00
Alexandre Paillier
3ee1fa419a
Now supports EIP-712 filtering with missing chain id & contract address
2022-09-14 09:41:37 +02:00
Alexandre Paillier
770bd9c39d
Replaced the signature key used for EIP712 tests by the CAL testing one
2022-08-31 18:09:38 +02:00
Clement Bouvet
89eeaa7b7d
eth: split ux from rest of source
2022-08-24 10:35:16 +02:00
Alexandre Paillier
ed7b6541c0
EIP712 - Extra fixes from security review
2022-08-10 16:19:52 +02:00
Alexandre Paillier
98889e2642
Moved EIP712 filtering argument switch from P1 to P2, more in line with other EIP712 APDUs
2022-08-10 15:19:10 +02:00