diff --git a/src/kiln_plugin.h b/src/kiln_plugin.h index a8a053a..b85a99a 100644 --- a/src/kiln_plugin.h +++ b/src/kiln_plugin.h @@ -190,6 +190,7 @@ typedef struct { // list of strategies indexes **INCREMENTED BY 1** to display in the UI // 0 is reserved for end of array // UNKNOW_LR_STRATEGY is used to display the "unknown" strategy + // assumptions: // (i) in practice, we should not encounter more than // LR_STRATEGIES_COUNT +~ a few potential unsupported // strategies in the plugin. So * 3 should be a good enough buffer. @@ -201,19 +202,28 @@ typedef struct { // -- utils uint16_t parent_item_count; uint16_t current_item_count; + // -- total values uint16_t relegations_count; + uint8_t withdrawals_count; + uint16_t strategies_count; // -- display - uint16_t strategies_count; char withdrawer[ADDRESS_STR_LEN]; // list of strategies indexes **INCREMENTED BY 1** to display in the UI // 0 is reserved for end of array // UNKNOW_LR_STRATEGY is used to display the "unknown" strategy + // assumptions: // (i) in practice, we should not encounter more than // LR_STRATEGIES_COUNT +~ a few potential unsupported // strategies in the plugin. So * 3 should be a good enough buffer. // (ii) in practice there should not be more than (2 ** 8) - 2 known strategies uint8_t strategies[MAX_DISPLAYABLE_LR_STRATEGIES_COUNT]; + // follows the indexes of the strategies array in this structure. + // value is the withdrawal number + // assumptions: + // (i) in practice, we should not encounter more than + // 255 strategies in queued withdrawal calls + uint8_t withdrawals[MAX_DISPLAYABLE_LR_STRATEGIES_COUNT]; // follows the indexes of the strategies array in this structure bool is_redelegated[MAX_DISPLAYABLE_LR_STRATEGIES_COUNT]; } lr_complete_queued_withdrawals_t; diff --git a/src/provide_parameter/eigenlayer.c b/src/provide_parameter/eigenlayer.c index 1e0a7a6..448925f 100644 --- a/src/provide_parameter/eigenlayer.c +++ b/src/provide_parameter/eigenlayer.c @@ -40,7 +40,7 @@ bool compare_addresses(const char a[ADDRESS_STR_LEN], const char b[ADDRESS_STR_L * * @returns index of the erc20 in the context or UNKNOW_LR_STRATEGY if not found */ -int find_lr_known_erc20(const char address[ADDRESS_STR_LEN]) { +uint8_t find_lr_known_erc20(const char address[ADDRESS_STR_LEN]) { for (size_t i = 0; i < LR_STRATEGIES_COUNT; i++) { if (compare_addresses(address, lr_erc20_addresses[i])) { return i; @@ -58,7 +58,7 @@ int find_lr_known_erc20(const char address[ADDRESS_STR_LEN]) { * * @returns index of the strategy in the context or UNKNOW_LR_STRATEGY if not found */ -int find_lr_known_strategy(const char address[ADDRESS_STR_LEN]) { +uint8_t find_lr_known_strategy(const char address[ADDRESS_STR_LEN]) { for (size_t i = 0; i < LR_STRATEGIES_COUNT; i++) { if (compare_addresses(address, lr_strategy_addresses[i])) { return i; @@ -211,7 +211,7 @@ void handle_lr_queue_withdrawals(ethPluginProvideParameter_t *msg, context_t *co char address_buffer[ADDRESS_STR_LEN]; getEthDisplayableAddress(buffer, address_buffer, sizeof(address_buffer), 0); - int strategy_index = find_lr_known_strategy(address_buffer); + uint8_t strategy_index = find_lr_known_strategy(address_buffer); params->strategies[params->strategies_count] = (strategy_index != UNKNOW_LR_STRATEGY) ? strategy_index + 1 : UNKNOW_LR_STRATEGY; @@ -442,13 +442,16 @@ void handle_lr_complete_queued_withdrawals(ethPluginProvideParameter_t *msg, con char address_buffer[ADDRESS_STR_LEN]; getEthDisplayableAddress(buffer, address_buffer, sizeof(address_buffer), 0); - int strategy_index = find_lr_known_strategy(address_buffer); + uint8_t strategy_index = find_lr_known_strategy(address_buffer); if (params->strategies_count < MAX_DISPLAYABLE_LR_STRATEGIES_COUNT) { + params->withdrawals[params->strategies_count] = params->withdrawals_count; + params->strategies[params->strategies_count] = (strategy_index != UNKNOW_LR_STRATEGY) ? strategy_index + 1 : UNKNOW_LR_STRATEGY; - PRINTF("STRATEGY #: %d STRATEGY: %d\n", + PRINTF("WITHDRAWAL #: %d STRATEGY #: %d STRATEGY: %d\n", + params->parent_item_count, params->strategies_count, strategy_index); } @@ -470,6 +473,8 @@ void handle_lr_complete_queued_withdrawals(ethPluginProvideParameter_t *msg, con if (params->current_item_count == 0 && params->parent_item_count > 0) { // shares array is empty AND we have other queuedWithdrawals to parse + params->parent_item_count -= 1; + params->withdrawals_count += 1; context->next_param = LRCQW_WITHDRAWALS__ITEM__STAKER; } else { context->next_param = LRCQW_WITHDRAWALS__ITEM__SHARES__ITEMS; @@ -483,6 +488,7 @@ void handle_lr_complete_queued_withdrawals(ethPluginProvideParameter_t *msg, con if (params->current_item_count == 0) { // we arrive at the end of the Withdrawal struct params->parent_item_count -= 1; + params->withdrawals_count += 1; if (params->parent_item_count == 0) { // we arrive at the end of the Withdrawals array context->next_param = LRCQW_TOKENS_LENGTH; @@ -537,6 +543,7 @@ void handle_lr_complete_queued_withdrawals(ethPluginProvideParameter_t *msg, con params->current_item_count -= 1; if (params->current_item_count == 0) { // we arrive at the end of the tokens array + params->parent_item_count -= 1; if (params->parent_item_count == 0) { // if we don't have other Withdrawals to parse context->next_param = LRCQW_MIDDLEWARE_TIMES_INDEXES_LENGTH; @@ -590,8 +597,11 @@ void handle_lr_complete_queued_withdrawals(ethPluginProvideParameter_t *msg, con { uint16_t index = params->relegations_count - params->current_item_count; + uint16_t value; + U2BE_from_parameter(msg->parameter, &value); // if false, token is redelegated - params->is_redelegated[index] = msg->parameter[0] == 0; + params->is_redelegated[index] = value == 0; + PRINTF("RECEIVE AS TOKENS #%d: %d\n", index, value); } params->current_item_count -= 1; if (params->current_item_count == 0) { diff --git a/src/query_contract_ui/eigenlayer.c b/src/query_contract_ui/eigenlayer.c index 9ded161..3aab58e 100644 --- a/src/query_contract_ui/eigenlayer.c +++ b/src/query_contract_ui/eigenlayer.c @@ -141,16 +141,18 @@ bool complete_queued_withdrawals_ui(ethQueryContractUI_t *msg, context_t *contex { // removing the first screen to current screen index // to get the index of the withdrawal - uint8_t withdrawal_index = msg->screenIndex - 2; + uint8_t strategy_index = msg->screenIndex - 2; + uint8_t withdrawal_index = params->withdrawals[strategy_index]; + PRINTF("strat: %d || withdrawal_index: %d\n", strategy_index, withdrawal_index); - if (withdrawal_index < params->strategies_count) { + if (strategy_index < params->strategies_count) { if (params->is_redelegated[withdrawal_index]) { strlcpy(msg->title, "Redelegate", msg->titleLength); } else { strlcpy(msg->title, "Withdraw", msg->titleLength); } - uint8_t strategy = params->strategies[withdrawal_index]; + uint8_t strategy = params->strategies[strategy_index]; if (strategy == UNKNOW_LR_STRATEGY || strategy - 1 >= LR_STRATEGIES_COUNT) { strlcpy(msg->msg, "UNKNOWN", msg->msgLength); } else { diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00001.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00001.png deleted file mode 100644 index c978af0..0000000 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00002.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00002.png deleted file mode 100644 index 04be832..0000000 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00003.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00003.png deleted file mode 100644 index eeec632..0000000 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00007.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00007.png index 5d10a09..82030b7 100644 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00007.png and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00007.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00008.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00008.png index 4fe8a80..2860eca 100644 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00008.png and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00008.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00009.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00009.png index 5d10a09..82030b7 100644 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00009.png and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00009.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00010.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00010.png index 4fe8a80..2860eca 100644 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00010.png and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00010.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00004.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00012.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00004.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00012.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00005.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00013.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00005.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals/00013.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_1/00010.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_1/00010.png index 9c7e704..ce795f3 100644 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_1/00010.png and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_1/00010.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00000.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00000.png deleted file mode 100644 index 8d84cc7..0000000 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00007.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00007.png deleted file mode 100644 index 5d10a09..0000000 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00008.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00008.png deleted file mode 100644 index 4fe8a80..0000000 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00009.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00009.png deleted file mode 100644 index 4b233bc..0000000 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00010.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00010.png deleted file mode 100644 index 9a6aeb0..0000000 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00017.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00017.png deleted file mode 100644 index 9c7e704..0000000 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00017.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00000.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00000.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawal/00000.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00000.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00001.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00001.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00001.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00001.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00002.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00002.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00002.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00002.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00003.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00003.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00003.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00003.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00004.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00004.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00004.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00004.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00005.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00005.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00005.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00005.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00006.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00006.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00006.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00006.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00007.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00007.png new file mode 100644 index 0000000..82030b7 Binary files /dev/null and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00007.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00008.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00008.png new file mode 100644 index 0000000..2860eca Binary files /dev/null and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00008.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00009.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00009.png new file mode 100644 index 0000000..a3f8447 Binary files /dev/null and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00009.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00010.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00010.png new file mode 100644 index 0000000..7fc94cf Binary files /dev/null and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00010.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00011.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00011.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00011.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00011.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00012.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00012.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00012.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00012.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00013.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00013.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00013.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00013.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00014.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00014.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00014.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00014.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00015.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00015.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00015.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00015.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00016.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00016.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00016.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00016.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00018.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00017.png similarity index 100% rename from tests/snapshots/nanos_lrCompleteQueuedWithdrawals_4/00018.png rename to tests/snapshots/nanos_lrCompleteQueuedWithdrawals_8/00017.png diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_redelegate_1/00007.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_redelegate_1/00007.png index 5d10a09..82030b7 100644 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_redelegate_1/00007.png and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_redelegate_1/00007.png differ diff --git a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_redelegate_1/00010.png b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_redelegate_1/00010.png index 9c7e704..ce795f3 100644 Binary files a/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_redelegate_1/00010.png and b/tests/snapshots/nanos_lrCompleteQueuedWithdrawals_redelegate_1/00010.png differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawal/00000.png b/tests/snapshots/nanos_lrQueueWithdrawal/00000.png deleted file mode 100644 index 8d84cc7..0000000 Binary files a/tests/snapshots/nanos_lrQueueWithdrawal/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawal/00001.png b/tests/snapshots/nanos_lrQueueWithdrawal/00001.png deleted file mode 100644 index c978af0..0000000 Binary files a/tests/snapshots/nanos_lrQueueWithdrawal/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawal/00002.png b/tests/snapshots/nanos_lrQueueWithdrawal/00002.png deleted file mode 100644 index 6197bc7..0000000 Binary files a/tests/snapshots/nanos_lrQueueWithdrawal/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawal/00003.png b/tests/snapshots/nanos_lrQueueWithdrawal/00003.png deleted file mode 100644 index 06c3c59..0000000 Binary files a/tests/snapshots/nanos_lrQueueWithdrawal/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawal/00004.png b/tests/snapshots/nanos_lrQueueWithdrawal/00004.png deleted file mode 100644 index 53e7aa0..0000000 Binary files a/tests/snapshots/nanos_lrQueueWithdrawal/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawal/00005.png b/tests/snapshots/nanos_lrQueueWithdrawal/00005.png deleted file mode 100644 index 7e24995..0000000 Binary files a/tests/snapshots/nanos_lrQueueWithdrawal/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawal/00006.png b/tests/snapshots/nanos_lrQueueWithdrawal/00006.png deleted file mode 100644 index eeec632..0000000 Binary files a/tests/snapshots/nanos_lrQueueWithdrawal/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawal/00007.png b/tests/snapshots/nanos_lrQueueWithdrawals_1_2_dimension/00009.png similarity index 100% rename from tests/snapshots/nanos_lrQueueWithdrawal/00007.png rename to tests/snapshots/nanos_lrQueueWithdrawals_1_2_dimension/00009.png diff --git a/tests/snapshots/nanos_lrQueueWithdrawal/00008.png b/tests/snapshots/nanos_lrQueueWithdrawals_1_2_dimension/00010.png similarity index 100% rename from tests/snapshots/nanos_lrQueueWithdrawal/00008.png rename to tests/snapshots/nanos_lrQueueWithdrawals_1_2_dimension/00010.png diff --git a/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension/00013.png b/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension/00013.png new file mode 100644 index 0000000..1c9156c Binary files /dev/null and b/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension/00013.png differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension/00014.png b/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension/00014.png new file mode 100644 index 0000000..ce795f3 Binary files /dev/null and b/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension/00014.png differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension_with_unknowns/00013.png b/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension_with_unknowns/00013.png new file mode 100644 index 0000000..1c9156c Binary files /dev/null and b/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension_with_unknowns/00013.png differ diff --git a/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension_with_unknowns/00014.png b/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension_with_unknowns/00014.png new file mode 100644 index 0000000..ce795f3 Binary files /dev/null and b/tests/snapshots/nanos_lrQueueWithdrawals_2_3_dimension_with_unknowns/00014.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00001.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00001.png deleted file mode 100644 index f86d7e2..0000000 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00002.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00002.png deleted file mode 100644 index e6fdcb1..0000000 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00002.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00003.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00003.png deleted file mode 100644 index b2401b2..0000000 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00003.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00004.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00004.png index af34fd0..d98dc1e 100644 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00004.png and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00004.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00005.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00005.png index fdc3ea2..c63a3b8 100644 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00005.png and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00005.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00006.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00006.png index af34fd0..d98dc1e 100644 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00006.png and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00006.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00007.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00007.png index fdc3ea2..c63a3b8 100644 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00007.png and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals/00007.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_1/00007.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_1/00007.png index e90cd9d..6578872 100644 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_1/00007.png and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_1/00007.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00000.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00000.png deleted file mode 100644 index 487ea10..0000000 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00004.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00004.png deleted file mode 100644 index af34fd0..0000000 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00004.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00005.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00005.png deleted file mode 100644 index fdc3ea2..0000000 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00005.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00006.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00006.png deleted file mode 100644 index ab0ed7d..0000000 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00006.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00007.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00007.png deleted file mode 100644 index 2216abf..0000000 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00007.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00014.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00014.png deleted file mode 100644 index e90cd9d..0000000 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00014.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00000.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00000.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00000.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00000.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00001.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00001.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00001.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00001.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00002.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00002.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00002.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00002.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00003.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00003.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00003.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00003.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00004.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00004.png new file mode 100644 index 0000000..d98dc1e Binary files /dev/null and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00004.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00005.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00005.png new file mode 100644 index 0000000..c63a3b8 Binary files /dev/null and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00005.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00006.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00006.png new file mode 100644 index 0000000..7de9fc9 Binary files /dev/null and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00006.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00007.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00007.png new file mode 100644 index 0000000..8fb4180 Binary files /dev/null and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00007.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00008.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00008.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00008.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00008.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00009.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00009.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00009.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00009.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00010.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00010.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00010.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00010.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00011.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00011.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00011.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00011.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00012.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00012.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00012.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00012.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00013.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00013.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawals_4/00013.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00013.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00005.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00014.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00005.png rename to tests/snapshots/nanox_lrCompleteQueuedWithdrawals_8/00014.png diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_redelegate_1/00004.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_redelegate_1/00004.png index af34fd0..d98dc1e 100644 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_redelegate_1/00004.png and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_redelegate_1/00004.png differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_redelegate_1/00007.png b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_redelegate_1/00007.png index e90cd9d..6578872 100644 Binary files a/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_redelegate_1/00007.png and b/tests/snapshots/nanox_lrCompleteQueuedWithdrawals_redelegate_1/00007.png differ diff --git a/tests/snapshots/nanox_lrQueueWithdrawal/00000.png b/tests/snapshots/nanox_lrQueueWithdrawal/00000.png deleted file mode 100644 index 487ea10..0000000 Binary files a/tests/snapshots/nanox_lrQueueWithdrawal/00000.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrQueueWithdrawal/00001.png b/tests/snapshots/nanox_lrQueueWithdrawal/00001.png deleted file mode 100644 index f86d7e2..0000000 Binary files a/tests/snapshots/nanox_lrQueueWithdrawal/00001.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrQueueWithdrawal/00002.png b/tests/snapshots/nanox_lrQueueWithdrawal/00002.png deleted file mode 100644 index 8536993..0000000 Binary files a/tests/snapshots/nanox_lrQueueWithdrawal/00002.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrQueueWithdrawal/00003.png b/tests/snapshots/nanox_lrQueueWithdrawal/00003.png deleted file mode 100644 index 343850a..0000000 Binary files a/tests/snapshots/nanox_lrQueueWithdrawal/00003.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrQueueWithdrawal/00004.png b/tests/snapshots/nanox_lrQueueWithdrawal/00004.png deleted file mode 100644 index b2401b2..0000000 Binary files a/tests/snapshots/nanox_lrQueueWithdrawal/00004.png and /dev/null differ diff --git a/tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00004.png b/tests/snapshots/nanox_lrQueueWithdrawals_1_2_dimension/00007.png similarity index 100% rename from tests/snapshots/nanox_lrCompleteQueuedWithdrawal/00004.png rename to tests/snapshots/nanox_lrQueueWithdrawals_1_2_dimension/00007.png diff --git a/tests/snapshots/nanox_lrQueueWithdrawal/00006.png b/tests/snapshots/nanox_lrQueueWithdrawals_1_2_dimension/00008.png similarity index 100% rename from tests/snapshots/nanox_lrQueueWithdrawal/00006.png rename to tests/snapshots/nanox_lrQueueWithdrawals_1_2_dimension/00008.png diff --git a/tests/snapshots/nanox_lrQueueWithdrawal/00005.png b/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension/00011.png similarity index 100% rename from tests/snapshots/nanox_lrQueueWithdrawal/00005.png rename to tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension/00011.png diff --git a/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension/00012.png b/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension/00012.png new file mode 100644 index 0000000..6578872 Binary files /dev/null and b/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension/00012.png differ diff --git a/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension_with_unknowns/00011.png b/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension_with_unknowns/00011.png new file mode 100644 index 0000000..570ce28 Binary files /dev/null and b/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension_with_unknowns/00011.png differ diff --git a/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension_with_unknowns/00012.png b/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension_with_unknowns/00012.png new file mode 100644 index 0000000..6578872 Binary files /dev/null and b/tests/snapshots/nanox_lrQueueWithdrawals_2_3_dimension_with_unknowns/00012.png differ diff --git a/tests/src/lrCompleteQueuedWithdrawal.test.js b/tests/src/lrCompleteQueuedWithdrawal.test.js deleted file mode 100644 index ec43e7f..0000000 --- a/tests/src/lrCompleteQueuedWithdrawal.test.js +++ /dev/null @@ -1,88 +0,0 @@ -import 'core-js/stable'; -import 'regenerator-runtime/runtime'; -import { - waitForAppScreen, - kilnJSON, - zemu, - genericTx, - nano_models, - SPECULOS_ADDRESS, - txFromEtherscan, -} from './test.fixture'; -import { ethers } from 'ethers'; -import { parseEther, parseUnits } from 'ethers/lib/utils'; -import { ledgerService } from '@ledgerhq/hw-app-eth'; - -const contractAddr = '0x858646372cc42e1a627fce94aa7a7033e7cf075a'; // strategy manager - -const pluginName = 'Kiln'; -const abi_path = `../cal/abis/${contractAddr}.json`; -const abi = require(abi_path); - -nano_models.forEach(function (model) { - test( - '[Nano ' + model.letter + '] LR Complete Queued Withdrawal', - zemu(model, async (sim, eth) => { - const contract = new ethers.Contract(contractAddr, abi); - - const queuedWithdrawal = { - strategies: [ - '0x13760F50a9d7377e4F20CB8CF9e4c26586c658ff', // ankrETH strat - '0xa4C637e0F704745D182e4D38cAb7E7485321d059', // OETH strat - ], - shares: [1000, 2000], - depositor: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', - withdrawerAndNonce: { - withdrawer: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', - nonce: 1, - }, - withdrawalStartBlock: 12345678, - delegatedAddress: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', // Placeholder delegated address - }; - const tokens = [ - '0xE95A203B1a91a908F9B9CE46459d101078c2c3cb', // ankrETH erc20 - '0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3', // OETH erc20 - ]; // Placeholder token addresses - const middlewareTimesIndex = 0; // Placeholder middleware times index - const receiveAsTokens = true; // Placeholder boolean - - // Generate the transaction data 0xf044c946 - const { data } = - await contract.populateTransaction.completeQueuedWithdrawal( - queuedWithdrawal, - tokens, - middlewareTimesIndex, - receiveAsTokens - ); - - let unsignedTx = genericTx; - console.log(unsignedTx); - - unsignedTx.to = contractAddr; - unsignedTx.data = data; - unsignedTx.value = parseEther('0'); - - const serializedTx = ethers.utils - .serializeTransaction(unsignedTx) - .slice(2); - const resolution = await ledgerService.resolveTransaction( - serializedTx, - eth.loadConfig, - { - externalPlugins: true, - } - ); - const tx = eth.signTransaction("44'/60'/0'/0", serializedTx, resolution); - const right_clicks = 4; - - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots( - '.', - model.name + '_lrCompleteQueuedWithdrawal', - [right_clicks, 0] - ); - await tx; - }), - 30000 - ); -}); diff --git a/tests/src/lrCompleteQueuedWithdrawals.test.js b/tests/src/lrCompleteQueuedWithdrawals.test.js index 05853c8..c0adb91 100644 --- a/tests/src/lrCompleteQueuedWithdrawals.test.js +++ b/tests/src/lrCompleteQueuedWithdrawals.test.js @@ -88,7 +88,7 @@ nano_models.forEach(function (model) { } ); const tx = eth.signTransaction("44'/60'/0'/0", serializedTx, resolution); - const right_clicks = model.letter === 'S' ? 11 : 9; + const right_clicks = model.letter === 'S' ? 12 : 9; await waitForAppScreen(sim); await sim.navigateAndCompareSnapshots( @@ -144,7 +144,7 @@ nano_models.forEach(function (model) { ], ], [0], - [true] + [false] ); let unsignedTx = genericTx; @@ -164,7 +164,7 @@ nano_models.forEach(function (model) { } ); const tx = eth.signTransaction("44'/60'/0'/0", serializedTx, resolution); - const right_clicks = model.letter === 'S' ? 11 : 9; + const right_clicks = model.letter === 'S' ? 9 : 6; await waitForAppScreen(sim); await sim.navigateAndCompareSnapshots( @@ -220,7 +220,7 @@ nano_models.forEach(function (model) { ], ], [0], - [false] + [true] ); let unsignedTx = genericTx; @@ -240,7 +240,7 @@ nano_models.forEach(function (model) { } ); const tx = eth.signTransaction("44'/60'/0'/0", serializedTx, resolution); - const right_clicks = model.letter === 'S' ? 11 : 9; + const right_clicks = model.letter === 'S' ? 9 : 6; await waitForAppScreen(sim); await sim.navigateAndCompareSnapshots( @@ -339,7 +339,7 @@ nano_models.forEach(function (model) { ], ], [0, 0, 1], - [false, true, false] + [false, true, true, false, true, true, true, true] ); let unsignedTx = genericTx; @@ -359,12 +359,12 @@ nano_models.forEach(function (model) { } ); const tx = eth.signTransaction("44'/60'/0'/0", serializedTx, resolution); - const right_clicks = model.letter === 'S' ? 17 : 15; + const right_clicks = model.letter === 'S' ? 16 : 13; await waitForAppScreen(sim); await sim.navigateAndCompareSnapshots( '.', - model.name + '_lrCompleteQueuedWithdrawals_4', + model.name + '_lrCompleteQueuedWithdrawals_8', [right_clicks, 0] ); await tx; diff --git a/tests/src/lrQueueWithdrawals.test.js b/tests/src/lrQueueWithdrawals.test.js index eab45de..5391986 100644 --- a/tests/src/lrQueueWithdrawals.test.js +++ b/tests/src/lrQueueWithdrawals.test.js @@ -44,7 +44,7 @@ nano_models.forEach(function (model) { } ); const tx = eth.signTransaction("44'/60'/0'/0", serializedTx, resolution); - const right_clicks = model.letter === 'S' ? 8 : 6; + const right_clicks = model.letter === 'S' ? 9 : 7; await waitForAppScreen(sim); await sim.navigateAndCompareSnapshots( @@ -54,7 +54,7 @@ nano_models.forEach(function (model) { ); await tx; }), - 30000 + 10000 ); test( @@ -100,7 +100,7 @@ nano_models.forEach(function (model) { } ); const tx = eth.signTransaction("44'/60'/0'/0", serializedTx, resolution); - const right_clicks = model.letter === 'S' ? 12 : 10; + const right_clicks = model.letter === 'S' ? 13 : 11; await waitForAppScreen(sim); await sim.navigateAndCompareSnapshots( @@ -109,7 +109,8 @@ nano_models.forEach(function (model) { [right_clicks, 0] ); await tx; - }) + }), + 10000 ); test( @@ -155,7 +156,7 @@ nano_models.forEach(function (model) { } ); const tx = eth.signTransaction("44'/60'/0'/0", serializedTx, resolution); - const right_clicks = model.letter === 'S' ? 12 : 10; + const right_clicks = model.letter === 'S' ? 13 : 11; await waitForAppScreen(sim); await sim.navigateAndCompareSnapshots( @@ -164,6 +165,7 @@ nano_models.forEach(function (model) { [right_clicks, 0] ); await tx; - }) + }), + 10000 ); });