Commit Graph

67 Commits

Author SHA1 Message Date
Alexandre Paillier
cabdcd5d5d Updated APDU documentation 2024-06-20 10:39:59 +02:00
Francois Beutin
5a756975c3 Remove deprecated ETH_PLUGIN_RESULT_OK_ALIAS from plugin API 2024-05-28 17:40:14 +02:00
Alexandre Paillier
36186313a6 Updated APDU documentation 2024-05-24 15:41:49 +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
3f72ecb51c Merge pull request #410 from trevarj/patch-1
Update erc20 ledger public key
2024-03-26 11:37:55 +01:00
Alexandre Paillier
a5dde47b90 Update doc 2024-02-14 09:37:16 +01:00
Alexandre Paillier
0d801ef033 Fix error on signature computation for SET_PLUGIN 2023-09-07 16:08:04 +02:00
Alexandre Paillier
a903e2db6e Implemented the optional chain ID in the GET_ETH_PUBLIC_ADDRESS apdu 2023-09-07 14:35:47 +02:00
Alexandre Paillier
c00fab2f6a GET_CHALLENGE & PROVIDE_DOMAIN_NAME APDU documentation 2023-03-29 10:47:42 +02:00
Trevor Arjeski
89db2da7e7 Update erc20 legder public key 2023-02-26 23:30:36 +03:00
Jorge Martins
65d2c88f2d update docs 2022-11-08 10:22:26 +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
Alexandre Paillier
878355abfd Fix contract support doc name
Introduced by 30f8c50e
2022-10-28 15:56:09 +02:00
Alexandre Paillier
fe3f61c7a0 Updated changelog 2022-10-17 11:57:10 +02:00
Alexandre Paillier
ed479128fd EIP712 Filtering count checking 2022-09-14 09:41:39 +02:00
Alexandre Paillier
9e4df4b655 Updated EIP712 filtering signature specs to start with a magic number
Making it impossible for a signature of one type to be valid as another
2022-09-14 09:41:38 +02:00
Alexandre Paillier
98889e2642 Moved EIP712 filtering argument switch from P1 to P2, more in line with other EIP712 APDUs 2022-08-10 15:19:10 +02:00
Alexandre Paillier
1eaba306e1 Add missing information to EIP712 send struct def APDU in doc 2022-08-05 18:15:55 +02:00
Alexandre Paillier
3ed8b3b0ef Removed mentions about un-needed multi-APDU EIP712 SEND STRUCT DEFINITION 2022-08-05 18:15:53 +02:00
Alexandre Paillier
01179730a1 Updated the EIP-712 filtering signature specs; Update the verification implementation to now handle field path intead of only the field key name 2022-08-05 18:15:48 +02:00
Alexandre Paillier
ee660317aa EIP712 signatures now computed on schema hash 2022-08-05 18:15:47 +02:00
Alexandre Paillier
9884fadefc Updated EIP-712 filtering APDU doc to include the chain ID in the sig 2022-08-05 18:15:43 +02:00
Alexandre Paillier
9bc3f5255e Add documentation on EIP712 filtering APDU 2022-08-05 18:15:40 +02:00
Alexandre Paillier
25b9caf2d5 Typo fix in APDU doc 2022-08-05 18:15:35 +02:00
Alexandre Paillier
3674212016 New EIP712 APDUs added to the documentation 2022-08-05 18:15:33 +02:00
Alexandre Paillier
30f8c50e3f Renamed doc files to their recommended extension
https://asciidoctor.org/docs/asciidoc-recommended-practices/#document-extension
2022-08-05 17:58:17 +02:00
Alexandre Paillier
b2fc45e295 Reordered the APDUs by INS values in the doc
Also changed from CRLF encoding to simple LF
2022-08-05 17:58:17 +02:00
Coline
cebc1c65f1 fix: merge apdu.md into ethapp.asc 2022-07-20 13:08:17 +02:00
Coline
4297db37e9 docs: apdu.md 2022-06-30 18:46:00 +02:00
Coline
35363e256d feat: tests sign
Signed-off-by: Coline <coline.seguret@ledger.fr>
2022-06-28 15:11:20 +02:00
Coline
104bfee2a9 feat: first test with speculos 2022-06-28 15:11:20 +02:00
Coline
3bb1807858 docs: apdu into .md 2022-06-28 15:11:19 +02:00
BTChip github
375eb1cae1 Bump versions after rebase 2022-03-22 08:23:30 +01:00
BTChip github
78f4642b6c Add EIP 1024 APDUs 2022-03-22 08:23:30 +01:00
greenknot
ccb316c5f3 doc: fix description of PROVIDE NFT INFORMATION 2022-01-20 10:37:04 +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
1e6e2f3b15 Update ethapp.asc 2021-08-26 13:21:18 +02:00
pscott
e301ff1b83 Remove update of plugin.asc 2021-08-04 19:12:16 +02:00
pscott
24541034c6 Merge branch 'master' into support_eip1559 2021-08-03 12:01:58 +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
b4656c126c Improve plugins visibility, update README (#162)
* Add link to paraswap in plugin doc

* Update readme with new dev portal and paraswap plugin link
2021-07-05 11:03:44 +02:00
pscott
036091bb63 Unify plugin ui with standard UI; add prepareFeeDisplay and prepareChainIdDisplay 2021-06-29 16:04:38 +02:00
pscott
a61a155d0b Add additionalScreens field 2021-06-08 10:25:15 +02:00
pscott
5e70ea1736 Update uint256_to_decimal to right-align value 2021-06-08 10:24:52 +02:00
pscott
11ecd174b8 Bump to 1.7.6 and add to Changelog 2021-06-08 10:24:51 +02:00
pscott
0de6e1011a Add 6503 error for plugin error 2021-06-08 10:24:51 +02:00
TamtamHero
0bd5fa717e Add Ledger signature checking for external plugins 2021-06-08 10:24:51 +02:00
TamtamHero
b821c0d8a7 Add setExternalPlugin command 2021-06-08 10:24:50 +02:00
pscott
7f0afc764a Change error code description 2021-04-28 10:48:37 +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