Commit Graph

67 Commits

Author SHA1 Message Date
Alexandre Paillier
74f880dce9 Removes useless space at the end of tickers 2023-01-10 14:12:39 +01:00
Clement Bouvet
89eeaa7b7d eth: split ux from rest of source 2022-08-24 10:35:16 +02:00
Jorge Martins
d384007912 Fix feesToString buffer overflow 2022-08-09 11:30:43 +02:00
Jorge Martins
e0218520d8 Fix multiple vulnerabilities 2022-07-08 11:12:50 +02:00
Jean-Baptiste Bédrune
458ef9af52 Define better prototype for "network" functions 2022-02-21 23:46:54 +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
Jean P
3eeec97efa Share network ticker with plugins (#205)
* Add network ticker to queryContractUI for plugins use

* Update sdk deps

* Bump version 1.9.11

* Fix blockSize error when bytes is optimized by EVM

Co-authored-by: pscott <scott.piriou@ledger.fr>
2021-10-28 18:10:21 +02:00
Jean P
408805f751 Fix big amounts (#199)
* Fix wrong display of amounts >= 2^87

* Add test to check that amounts >= 2^87 make the app throw

* Bump v1.9.7 and update changelog
2021-10-04 11:26:01 +02:00
Jean P
fa355a5d97 Add a UI warning when contract data are not enabled in the settings (#193)
* Add a UI warning when contract data are not enabled in the settings

* Update wording "contract data" -> "blind signing" to raise awareness

* Bump version 1.9.5

* remove hardcoded path in helper build script

* Add blind signature test

* Add snapshot-tmp to gitignore

* Remove unused snapshots

* Increase tests timings

* Remove unused snapshots

* Fix and rename compound blind deposit test

* Update Approve and Transfer tests

* Update tests

* Cosmetic changes + disable debug flag

* Update CHANGELOG.md
2021-09-28 12:32:06 +02:00
TamtamHero
0d45d2e2d0 Update some prototypes to use chainId value instead of chainConfig structure 2021-08-30 11:02:55 +02:00
TamtamHero
3e25f04d05 Refactoring helper to get printable eth address from hex 2021-08-30 11:00:51 +02:00
pscott
847db91cfb Remove debugging statements 2021-08-27 17:28:24 +02:00
pscott
f2ff741767 Increase size of V 2021-08-27 14:47:59 +02:00
pscott
94363738fe Move u64_to_string 2021-08-26 13:59:42 +02:00
pscott
b2172e4627 Use uint64_t for chainID 2021-08-26 13:02:07 +02:00
pscott
9d2c07d648 remove double get_chainID fn 2021-08-06 16:46:03 +02:00
pscott
c5fb10dd47 Remove check for v length 2021-08-06 15:20:58 +02:00
pscott
24541034c6 Merge branch 'master' into support_eip1559 2021-08-03 12:01:58 +02:00
pscott
ee4a865144 Use strlcpy instead of strncpy 2021-07-27 12:24:05 +02:00
Jean-Baptiste Bédrune
cd78581ffd Fix all the defects identified by Clang Static Analyzer
Some fixes are dirty, but it is a start to enforce scan-build on
every commit.

Signed-off-by: pscott <scott.piriou@ledger.fr>
2021-07-27 12:09:22 +02:00
Jean-Baptiste Bédrune
c27d59d792 Fix last compilation warnings
Signed-off-by: pscott <scott.piriou@ledger.fr>
2021-07-27 12:09:22 +02:00
pscott
d541f1f524 Add pointer to msg_sender in Eth_plugin_finalize (#170)
* Add some PRINTF debug statements and fir additional screens init

* Memzero struture and use two pointers less

* Clang-format

* Use ADDRESS_LENGTH where possible; Add printf statements when failing to compare contracts

* clang-format

* Remove 'token1' and 'token2' locals

* Fix typo

* apply clang-format

* Add bip32path to sharedRO for plugins

* Change getEthAddressStringFromKey to accept char instead of uint8_t

* Update ethereum plugin sdk

* Add BYPASS_SIGNATURES compilation option

* Remove bip32path and pathLength from sharedRO; add msg_sender pointer to pluginFinalize.address

* clang format eth_plugin_interface

* Update submodule

* Set address BEFORE making the finalize call

* Update SDK

Co-authored-by: TamtamHero <10632523+TamtamHero@users.noreply.github.com>
2021-07-09 11:46:36 +02: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
pscott
a2d9a8068a 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>
2021-07-02 18:46:23 +02:00
pscott
032bd7b7ee clang format 2021-06-29 16:07:28 +02:00
pscott
0294c5e60f Remove detailed fees display 2021-06-29 16:04:38 +02:00
pscott
036091bb63 Unify plugin ui with standard UI; add prepareFeeDisplay and prepareChainIdDisplay 2021-06-29 16:04:38 +02:00
pscott
0bff1de52c Add setting to display detailed fees 2021-06-29 16:04:38 +02:00
pscott
bb6f65ad75 Add comment, remove debug 2021-06-29 16:04:38 +02:00
pscott
df4fe3c0dd Implement support for EIP1559; No settings 2021-06-29 16:04:38 +02:00
pscott
0dbb693c59 clang-format 2021-06-08 10:25:15 +02:00
pscott
a61a155d0b Add additionalScreens field 2021-06-08 10:25:15 +02:00
pscott
8592a22542 Clang-format 2021-06-08 10:24:51 +02:00
pscott
632e6b3233 Properly handle return value of eth_plugin_call 2021-06-08 10:24:51 +02:00
pscott
d029e9f635 Print ticker only if it's present 2021-06-08 10:24:51 +02:00
pscott
6b309c2676 Add printf and adapt logic for provideToken 2021-06-08 10:24:51 +02:00
TamtamHero
40664a65f1 Fix issues due to base64(contractAddr) removal 2021-06-08 10:24:51 +02:00
pscott
f250865bcb Merge branch 'master' of github.com:LedgerHQ/app-ethereum into fix_security_and_display_issues 2021-05-04 12:14:44 +02:00
pscott
c7ec0c7dfa Use %d flag instead of %u 2021-04-28 11:39:47 +02:00
pscott
ebffb48cd3 Use snprintf instead of u32_to_str 2021-04-28 10:48:18 +02:00
pscott
f893637d71 Clang-format 2021-04-27 10:37:22 +02:00
pscott
a6945c42b2 Fix return values from enums 2021-04-27 10:36:22 +02:00
pscott
6cd4b6e2aa Revamp return results of plugins 2021-04-24 12:14:36 +02:00
pscott
0af10691eb Verify return value of plugin 2021-04-23 19:15:30 +02:00
pscott
d5b32af95e Clang format 2021-04-21 17:24:54 +02:00
pscott
11701b6fa2 Remove debugging printf 2021-04-21 17:19:02 +02:00
pscott
1a1a3198f9 Remove debugggin printf 2021-04-21 17:17:21 +02:00
pscott
dafdc404ac Add strict parameter to u32_from_BE 2021-04-21 17:07:16 +02:00
pscott
970f0355dd Add support for EIP2718 (enveloppe) and EIP2930 (acess list tx); Display chain ID when different from 1 (ethereum mainnet) 2021-04-21 16:56:17 +02:00
TamtamHero
a96caadc4f Fix swap issue with nonce update, save a few bytes and improve settings switch feedback 2021-02-12 11:53:41 +01:00