Skip to content

Conversation

@chcmedeiros
Copy link
Collaborator

@chcmedeiros chcmedeiros commented Sep 30, 2025

  • Adding blind singing for transactions that cannot fit the device buffer;
  • Tested locally reducing the buffer size use for comparison with tx size
  • missing zemu test

Implements streaming mode for processing large ETH transactions that exceed buffer capacity.
Adds UI support to display transaction hash for blind signing.
Includes chain ID extraction to support EIP-155 signature compatibility.
parser_nft_info_not_provided,
parser_invalid_contract_address,
parser_context_unexpected_size,
parser_blind_sign_not_enabled = 41,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason to set a specific value here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The error will be triggered in Rust, and in the error structure the available error code was 41, so I had to set it to be the same in C, so we could compare.

memcpy(G_io_apdu_buffer, error_msg, error_msg_length);
*tx += (error_msg_length);
THROW(APDU_CODE_DATA_INVALID);
if (strcmp(error_msg, "Blind signing not enabled") == 0) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we have an error here, the app_reply_error callback will be called. There, the offset in set_code is set to 0, so the error description is missing. You need to store the offset of the error description here so it can be used in app_reply_error

@chcmedeiros chcmedeiros requested a review from abenso October 2, 2025 12:17
@chcmedeiros chcmedeiros merged commit 70fb9fa into dev Oct 2, 2025
105 of 106 checks passed
chcmedeiros added a commit that referenced this pull request Oct 2, 2025
@chcmedeiros chcmedeiros deleted the evm-blindsign branch October 7, 2025 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants