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
|
47e47dd818
|
EIP712 signatures now computed on chain ID
|
2022-08-05 18:15:45 +02:00 |
|
Alexandre Paillier
|
559e729188
|
Better UI for verbose EIP-712, now shows the review struct screen even on inner structures
|
2022-08-05 18:15:45 +02:00 |
|
Alexandre Paillier
|
032d74e301
|
Now checks the EIP712Domain chain ID
|
2022-08-05 18:15:45 +02:00 |
|
Alexandre Paillier
|
1a4149e836
|
EIP-712 hidden fields now share the shown fields logic
|
2022-08-05 18:15:44 +02:00 |
|
Alexandre Paillier
|
d8321d422d
|
Renamed EIP-712 UI function
|
2022-08-05 18:15:44 +02:00 |
|
Alexandre Paillier
|
ca37612f61
|
Fix io_exchange exception
Was trying to reply to EIP712 ARRAY size APDU twice
|
2022-08-05 18:15:43 +02:00 |
|
Alexandre Paillier
|
447e7b9277
|
Verbose EIP-712 setting now ignores filtering APDUs
|
2022-08-05 18:15:43 +02:00 |
|
Alexandre Paillier
|
b1f2e933c0
|
Added an EIP712 test key
|
2022-08-05 18:15:42 +02:00 |
|
Alexandre Paillier
|
b7a4c0d93b
|
EIP-712 filtering UI adjustments; Removed half-blind special compilation flag
|
2022-08-05 18:15:41 +02:00 |
|
Alexandre Paillier
|
a24f621ce3
|
EIP712 filtering, added new APDUs
|
2022-08-05 18:15:41 +02:00 |
|
Alexandre Paillier
|
56e0875979
|
Made the hacky 712 generic step redraw a function
|
2022-08-05 18:15:41 +02:00 |
|
Alexandre Paillier
|
07aca18ab1
|
New EIP-712 UX set title/value functions
|
2022-08-05 18:15:40 +02:00 |
|
Alexandre Paillier
|
7e63bd8435
|
Now copies the EIP712 contract address into memory so it can be used later
|
2022-08-05 18:15:40 +02:00 |
|
Alexandre Paillier
|
f480d5091e
|
Now uses an eip712 context struct instead of having multiple global variables => reduced bss footprint
|
2022-08-05 18:15:39 +02:00 |
|
Alexandre Paillier
|
8ea34f9f00
|
Fix hashing of signed negative integers smaller than 256 bits
|
2022-08-05 18:15:39 +02:00 |
|
Alexandre Paillier
|
d5603857b3
|
Fix UI display of signed negative integers smaller than 256 bits
|
2022-08-05 18:15:38 +02:00 |
|
Alexandre Paillier
|
f3e307423e
|
EIP712 now displays integers differently if signed or unsigned
|
2022-08-05 18:15:38 +02:00 |
|
Alexandre Paillier
|
f0d6a2bba1
|
Now filters out all fields but the name in the EIP712Domain in the half-blind mode
|
2022-08-05 17:52:48 +02:00 |
|
Alexandre Paillier
|
239da44d0e
|
Added a new temporary EIP-712 half-bind mode
|
2022-08-05 17:52:48 +02:00 |
|
Alexandre Paillier
|
a0551e8226
|
Added a function to check if we are in the domain or the message struct
|
2022-08-05 17:52:48 +02:00 |
|
Alexandre Paillier
|
2fa6379470
|
Now only compiles full EIP-712 support for capable devices
|
2022-08-05 17:52:47 +02:00 |
|
Alexandre Paillier
|
59dd149534
|
Added some NULL checks for global structure pointers
|
2022-08-05 17:52:46 +02:00 |
|
Alexandre Paillier
|
c0eaf8d106
|
Proper cleanup after EIP712 message
|
2022-08-05 17:52:46 +02:00 |
|
Alexandre Paillier
|
0525f7cda8
|
Fixes bad multi-screen value behaviour
|
2022-08-05 17:52:46 +02:00 |
|
Alexandre Paillier
|
2badb7b5b2
|
Now displays the field values
Show ints as uints for now
|
2022-08-05 17:52:45 +02:00 |
|
Alexandre Paillier
|
9cd39e2c02
|
Now uses some of the old EIP712 code as common code between the two implementations + approve/reject button now works
|
2022-08-05 17:52:45 +02:00 |
|
Alexandre Paillier
|
9f29a7caa2
|
UI handling WIP
|
2022-08-05 17:52:44 +02:00 |
|
Alexandre Paillier
|
b8424d1a21
|
Now handles domain & message struct not based on order but on struct name
|
2022-08-05 17:52:44 +02:00 |
|
Alexandre Paillier
|
5c00a5c27b
|
Structs alignment in memory, fixes device freezes/crashes
|
2022-08-05 17:52:44 +02:00 |
|
Alexandre Paillier
|
d43849d852
|
Sets the memory buffer to 5K
|
2022-08-05 17:52:43 +02:00 |
|
Alexandre Paillier
|
90dfa74538
|
Emulates old behaviour with new APDUs but computed all on-device
|
2022-08-05 17:52:43 +02:00 |
|
Alexandre Paillier
|
516682b206
|
Fix impl APDU wrongly returning 0x6a80
|
2022-08-05 17:52:42 +02:00 |
|
Alexandre Paillier
|
b6e4f887cb
|
Fixes printf formatting issues caused by the toolchain
|
2022-08-05 17:52:42 +02:00 |
|
Alexandre Paillier
|
4442ba5716
|
Now responds to EIP712 APDUs
|
2022-08-05 17:52:41 +02:00 |
|
Alexandre Paillier
|
faae5a909c
|
Fix PIC crashes
|
2022-08-05 17:52:41 +02:00 |
|
Alexandre Paillier
|
9f8b2da74c
|
WIP integration in app
|
2022-08-05 17:52:41 +02:00 |
|
Alexandre Paillier
|
e070c379da
|
Removed old code main function & apdu handling function
|
2022-08-05 17:52:40 +02:00 |
|
Alexandre Paillier
|
d333b3a433
|
Fixed compilation errors/warnings
|
2022-08-05 17:52:40 +02:00 |
|
Alexandre Paillier
|
c689b68f76
|
Remove some now useless debug outputs
|
2022-08-05 17:52:39 +02:00 |
|
Alexandre Paillier
|
ad030cdb6a
|
Make the dependencies mandatory in the typehash function
|
2022-08-05 17:52:39 +02:00 |
|
Alexandre Paillier
|
6c14bfa476
|
Now wraps the printf calls in a macro. SDK-like
|
2022-08-05 17:52:39 +02:00 |
|
Alexandre Paillier
|
09697f718a
|
Fix dynamic bytes type encoding
|
2022-08-05 17:52:38 +02:00 |
|
Alexandre Paillier
|
6d86a5de77
|
Global hash making
|
2022-08-05 17:52:38 +02:00 |
|
Alexandre Paillier
|
a2a72edf83
|
Now initializes field hash struct in eip712 context
|
2022-08-05 17:52:37 +02:00 |
|