Charles-Edouard de la Vergne
f5ea9c51c2
Fix various Linter issues and mispelling
2024-03-27 14:43:15 +01:00
Charles-Edouard de la Vergne
36ae183a1c
Fix deprecated warnings
2024-03-27 14:43:15 +01:00
Alexandre Paillier
77f5c9389b
EIP-712 addresses can now be displayed as a token ticker or a trusted domain name
2024-02-14 12:10:03 +01:00
Francois Beutin
3bcf12ce1d
Rename utils to common_utils
2024-02-02 11:23:30 +01:00
Francois Beutin
3d9da0dd16
Move basic utility functions from ethUtils to main utils file
2024-02-02 11:23:28 +01:00
Francois Beutin
ca8700f47c
Split tokens file
2024-02-02 11:23:26 +01:00
Alexandre Paillier
49da32af8e
Added missing return value checks following recent changes
2023-10-10 16:42:24 +02:00
Alexandre Paillier
17968338d8
Removed EIP712 verbose display of inner struct names
2023-07-18 17:00:35 +02:00
Alexandre Paillier
af8123ad45
Fix improper handling of empty arrays in EIP712 messages
2023-07-18 17:00:35 +02:00
Alexandre Paillier
6a04c14df0
Add back the call to ui_idle in case of EIP712 failure
...
Was removed during the Stax porting
2023-07-18 17:00:30 +02:00
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
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
fb1e1b2f78
EIP712 verbose mode "Struct review" visual glitch fix
2022-11-18 15:07:08 +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
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
eec44e994a
Removed duplicated function signature of ui_idle
2022-09-15 16:49:19 +02:00
Alexandre Paillier
78c0bfe424
Removed EIP-712 strict chain ID check
2022-09-15 16:44:19 +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
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
Alexandre Paillier
3e3dade0b4
Security review code linting
2022-08-08 13:55:45 +02:00
Jorge Martins
b2ec3eff0a
Security review ( #331 )
...
* Fix some issues
* add typed_data.c changes
* Make attribution after the check
2022-08-08 13:53:41 +02:00
Alexandre Paillier
de9e895ad9
EIP-712 code linting
2022-08-05 18:15:59 +02:00
Alexandre Paillier
0cf21cdf73
Better EIP-712 array error-handling on APDU parsing
2022-08-05 18:15:58 +02:00
Alexandre Paillier
5e5b3c3621
EIP712 STRUCT FIELD IMPL now checks the APDU payload bounds
2022-08-05 18:15:58 +02:00
Alexandre Paillier
38f199e46b
Now only writes to EIP-712 UI buffers data that should be show
...
Prevents the case if the last field of a message is supposed to be hidden and after reaching the Approve/Reject screens the user goes back to see the last field, he would see the actual last field that should be hidden instead of the last one he saw beforehand.
2022-08-05 18:15:57 +02:00
Alexandre Paillier
b4fe42cd78
EIP712 STRUCT FIELD DEF now checks the APDU payload bounds
2022-08-05 18:15:57 +02:00
Alexandre Paillier
0cc75edf69
EIP712 code Doxygen comments pass
2022-08-05 18:15:57 +02:00
Alexandre Paillier
0cfb16759c
Add missing APDU return code
2022-08-05 18:15:56 +02:00
Alexandre Paillier
fcc375a9aa
Small refactoring to EIP712 typed data functions
2022-08-05 18:15:56 +02:00
Alexandre Paillier
cfb45a795b
Better EIP712 field implementation error handling, including hidden ones
2022-08-05 18:15:55 +02:00
Alexandre Paillier
58d1b40c79
UI 712 logic refactoring
2022-08-05 18:15:55 +02:00
Alexandre Paillier
bce0a3114d
WIP path refactoring
2022-08-05 18:15:54 +02:00
Alexandre Paillier
832bbbf24c
Cleaned up the EIP712 field hash code
2022-08-05 18:15:54 +02:00
Alexandre Paillier
04d78eaaa9
Refactored/Split up EIP712 set struct field function
2022-08-05 18:15:54 +02:00
Alexandre Paillier
3ed8b3b0ef
Removed mentions about un-needed multi-APDU EIP712 SEND STRUCT DEFINITION
2022-08-05 18:15:53 +02:00