Commit Graph

1000 Commits

Author SHA1 Message Date
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
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
9884fadefc Updated EIP-712 filtering APDU doc to include the chain ID in the sig 2022-08-05 18:15:43 +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
8dcb4bc74f New EIP-712 verbose in-app setting + small refactoring & naming unification 2022-08-05 18:15:42 +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
9bc3f5255e Add documentation on EIP712 filtering APDU 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
bbcfe5abc3 Added a util function to convert from byte buffer to uint128_t 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
10fbb8d5bc Unify all the hex digits used in the app 2022-08-05 18:15:37 +02:00
Alexandre Paillier
f99804de08 Added a signed int256 formatting function 2022-08-05 18:15:37 +02:00
Alexandre Paillier
59d8ace99e Split the uint256 lib into multiple more meaningful files 2022-08-05 18:15:36 +02:00
Alexandre Paillier
50225d72d0 Some const correctness in the uint256 functions 2022-08-05 18:15:36 +02:00
Alexandre Paillier
f458fcd6ac Better naming for uint256 type functions 2022-08-05 18:15:36 +02:00
Alexandre Paillier
25b9caf2d5 Typo fix in APDU doc 2022-08-05 18:15:35 +02:00
Alexandre Paillier
31aff6a95f Removed unused custom strchr function 2022-08-05 18:15:35 +02:00
Alexandre Paillier
3674212016 New EIP712 APDUs added to the documentation 2022-08-05 18:15:33 +02:00
Alexandre Paillier
30f8c50e3f Renamed doc files to their recommended extension
https://asciidoctor.org/docs/asciidoc-recommended-practices/#document-extension
2022-08-05 17:58:17 +02:00