Commit Graph

160 Commits

Author SHA1 Message Date
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
Jorge Martins
143d0e54f6 Fix function signature 2022-07-15 12:51:30 +02:00
Jorge Martins
8cc2adbb0a Mark pointer to databuffer/workbuffer as const 2022-07-15 12:36:35 +02:00
Jorge Martins
2811917658 Mark pointer to databuffer/workbuffer as const 2022-07-15 12:33:19 +02:00
Jorge Martins
e0218520d8 Fix multiple vulnerabilities 2022-07-08 11:12:50 +02:00
Alexandre Paillier
2ed6a4502d Linting fix following review 2022-06-10 09:47:32 +02:00
yhql
6768ccaf78 Eip191 review (#314)
* Avoid using a global for is_ascii

* Fix unused var, missing init, and use size_t for length

* Use snprintf where possible
2022-06-10 09:45:12 +02:00
Alexandre Paillier
5dc1a0cfcd EIP-191 clear signing 2022-06-08 11:45:20 +02:00
Alexandre Paillier
df79977ee9 Fix EIP1024 warnings 2022-06-08 11:45:19 +02:00
Alexandre Paillier
78d159761d Linting pass following the clang-format update 2022-04-13 15:52:29 +02:00
BTChip github
52738e6bf5 Make lint happier 2022-03-22 08:40:36 +01:00
BTChip github
d04ed9aef1 Minor changes related to code review 2022-03-22 08:23:30 +01:00
BTChip github
78f4642b6c Add EIP 1024 APDUs 2022-03-22 08:23:30 +01:00
Alexandre Paillier
853a85205d Now checks if a proper plugin is loaded when receiving NFT metadata 2022-03-09 16:28:23 +01:00
Alexandre Paillier
23202f6a63 Minimize includes in header files to what they depend on 2022-03-09 15:23:53 +01:00
Alexandre Paillier
c548aba364 Unify the include guards accross all header files 2022-03-09 11:52:03 +01:00
Alexandre Paillier
76c7f9dbd8 Fixes the location in memory of the address between nftInfo_t & tokenDefinition_t
Both used as members of the same union, also unifies the type (array of uint8_t)
2022-03-08 16:16:40 +01:00
Jean-Baptiste Bédrune
458ef9af52 Define better prototype for "network" functions 2022-02-21 23:46:54 +01:00
Alexandre Paillier
2e63a428b2 Removed useless header include in shared_context.h
Could easily create a circular header dependency
2022-02-15 14:13:55 +01:00
Alexandre Paillier
7a92b65bf7 Fix typo in setPlugin 2022-02-14 18:15:19 +01:00
greenknot
6c03be385c use size_t instead of uint8_t to prevent potential integer overflows 2022-01-20 10:37:04 +01:00
greenknot
3c36c41d3e enclose COLLECTION_NAME_MAX_LEN and HEADER_SIZE in parentheses
to prevent future potential issues.
2022-01-20 10:37:04 +01:00