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
Alexandre Paillier
eb531de5d2
[clean] Linting pass
2022-01-14 17:33:20 +01:00
Jean P
a53a2428cc
Fix nft transactions ( #229 )
...
* Removed pluginType "hack"
* Fix some ERC 721 & 1155 function signature hashes
* Fix UI for ERC721 operations
* Explicit Batch Transfer UI with ERC1155
* Unified some ERC721 & 1155 non-static functions naming
* Fix UI for ERC1155 operations
* Added missing pin-lock check when signing transactions
* Fix the shell script that builds the elf files for testing
* Add tests dependency ethers
* Removed the space in the test filename
* Tests build script refactoring
* Now works when called from anywhere (not just the script's directory)
* Now handles LNS & LNX builds together (less duplicated code)
* Temporarily disable Nano X tests
Until Zemu supports Nano X 2.0 SDK
* Tests now start with blind signing disabled
Makes it closer to reality & very few of them requires it
* Update to the latest sdk version
* make eth_plugin_perform_init() readable
Introduce 2 functions.
* Now properly parses the apdu and displays the total quantity of NFT IDs transferred in ERC1155 batch transfer
* Add NFT prod public keys
* Added extra checks for the chain ID handling
Following the security review
* NFTs now only supported by LNS
* Version bump
Co-authored-by: Alexandre Paillier <alexandre.paillier@ledger.fr >
Co-authored-by: greenknot <greenknot@users.noreply.github.com >
2021-12-17 12:04:51 +01:00