Skip to content

Commit

Permalink
Merge pull request #545 from LedgerHQ/cev/add_sender_field
Browse files Browse the repository at this point in the history
B2CA-1522: Add sender field in transaction
  • Loading branch information
cedelavergne-ledger authored Jun 20, 2024
2 parents 76e8690 + 48553f6 commit 6d6f7c7
Show file tree
Hide file tree
Showing 1,148 changed files with 74 additions and 37 deletions.
6 changes: 3 additions & 3 deletions src/handle_swap_sign_transaction.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ bool copy_transaction_parameters(create_transaction_parameters_t* sign_transacti
// We need this "trick" as the input data position can overlap with app-ethereum globals
txStringProperties_t stack_data;
memset(&stack_data, 0, sizeof(stack_data));
strlcpy(stack_data.fullAddress,
strlcpy(stack_data.toAddress,
sign_transaction_params->destination_address,
sizeof(stack_data.fullAddress));
if ((stack_data.fullAddress[sizeof(stack_data.fullAddress) - 1] != '\0') ||
sizeof(stack_data.toAddress));
if ((stack_data.toAddress[sizeof(stack_data.toAddress) - 1] != '\0') ||
(sign_transaction_params->amount_length > 32) ||
(sign_transaction_params->fee_amount_length > 8)) {
return false;
Expand Down
8 changes: 4 additions & 4 deletions src/plugins.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
void plugin_ui_get_id(void) {
ethQueryContractID_t pluginQueryContractID;
eth_plugin_prepare_query_contract_ID(&pluginQueryContractID,
strings.common.fullAddress,
sizeof(strings.common.fullAddress),
strings.common.toAddress,
sizeof(strings.common.toAddress),
strings.common.fullAmount,
sizeof(strings.common.fullAmount));
// Query the original contract for ID if it's not an internal alias
Expand Down Expand Up @@ -33,8 +33,8 @@ void plugin_ui_get_item_internal(char *title_buffer,
}

void plugin_ui_get_item(void) {
plugin_ui_get_item_internal(strings.common.fullAddress,
sizeof(strings.common.fullAddress),
plugin_ui_get_item_internal(strings.common.toAddress,
sizeof(strings.common.toAddress),
strings.common.fullAmount,
sizeof(strings.common.fullAmount));
}
3 changes: 2 additions & 1 deletion src/shared_context.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,8 @@ typedef enum {
#define NETWORK_STRING_MAX_SIZE 19

typedef struct txStringProperties_s {
char fullAddress[43];
char fromAddress[43];
char toAddress[43];
char fullAmount[79]; // 2^256 is 78 digits long
char maxFee[50];
char nonce[8]; // 10M tx per account ought to be enough for everybody
Expand Down
2 changes: 1 addition & 1 deletion src_bagl/ui_domain_name.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ UX_STEP_NOCB(
ux_domain_name_step,
bnnn_paging,
{
.title = "Domain",
.title = "To (domain)",
.text = g_domain_name
});
// clang-format on
Expand Down
2 changes: 1 addition & 1 deletion src_bagl/ui_flow_erc20_approval.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ UX_STEP_NOCB(
bnnn_paging,
{
.title = "Contract Name",
.text = strings.common.fullAddress,
.text = strings.common.toAddress,
});

UX_STEP_NOCB(
Expand Down
2 changes: 1 addition & 1 deletion src_bagl/ui_flow_getPublicKey.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ UX_STEP_NOCB(
bnnn_paging,
{
.title = "Address",
.text = strings.common.fullAddress,
.text = strings.common.toAddress,
});
UX_STEP_CB(
ux_display_public_flow_3_step,
Expand Down
2 changes: 1 addition & 1 deletion src_bagl/ui_flow_performPrivacyOperation.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ UX_STEP_NOCB(
bnnn_paging,
{
.title = "Address",
.text = strings.common.fullAddress,
.text = strings.common.toAddress,
});
UX_STEP_NOCB(
ux_display_privacy_public_key_flow_3_step,
Expand Down
29 changes: 22 additions & 7 deletions src_bagl/ui_flow_signTx.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,19 +110,26 @@ UX_STEP_NOCB(
.text = strings.common.fullAmount
});
UX_STEP_NOCB(
ux_approval_address_step,
ux_approval_from_step,
bnnn_paging,
{
.title = "Address",
.text = strings.common.fullAddress,
.title = "From",
.text = strings.common.fromAddress,
});
UX_STEP_NOCB(
ux_approval_to_step,
bnnn_paging,
{
.title = "To",
.text = strings.common.toAddress,
});

UX_STEP_NOCB_INIT(
ux_plugin_approval_id_step,
bnnn_paging,
plugin_ui_get_id(),
{
.title = strings.common.fullAddress,
.title = strings.common.toAddress,
.text = strings.common.fullAmount
});

Expand All @@ -138,7 +145,7 @@ UX_FLOW_DEF_NOCB(
ux_plugin_approval_display_step,
bnnn_paging,
{
.title = strings.common.fullAddress,
.title = strings.common.toAddress,
.text = strings.common.fullAmount
});

Expand Down Expand Up @@ -214,22 +221,30 @@ void ux_approve_tx(bool fromPlugin) {
if (fromPlugin) {
// Add the special dynamic display logic
ux_approval_tx_flow[step++] = &ux_plugin_approval_id_step;
if (pluginType != EXTERNAL) {
if (strings.common.fromAddress[0] != 0) {
ux_approval_tx_flow[step++] = &ux_approval_from_step;
}
}
ux_approval_tx_flow[step++] = &ux_plugin_approval_before_step;
ux_approval_tx_flow[step++] = &ux_plugin_approval_display_step;
ux_approval_tx_flow[step++] = &ux_plugin_approval_after_step;
} else {
// We're in a regular transaction, just show the amount and the address
if (strings.common.fromAddress[0] != 0) {
ux_approval_tx_flow[step++] = &ux_approval_from_step;
}
ux_approval_tx_flow[step++] = &ux_approval_amount_step;
#ifdef HAVE_DOMAIN_NAME
uint64_t chain_id = get_tx_chain_id();
if (has_domain_name(&chain_id, tmpContent.txContent.destination)) {
ux_approval_tx_flow[step++] = &ux_domain_name_step;
if (N_storage.verbose_domain_name) {
ux_approval_tx_flow[step++] = &ux_approval_address_step;
ux_approval_tx_flow[step++] = &ux_approval_to_step;
}
} else {
#endif // HAVE_DOMAIN_NAME
ux_approval_tx_flow[step++] = &ux_approval_address_step;
ux_approval_tx_flow[step++] = &ux_approval_to_step;
#ifdef HAVE_DOMAIN_NAME
}
#endif // HAVE_DOMAIN_NAME
Expand Down
4 changes: 2 additions & 2 deletions src_features/getPublicKey/cmd_getPublicKey.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ void handleGetPublicKey(uint8_t p1,
*tx = set_result_get_publicKey();
THROW(APDU_RESPONSE_OK);
} else {
snprintf(strings.common.fullAddress,
sizeof(strings.common.fullAddress),
snprintf(strings.common.toAddress,
sizeof(strings.common.toAddress),
"0x%.*s",
40,
tmpCtx.publicKeyContext.address);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ void handlePerformPrivacyOperation(uint8_t p1,
*tx = set_result_perform_privacy_operation();
THROW(0x9000);
} else {
snprintf(strings.common.fullAddress,
sizeof(strings.common.fullAddress),
snprintf(strings.common.toAddress,
sizeof(strings.common.toAddress),
"0x%.*s",
40,
tmpCtx.publicKeyContext.address);
Expand Down
17 changes: 12 additions & 5 deletions src_features/signTx/logic_signTx.c
Original file line number Diff line number Diff line change
Expand Up @@ -346,12 +346,19 @@ __attribute__((noinline)) static bool finalize_parsing_helper(bool direct, bool
tmpCtx.transactionContext.hash,
32));

uint8_t msg_sender[ADDRESS_LENGTH] = {0};
get_public_key(msg_sender, sizeof(msg_sender));

address_to_string(msg_sender,
ADDRESS_LENGTH,
strings.common.fromAddress,
sizeof(strings.common.fromAddress),
chainConfig->chainId);
PRINTF("FROM address displayed: %s\n", strings.common.fromAddress);
// Finalize the plugin handling
if (dataContext.tokenContext.pluginStatus >= ETH_PLUGIN_RESULT_SUCCESSFUL) {
eth_plugin_prepare_finalize(&pluginFinalize);

uint8_t msg_sender[ADDRESS_LENGTH] = {0};
get_public_key(msg_sender, sizeof(msg_sender));
pluginFinalize.address = msg_sender;

if (!eth_plugin_call(ETH_PLUGIN_FINALIZE, (void *) &pluginFinalize)) {
Expand Down Expand Up @@ -465,14 +472,14 @@ __attribute__((noinline)) static bool finalize_parsing_helper(bool direct, bool
chainConfig->chainId);
if (G_called_from_swap) {
// Ensure the values are the same that the ones that have been previously validated
if (strcasecmp_workaround(strings.common.fullAddress, displayBuffer) != 0) {
if (strcasecmp_workaround(strings.common.toAddress, displayBuffer) != 0) {
PRINTF("ERR_SILENT_MODE_CHECK_FAILED, address check failed\n");
THROW(ERR_SILENT_MODE_CHECK_FAILED);
}
} else {
strlcpy(strings.common.fullAddress, displayBuffer, sizeof(strings.common.fullAddress));
strlcpy(strings.common.toAddress, displayBuffer, sizeof(strings.common.toAddress));
}
PRINTF("Address displayed: %s\n", strings.common.fullAddress);
PRINTF("TO address displayed: %s\n", strings.common.toAddress);

// Format the amount in a temporary buffer, if in swap case compare it with validated
// amount, else commit it
Expand Down
28 changes: 21 additions & 7 deletions src_nbgl/ui_approve_tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ static const nbgl_icon_details_t *get_tx_icon(void) {

if (tx_approval_context.fromPlugin && (pluginType == EXTERNAL)) {
if (caller_app && caller_app->name) {
if ((strlen(strings.common.fullAddress) == strlen(caller_app->name)) &&
(strcmp(strings.common.fullAddress, caller_app->name) == 0)) {
if ((strlen(strings.common.toAddress) == strlen(caller_app->name)) &&
(strcmp(strings.common.toAddress, caller_app->name) == 0)) {
icon = get_app_icon(true);
}
}
Expand Down Expand Up @@ -93,6 +93,13 @@ static uint8_t setTagValuePairs(void) {

// Setup data to display
if (tx_approval_context.fromPlugin) {
if (pluginType != EXTERNAL) {
if (strings.common.fromAddress[0] != 0) {
pairs[nbPairs].item = "From";
pairs[nbPairs].value = strings.common.fromAddress;
nbPairs++;
}
}
for (pairIndex = 0; pairIndex < dataContext.tokenContext.pluginUiMaxItems; pairIndex++) {
// for the next dataContext.tokenContext.pluginUiMaxItems items, get tag/value from
// plugin_ui_get_item_internal()
Expand All @@ -116,6 +123,12 @@ static uint8_t setTagValuePairs(void) {
pairs[nbPairs].value = strings.common.maxFee;
nbPairs++;
} else {
if (strings.common.fromAddress[0] != 0) {
pairs[nbPairs].item = "From";
pairs[nbPairs].value = strings.common.fromAddress;
nbPairs++;
}

pairs[nbPairs].item = "Amount";
pairs[nbPairs].value = strings.common.fullAmount;
nbPairs++;
Expand All @@ -125,14 +138,14 @@ static uint8_t setTagValuePairs(void) {
tx_approval_context.domain_name_match =
has_domain_name(&chain_id, tmpContent.txContent.destination);
if (tx_approval_context.domain_name_match) {
pairs[nbPairs].item = "Domain";
pairs[nbPairs].item = "To (domain)";
pairs[nbPairs].value = g_domain_name;
nbPairs++;
}
if (!tx_approval_context.domain_name_match || N_storage.verbose_domain_name) {
#endif
pairs[nbPairs].item = "Address";
pairs[nbPairs].value = strings.common.fullAddress;
pairs[nbPairs].item = "To";
pairs[nbPairs].value = strings.common.toAddress;
nbPairs++;
#ifdef HAVE_DOMAIN_NAME
}
Expand All @@ -142,6 +155,7 @@ static uint8_t setTagValuePairs(void) {
pairs[nbPairs].value = strings.common.nonce;
nbPairs++;
}

pairs[nbPairs].item = "Max fees";
pairs[nbPairs].value = strings.common.maxFee;
nbPairs++;
Expand Down Expand Up @@ -172,14 +186,14 @@ static void reviewCommon(void) {
"Review transaction\nto %s\n%s%s",
op_name,
(pluginType == EXTERNAL ? "on " : ""),
strings.common.fullAddress);
strings.common.toAddress);
// Finish text: replace "Review" by "Sign" and add questionmark
snprintf(g_stax_shared_buffer + buf_size,
buf_size,
"Sign transaction\nto %s\n%s%s",
op_name,
(pluginType == EXTERNAL ? "on " : ""),
strings.common.fullAddress);
strings.common.toAddress);

nbgl_useCaseReview(TYPE_TRANSACTION,
&pairsList,
Expand Down
2 changes: 1 addition & 1 deletion src_nbgl/ui_display_privacy.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ static void buildFirstPage(const char *review_string) {
uint8_t nbPairs = 0;

pairs[nbPairs].item = "Address";
pairs[nbPairs].value = strings.common.fullAddress;
pairs[nbPairs].value = strings.common.toAddress;
nbPairs++;
pairs[nbPairs].item = "Key";
pairs[nbPairs].value = strings.common.fullAmount;
Expand Down
2 changes: 1 addition & 1 deletion src_nbgl/ui_get_public_key.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ void ui_display_public_key(const uint64_t *chain_id) {
icon = get_app_icon(false);
}
strlcat(g_stax_shared_buffer, "address", sizeof(g_stax_shared_buffer));
nbgl_useCaseAddressReview(strings.common.fullAddress,
nbgl_useCaseAddressReview(strings.common.toAddress,
NULL,
icon,
g_stax_shared_buffer,
Expand Down
Binary file modified tests/ragger/snapshots/flex/blind-signed_approval/00001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_non_mainnet/00000.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_non_mainnet/00001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_non_mainnet/00002.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_non_mainnet/00003.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_non_mainnet/00004.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_unknown_chain/00000.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_unknown_chain/00001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_unknown_chain/00002.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_unknown_chain/00003.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_unknown_chain/00005.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_False/00000.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_False/00001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_False/00002.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_False/00003.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_False/00004.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_True/00000.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_True/00001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_True/00002.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_True/00003.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_verbose_True/00005.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_wrong_addr/00000.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_wrong_addr/00001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/ragger/snapshots/flex/domain_name_wrong_addr/00002.png
Binary file modified tests/ragger/snapshots/flex/domain_name_wrong_addr/00003.png
Binary file modified tests/ragger/snapshots/flex/domain_name_wrong_addr/00004.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00000.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00001.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00002.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00003.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00004.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00004.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00000.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00001.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00003.png
Binary file modified tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00004.png
Binary file modified tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_1/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_1/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_1/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_1/00003.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_1/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_1/00005.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_137/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_137/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_137/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_137/00003.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_137/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_137/00006.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_5/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_5/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_5/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_5/00003.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_5/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_approve_5/00006.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00003.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00005.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00003.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00006.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00003.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_1/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_1/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_1/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_1/00003.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_1/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_1/00005.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_137/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_137/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_137/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_137/00003.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_137/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_137/00006.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_5/00000.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_5/00001.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_5/00002.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_5/00003.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_5/00004.png
Binary file modified tests/ragger/snapshots/flex/erc721_transferFrom_5/00006.png
Binary file modified tests/ragger/snapshots/flex/get_pk_1/00000.png
Binary file modified tests/ragger/snapshots/flex/get_pk_1/00001.png
Binary file modified tests/ragger/snapshots/flex/get_pk_1/00003.png
Binary file modified tests/ragger/snapshots/flex/get_pk_137/00000.png
Binary file modified tests/ragger/snapshots/flex/get_pk_137/00001.png
Binary file modified tests/ragger/snapshots/flex/get_pk_137/00003.png
Binary file modified tests/ragger/snapshots/flex/get_pk_2/00000.png
Binary file modified tests/ragger/snapshots/flex/get_pk_2/00001.png
Binary file modified tests/ragger/snapshots/flex/get_pk_2/00003.png
Binary file modified tests/ragger/snapshots/flex/get_pk_5/00000.png
Binary file modified tests/ragger/snapshots/flex/get_pk_5/00001.png
Binary file modified tests/ragger/snapshots/flex/get_pk_5/00003.png
Binary file modified tests/ragger/snapshots/flex/get_pk_None/00000.png
Binary file modified tests/ragger/snapshots/flex/get_pk_None/00001.png
Binary file modified tests/ragger/snapshots/flex/get_pk_None/00003.png
Binary file modified tests/ragger/snapshots/flex/get_pk_rejected_60/00000.png
Binary file modified tests/ragger/snapshots/flex/get_pk_rejected_60/00001.png
Binary file modified tests/ragger/snapshots/flex/get_pk_rejected_60/00003.png
Binary file modified tests/ragger/snapshots/flex/get_pk_rejected_700/00000.png
Binary file modified tests/ragger/snapshots/flex/get_pk_rejected_700/00001.png
Binary file modified tests/ragger/snapshots/flex/get_pk_rejected_700/00003.png
Binary file modified tests/ragger/snapshots/flex/test_clone_thundercore/00000.png
Binary file modified tests/ragger/snapshots/flex/test_clone_thundercore/00001.png
Binary file modified tests/ragger/snapshots/flex/test_clone_thundercore/00002.png
Binary file modified tests/ragger/snapshots/flex/test_clone_thundercore/00003.png
Binary file modified tests/ragger/snapshots/flex/test_clone_thundercore/00004.png
Binary file modified tests/ragger/snapshots/flex/test_get_eth2_pk/00000.png
Binary file modified tests/ragger/snapshots/flex/test_get_eth2_pk/00001.png
Binary file modified tests/ragger/snapshots/flex/test_get_eth2_pk/00003.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_chainid/00000.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_chainid/00001.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_chainid/00002.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_chainid/00003.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_chainid/00005.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_send_bsc/00000.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_send_bsc/00001.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_send_bsc/00002.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_send_bsc/00003.png
Binary file modified tests/ragger/snapshots/flex/test_legacy_send_bsc/00005.png
Binary file modified tests/ragger/snapshots/flex/test_personal_sign_metamask/00001.png
Binary file modified tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00001.png
Binary file modified tests/ragger/snapshots/flex/test_personal_sign_opensea/00001.png
Binary file modified tests/ragger/snapshots/flex/test_personal_sign_opensea/00002.png
Binary file modified tests/ragger/snapshots/flex/test_personal_sign_opensea/00003.png
Binary file modified tests/ragger/snapshots/flex/test_personal_sign_reject/00000.png
Binary file modified tests/ragger/snapshots/flex/test_personal_sign_reject/00001.png
Binary file modified tests/ragger/snapshots/flex/test_personal_sign_reject/00002.png
Binary file modified tests/ragger/snapshots/flex/test_personal_sign_reject/00005.png
Binary file modified tests/ragger/snapshots/flex/test_sign_blind_simple/00000.png
Binary file modified tests/ragger/snapshots/flex/test_sign_blind_simple/00001.png
Binary file modified tests/ragger/snapshots/flex/test_sign_blind_simple/00002.png
Binary file modified tests/ragger/snapshots/flex/test_sign_blind_simple/00003.png
Binary file modified tests/ragger/snapshots/flex/test_sign_blind_simple/00004.png
Binary file modified tests/ragger/snapshots/flex/test_sign_eip_2930/00000.png
Binary file modified tests/ragger/snapshots/flex/test_sign_eip_2930/00001.png
Binary file modified tests/ragger/snapshots/flex/test_sign_eip_2930/00002.png
Binary file modified tests/ragger/snapshots/flex/test_sign_eip_2930/00003.png
Binary file modified tests/ragger/snapshots/flex/test_sign_eip_2930/00005.png
Binary file modified tests/ragger/snapshots/flex/test_sign_limit_nonce/00000.png
Binary file modified tests/ragger/snapshots/flex/test_sign_limit_nonce/00001.png
Binary file modified tests/ragger/snapshots/flex/test_sign_limit_nonce/00002.png
Binary file modified tests/ragger/snapshots/flex/test_sign_limit_nonce/00003.png
Binary file modified tests/ragger/snapshots/flex/test_sign_limit_nonce/00004.png
Binary file modified tests/ragger/snapshots/flex/test_sign_nonce_display/00000.png
Binary file modified tests/ragger/snapshots/flex/test_sign_nonce_display/00001.png
Binary file modified tests/ragger/snapshots/flex/test_sign_nonce_display/00002.png
Binary file modified tests/ragger/snapshots/flex/test_sign_nonce_display/00003.png
Binary file modified tests/ragger/snapshots/flex/test_sign_nonce_display/00005.png
Loading

0 comments on commit 6d6f7c7

Please sign in to comment.