From 9293b095d4734dd9de9610d7b46084a0966450b8 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Jan 2025 17:33:01 +0100 Subject: [PATCH] Handle create_account bundled with transfer token tx in swap context --- src/handle_sign_message.c | 47 +++++++--- .../test_solana_trusted_name_create/00000.png | Bin 0 -> 9442 bytes .../test_solana_trusted_name_create/00001.png | Bin 0 -> 23596 bytes .../test_solana_trusted_name_create/00002.png | Bin 0 -> 24239 bytes .../test_solana_trusted_name_create/00003.png | Bin 0 -> 22174 bytes .../test_solana_trusted_name_create/00004.png | Bin 0 -> 23893 bytes .../test_solana_trusted_name_create/00005.png | Bin 0 -> 12309 bytes .../test_solana_trusted_name_create/00006.png | Bin 0 -> 6357 bytes .../test_solana_trusted_name_create/00007.png | Bin 0 -> 12350 bytes tests/python/test_solana.py | 86 +++++++++++++++++- 10 files changed, 118 insertions(+), 15 deletions(-) create mode 100644 tests/python/snapshots/flex/test_solana_trusted_name_create/00000.png create mode 100644 tests/python/snapshots/flex/test_solana_trusted_name_create/00001.png create mode 100644 tests/python/snapshots/flex/test_solana_trusted_name_create/00002.png create mode 100644 tests/python/snapshots/flex/test_solana_trusted_name_create/00003.png create mode 100644 tests/python/snapshots/flex/test_solana_trusted_name_create/00004.png create mode 100644 tests/python/snapshots/flex/test_solana_trusted_name_create/00005.png create mode 100644 tests/python/snapshots/flex/test_solana_trusted_name_create/00006.png create mode 100644 tests/python/snapshots/flex/test_solana_trusted_name_create/00007.png diff --git a/src/handle_sign_message.c b/src/handle_sign_message.c index ff58df36..f8c50a4a 100644 --- a/src/handle_sign_message.c +++ b/src/handle_sign_message.c @@ -59,6 +59,7 @@ void handle_sign_message_parse_message(volatile unsigned int *tx) { print_config.signer_pubkey = &header->pubkeys[signer_index]; if (G_command.non_confirm) { + PRINTF("G_command.non_confirm refused\n"); // Uncomment this to allow unattended signing. //*tx = set_result_sign_message(); // THROW(ApduReplySuccess); @@ -69,8 +70,14 @@ void handle_sign_message_parse_message(volatile unsigned int *tx) { // Set the transaction summary transaction_summary_reset(); if (process_message_body(parser.buffer, parser.buffer_length, &print_config) != 0) { - // Message not processed, throw if blind signing is not enabled - if (N_storage.settings.allow_blind_sign == BlindSignEnabled) { + // Message not processed, throw if blind signing is not enabled or in swap context + if (G_called_from_swap) { + PRINTF("Refuse to process blind transaction in swap context\n"); + THROW(ApduReplySdkNotSupported); + } else if (N_storage.settings.allow_blind_sign != BlindSignEnabled) { + PRINTF("Blind signing is not enabled\n"); + THROW(ApduReplySdkNotSupported); + } else { SummaryItem *item = transaction_summary_primary_item(); summary_item_set_string(item, "Unrecognized", "format"); @@ -81,8 +88,6 @@ void handle_sign_message_parse_message(volatile unsigned int *tx) { item = transaction_summary_general_item(); summary_item_set_hash(item, "Message Hash", &G_command.message_hash); - } else { - THROW(ApduReplySdkNotSupported); } } @@ -157,15 +162,7 @@ static bool check_swap_validity_token(const SummaryItemKind_t kinds[MAX_TRANSACT bool mint_ok = false; bool dest_ata_ok = false; bool dest_sol_address_ok = false; - uint8_t expected_steps = 5; - - // Accept base step number + optional fee step - if (num_summary_steps != expected_steps && num_summary_steps != expected_steps + 1) { - PRINTF("%d steps expected for token transaction in swap context, not %u\n", - expected_steps, - num_summary_steps); - return false; - } + bool create_token_account_received = false; if (!g_trusted_info.received) { // This case should never happen because this is already checked at TX parsing @@ -196,6 +193,10 @@ static bool check_swap_validity_token(const SummaryItemKind_t kinds[MAX_TRANSACT PRINTF("check_swap_amount failed\n"); return false; } + if (amount_ok) { + PRINTF("We have already parsed an amount, refusing signing multiple\n"); + return false; + } amount_ok = true; break; @@ -207,7 +208,25 @@ static bool check_swap_validity_token(const SummaryItemKind_t kinds[MAX_TRANSACT break; case SummaryItemPubkey: - if (strcmp(G_transaction_summary_title, "Token address") == 0) { + if (strcmp(G_transaction_summary_title, "Create token account") == 0) { + if (strcmp(g_trusted_info.encoded_token_address, G_transaction_summary_text) != 0) { + PRINTF("ATA address of create token account does not match with mint address in descriptor\n"); + return false; + } + create_token_account_received = true; + } else if (strcmp(G_transaction_summary_title, "For") == 0) { + if (!create_token_account_received) { + PRINTF("'For' received out of create_token_account context\n"); + return false; + } + break; + } else if (strcmp(G_transaction_summary_title, "Funded by") == 0) { + if (!create_token_account_received) { + PRINTF("'Funded by' received out of create_token_account context\n"); + return false; + } + break; + } else if (strcmp(G_transaction_summary_title, "Token address") == 0) { // MINT if (strcmp(g_trusted_info.encoded_mint_address, G_transaction_summary_text) != 0) { // This case should never happen because this is already checked at TX parsing diff --git a/tests/python/snapshots/flex/test_solana_trusted_name_create/00000.png b/tests/python/snapshots/flex/test_solana_trusted_name_create/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..218120af47e80718f8446ef5495d74cf46ba6e04 GIT binary patch literal 9442 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 PBzN(g)7cuEYpMSQZy6DZ literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/flex/test_solana_trusted_name_create/00001.png b/tests/python/snapshots/flex/test_solana_trusted_name_create/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..302acb35b6c888073ddc2b8edbcb55677f943f05 GIT binary patch literal 23596 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%0A=3rfilH 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/flex/test_solana_trusted_name_create/00004.png b/tests/python/snapshots/flex/test_solana_trusted_name_create/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0324922df11c6f2517f51a2aac6aa038fdbfbe GIT binary patch literal 23893 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/flex/test_solana_trusted_name_create/00005.png b/tests/python/snapshots/flex/test_solana_trusted_name_create/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..c4327649bf7056f73f3d40f10fd9681a83b014a9 GIT binary patch literal 12309 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/flex/test_solana_trusted_name_create/00006.png b/tests/python/snapshots/flex/test_solana_trusted_name_create/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..be51a9d5595cf5ea25f8f90b684306d30395f329 GIT binary patch literal 6357 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 UPsf12D=dzNgdJ`>c;@PV1L0-a-2eap literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/flex/test_solana_trusted_name_create/00007.png b/tests/python/snapshots/flex/test_solana_trusted_name_create/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..34a975b56a4d758c1b5c8498ad5abae3b6b44010 GIT binary patch literal 12350 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 literal 0 HcmV?d00001 diff --git a/tests/python/test_solana.py b/tests/python/test_solana.py index 4c7df494..e48895ea 100644 --- a/tests/python/test_solana.py +++ b/tests/python/test_solana.py @@ -216,7 +216,7 @@ def test_ledger_sign_offchain_message_utf8_expert_refused(self, backend, scenari from solders.hash import Hash from solders.message import Message as MessageSolders from spl.token.constants import TOKEN_PROGRAM_ID -from spl.token.instructions import TransferCheckedParams, transfer_checked, get_associated_token_address +from spl.token.instructions import TransferCheckedParams, transfer_checked, get_associated_token_address, create_associated_token_account from spl.token.constants import TOKEN_PROGRAM_ID from .apps import solana_utils as SOL from solders.keypair import Keypair @@ -307,3 +307,87 @@ def test_solana_trusted_name(self, backend, scenario_navigator): scenario_navigator.review_approve(path=ROOT_SCREENSHOT_PATH) signature: bytes = sol.get_async_response().data verify_signature(SOL.OWNED_PUBLIC_KEY, message, signature) + + + def test_solana_trusted_name_create(self, backend, scenario_navigator): + + # Generate a keypair + keypair = Keypair() + + # Extract the public key in both bytes and Base58 format + public_key_bytes = bytes(keypair.pubkey()) + public_key_base58 = str(keypair.pubkey()) + assert Pubkey.is_on_curve(keypair.pubkey()) + print(public_key_bytes.hex()) + print(public_key_base58) + # sol = SolanaClient(backend) + + # from_public_key = sol.get_public_key(SOL_PACKED_DERIVATION_PATH) + + # # Create message (SPL Token transfer) + # message: bytes = bytes.fromhex("0100030621a36fe74e1234c35e62bfd700fd247b92c4d4e0e538401ac51f5c4ae97657a7276497ba0bb8659172b72edd8c66e18f561764d9c86a610a3a7e0f79c0baf9dbc71573813ea96479a79e579af14646413602b9b3dcbdc51cbf8e064b5685ed120479d9c7cc1035de7211f99eb48c09d70b2bdf5bdf9e2e56b8a1fbb5a2ea332706ddf6e1d765a193d9cbe146ceeb79ac1cb485ed5f5b37913a8cf5857eff00a938b19525b109c0e2517df8786389e33365afe2dc6bfabeb65458fd24a1ab5b13000000000000000000000000000000000000000000000000000000000000000001040501030205000a0c020000000000000006") + + # with sol.send_async_sign_message(SOL_PACKED_DERIVATION_PATH, message): + # scenario_navigator.review_approve(path=ROOT_SCREENSHOT_PATH) + + # signature: bytes = sol.get_async_response().data + # verify_signature(from_public_key, message, signature) + + + + # Get the sender public key + sender_public_key = Pubkey.from_string(SOL.OWNED_ADDRESS_STR) + + # Get the associated token addresses for the sender + sender_ata = get_associated_token_address(sender_public_key, Pubkey.from_string(SOL.JUP_MINT_ADDRESS_STR)) +# TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA + destination = str(get_associated_token_address( + Pubkey.from_string(SOL.FOREIGN_ADDRESS_STR), + Pubkey.from_string(SOL.JUP_MINT_ADDRESS_STR) + )) + + # Create the transaction + create_instruction = create_associated_token_account( + payer=sender_ata, + owner=Pubkey.from_string(SOL.FOREIGN_ADDRESS_STR), + mint=Pubkey.from_string(SOL.JUP_MINT_ADDRESS_STR), + ) + transfer_instruction = transfer_checked( + TransferCheckedParams( + program_id=TOKEN_PROGRAM_ID, + source=sender_ata, + mint=Pubkey.from_string(SOL.JUP_MINT_ADDRESS_STR), + dest=Pubkey.from_string(destination), + owner=sender_public_key, + amount=1, + decimals=6 # Number of decimals for JUP token + ) + ) + + blockhash = Hash.default() + message = MessageSolders.new_with_blockhash([create_instruction, transfer_instruction], sender_public_key, blockhash) + tx = Transaction.new_unsigned(message) + + # Dump the message embedded in the transaction + message = tx.message_data() + + sol = SolanaClient(backend) + challenge = sol.get_challenge() + + print(f"destination = {base58.b58decode(destination.encode('utf-8')).hex()}") + print(f"SOL.FOREIGN_PUBLIC_KEY = {SOL.FOREIGN_PUBLIC_KEY.hex()}") + print(f"SOL.JUP_MINT_PUBLIC_KEY = {SOL.JUP_MINT_PUBLIC_KEY.hex()}") + print(f"SOL.JUP_MINT_ADDRESS_STR = {SOL.JUP_MINT_ADDRESS_STR}") + print(f"SOL.JUP_MINT_ADDRESS = {SOL.JUP_MINT_ADDRESS.hex()}") + + sol.provide_trusted_name(SOL.JUP_MINT_ADDRESS, + # "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCNJUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCNJUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN".encode('utf-8'), + destination.encode('utf-8'), + SOL.FOREIGN_ADDRESS_STR.encode('utf-8'), + CHAIN_ID, + challenge=challenge) + + with sol.send_async_sign_message(SOL.SOL_PACKED_DERIVATION_PATH, message): + scenario_navigator.review_approve(path=ROOT_SCREENSHOT_PATH) + signature: bytes = sol.get_async_response().data + verify_signature(SOL.OWNED_PUBLIC_KEY, message, signature)