Commit Graph

916 Commits

Author SHA1 Message Date
Alexandre Paillier
a3f5eee116 WIP field hashing support 2022-08-05 17:52:35 +02:00
Alexandre Paillier
0e9cd91ecc Removed structure packing, prevents unaligned access 2022-08-05 17:52:35 +02:00
Alexandre Paillier
477046bd43 Removed unused byte type 2022-08-05 17:52:35 +02:00
Alexandre Paillier
45dfd5d6a6 Proper path implementation with array support 2022-08-05 17:52:34 +02:00
Alexandre Paillier
0e386a4204 Now initializes a path in memory 2022-08-05 17:52:34 +02:00
Alexandre Paillier
7e35b96ec0 WIP field hashing 2022-08-05 17:52:33 +02:00
Alexandre Paillier
fd31def094 Update app context wrapping 2022-08-05 17:52:33 +02:00
Alexandre Paillier
9521b36de3 Now prefixes the type hash with a marker 2022-08-05 17:52:33 +02:00
Alexandre Paillier
223aa10a58 Better macro naming for hash length 2022-08-05 17:52:32 +02:00
Alexandre Paillier
c53a4299a3 TypeHash function now uses the device's hashing functions 2022-08-05 17:52:32 +02:00
Alexandre Paillier
3d9089b395 New functions that emulate the device's hashing functions 2022-08-05 17:52:31 +02:00
Alexandre Paillier
1375571957 Unify mem utils function names 2022-08-05 17:52:31 +02:00
Alexandre Paillier
9ca9caf410 encodeType reformatting / code cleanup 2022-08-05 17:52:31 +02:00
Alexandre Paillier
c30b3aceec Added memory allocation utility functions 2022-08-05 17:52:30 +02:00
Alexandre Paillier
547846f56d Small code cleaning in the init of solidity typenames 2022-08-05 17:52:30 +02:00
Alexandre Paillier
2584490afa Added array size macro 2022-08-05 17:52:29 +02:00
Alexandre Paillier
54fe26a301 Extracted the context initialization from the main source file 2022-08-05 17:52:29 +02:00
Alexandre Paillier
b2fe2f26ba Implements the hashing part of typeHash 2022-08-05 17:52:29 +02:00
Alexandre Paillier
5889da054e Extracted the encodeType and typeHash functions from the main file 2022-08-05 17:52:28 +02:00
Alexandre Paillier
e3dfd787b5 Memory allocation checking 2022-08-05 17:52:28 +02:00
Alexandre Paillier
16081c38a9 Added some memory related debug features 2022-08-05 17:52:28 +02:00
Alexandre Paillier
59490beff9 Small type-enforcing refactoring + now properly gets typestrings 2022-08-05 17:52:27 +02:00
Alexandre Paillier
e57bc93c69 Fix stack overflow with long APDUs 2022-08-05 17:52:27 +02:00
Alexandre Paillier
161919c012 Simpler computing the string's length in memory 2022-08-05 17:52:26 +02:00
Alexandre Paillier
420afdf958 Small function to make formatting into memory of uint easier 2022-08-05 17:52:26 +02:00
Alexandre Paillier
e3a8e4ccd2 Big Refactoring
- moved some things in header files
- now uses memory allocation functions with automatic checks, small abstraction layer
2022-08-05 17:52:26 +02:00
Alexandre Paillier
3fda010667 Add memory functions 2022-08-05 17:52:25 +02:00
Alexandre Paillier
5438b39eb2 Fixes the index overflow, since header + data could be longer than 0xFF 2022-08-05 17:52:25 +02:00
Alexandre Paillier
63f454b29a Fixed ram usage message 2022-08-05 17:52:24 +02:00
Alexandre Paillier
024691eb64 Fix warning in release mode 2022-08-05 17:52:24 +02:00
Alexandre Paillier
545bc439fe Better implementation of enum(s)->typename memory structure 2022-08-05 17:52:24 +02:00
Alexandre Paillier
c3dc0c18ff Refactoring; added some utility functions to navigate the type definitions 2022-08-05 17:52:23 +02:00
Alexandre Paillier
3b6c32d707 Updated C code with new array handling 2022-08-05 17:52:23 +02:00
Alexandre Paillier
1bc8675473 Initial version 2022-08-05 17:52:22 +02:00
Alexandre Paillier
b25eaa1b48 Renamed the existing EIP712 implementation folder 2022-08-05 17:52:22 +02:00
Alexandre Paillier
895c37e1fa Change apdu payload length to proper size (8 bits) 2022-08-05 17:52:20 +02:00
Coline Seguret
cd36a5fe9c Merge pull request #275 from LedgerHQ/feat/tests-unit
feat: speculos tests e2e
2022-07-25 11:54:26 +02:00
Coline
293efa533c docs: Docs of client 2022-07-25 11:42:45 +02:00
Coline
e926f9f347 docs: Docs of client 2022-07-25 11:40:52 +02:00
Coline
fd0f893615 docs: some comment in code 2022-07-25 11:03:41 +02:00
Coline
986b4b427e fix: merge len bip32 with path function 2022-07-25 10:55:47 +02:00
Coline
a064839efa fix: result positional argument 2022-07-25 10:48:03 +02:00
Coline
a476bbb569 fix: merge 3 mv into 1 and README 2022-07-25 10:39:42 +02:00
Coline
8da09ec892 fix: real errors test 2022-07-22 11:59:45 +02:00
Coline
1dbe04c8ca fix: useless pass 2022-07-22 11:26:02 +02:00
Coline
02b5c686e8 fix: apdu_as_bytes() into bytes.fromhex() 2022-07-22 11:23:09 +02:00
Coline
d5a8859ebf fix: named ERC20Infomation 2022-07-22 11:13:27 +02:00
Coline
d3b8cdcfdf fix: add fixture decorator 2022-07-22 10:59:24 +02:00
Coline
84230c921a fix: merge some similary code and clean code 2022-07-22 10:55:32 +02:00
Coline
d82bf765e8 fix: explicite decorator useless 2022-07-22 10:32:33 +02:00