diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 428de38..e5357df 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -209,7 +209,7 @@ jobs: cd tests/ragger python3 -m venv ./venv . ./venv/bin/activate - pip3 install --extra-index-url https://test.pypi.org/simple/ -r requirements.txt speculos + pip3 install --extra-index-url https://test.pypi.org/simple/ -r requirements.txt # Used for the cache key echo "py_deps=$(pip freeze | md5sum | cut -d' ' -f1)" >> $GITHUB_ENV @@ -275,4 +275,4 @@ jobs: run: | cd tests/ragger . ./venv/bin/activate - pytest --path ./elfs --model ${{ matrix.model }} + pytest --path ./elfs --model ${{ matrix.model }} -s -v diff --git a/CHANGELOG.md b/CHANGELOG.md index c678402..5ebd76b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [1.10.1](https://github.com/ledgerhq/app-ethereum/compare/1.10.0...1.10.1) - 2022-11-09 + +### Fixed + +- App/device crash with fast button clicks on slow APDU transport on the new EIP-712 signature UI + ## [1.10.0](https://github.com/ledgerhq/app-ethereum/compare/1.9.20...1.10.0) - 2022-10-26 ### Changed diff --git a/Makefile b/Makefile index 40b9020..0adefe5 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ APP_LOAD_PARAMS += --path "1517992542'/1101353413'" APPVERSION_M=1 APPVERSION_N=10 -APPVERSION_P=0 +APPVERSION_P=1 APPVERSION=$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P) APP_LOAD_FLAGS= --appFlags 0xa40 --dep Ethereum:$(APPVERSION) diff --git a/doc/.adoc b/doc/eth_contract_support_embedded.adoc similarity index 100% rename from doc/.adoc rename to doc/eth_contract_support_embedded.adoc diff --git a/src_bagl/ui_flow_signMessage712.c b/src_bagl/ui_flow_signMessage712.c index 8e0ee75..9769bb2 100644 --- a/src_bagl/ui_flow_signMessage712.c +++ b/src_bagl/ui_flow_signMessage712.c @@ -16,6 +16,10 @@ static void dummy_cb(void) { ux_flow_prev(); ui_pos = UI_712_POS_REVIEW; } + } else { + // temporarily disable button clicks, they will be re-enabled as soon as new data + // is received and the page is redrawn with ux_flow_init() + G_ux.stack[0].button_push_callback = NULL; } } diff --git a/tests/ragger/ethereum_client/client.py b/tests/ragger/ethereum_client/client.py index 61b2012..9622a05 100644 --- a/tests/ragger/ethereum_client/client.py +++ b/tests/ragger/ethereum_client/client.py @@ -7,6 +7,7 @@ from ethereum_client.setting import SettingType, SettingImpl from ethereum_client.eip712 import EIP712FieldType from ethereum_client.response_parser import EthereumRespParser import signal +import time class EthereumClient: @@ -92,6 +93,7 @@ class EthereumClient: def eip712_sign_new(self, bip32): with self._send(self._cmd_builder.eip712_sign_new(bip32)): + time.sleep(0.5) # tight on timing, needed by the CI otherwise might fail sometimes if not self._settings[SettingType.VERBOSE_EIP712].value and \ not self._eip712_filtering: # need to skip the message hash self._client.right_click() diff --git a/tests/speculos/test_configuration_cmd.py b/tests/speculos/test_configuration_cmd.py index de41bde..55c99ac 100644 --- a/tests/speculos/test_configuration_cmd.py +++ b/tests/speculos/test_configuration_cmd.py @@ -1,10 +1,10 @@ def test_configuration(cmd): if cmd.model == "nanos": - assert cmd.get_configuration() == (14, 1, 10, 0) + assert cmd.get_configuration() == (14, 1, 10, 1) if cmd.model == "nanox": - assert cmd.get_configuration() == (14, 1, 10, 0) + assert cmd.get_configuration() == (14, 1, 10, 1) if cmd.model == "nanosp": - assert cmd.get_configuration() == (14, 1, 10, 0) + assert cmd.get_configuration() == (14, 1, 10, 1)