Commit Graph

1030 Commits

Author SHA1 Message Date
Alexandre Paillier
e8f58bdce7 Ragger tests now have EIP721 filtering 2022-08-09 14:07:36 +02:00
Alexandre Paillier
0d38bea388 Ragger tests - Refactored the handling of the app settings 2022-08-09 14:07:36 +02:00
Alexandre Paillier
5e9b426b3e EIP-712 tests now have reference response signatures they can check against 2022-08-09 14:07:36 +02:00
Alexandre Paillier
ca04b5e213 Now properly handles UI clicks in EIP712 automated tests 2022-08-09 14:07:35 +02:00
Alexandre Paillier
341b7c2adf Modified all the nominal eip712 test input files 2022-08-09 14:07:35 +02:00
Alexandre Paillier
243f33bbb7 Fix initial state of buffer in BIP32 formatting function 2022-08-09 14:07:35 +02:00
Alexandre Paillier
311c266084 Fixes problem with field values too long for one APDU 2022-08-09 14:07:34 +02:00
Alexandre Paillier
fe13260140 EIP712 feeder script ragger support 2022-08-09 14:07:34 +02:00
Alexandre Paillier
ef7f2e128a Ragger tests now target all devices 2022-08-09 14:07:33 +02:00
Alexandre Paillier
aef491fdee Added a ragger ethereum client with EIP712 support 2022-08-09 14:07:33 +02:00
Alexandre Paillier
6758453dfa Merge remote-tracking branch 'origin/develop' into apr/feature/eip712 2022-08-09 14:05:14 +02:00
Jorge Martins
7c831dd067 Merge pull request #336 from jmartins-ledger/bug-fix
Fix feesToString buffer overflow
2022-08-09 12:35:50 +02:00
Jorge Martins
d384007912 Fix feesToString buffer overflow 2022-08-09 11:30:43 +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
ff68de5bb7 Fix compound tests 2022-08-05 18:39:56 +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
1eaba306e1 Add missing information to EIP712 send struct def APDU in doc 2022-08-05 18:15:55 +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
Alexandre Paillier
b35fc03a64 Small simplification/refactoring of EIP712 solidity typenames matching 2022-08-05 18:15:53 +02:00
Alexandre Paillier
f0764545ae Small simplification/refactoring of EIP712 typed data 2022-08-05 18:15:52 +02:00
Alexandre Paillier
aeb8072cf0 Removed solidity typenames from EIP712 context structure 2022-08-05 18:15:52 +02:00
Alexandre Paillier
d1d1aa73e6 Made all EIP712 code use the same function for response APDUs 2022-08-05 18:15:52 +02:00
Alexandre Paillier
47c1f73736 Removed unused EIP712 get_struct function 2022-08-05 18:15:51 +02:00
Alexandre Paillier
a375e5b07d Moved the memory allocator and its util functions out of the EIP712 subdirectory and gave it its own compilation flag
Also removed dead code
2022-08-05 18:15:51 +02:00
Alexandre Paillier
7dad477413 Moved EIP 712 commands handling into their own file & renamed some things 2022-08-05 18:15:50 +02:00
Alexandre Paillier
399b865e5c Moved EIP712 filtering related code into its own file 2022-08-05 18:15:50 +02:00
Alexandre Paillier
cd77ca5152 Small refactoring on EIP712 set_struct_name function 2022-08-05 18:15:50 +02:00
Alexandre Paillier
b782a69137 Moved all typed data in RAM related code into its own file 2022-08-05 18:15:49 +02:00
Alexandre Paillier
0100eed1fd EIP712 code now uses the global apdu response code; error handling improvements 2022-08-05 18:15:49 +02:00
Alexandre Paillier
12b97d91db Added a global apdu response code variable 2022-08-05 18:15:48 +02:00
Alexandre Paillier
01179730a1 Updated the EIP-712 filtering signature specs; Update the verification implementation to now handle field path intead of only the field key name 2022-08-05 18:15:48 +02:00
Alexandre Paillier
4574c223f2 Clean up mem allocation alignment macro usage + small refactoring of the typehash dependencies search 2022-08-05 18:15:48 +02:00
Alexandre Paillier
339d24445e Merge the duplicated EIP-712 filtering function 2022-08-05 18:15:47 +02:00
Alexandre Paillier
ee660317aa EIP712 signatures now computed on schema hash 2022-08-05 18:15:47 +02:00
Alexandre Paillier
188a75ffff App now computes EIP-712 schema identifier 2022-08-05 18:15:47 +02:00
Alexandre Paillier
5450f0c46f Refactored some type EIP712 formatting and hashing code to re-use it 2022-08-05 18:15:46 +02:00
Alexandre Paillier
1b00038859 Fixed compilation warning 2022-08-05 18:15:46 +02:00