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