Skip to content

Commit

Permalink
Merge pull request #125 from Zondax/fix/dissolve_delay
Browse files Browse the repository at this point in the history
correct year calculation
  • Loading branch information
jleni authored Sep 8, 2021
2 parents e8f37a8 + 2d7650c commit 10e7fde
Show file tree
Hide file tree
Showing 7 changed files with 111 additions and 96 deletions.
2 changes: 1 addition & 1 deletion app/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ endif

APPVERSION_M=1
APPVERSION_N=0
APPVERSION_P=0
APPVERSION_P=1

$(info COIN = [$(COIN)])

Expand Down
9 changes: 6 additions & 3 deletions app/src/parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -181,17 +181,20 @@ __Z_INLINE parser_error_t print_accountBytes(sender_t sender,
return parser_ok;
}

// 365.25 * 24*60*60 = 31557600
#define ICP_YEAR_IN_SECONDS ((uint64_t)31557600)

parser_error_t parser_printDelay(uint64_t value, char *buffer, uint16_t bufferSize){
MEMZERO(buffer,bufferSize);
uint16_t index = 0;
uint64_t years = value / (uint64_t)(365.25 * 24*60*60);
if(years > 1){
uint64_t years = value / ICP_YEAR_IN_SECONDS;
if(years >= 1){
index += fpuint64_to_str(buffer, bufferSize, years, 0);
PARSER_ASSERT_OR_ERROR(index + 1 < bufferSize, parser_unexpected_buffer_end);
MEMCPY(buffer + index, (char *)"y", 1);
index += 1;
}
value %= (uint64_t)(365.25 *60*60*24);
value %= ICP_YEAR_IN_SECONDS;

uint64_t days = value / (uint64_t)(60*60*24);
if(days > 0){
Expand Down
196 changes: 104 additions & 92 deletions tests/manual.json
Original file line number Diff line number Diff line change
Expand Up @@ -8723,7 +8723,7 @@
"valid": true
},
{
"index" : 1001,
"index": 1001,
"name": "Increase Dissolve Delay",
"blob": "d9d9f7a167636f6e74656e74a66361726752620a10f0e781d9a9eac5a31012040a02080a6b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b1698b931d46ec6c06b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581dd44f9ac8224bdd55d8c620da483686ed292480b25997c8a04f20914d02",
"additional_delay_secs": 10,
Expand Down Expand Up @@ -8819,7 +8819,7 @@
]
},
{
"index" : 1002,
"index": 1002,
"name": "Add hotkey",
"blob": "d9d9f7a167636f6e74656e74a6636172675832620b10b98488e0c7a8cec9bd01122322210a1f0a1d19aa3d42c048dd7d14f0cfa0df69a1c1381780f6e9a137abaa6a82e3026b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b1698b4cd1475e3c06b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d19aa3d42c048dd7d14f0cfa0df69a1c1381780f6e9a137abaa6a82e302",
"output": [
Expand Down Expand Up @@ -8876,12 +8876,10 @@
"output_expert": [
"0 | Transaction type : Stop Dissolve Neuron",
"1 | Neuron ID : 123"

],
"request_id": "88a4621b36ff02533e19b5b50a2076bbab2ae52fa99d8f4dd3b6914653d405f0",
"valid": true
},

{
"name": "Stop Dissolve Neuron",
"blob": "d9d9f7a167636f6e74656e74a66361726751620b10e387b497ee96e3a8f20112021a006b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b1698b7bc219b61006b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581dd44f9ac8224bdd55d8c620da483686ed292480b25997c8a04f20914d02",
Expand Down Expand Up @@ -8916,7 +8914,6 @@
"request_id": "88a4621b36ff02533e19b5b50a2076bbab2ae52fa99d8f4dd3b6914653d405f0",
"valid": true
},

{
"blob": "d9d9f7a367636f6e74656e74a76c726571756573745f747970656463616c6c656e6f6e63655010f4d7b4156b0909a09b15e65005ebb76e696e67726573735f6578706972791b1674dbf4c5bc22786673656e646572581d7bdd7f75eea6fcf58001e0dfb7d718b9e8f2c3b01e1ccec9ab305aad026b63616e69737465725f69644a000000000000000101016b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626361726758270a02107b22210a1f0a1d45717a3a0e68fceef546ac77bac551754b48dbb1fccfa180673030b6026d73656e6465725f7075626b657958583056301006072a8648ce3d020106052b8104000a03420004e1142e1fbc940344d9161709196bb8bd151f94379c48dd507ab99a0776109128b94b5303cf2b2d28e25a779da175b62f8a975599b20c63d5193202640576ec5e6a73656e6465725f7369675840841ab349c657fcec1d4cd4f8fb5fe64faf586d49de6d5aebfd386ec195d6dfc4267318baa73244d76b9cf764a055eb1eb38c32928a5d595c2d8af4a1907cc4be",
"index": 1006,
Expand Down Expand Up @@ -8987,90 +8984,105 @@
"1 | Neuron ID : 10509774023569794165",
"2 | Controller : Self"
]
},
{
"name": "Disburse",
"index": 1010,
"blob": "d9d9f7a167636f6e74656e74a6636172675839620a10a7d18aaad3a2a2c6131a2b0a0508959aef3a12220a2068d518e2fd2be6566e62c36611b9794dfcbc04eb4227eefb73ab3c7a2d0ae5776b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bc8985c330d006b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 1.23456789"
],
"output_expert": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 1.23456789"
]
},
{
"name": "Disburse",
"index": 1011,
"blob": "d9d9f7a167636f6e74656e74a66361726758390a0a10a7d18aaad3a2a2c6131a2b0a0508959aef3a12220a2068d518e2fd2be6566e62c36611b9794dfcbc04eb4227eefb73ab3c7a2d0ae5776b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bc8b46c2b1ec06b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 1.23456789"
],
"output_expert": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 1.23456789"
]
},
{
"name": "Disburse",
"index": 1014,
"blob": "d9d9f7a167636f6e74656e74a663617267560a0a10a7d18aaad3a2a2c6131a080a0608ff93ebdc036b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bbfe20d3a39806b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To : Self",
"3 | Amount (ICP) : 9.99999999"
],
"output_expert": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To : Self",
"3 | Amount (ICP) : 9.99999999"
]
},{
"name": "Disburse",
"index": 1015,
"blob" : "d9d9f7a167636f6e74656e74a6636172675834620a10a7d18aaad3a2a2c6131a260a0012220a2068d518e2fd2be6566e62c36611b9794dfcbc04eb4227eefb73ab3c7a2d0ae5776b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bcadbc87007806b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 0.00"
],
"output_expert": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 0.00"
]
},
{
"name": "List Neurons",
"index" : 1016,
"blob": "d9d9f7a167636f6e74656e74a6636172674210016b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bc0d5904b7e806b6d6574686f645f6e616d656f6c6973745f6e6575726f6e735f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : List Own Neurons"
],
"output_expert": [
"0 | Transaction type : List Own Neurons"
]
}

]
},
{
"name": "Disburse",
"index": 1010,
"blob": "d9d9f7a167636f6e74656e74a6636172675839620a10a7d18aaad3a2a2c6131a2b0a0508959aef3a12220a2068d518e2fd2be6566e62c36611b9794dfcbc04eb4227eefb73ab3c7a2d0ae5776b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bc8985c330d006b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 1.23456789"
],
"output_expert": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 1.23456789"
]
},
{
"name": "Disburse",
"index": 1011,
"blob": "d9d9f7a167636f6e74656e74a66361726758390a0a10a7d18aaad3a2a2c6131a2b0a0508959aef3a12220a2068d518e2fd2be6566e62c36611b9794dfcbc04eb4227eefb73ab3c7a2d0ae5776b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bc8b46c2b1ec06b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 1.23456789"
],
"output_expert": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 1.23456789"
]
},
{
"name": "Disburse",
"index": 1014,
"blob": "d9d9f7a167636f6e74656e74a663617267560a0a10a7d18aaad3a2a2c6131a080a0608ff93ebdc036b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bbfe20d3a39806b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To : Self",
"3 | Amount (ICP) : 9.99999999"
],
"output_expert": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To : Self",
"3 | Amount (ICP) : 9.99999999"
]
},
{
"name": "Disburse",
"index": 1015,
"blob": "d9d9f7a167636f6e74656e74a6636172675834620a10a7d18aaad3a2a2c6131a260a0012220a2068d518e2fd2be6566e62c36611b9794dfcbc04eb4227eefb73ab3c7a2d0ae5776b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bcadbc87007806b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 0.00"
],
"output_expert": [
"0 | Transaction type : Disburse Neuron",
"1 | Neuron ID : 1408651507641002151",
"2 | Disburse To [1/2] : 68d518e2 fd2be656 6e62c366 11b9794d",
"2 | Disburse To [2/2] : fcbc04eb 4227eefb 73ab3c7a 2d0ae577",
"3 | Amount (ICP) : 0.00"
]
},
{
"name": "List Neurons",
"index": 1016,
"blob": "d9d9f7a167636f6e74656e74a6636172674210016b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b169bc0d5904b7e806b6d6574686f645f6e616d656f6c6973745f6e6575726f6e735f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"output": [
"0 | Transaction type : List Own Neurons"
],
"output_expert": [
"0 | Transaction type : List Own Neurons"
]
},
{
"tx_type": "Increase Dissolve Delay",
"blob": "d9d9f7a167636f6e74656e74a6636172674e620310a46012070a0508a0c4870f6b63616e69737465725f69644a000000000000000101016e696e67726573735f6578706972791b16a283a5add809c06b6d6574686f645f6e616d65706d616e6167655f6e6575726f6e5f70626c726571756573745f747970656463616c6c6673656e646572581d8a4aa4ffc7bc5ccdcd5a7a3d10c9bb06741063b02c7e908a624f721d02",
"additional_delay_secs": 31580704,
"output": [
"0 | Transaction type : Increase Dissolve Delay",
"1 | Neuron ID : 12324",
"2 | Additional Delay : 1y, 6h, 25m, 4s"
],
"output_expert": [
"0 | Transaction type : Increase Dissolve Delay",
"1 | Neuron ID : 12324",
"2 | Additional Delay : 1y, 6h, 25m, 4s"
]
}
]
Binary file modified tests_zemu/snapshots/s-mainmenu/00004.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_zemu/snapshots/s-mainmenu/00011.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_zemu/snapshots/x-mainmenu/00004.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_zemu/snapshots/x-mainmenu/00011.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 10e7fde

Please sign in to comment.