From c100db9be0fba9186c079ec4e6e4b31d14a742c2 Mon Sep 17 00:00:00 2001 From: Andrea Scartabelli Date: Wed, 18 Dec 2024 14:44:55 +0100 Subject: [PATCH] explorer: Add "owner" field to provisioners Resolves #3215 --- explorer/CHANGELOG.md | 2 + explorer/README.md | 1 + .../ProvisionersCard.spec.js.snap | 137 + .../ProvisionersList.spec.js.snap | 27 +- .../ProvisionersTable.spec.js.snap | 137 + .../provisioners-card/ProvisionersCard.svelte | 2 +- .../provisioners-list/ProvisionersList.css | 4 + .../provisioners-list/ProvisionersList.svelte | 39 +- .../provisioners-table/ProvisionersTable.css | 4 + .../ProvisionersTable.svelte | 18 +- .../src/lib/mock-data/host-provisioners.json | 1080 ++++++-- explorer/src/lib/mock-data/host.d.ts | 1 + .../src/lib/stores/__tests__/appStore.spec.js | 11 +- explorer/src/lib/stores/appStore.js | 5 + explorer/src/lib/stores/stores.d.ts | 1 + explorer/src/routes/provisioners/+page.svelte | 20 +- .../__tests__/__snapshots__/page.spec.js.snap | 2338 ++++++++++++++++- .../provisioners/__tests__/page.spec.js | 13 +- explorer/vite.config.js | 1 + 19 files changed, 3562 insertions(+), 279 deletions(-) diff --git a/explorer/CHANGELOG.md b/explorer/CHANGELOG.md index 4508cad620..d201c4f244 100644 --- a/explorer/CHANGELOG.md +++ b/explorer/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Add stake maturity information (Provisioners page) [#3218] +- Add "owner" field to provisioners [#3215] ### Changed @@ -117,6 +118,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#3034]: https://github.com/dusk-network/rusk/issues/3034 [#3038]: https://github.com/dusk-network/rusk/issues/3038 [#3064]: https://github.com/dusk-network/rusk/issues/3064 +[#3215]: https://github.com/dusk-network/rusk/issues/3215 [#3218]: https://github.com/dusk-network/rusk/issues/3218 diff --git a/explorer/README.md b/explorer/README.md index 6bcfcc330c..cfab2bd402 100644 --- a/explorer/README.md +++ b/explorer/README.md @@ -30,6 +30,7 @@ VITE_BLOCKS_LIST_ENTRIES=100 VITE_CHAIN_INFO_ENTRIES=15 VITE_MARKET_DATA_REFETCH_INTERVAL=120000 VITE_NODE_URL="" # Optional, set to (e.g. 'https://nodes.dusk.network' to) override default +VITE_PROVISIONERS_REFETCH_INTERVAL=30000 VITE_REFETCH_INTERVAL=1000 VITE_RUSK_PATH="" # Optional, set to '/rusk' for dev mode VITE_STATS_REFETCH_INTERVAL=1000 diff --git a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersCard.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersCard.spec.js.snap index 503ea15e30..4b52ce1989 100644 --- a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersCard.spec.js.snap +++ b/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersCard.spec.js.snap @@ -49,6 +49,13 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + Owner + + + @@ -86,6 +93,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Account + + + + @@ -162,6 +182,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Account + + + + @@ -238,6 +271,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Contract + + + + @@ -314,6 +360,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Account + + + + @@ -390,6 +449,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Contract + + + + @@ -466,6 +538,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Contract + + + + @@ -542,6 +627,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Contract + + + + @@ -618,6 +716,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Account + + + + @@ -694,6 +805,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Account + + + + @@ -770,6 +894,19 @@ exports[`Provisioners Card > should disable the \`Show More\` button if there is + + + Account + + + + diff --git a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersList.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersList.spec.js.snap index b1432cfe93..09c3d12241 100644 --- a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersList.spec.js.snap +++ b/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersList.spec.js.snap @@ -2,7 +2,7 @@ exports[`Provisioners List > renders the \`ProvisionersList\` component 1`] = `
renders the \`ProvisionersList\` component 1`] = ` class="details-list__term-layout" > - staking address + Staking address
@@ -25,6 +25,29 @@ exports[`Provisioners List > renders the \`ProvisionersList\` component 1`] = ` +
+
+ + Owner +
+
+ +
+ + Account + +
+
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersTable.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersTable.spec.js.snap index c79191a396..93bcbb3fa7 100644 --- a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersTable.spec.js.snap +++ b/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersTable.spec.js.snap @@ -20,6 +20,13 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + Owner + + + @@ -57,6 +64,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Account + + + + @@ -133,6 +153,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Account + + + + @@ -209,6 +242,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Contract + + + + @@ -285,6 +331,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Account + + + + @@ -361,6 +420,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Contract + + + + @@ -437,6 +509,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Contract + + + + @@ -513,6 +598,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Contract + + + + @@ -589,6 +687,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Account + + + + @@ -665,6 +776,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Account + + + + @@ -741,6 +865,19 @@ exports[`Provisioners Table > should render the \`ProvisionersTable\` component + + + Account + + + + diff --git a/explorer/src/lib/components/provisioners-card/ProvisionersCard.svelte b/explorer/src/lib/components/provisioners-card/ProvisionersCard.svelte index 928f7aa965..4f53db6e02 100644 --- a/explorer/src/lib/components/provisioners-card/ProvisionersCard.svelte +++ b/explorer/src/lib/components/provisioners-card/ProvisionersCard.svelte @@ -57,7 +57,7 @@ {#if isSmallScreen}
{#each displayedProvisioner as provisioner (provisioner)} - + {/each}
{:else} diff --git a/explorer/src/lib/components/provisioners-list/ProvisionersList.css b/explorer/src/lib/components/provisioners-list/ProvisionersList.css index 00ee64dbb2..2559c0ffb8 100644 --- a/explorer/src/lib/components/provisioners-list/ProvisionersList.css +++ b/explorer/src/lib/components/provisioners-list/ProvisionersList.css @@ -1,3 +1,7 @@ +.provisioners-list *[data-tooltip-id] { + cursor: help; +} + .provisioners-list__staking-address { text-transform: uppercase; } diff --git a/explorer/src/lib/components/provisioners-list/ProvisionersList.svelte b/explorer/src/lib/components/provisioners-list/ProvisionersList.svelte index 4b7e52322a..ec78f7a625 100644 --- a/explorer/src/lib/components/provisioners-list/ProvisionersList.svelte +++ b/explorer/src/lib/components/provisioners-list/ProvisionersList.svelte @@ -1,11 +1,14 @@ - + - staking address + Staking address {middleEllipsis( - data.key, - calculateAdaptiveCharCount(screenWidth, 320, 1024, 4, 25) - )}{provisionerKey} + + + Owner + + + + +
@@ -25,4 +27,16 @@ loading={isLoading} {isSmallScreen} /> +
+ + diff --git a/explorer/src/routes/provisioners/__tests__/__snapshots__/page.spec.js.snap b/explorer/src/routes/provisioners/__tests__/__snapshots__/page.spec.js.snap index 6a1e82be61..410d4552f4 100644 --- a/explorer/src/routes/provisioners/__tests__/__snapshots__/page.spec.js.snap +++ b/explorer/src/routes/provisioners/__tests__/__snapshots__/page.spec.js.snap @@ -35,7 +35,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile >
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -64,6 +78,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+
+ +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -82,6 +147,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -100,6 +179,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -118,6 +211,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -135,6 +242,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -152,6 +273,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -166,7 +301,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -195,6 +344,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -213,6 +413,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -231,6 +445,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -249,6 +477,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -266,6 +508,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -283,6 +539,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -297,7 +567,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -326,6 +610,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Contract + +
+ +
+
+ + + + Active Stake
@@ -344,6 +679,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -362,6 +711,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -380,6 +743,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -397,6 +774,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -414,6 +805,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -428,7 +833,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -457,6 +876,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -475,6 +945,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -493,6 +977,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -511,6 +1009,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -528,6 +1040,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -545,6 +1071,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -559,7 +1099,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -588,6 +1142,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Contract + +
+ +
+
+ + + + Active Stake
@@ -606,6 +1211,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -624,6 +1243,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -642,6 +1275,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -659,6 +1306,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -676,6 +1337,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -690,7 +1365,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -719,6 +1408,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Contract + +
+ +
+
+ + + + Active Stake
@@ -737,6 +1477,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -755,6 +1509,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -773,6 +1541,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -790,6 +1572,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -807,6 +1603,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -821,7 +1631,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -850,6 +1674,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Contract + +
+ +
+
+ + + + Active Stake
@@ -868,6 +1743,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -886,6 +1775,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -904,6 +1807,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -921,6 +1838,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -938,6 +1869,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -952,7 +1897,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -981,6 +1940,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -999,6 +2009,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -1017,6 +2041,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -1035,6 +2073,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -1052,6 +2104,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -1069,6 +2135,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -1083,7 +2163,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -1112,6 +2206,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -1130,6 +2275,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -1148,6 +2307,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -1166,6 +2339,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -1183,6 +2370,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -1200,6 +2401,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -1214,7 +2429,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -1243,6 +2472,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -1261,6 +2541,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -1279,6 +2573,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -1297,6 +2605,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -1314,6 +2636,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -1331,6 +2667,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -1345,7 +2695,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -1374,6 +2738,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -1392,6 +2807,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -1410,6 +2839,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -1428,6 +2871,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -1445,6 +2902,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -1462,30 +2933,93 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + accumulated reward +
+
+ +
+ 7,091.398997002 + DUSK +
+
+ +
+
+
+ + + + - accumulated reward + Staking address
- 7,091.398997002 - DUSK + + mgmcqkk1VFfsa1ko7ydBjhVuM...EWDB1wsvV5avoC2xddxLvEDVP +
-
- -
+
+ + + + - staking address + Owner
@@ -1493,9 +3027,11 @@ exports[`Provisioners page > should render the Provisioners page with the mobile class="details-list__definition details-list__definition--table" > - mgmcqkk1VFfsa1ko7ydBjhVuM...EWDB1wsvV5avoC2xddxLvEDVP + Contract @@ -1505,6 +3041,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Active Stake
@@ -1523,6 +3073,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -1541,6 +3105,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -1559,6 +3137,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -1576,6 +3168,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -1593,6 +3199,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -1607,7 +3227,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -1636,6 +3270,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -1654,6 +3339,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -1672,6 +3371,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -1690,6 +3403,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -1707,6 +3434,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -1724,6 +3465,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -1738,7 +3493,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -1767,6 +3536,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -1785,6 +3605,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -1803,6 +3637,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -1821,6 +3669,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -1838,6 +3700,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -1855,6 +3731,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -1869,7 +3759,7 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
should render the Provisioners page with the mobile
+ + + + - staking address + Staking address
@@ -1898,6 +3802,57 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + + + Owner +
+ + +
+ + Account + +
+ +
+
+ + + + Active Stake
@@ -1916,6 +3871,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Inactive Stake
@@ -1934,6 +3903,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Maturity At
@@ -1952,6 +3935,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Soft Slashes
@@ -1969,6 +3966,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + Hard Slashes
@@ -1986,6 +3997,20 @@ exports[`Provisioners page > should render the Provisioners page with the mobile
+ + + + accumulated reward
@@ -2005,6 +4030,17 @@ exports[`Provisioners page > should render the Provisioners page with the mobile + + + `; @@ -2049,6 +4085,17 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + `; @@ -2101,6 +4148,13 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + Owner + + + @@ -2138,6 +4192,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -2214,6 +4281,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -2290,6 +4370,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Contract + + + + @@ -2366,6 +4459,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -2442,6 +4548,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Contract + + + + @@ -2518,6 +4637,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Contract + + + + @@ -2594,6 +4726,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Contract + + + + @@ -2670,6 +4815,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -2746,6 +4904,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -2822,6 +4993,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -2898,6 +5082,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -2974,6 +5171,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Contract + + + + @@ -3050,6 +5260,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -3126,6 +5349,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -3202,6 +5438,19 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + Account + + + + @@ -3277,5 +5526,16 @@ exports[`Provisioners page > should render the Provisioners page, start polling + + + `; diff --git a/explorer/src/routes/provisioners/__tests__/page.spec.js b/explorer/src/routes/provisioners/__tests__/page.spec.js index b0e160c4c5..c1c8451b95 100644 --- a/explorer/src/routes/provisioners/__tests__/page.spec.js +++ b/explorer/src/routes/provisioners/__tests__/page.spec.js @@ -11,12 +11,15 @@ import Provisioners from "../+page.svelte"; describe("Provisioners page", () => { vi.useFakeTimers(); - const { fetchInterval } = get(appStore); + + const { provisionersFetchInterval } = get(appStore); const getProvisionersSpy = vi .spyOn(duskAPI, "getProvisioners") .mockResolvedValue(hostProvisioners); - afterEach(() => { + afterEach(async () => { + await vi.runOnlyPendingTimersAsync(); + cleanup(); getProvisionersSpy.mockClear(); }); @@ -38,17 +41,17 @@ describe("Provisioners page", () => { // snapshot with received data from GraphQL expect(container.firstChild).toMatchSnapshot(); - await vi.advanceTimersByTimeAsync(fetchInterval - 1); + await vi.advanceTimersByTimeAsync(provisionersFetchInterval - 1); expect(getProvisionersSpy).toHaveBeenCalledTimes(2); - await vi.advanceTimersByTimeAsync(fetchInterval); + await vi.advanceTimersByTimeAsync(provisionersFetchInterval); expect(getProvisionersSpy).toHaveBeenCalledTimes(3); unmount(); - await vi.advanceTimersByTimeAsync(fetchInterval * 10); + await vi.advanceTimersByTimeAsync(provisionersFetchInterval * 10); expect(getProvisionersSpy).toHaveBeenCalledTimes(3); }); diff --git a/explorer/vite.config.js b/explorer/vite.config.js index 9aa961bdb5..122fe9d0f7 100644 --- a/explorer/vite.config.js +++ b/explorer/vite.config.js @@ -61,6 +61,7 @@ export default defineConfig(({ mode }) => { VITE_CHAIN_INFO_ENTRIES: "15", VITE_MARKET_DATA_REFETCH_INTERVAL: "120000", VITE_NODE_URL: "https://nodes.dusk.network", + VITE_PROVISIONERS_REFETCH_INTERVAL: "30000", VITE_REFETCH_INTERVAL: "1000", VITE_RUSK_PATH: "", VITE_STATS_REFETCH_INTERVAL: "1000",