Commit Graph

23 Commits

Author SHA1 Message Date
Francois Beutin
294f88195b Extract data for external plugins from internal plugin file 2024-02-02 11:23:29 +01:00
Francois Beutin
3d9da0dd16 Move basic utility functions from ethUtils to main utils file 2024-02-02 11:23:28 +01:00
Jorge Martins
51db776de6 add const to parameters 2022-11-08 09:57:24 +01:00
Jorge Martins
b120fc6565 fix code style 2022-11-08 09:56:00 +01:00
Jorge Martins
ead85a0aaa Add funcs to avoid tricking user when using plugin
Usually the length of an array is sent in a parameter.
Most of the times the developer simply uses U2BE/U4BE to get this length. It
is possible to forge a tx with a `length > sizeof(uint16_t/uint32_t)` and trick the
user into signing something different from what is shown.

For instance consider the following parameter:
00 ... 01 00 00 00 01

if the developer uses U2BE/U4BE, it is possible that this length is shown to the user
and if it is, the user will see the length as 1.
2022-11-08 09:44:37 +01:00
Lucas PASCAL
3ff15a16e3 [clean] Removing compound-related plugin code 2022-10-03 14:49:54 +02:00
apaillier-ledger
95a0c8896b Revert "[clean] Removing compound-related plugin code" 2022-09-12 14:42:57 +02:00
Lucas PASCAL
653b64d6f7 [clean] Removing compound-related plugin code 2022-06-21 15:38:51 +02:00
Alexandre Paillier
23202f6a63 Minimize includes in header files to what they depend on 2022-03-09 15:23:53 +01:00
Jean-Baptiste Bédrune
0d9c868a77 Set const qualifier for input buffers for copy functions 2022-02-22 00:08:49 +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
pscott
b646cf1b28 Fix compilation warnings (#159)
* Fix easy warnings for sdk 2.0

* Add attribute unused to bagl_elemt_t in callback functions

* Add attribute unused to io_event function

* Clang-format

* Use elfs from CI in tests (#167)

* Add Nano X build

* Use CI's build artifacts for CI's tests

* Add network display (#152)

* Add network name display instead of chainID

* Add display of correct ticker along with network

* Add FTM

* Clang-format

* Add comment in python script

* Rename SIZE_MAX to MAX_SIZE

* Change %u to %d in printf

* Remove needless PIC

* Update comment about get_chain_id()

* Update example script to follow EIP155

* Remove unused PIC calls

* Add whitespace between ticker and amount when using EIP155

* Remove decimal config per network, set back 18 everywhere

* Adapt u32_from_BE to swith cases

* Remove chainid from signTx.py

* Switch to switch in stead of if in get_chain_id

* Revert "Remove chainid from signTx.py"

This reverts commit 454e09f280ec3e3ec1c7d7cc0027247ef4390088.

* Change Ethereum chainid to 1

* Rename chainid_step to network_step

* Adapt finalizeParsing to new chainid for Ethereum

* Update snapshots

* clang-format

* Fix network display logic for clones

* Fix tests

* Add clone tests

Co-authored-by: TamtamHero <10632523+TamtamHero@users.noreply.github.com>

Co-authored-by: Jean P <10632523+TamtamHero@users.noreply.github.com>
2021-07-05 11:01:51 +02:00
TamtamHero
41ab56db7a Apply clang-format 2021-04-16 10:05:49 +02:00
BTChip github
b5c1475800 Fix initialization 2021-04-07 12:19:51 +02:00
BTChip github
c7e3bfda08 Add Deversifi proxy support 2021-04-05 14:56:56 +02:00
pscott
013538e9fe Apply clang-format 2021-03-25 10:43:59 +01:00
pscott
acdbb36b44 Fix warnings by including headers and casting 2021-03-24 16:09:03 +01:00
TamtamHero
17bd07a346 Apply clang-format 2020-12-01 16:20:13 +01:00
BTChip github
9854d12753 Starkex v2 integration 2020-11-30 18:22:16 +01:00
BTChip github
7e53de8897 Add ETH 2 deposit handling 2020-11-17 10:31:15 +01:00
TamtamHero
4f2cef2e20 Add Compound support as an internal plugin 2020-11-16 17:06:44 +01:00
TamtamHero
6a754b5189 Add ERC20 allowance (approve) support in internal ERC20 plugin 2020-11-16 17:06:44 +01:00
BTChip github
38da718b00 Plugins support WIP 2020-11-16 17:06:37 +01:00