From 4629d6633cd0a0cd785fdf3aa3635acba68d1373 Mon Sep 17 00:00:00 2001 From: BTChip github Date: Tue, 29 Dec 2020 23:55:36 +0100 Subject: [PATCH] Fix contract details debugging with plugins --- src_features/signTx/logic_signTx.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src_features/signTx/logic_signTx.c b/src_features/signTx/logic_signTx.c index cfbb8b7..1f4d087 100644 --- a/src_features/signTx/logic_signTx.c +++ b/src_features/signTx/logic_signTx.c @@ -42,9 +42,16 @@ customStatus_e customProcessor(txContext_t *context) { PRINTF("Missing function selector\n"); return CUSTOM_FAULT; } - eth_plugin_prepare_init(&pluginInit, context->workBuffer, context->currentFieldLength); - dataContext.tokenContext.pluginAvailable = - eth_plugin_perform_init(tmpContent.txContent.destination, &pluginInit); + dataContext.tokenContext.pluginAvailable = 0; + // If contract debugging mode is activated, do not go through the plugin activation + // as they wouldn't be displayed if the plugin consumes all data but fallbacks + if (!N_storage.contractDetails) { + eth_plugin_prepare_init(&pluginInit, + context->workBuffer, + context->currentFieldLength); + dataContext.tokenContext.pluginAvailable = + eth_plugin_perform_init(tmpContent.txContent.destination, &pluginInit); + } PRINTF("pluginAvailable %d\n", dataContext.tokenContext.pluginAvailable); if (dataContext.tokenContext.pluginAvailable) { dataContext.tokenContext.fieldIndex = 0;