Commit Graph

130 Commits

Author SHA1 Message Date
Alexandre Paillier
4770b55f46 New blind-signing flow for LNSP/LNX 2024-06-25 15:44:51 +02:00
Alexandre Paillier
fbd913bc33 Removed blind signing setting 2024-06-24 18:05:35 +02:00
Alexandre Paillier
e503373411 Fixes 2024-06-20 08:58:45 +02:00
Charles-Edouard de la Vergne
273dd95937 Add 'sender' field to review screens 2024-06-18 11:58:09 +02:00
Alexandre Paillier
c8c4b6cccc Renamed get_asset_info to get_asset_info_by_addr 2024-05-07 17:37:04 +02:00
Francois Beutin
27f9ad52a8 Remove token management from main 2024-05-07 11:36:50 +02:00
Charles-Edouard de la Vergne
ddd5f3d0d9 Remove useless flag NO_CONSENT 2024-04-29 18:28:27 +02:00
Charles-Edouard de la Vergne
aa38ee9959 Code improvements / Fix warnings
- Fix CodeQL warnings
- Port lots of improvements/fixes from PR #225
- replace 'array_hexstr' and '%*H' format by sdk function 'format_hex'
- Add 'noreturn' attribute in 'main.c'
2024-04-26 11:09:18 +02:00
Charles-Edouard de la Vergne
85a0ebb088 Fix lib_standard_app include path 2024-04-15 13:55:47 +02:00
Charles-Edouard de la Vergne
f5ea9c51c2 Fix various Linter issues and mispelling 2024-03-27 14:43:15 +01:00
Charles-Edouard de la Vergne
36ae183a1c Fix deprecated warnings 2024-03-27 14:43:15 +01:00
Alexandre Paillier
72e26947c3 Fix blind-signing TX refusal
Would refuse the APDU but then start a empty signature flow on the device
Which would crash the device when accepted or rejected
2024-03-08 14:37:05 +01:00
Alexandre Paillier
ea1709b0ea Completely remove old Starkware internal "plugin" 2024-02-14 09:37:11 +01:00
Alexandre Paillier
c84794b257 get_displayable_ticker function now takes a given chain_config_t struct 2024-02-08 15:11:28 +01:00
Francois Beutin
e64a04da51 Remove unused big uint utilities from plugin sdk 2024-02-02 11:23:31 +01:00
Francois Beutin
3bcf12ce1d Rename utils to common_utils 2024-02-02 11:23:30 +01:00
Francois Beutin
3d9da0dd16 Move basic utility functions from ethUtils to main utils file 2024-02-02 11:23:28 +01:00
Francois Beutin
c353982405 During signature, move parsing and swap fields checking away from main flow 2023-12-08 17:26:56 +01:00
Francois Beutin
b3d96d1b86 Use standard app crypto helper to simplify io_seproxyhal_touch_tx_ok 2023-12-08 17:11:22 +01:00
Francois Beutin
60d1d97667 Return to Exchange when failing to sign in swap mode 2023-12-01 19:50:07 +01:00
apaillier-ledger
5d913f3a15 Merge pull request #449 from LedgerHQ/tdj/eth_plugin_sdk_update
Update plugins SDK framework
2023-10-19 11:26:32 +02:00
Alexandre Paillier
49da32af8e Added missing return value checks following recent changes 2023-10-10 16:42:24 +02:00
tdejoigny-ledger
eeb52344df ETH plugin SDK : Move some parts from plugin boilerplate to Eth plugin SDK to ease the plugins development, remove throw and fix the CI issues 2023-10-10 16:42:19 +02:00
Alexandre Paillier
015842d4e5 Simplified adding new clones
Removed dead code from the app (was safeguarded by #ifdefs of macros
that weren't defined)
2023-10-04 18:06:52 +02:00
Francois Beutin
ad2786efe0 Add a PRINTF of amounts in ERR_SILENT_MODE_CHECK_FAILED 2023-10-04 14:51:40 +02:00
Alexandre Paillier
b05b16143d Now shows the network name in the Stax public address UI flow 2023-09-07 14:35:55 +02:00
Alexandre Paillier
34ea137c1a network.c functions cleanup 2023-07-06 14:45:29 +02:00
Francois Beutin
8082bd7f8b Return in Exchange after a successful swap 2023-07-04 12:24:20 +02:00
Francois Beutin
02cdc23751 Rename called_from_swap to G_called_from_swap 2023-06-30 14:05:46 +02:00
Benjyskan
25ace8ab6a clean dataContext.tokenContext.data buffer between each plugin call to avoid unwanted data in last parameter when it isn't full length. (#434) 2023-05-31 18:33:12 +02:00
Alexandre Paillier
b5c58b59cf network: cleanup 2023-05-16 11:42:29 +02:00
Francois Beutin
3fa410fb24 Add log for exception 2023-04-24 11:30:14 +02:00
Alexandre Paillier
1edd8c528a Review 2023-04-24 11:30:04 +02:00
Alexandre Paillier
d128b0c9cb Workaround strncasecmp segfault 2023-04-24 11:28:42 +02:00
Alexandre Paillier
504747aba2 Improve finalizeParsing() checking in swap context
Simplify code in logic_signTx.c
2023-04-24 11:27:13 +02:00
Alexandre Paillier
74f880dce9 Removes useless space at the end of tickers 2023-01-10 14:12:39 +01:00
Alexandre Paillier
2474bdb81a Merge remote-tracking branch 'origin/develop' into HEAD 2022-10-17 11:44:28 +02:00
Alexandre Paillier
eec44e994a Removed duplicated function signature of ui_idle 2022-09-15 16:49:19 +02:00
Alexandre Paillier
ab67ae1cb3 Merge remote-tracking branch 'origin/develop' into HEAD 2022-09-14 17:27:25 +02:00
Clement Bouvet
89eeaa7b7d eth: split ux from rest of source 2022-08-24 10:35:16 +02:00
Alexandre Paillier
6758453dfa Merge remote-tracking branch 'origin/develop' into apr/feature/eip712 2022-08-09 14:05:14 +02:00
Jorge Martins
d384007912 Fix feesToString buffer overflow 2022-08-09 11:30:43 +02:00
Alexandre Paillier
895c37e1fa Change apdu payload length to proper size (8 bits) 2022-08-05 17:52:20 +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
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
Jean-Baptiste Bédrune
458ef9af52 Define better prototype for "network" functions 2022-02-21 23:46:54 +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
apaillier-ledger
fcc3dd6d31 Add support for ERC-721 and ERC-1155 (v3) (#218)
* First draft for erc721 token allowance

* Split ui and provide parameters into their own files

* Print txtype when not supported

* fix compilation for erc721

* Use pluginType

* Add debug statement in compound plugin

* add debug error msg in plugin error

* Add parameter parsing for all methods

* Remove debug logs

* Add SET_APPROVAL_FOR_ALL; Add correct parsing method on contract init

* Add dst_size parameter to copy functions

* Add query contract id code

* format

* Add UIs

* update ethapp.asc

* Change setExternalPlugin to setPlugin; Add support for ERC721

* clang-format

* Fix typo Unconsistent -> Inconsistent

* Add support for 721; use extraInfo

* Add extraInfo to ethpluginQueryConractUI

* Rename extraInfo to item

* Add txFromEtherscan to tests

* Add nft key and temp padding

* Remove comments around HAVE_BYPASS_SIGNATURES

* Rename TESTING_KEY to NFT_TESTING_KEY

* Add comments regarding value of queryContractUI->item

* Fix comment regarding method selector

* Rename provideToken to provideInfo; Update plugin doc

* fix caps of eth_plugin_prepare_provide_info

* fix caps of handle_provide_info

* Use verificationFn insead of hardcoded cx_ecdsa_verify

* Add comments about nftInfo_t and tokenDefinition_t

* Add erc721 test

* Remove comment from plugin interface version

* Fix network_ticker duplicate

* Add setPlugin and provideNFTInfo to doc.asc

* Add back setExternalPlugin; implement new setPlugin

* Update plugin sdk

* Call setPlugin instead of setExternalPlugin

* setPlugin work without checking sig

* Remove printf of displayed fees

* Add working 721 test

* Finalize ERC721 and add simple test

* Display NFT address on set approval and operator

* Support set approval for all for erc721

* Finish UI for set approval for all erc721

* Move copy_parameter and copy_address to eth_plugin_internal; Add tests for erc721

* update plugin sdk

* Add erc1155 plugin and 1155 tests placeholder

* Add restriction for AWS key and setPlugin

* Add NOT_OLD_INTERNAL variant; Add erc_1155_plugin_call

* Fixed compilation warnings (function pointer casting)

Co-authored-by: pscott <scott.piriou@ledger.fr>
2021-11-22 14:39:36 +01:00