Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Allow validators to block and kick their nominator set. #7930

Merged
merged 8 commits into from
Jan 20, 2021

Conversation

gavofyork
Copy link
Member

@gavofyork gavofyork commented Jan 19, 2021

This allows validators to curate their nominator set if desired. Default behaviour remains unchanged.

Two main changes:

  • ValidatorPrefs now contains an additional bool field: blocked. This is false by default (which give current behaviour), but if set to true, then nobody who is not already nominating the validator may nominate it.
  • There is an additional dispatchable: kick. This is called by a validator (controller account) and takes a list of nominator (stash accounts); afterwards those accounts are no longer nominating the validator.

You'll typically use it by:

  1. Create a validator
  2. Nominate the validator with whatever accounts you want
  3. Switch validator prefs to block any further nominations
  4. If there are any nominations that are undesirable, then kick them

CC @jacogr @kianenigma @shawntabrizi

Polkadot companion: paritytech/polkadot#2290

@github-actions github-actions bot added the A0-please_review Pull request needs code review. label Jan 19, 2021
@gavofyork gavofyork added B7-runtimenoteworthy C1-low PR touches the given topic and has a low impact on builders. D5-nicetohaveaudit ⚠️ PR contains trivial changes to logic that should be properly reviewed. labels Jan 19, 2021
@gavofyork
Copy link
Member Author

/benchmark runtime pallet pallet_staking

@parity-benchapp
Copy link

parity-benchapp bot commented Jan 19, 2021

Finished benchmark for branch: gav-freeze-staking

Benchmark: Benchmark Runtime Pallet

cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic="*" --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Results

Pallet: "pallet_staking", Extrinsic: "bond", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 76.28
µs

Reads = 5
Writes = 4
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 76.28
µs

Reads = 5
Writes = 4
Pallet: "pallet_staking", Extrinsic: "bond_extra", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 62.06
µs

Reads = 4
Writes = 2
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 62.06
µs

Reads = 4
Writes = 2
Pallet: "pallet_staking", Extrinsic: "unbond", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 57.19
µs

Reads = 5
Writes = 3
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 57.19
µs

Reads = 5
Writes = 3
Pallet: "pallet_staking", Extrinsic: "withdraw_unbonded_update", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 57.93
+ s 0.056
µs

Reads = 5 + (0 * s)
Writes = 3 + (0 * s)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
s mean µs sigma µs %
0 56.14 0.078 0.1%
2 56.99 0.084 0.1%
4 57.63 0.106 0.1%
6 57.46 0.16 0.2%
8 57.63 0.126 0.2%
10 58.13 0.141 0.2%
12 57.96 0.089 0.1%
14 58.55 0.133 0.2%
16 58.82 0.159 0.2%
18 58.78 0.214 0.3%
20 58.84 0.11 0.1%
22 59.72 0.201 0.3%
24 59.66 0.248 0.4%
26 59.88 0.164 0.2%
28 59.79 0.246 0.4%
30 59.83 0.122 0.2%
32 60.1 0.081 0.1%
34 60.64 0.172 0.2%
36 60.54 0.1 0.1%
38 60.76 0.215 0.3%
40 60.83 0.263 0.4%
42 60.98 0.111 0.1%
44 61.36 0.167 0.2%
46 61.92 0.228 0.3%
48 61.02 0.88 1.4%
50 61.71 0.16 0.2%
52 61.84 0.168 0.2%
54 60.32 0.386 0.6%
56 59.64 0.333 0.5%
58 60.11 0.316 0.5%
60 62.24 0.14 0.2%
62 62.91 0.144 0.2%
64 62.85 0.056 0.0%
66 63.2 0.193 0.3%
68 60.6 0.223 0.3%
70 60.45 0.144 0.2%
72 60.13 0.504 0.8%
74 61.08 0.21 0.3%
76 60.88 0.185 0.3%
78 60.98 0.14 0.2%
80 63.13 0.999 1.5%
82 63.51 0.174 0.2%
84 64.23 0.198 0.3%
86 62.93 1.196 1.9%
88 63.69 0.797 1.2%
90 62.6 1.309 2.0%
92 61.64 0.281 0.4%
94 61.54 0.158 0.2%
96 61.9 0.248 0.4%
98 61.78 0.245 0.3%
100 61.56 0.152 0.2%

Quality and confidence:
param error
s 0.001

Model:
Time ~= 58.04
+ s 0.052
µs

Reads = 5 + (0 * s)
Writes = 3 + (0 * s)
Pallet: "pallet_staking", Extrinsic: "withdraw_unbonded_kill", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 90.21
+ s 2.524
µs

Reads = 7 + (0 * s)
Writes = 8 + (1 * s)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
s mean µs sigma µs %
0 84.66 0.086 0.1%
2 93.46 0.156 0.1%
4 99.92 0.152 0.1%
6 104.2 0.182 0.1%
8 109.4 0.159 0.1%
10 115.3 0.216 0.1%
12 120.1 0.12 0.0%
14 126.1 0.213 0.1%
16 130.4 0.198 0.1%
18 135.7 0.194 0.1%
20 140.6 0.291 0.2%
22 146.1 0.187 0.1%
24 151.9 0.24 0.1%
26 156.3 0.262 0.1%
28 161.5 0.249 0.1%
30 166.8 0.518 0.3%
32 172 0.347 0.2%
34 176.7 0.267 0.1%
36 181.8 0.31 0.1%
38 186.3 0.56 0.3%
40 191.6 0.315 0.1%
42 197.1 0.3 0.1%
44 201.7 0.334 0.1%
46 206.9 0.576 0.2%
48 212.9 0.458 0.2%
50 217 0.413 0.1%
52 221.5 0.369 0.1%
54 227.3 0.749 0.3%
56 230.9 1.13 0.4%
58 236 0.618 0.2%
60 241.9 0.406 0.1%
62 246.4 0.4 0.1%
64 252.1 0.299 0.1%
66 255.3 1.058 0.4%
68 259.9 0.579 0.2%
70 264.1 0.722 0.2%
72 271.5 1.675 0.6%
74 276.7 1.008 0.3%
76 285.8 8.8 3.0%
78 285.6 0.999 0.3%
80 290.2 1.419 0.4%
82 294.2 0.812 0.2%
84 300.5 1.184 0.3%
86 306 0.81 0.2%
88 310.7 1.223 0.3%
90 315.3 0.745 0.2%
92 323.3 0.747 0.2%
94 329.2 1.879 0.5%
96 332.8 0.427 0.1%
98 338.6 0.753 0.2%
100 343.5 0.904 0.2%

Quality and confidence:
param error
s 0.003

Model:
Time ~= 89.92
+ s 2.526
µs

Reads = 7 + (0 * s)
Writes = 8 + (1 * s)
Pallet: "pallet_staking", Extrinsic: "validate", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 20.22
µs

Reads = 2
Writes = 2
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 20.22
µs

Reads = 2
Writes = 2
Pallet: "pallet_staking", Extrinsic: "kick", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 30.88
+ k 17.74
µs

Reads = 2 + (1 * k)
Writes = 0 + (1 * k)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
k mean µs sigma µs %
1 50.27 1.538 3.0%
3 84.54 0.104 0.1%
5 115.8 1.138 0.9%
7 155.3 1.121 0.7%
9 188.6 2.78 1.4%
11 226.1 2.047 0.9%
13 257.5 1.137 0.4%
15 289.8 2.124 0.7%
17 325 2.032 0.6%
19 375 4.608 1.2%
21 411.4 1.311 0.3%
23 432.9 1.594 0.3%
25 474.2 0.893 0.1%
27 509.3 4.494 0.8%
29 550.4 4.778 0.8%
31 581.8 4.96 0.8%
33 628.4 3.408 0.5%
35 662.3 4.69 0.7%
37 690.7 1.18 0.1%
39 715.9 4.959 0.6%
41 781.4 9.631 1.2%
43 806 7.422 0.9%
45 827.9 1.957 0.2%
47 861 6.329 0.7%
49 898.1 1.68 0.1%
51 936.4 6.269 0.6%
53 966.2 4.706 0.4%
55 1000 9.102 0.9%
57 1036 1.138 0.1%
59 1066 3.128 0.2%
61 1105 6.528 0.5%
63 1156 7.029 0.6%
65 1176 2.936 0.2%
67 1219 13.69 1.1%
69 1257 11.74 0.9%
71 1283 4.772 0.3%
73 1345 10.73 0.7%
75 1367 11.12 0.8%
77 1406 3.886 0.2%
79 1435 9.432 0.6%
81 1479 7.776 0.5%
83 1511 7.041 0.4%
85 1545 4.259 0.2%
87 1584 6.85 0.4%
89 1603 4.437 0.2%
91 1645 4.688 0.2%
93 1686 7.831 0.4%
95 1696 3.762 0.2%
97 1730 2.318 0.1%
99 1775 6.33 0.3%
101 1815 12.24 0.6%
103 1858 9.252 0.4%
105 1906 9.976 0.5%
107 1938 6.432 0.3%
109 1958 4.131 0.2%
111 2004 12.29 0.6%
113 2029 4.077 0.2%
115 2084 9.068 0.4%
117 2106 9.376 0.4%
119 2142 7.82 0.3%
121 2192 9.669 0.4%
123 2218 6.903 0.3%
125 2253 11.21 0.4%
127 2283 10.71 0.4%

Quality and confidence:
param error
k 0.011

Model:
Time ~= 31.06
+ k 17.75
µs

Reads = 2 + (1 * k)
Writes = 0 + (1 * k)
Pallet: "pallet_staking", Extrinsic: "nominate", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 33.36
+ n 5.265
µs

Reads = 4 + (1 * n)
Writes = 2 + (0 * n)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
n mean µs sigma µs %
1 36.01 0.085 0.2%
2 42.96 0.09 0.2%
3 49.23 0.214 0.4%
4 55.64 0.181 0.3%
5 61.17 0.127 0.2%
6 67.19 0.186 0.2%
7 72.63 0.103 0.1%
8 73.5 0.24 0.3%
9 80.12 0.121 0.1%
10 86.18 0.189 0.2%
11 92.11 0.358 0.3%
12 96.93 0.284 0.2%
13 101 0.341 0.3%
14 106.8 0.321 0.3%
15 112 0.341 0.3%
16 116.6 0.246 0.2%

Quality and confidence:
param error
n 0.023

Model:
Time ~= 33.49
+ n 5.253
µs

Reads = 4 + (1 * n)
Writes = 2 + (0 * n)
Pallet: "pallet_staking", Extrinsic: "chill", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 19.39
µs

Reads = 2
Writes = 2
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 19.39
µs

Reads = 2
Writes = 2
Pallet: "pallet_staking", Extrinsic: "set_payee", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 13.44
µs

Reads = 1
Writes = 1
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 13.44
µs

Reads = 1
Writes = 1
Pallet: "pallet_staking", Extrinsic: "set_controller", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 29.18
µs

Reads = 3
Writes = 3
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 29.18
µs

Reads = 3
Writes = 3
Pallet: "pallet_staking", Extrinsic: "set_validator_count", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 2.266
µs

Reads = 0
Writes = 1
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 2.266
µs

Reads = 0
Writes = 1
Pallet: "pallet_staking", Extrinsic: "force_no_eras", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 2.462
µs

Reads = 0
Writes = 1
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 2.462
µs

Reads = 0
Writes = 1
Pallet: "pallet_staking", Extrinsic: "force_new_era", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 2.483
µs

Reads = 0
Writes = 1
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 2.483
µs

Reads = 0
Writes = 1
Pallet: "pallet_staking", Extrinsic: "force_new_era_always", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 2.495
µs

Reads = 0
Writes = 1
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 2.495
µs

Reads = 0
Writes = 1
Pallet: "pallet_staking", Extrinsic: "set_invulnerables", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 2.719
+ v 0.008
µs

Reads = 0 + (0 * v)
Writes = 1 + (0 * v)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
v mean µs sigma µs %
0 2.594 0.028 1.0%
20 2.987 0.027 0.9%
40 3.198 0.033 1.0%
60 3.361 0.026 0.7%
80 3.525 0.022 0.6%
100 3.688 0.02 0.5%
120 3.827 0.017 0.4%
140 4.071 0.017 0.4%
160 4.168 0.043 1.0%
180 4.307 0.031 0.7%
200 4.455 0.026 0.5%
220 4.617 0.023 0.4%
240 4.767 0.021 0.4%
260 4.94 0.038 0.7%
280 5.095 0.018 0.3%
300 5.307 0.022 0.4%
320 5.461 0.019 0.3%
340 5.671 0.014 0.2%
360 5.863 0.035 0.5%
380 5.846 0.028 0.4%
400 6.147 0.03 0.4%
420 6.347 0.027 0.4%
440 6.455 0.032 0.4%
460 6.632 0.025 0.3%
480 6.867 0.038 0.5%
500 7.061 0.027 0.3%
520 7.141 0.024 0.3%
540 7.373 0.017 0.2%
560 7.63 0.032 0.4%
580 7.917 0.022 0.2%
600 8.075 0.018 0.2%
620 8.084 0.027 0.3%
640 8.29 0.021 0.2%
660 8.451 0.032 0.3%
680 8.669 0.04 0.4%
700 8.839 0.021 0.2%
720 9.039 0.025 0.2%
740 9.351 0.034 0.3%
760 9.451 0.043 0.4%
780 9.645 0.027 0.2%
800 9.771 0.027 0.2%
820 10 0.034 0.3%
840 10.16 0.017 0.1%
860 10.31 0.023 0.2%
880 10.45 0.04 0.3%
900 10.58 0.029 0.2%
920 10.82 0.028 0.2%
940 10.91 0.053 0.4%
960 11.13 0.027 0.2%
980 11.34 0.031 0.2%
1000 11.54 0.026 0.2%

Quality and confidence:
param error
v 0

Model:
Time ~= 2.712
+ v 0.009
µs

Reads = 0 + (0 * v)
Writes = 1 + (0 * v)
Pallet: "pallet_staking", Extrinsic: "force_unstake", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 60.76
+ s 2.524
µs

Reads = 4 + (0 * s)
Writes = 8 + (1 * s)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
s mean µs sigma µs %
0 55.46 0.09 0.1%
2 63.65 0.199 0.3%
4 69.94 0.159 0.2%
6 75.07 0.141 0.1%
8 80.16 0.179 0.2%
10 85.18 0.204 0.2%
12 90.71 0.141 0.1%
14 96.13 0.13 0.1%
16 101.4 0.236 0.2%
18 106.4 0.156 0.1%
20 111.3 0.16 0.1%
22 116.6 0.272 0.2%
24 122.4 0.222 0.1%
26 127.5 0.181 0.1%
28 132 0.28 0.2%
30 137 0.197 0.1%
32 141.9 0.274 0.1%
34 146.8 0.173 0.1%
36 151.7 0.268 0.1%
38 156.5 0.171 0.1%
40 162.2 0.266 0.1%
42 167.8 0.236 0.1%
44 173 0.376 0.2%
46 177.5 0.264 0.1%
48 183.3 0.447 0.2%
50 186.8 0.436 0.2%
52 191.8 0.577 0.3%
54 197.1 0.318 0.1%
56 203 0.443 0.2%
58 207.6 0.536 0.2%
60 211.4 0.319 0.1%
62 217.7 0.433 0.1%
64 222.2 0.31 0.1%
66 227.2 0.51 0.2%
68 232.2 0.494 0.2%
70 236.8 0.539 0.2%
72 241.2 0.727 0.3%
74 248.7 0.657 0.2%
76 251.9 0.369 0.1%
78 257.2 0.524 0.2%
80 262 0.43 0.1%
82 266.7 0.23 0.0%
84 272.1 0.479 0.1%
86 276.2 0.604 0.2%
88 280.5 0.284 0.1%
90 286.2 0.782 0.2%
92 293 0.421 0.1%
94 298 0.62 0.2%
96 302.8 0.57 0.1%
98 307.7 0.71 0.2%
100 313.5 0.292 0.0%

Quality and confidence:
param error
s 0.001

Model:
Time ~= 60.5
+ s 2.525
µs

Reads = 4 + (0 * s)
Writes = 8 + (1 * s)
Pallet: "pallet_staking", Extrinsic: "cancel_deferred_slash", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 6648
+ s 34.89
µs

Reads = 1 + (0 * s)
Writes = 1 + (0 * s)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
s mean µs sigma µs %
1 361.6 0.271 0.0%
20 1660 4.219 0.2%
39 2945 10.95 0.3%
58 4199 8.784 0.2%
77 5414 6.125 0.1%
96 6622 20.84 0.3%
115 7844 52.23 0.6%
134 8944 18.28 0.2%
153 10090 17.35 0.1%
172 11160 13.79 0.1%
191 12470 8.803 0.0%
210 13450 62.43 0.4%
229 14320 15.33 0.1%
248 15320 22.7 0.1%
267 16270 9.422 0.0%
286 17230 18.27 0.1%
305 18170 21.23 0.1%
324 19050 28.44 0.1%
343 19930 14.24 0.0%
362 20770 11.77 0.0%
381 21590 15.08 0.0%
400 22420 55.16 0.2%
419 23160 17.23 0.0%
438 23960 18.97 0.0%
457 24660 23.08 0.0%
476 25340 21.94 0.0%
495 26020 33.14 0.1%
514 26700 24.93 0.0%
533 27300 25.35 0.0%
552 28360 154.6 0.5%
571 28500 33.68 0.1%
590 29070 40.71 0.1%
609 29560 18.75 0.0%
628 30120 36.98 0.1%
647 30570 15.79 0.0%
666 31010 21.79 0.0%
685 31420 13.14 0.0%
704 31880 35.25 0.1%
723 32200 29.01 0.0%
742 32580 29.3 0.0%
761 32870 29.82 0.0%
780 33160 14.24 0.0%
799 33400 19.17 0.0%
818 33660 18.53 0.0%
837 33860 22.77 0.0%
856 34100 12.1 0.0%
875 34300 27.91 0.0%
894 34450 15.06 0.0%
913 34570 19.36 0.0%
932 34670 20.15 0.0%
951 34730 13.06 0.0%
970 34770 15.95 0.0%
989 34830 24.12 0.0%

Quality and confidence:
param error
s 0.393

Model:
Time ~= 5886
+ s 34.84
µs

Reads = 1 + (0 * s)
Writes = 1 + (0 * s)
Pallet: "pallet_staking", Extrinsic: "payout_stakers_dead_controller", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 128.2
+ n 49.3
µs

Reads = 11 + (3 * n)
Writes = 2 + (1 * n)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
n mean µs sigma µs %
1 164.1 0.231 0.1%
6 415.3 1.647 0.3%
11 663.7 0.991 0.1%
16 913 2.579 0.2%
21 1158 1.661 0.1%
26 1403 9.484 0.6%
31 1654 12.07 0.7%
36 1903 2.878 0.1%
41 2166 13.06 0.6%
46 2429 19.23 0.7%
51 2658 13.45 0.5%
56 2873 8.63 0.3%
61 3122 10.94 0.3%
66 3367 14.67 0.4%
71 3658 14.95 0.4%
76 3903 13.64 0.3%
81 4151 11.5 0.2%
86 4377 11.1 0.2%
91 4629 10.94 0.2%
96 4867 18.02 0.3%
101 5119 19.38 0.3%
106 5384 8.642 0.1%
111 5604 10.03 0.1%
116 5858 6.746 0.1%
121 6070 10.65 0.1%
126 6316 14.52 0.2%
131 6556 24.3 0.3%
136 6806 15.54 0.2%
141 7048 14.27 0.2%
146 7344 11.13 0.1%
151 7583 11.65 0.1%
156 7794 14.73 0.1%
161 8073 9.934 0.1%
166 8327 15.11 0.1%
171 8589 15.61 0.1%
176 8825 12.54 0.1%
181 9072 18.56 0.2%
186 9300 18.6 0.2%
191 9546 19.9 0.2%
196 9825 8.115 0.0%
201 10040 19.57 0.1%
206 10260 18.52 0.1%
211 10560 14.67 0.1%
216 10750 13.87 0.1%
221 11240 195.8 1.7%
226 11290 28.9 0.2%
231 11520 22.29 0.1%
236 11740 14.23 0.1%
241 11990 26.35 0.2%
246 12230 26.07 0.2%
251 12500 21.32 0.1%
256 12700 26.55 0.2%

Quality and confidence:
param error
n 0.027

Model:
Time ~= 127.6
+ n 49.35
µs

Reads = 11 + (3 * n)
Writes = 2 + (1 * n)
Pallet: "pallet_staking", Extrinsic: "payout_stakers_alive_staked", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 158.5
+ n 62.62
µs

Reads = 12 + (5 * n)
Writes = 3 + (3 * n)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
n mean µs sigma µs %
1 206.9 1.459 0.7%
6 524.8 2.289 0.4%
11 841.8 1.143 0.1%
16 1153 3.939 0.3%
21 1482 9.448 0.6%
26 1797 12.81 0.7%
31 2112 10.42 0.4%
36 2413 14.8 0.6%
41 2716 12.22 0.4%
46 3039 12.41 0.4%
51 3355 10.74 0.3%
56 3665 12.36 0.3%
61 3994 13.36 0.3%
66 4310 13.4 0.3%
71 4576 15.51 0.3%
76 4931 15.43 0.3%
81 5243 6.651 0.1%
86 5563 13.84 0.2%
91 5886 5.474 0.0%
96 6226 4.198 0.0%
101 6482 16.24 0.2%
106 6797 21.02 0.3%
111 7078 9.646 0.1%
116 7436 10.74 0.1%
121 7745 10.48 0.1%
126 8060 12.43 0.1%
131 8399 60.38 0.7%
136 8711 37.71 0.4%
141 8927 13.4 0.1%
146 9285 17.57 0.1%
151 9615 22.57 0.2%
156 9888 20.36 0.2%
161 10180 9.479 0.0%
166 10470 13.82 0.1%
171 10850 55.63 0.5%
176 11180 36.49 0.3%
181 11480 15.37 0.1%
186 11790 27.01 0.2%
191 12130 12.02 0.0%
196 12440 18.73 0.1%
201 12750 15.51 0.1%
206 13100 39.96 0.3%
211 13360 23.65 0.1%
216 13690 27.11 0.1%
221 13910 41.76 0.3%
226 14310 20.47 0.1%
231 14610 31.4 0.2%
236 14930 36.28 0.2%
241 15370 19.97 0.1%
246 15630 23.86 0.1%
251 15930 20.67 0.1%
256 16140 27.19 0.1%

Quality and confidence:
param error
n 0.024

Model:
Time ~= 156.8
+ n 62.65
µs

Reads = 12 + (5 * n)
Writes = 3 + (3 * n)
Pallet: "pallet_staking", Extrinsic: "rebond", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 40.1
+ l 0.076
µs

Reads = 4 + (0 * l)
Writes = 3 + (0 * l)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
l mean µs sigma µs %
1 40.12 0.126 0.3%
2 40.01 0.099 0.2%
3 40.28 0.113 0.2%
4 39.95 0.063 0.1%
5 40.39 0.125 0.3%
6 40.33 0.089 0.2%
7 40.56 0.125 0.3%
8 40.45 0.083 0.2%
9 40.69 0.094 0.2%
10 40.95 0.121 0.2%
11 40.98 0.077 0.1%
12 41.35 0.122 0.2%
13 41.22 0.116 0.2%
14 41.25 0.08 0.1%
15 41.35 0.078 0.1%
16 41.38 0.132 0.3%
17 42.01 0.107 0.2%
18 42.19 0.081 0.1%
19 42.18 0.145 0.3%
20 41.84 0.114 0.2%
21 42.07 0.099 0.2%
22 42 0.098 0.2%
23 42.25 0.151 0.3%
24 41.83 0.104 0.2%
25 41.89 0.102 0.2%
26 41.92 0.066 0.1%
27 42 0.092 0.2%
28 42.01 0.144 0.3%
29 42.3 0.084 0.1%
30 42.26 0.095 0.2%
31 41.96 0.122 0.2%
32 42.31 0.095 0.2%

Quality and confidence:
param error
l 0.001

Model:
Time ~= 40.11
+ l 0.078
µs

Reads = 4 + (0 * l)
Writes = 3 + (0 * l)
Pallet: "pallet_staking", Extrinsic: "set_history_depth", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 0
+ e 32.68
µs

Reads = 2 + (0 * e)
Writes = 4 + (7 * e)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
e mean µs sigma µs %
1 40.51 0.143 0.3%
2 66.06 0.167 0.2%
3 90.02 0.214 0.2%
4 117.4 0.245 0.2%
5 142 0.39 0.2%
6 165.7 0.308 0.1%
7 194.2 3.386 1.7%
8 230.2 4.925 2.1%
9 245.2 0.58 0.2%
10 270.3 5.255 1.9%
11 298 0.48 0.1%
12 325.5 0.559 0.1%
13 350.9 7.71 2.1%
14 379.7 0.696 0.1%
15 404.3 1.307 0.3%
16 433.5 1.122 0.2%
17 462 0.322 0.0%
18 489 1.226 0.2%
19 514.8 1.155 0.2%
20 544.4 0.772 0.1%
21 573.1 4.451 0.7%
22 594.6 0.828 0.1%
23 630.5 8.111 1.2%
24 647.1 0.74 0.1%
25 675.8 1.166 0.1%
26 715.2 1.622 0.2%
27 738.6 2.006 0.2%
28 772.6 1.722 0.2%
29 798.5 1.471 0.1%
30 830.5 1.707 0.2%
31 870.2 10.16 1.1%
32 886.7 1.471 0.1%
33 917 1.306 0.1%
34 953.1 2.49 0.2%
35 977 1.555 0.1%
36 1007 1.602 0.1%
37 1027 2.986 0.2%
38 1066 1.708 0.1%
39 1100 5.48 0.4%
40 1121 2.642 0.2%
41 1148 1.906 0.1%
42 1177 6.134 0.5%
43 1213 5.302 0.4%
44 1258 4.588 0.3%
45 1283 3.69 0.2%
46 1319 3.942 0.2%
47 1362 12.22 0.8%
48 1397 12.66 0.9%
49 1411 2.386 0.1%
50 1456 9.414 0.6%
51 1481 3.726 0.2%
52 1514 8.161 0.5%
53 1549 6.413 0.4%
54 1593 9.715 0.6%
55 1619 7.346 0.4%
56 1647 3.155 0.1%
57 1686 2.825 0.1%
58 1732 10.64 0.6%
59 1752 3.134 0.1%
60 1807 10.98 0.6%
61 1819 10.4 0.5%
62 1850 9.871 0.5%
63 1903 13.18 0.6%
64 1924 11.05 0.5%
65 1949 10.12 0.5%
66 1994 6.571 0.3%
67 2032 13.97 0.6%
68 2072 10.82 0.5%
69 2090 10.1 0.4%
70 2133 14.53 0.6%
71 2164 4.498 0.2%
72 2178 10.95 0.5%
73 2244 10.23 0.4%
74 2270 10.57 0.4%
75 2284 7.935 0.3%
76 2333 9.137 0.3%
77 2399 8.31 0.3%
78 2432 12.58 0.5%
79 2452 10.7 0.4%
80 2502 7.381 0.2%
81 2557 14.49 0.5%
82 2589 7.738 0.2%
83 2604 11.78 0.4%
84 2652 9.942 0.3%
85 2716 16.92 0.6%
86 2766 6.079 0.2%
87 2782 11.22 0.4%
88 2833 15.62 0.5%
89 2833 5.577 0.1%
90 2940 8.257 0.2%
91 2947 6.572 0.2%
92 2996 5.178 0.1%
93 3028 6.502 0.2%
94 3055 6.707 0.2%
95 3095 16.53 0.5%
96 3153 18.57 0.5%
97 3177 12.21 0.3%
98 3211 9.855 0.3%
99 3239 7.815 0.2%
100 3286 13.77 0.4%

Quality and confidence:
param error
e 0.07

Model:
Time ~= 0
+ e 32.88
µs

Reads = 2 + (0 * e)
Writes = 4 + (7 * e)
Pallet: "pallet_staking", Extrinsic: "reap_stash", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 64.58
+ s 2.503
µs

Reads = 4 + (0 * s)
Writes = 8 + (1 * s)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
s mean µs sigma µs %
1 65.18 0.242 0.3%
2 67.3 0.449 0.6%
3 69.4 0.134 0.1%
4 74.3 4.012 5.3%
5 75.4 0.179 0.2%
6 78.37 0.627 0.8%
7 82.35 0.135 0.1%
8 85.1 0.196 0.2%
9 87.3 0.13 0.1%
10 89.87 0.079 0.0%
11 91.45 0.832 0.9%
12 95.1 0.561 0.5%
13 98.04 0.894 0.9%
14 100.3 3.871 3.8%
15 101.1 0.378 0.3%
16 103.7 0.112 0.1%
17 108.1 0.375 0.3%
18 109.2 0.557 0.5%
19 114.1 0.152 0.1%
20 116.3 0.293 0.2%
21 119.5 0.286 0.2%
22 121.6 0.186 0.1%
23 124.3 0.253 0.2%
24 127.8 0.168 0.1%
25 129.7 1.029 0.7%
26 132.6 0.282 0.2%
27 134 1.112 0.8%
28 134.8 0.283 0.2%
29 137.3 0.235 0.1%
30 139.7 0.271 0.1%
31 142.1 0.232 0.1%
32 144.4 0.407 0.2%
33 147.1 0.186 0.1%
34 149.4 0.213 0.1%
35 151.6 0.27 0.1%
36 153.8 0.193 0.1%
37 156.5 0.252 0.1%
38 159.1 0.321 0.2%
39 162.3 0.291 0.1%
40 164.7 0.332 0.2%
41 167.3 0.284 0.1%
42 170.2 0.235 0.1%
43 171.9 0.276 0.1%
44 174.9 0.318 0.1%
45 177.6 0.278 0.1%
46 179.8 0.292 0.1%
47 182.2 0.554 0.3%
48 185.5 0.267 0.1%
49 187.3 0.159 0.0%
50 189 0.365 0.1%
51 191.3 0.354 0.1%
52 194.2 0.396 0.2%
53 197.4 0.293 0.1%
54 199.4 0.301 0.1%
55 202.7 0.189 0.0%
56 204.5 0.211 0.1%
57 207.3 0.376 0.1%
58 209.3 0.291 0.1%
59 212.5 0.232 0.1%
60 213.9 0.266 0.1%
61 217.7 0.425 0.1%
62 220.5 0.323 0.1%
63 222.5 0.315 0.1%
64 224.5 0.423 0.1%
65 226.7 0.254 0.1%
66 230.1 0.383 0.1%
67 231.8 0.387 0.1%
68 234.9 0.165 0.0%
69 237.2 0.286 0.1%
70 239.8 0.319 0.1%
71 242.6 0.454 0.1%
72 243.7 0.325 0.1%
73 246.8 0.551 0.2%
74 250 0.19 0.0%
75 251.8 0.259 0.1%
76 254.6 0.236 0.0%
77 256.4 0.416 0.1%
78 259 0.436 0.1%
79 262.1 0.272 0.1%
80 264.1 0.481 0.1%
81 266 0.76 0.2%
82 268.9 0.455 0.1%
83 271.8 0.247 0.0%
84 274 0.384 0.1%
85 277.4 0.32 0.1%
86 280.3 2.224 0.7%
87 282.4 0.392 0.1%
88 283.9 0.388 0.1%
89 287.8 0.585 0.2%
90 288.6 0.319 0.1%
91 292.2 0.37 0.1%
92 296.6 0.612 0.2%
93 298 0.531 0.1%
94 300.8 0.542 0.1%
95 301.3 0.252 0.0%
96 307.2 2.308 0.7%
97 310.6 5.977 1.9%
98 311.4 0.939 0.3%
99 314.2 0.692 0.2%
100 316.2 0.372 0.1%

Quality and confidence:
param error
s 0.001

Model:
Time ~= 64.6
+ s 2.506
µs

Reads = 4 + (0 * s)
Writes = 8 + (1 * s)
Pallet: "pallet_staking", Extrinsic: "new_era", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 0
+ v 528.4
+ n 78.51
µs

Reads = 7 + (4 * v) + (3 * n)
Writes = 8 + (3 * v) + (0 * n)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
v n mean µs sigma µs %
1 100 3587 14.31 0.3%
2 100 4135 11.68 0.2%
3 100 4589 11.89 0.2%
4 100 5056 18.98 0.3%
5 100 5607 8.938 0.1%
6 100 6105 10.03 0.1%
7 100 6609 10.7 0.1%
8 100 7126 8.952 0.1%
9 100 7791 9.551 0.1%
10 1 630.7 1.088 0.1%
10 2 714.4 0.966 0.1%
10 3 798.5 2.148 0.2%
10 4 877.5 1.371 0.1%
10 5 950.5 1.102 0.1%
10 6 1027 1.305 0.1%
10 7 1116 2.817 0.2%
10 8 1191 1.082 0.0%
10 9 1271 2.537 0.1%
10 10 1346 1.957 0.1%
10 11 1427 8.341 0.5%
10 12 1507 14.3 0.9%
10 13 1590 10.69 0.6%
10 14 1669 5.557 0.3%
10 15 1744 13.39 0.7%
10 16 1825 8.917 0.4%
10 17 1895 9.954 0.5%
10 18 1966 11.37 0.5%
10 19 2050 15.9 0.7%
10 20 2131 7.831 0.3%
10 21 2220 9.922 0.4%
10 22 2308 3.272 0.1%
10 23 2363 5.595 0.2%
10 24 2448 11.79 0.4%
10 25 2526 10.78 0.4%
10 26 2622 9.122 0.3%
10 27 2701 12.4 0.4%
10 28 2780 7.759 0.2%
10 29 2851 8.837 0.3%
10 30 2922 10.63 0.3%
10 31 3015 9.437 0.3%
10 32 3098 8.318 0.2%
10 33 3178 12.74 0.4%
10 34 3235 10.48 0.3%
10 35 3345 7.887 0.2%
10 36 3411 9.777 0.2%
10 37 3484 9.79 0.2%
10 38 3540 8.408 0.2%
10 39 3636 11.01 0.3%
10 40 3709 8.947 0.2%
10 41 3796 3.099 0.0%
10 42 3853 4.206 0.1%
10 43 3938 8.886 0.2%
10 44 4023 10.01 0.2%
10 45 4078 10.93 0.2%
10 46 4160 4.771 0.1%
10 47 4235 14.54 0.3%
10 48 4318 9.31 0.2%
10 49 4366 11.49 0.2%
10 50 4467 9.802 0.2%
10 51 4533 4.488 0.0%
10 52 4611 2.349 0.0%
10 53 4716 12.2 0.2%
10 54 4791 6.581 0.1%
10 55 4891 11.61 0.2%
10 56 4964 11.91 0.2%
10 57 5044 5.752 0.1%
10 58 5114 5.678 0.1%
10 59 5205 8.196 0.1%
10 60 5292 8.106 0.1%
10 61 5353 7.187 0.1%
10 62 5448 15.19 0.2%
10 63 5522 11.37 0.2%
10 64 5646 9.957 0.1%
10 65 5716 10.53 0.1%
10 66 5781 16.71 0.2%
10 67 5861 13.77 0.2%
10 68 6052 8.822 0.1%
10 69 6056 46.79 0.7%
10 70 6095 9.151 0.1%
10 71 6148 15.88 0.2%
10 72 6280 15.61 0.2%
10 73 6310 8.211 0.1%
10 74 6378 13.91 0.2%
10 75 6468 5.991 0.0%
10 76 6540 8.238 0.1%
10 77 6589 10.75 0.1%
10 78 6712 10.27 0.1%
10 79 6784 16.66 0.2%
10 80 6863 7.397 0.1%
10 81 6935 9.459 0.1%
10 82 7013 8.232 0.1%
10 83 7089 12.12 0.1%
10 84 7183 19.76 0.2%
10 85 7296 8.468 0.1%
10 86 7316 10.04 0.1%
10 87 7518 16.46 0.2%
10 88 7481 12.2 0.1%
10 89 7545 20.44 0.2%
10 90 7625 8.961 0.1%
10 91 7699 9.642 0.1%
10 92 7794 18.44 0.2%
10 93 7862 17.24 0.2%
10 94 7925 10.14 0.1%
10 95 8006 18.92 0.2%
10 96 8060 9.696 0.1%
10 97 8131 10.81 0.1%
10 98 8185 13.42 0.1%
10 99 8317 24.47 0.2%
10 100 8398 15.67 0.1%

Quality and confidence:
param error
v 0.926
n 0.046

Model:
Time ~= 0
+ v 548.2
+ n 78.34
µs

Reads = 7 + (4 * v) + (3 * n)
Writes = 8 + (3 * v) + (0 * n)
Pallet: "pallet_staking", Extrinsic: "submit_solution_better", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 0
+ v 0.788
+ n 0.798
+ a 70.52
+ w 7.883
µs

Reads = 6 + (0 * v) + (0 * n) + (4 * a) + (1 * w)
Writes = 2 + (0 * v) + (0 * n) + (0 * a) + (0 * w)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
v n a w mean µs sigma µs %
200 1000 400 100 29200 52.35 0.1%
204 1000 400 100 29320 51.66 0.1%
208 1000 400 100 29200 48.07 0.1%
212 1000 400 100 29170 71.44 0.2%
216 1000 400 100 29110 52.16 0.1%
220 1000 400 100 29380 38.66 0.1%
224 1000 400 100 29270 29.24 0.0%
228 1000 400 100 29140 61.48 0.2%
232 1000 400 100 29350 49.73 0.1%
236 1000 400 100 29380 33.76 0.1%
240 1000 400 100 29210 31.67 0.1%
244 1000 400 100 29080 28.81 0.0%
248 1000 400 100 29260 38.17 0.1%
252 1000 400 100 29210 38.77 0.1%
256 1000 400 100 29400 60.65 0.2%
260 1000 400 100 29280 39.92 0.1%
264 1000 400 100 29220 71.38 0.2%
268 1000 400 100 29340 65.14 0.2%
272 1000 400 100 29360 52.06 0.1%
276 1000 400 100 29210 33.59 0.1%
280 1000 400 100 29220 20.93 0.0%
284 1000 400 100 29330 48.75 0.1%
288 1000 400 100 29310 48.24 0.1%
292 1000 400 100 29190 37.52 0.1%
296 1000 400 100 29070 43.07 0.1%
300 1000 400 100 29300 60.16 0.2%
304 1000 400 100 29380 44.79 0.1%
308 1000 400 100 29410 64.33 0.2%
312 1000 400 100 29350 79.31 0.2%
316 1000 400 100 29420 41.09 0.1%
320 1000 400 100 29170 18.46 0.0%
324 1000 400 100 29230 35.73 0.1%
328 1000 400 100 29410 40.7 0.1%
332 1000 400 100 29230 28.17 0.0%
336 1000 400 100 29320 52.16 0.1%
340 1000 400 100 29240 75.79 0.2%
344 1000 400 100 29410 35.45 0.1%
348 1000 400 100 29290 56.94 0.1%
352 1000 400 100 29250 64.41 0.2%
356 1000 400 100 29400 48.35 0.1%
360 1000 400 100 29380 41.36 0.1%
364 1000 400 100 29460 58.11 0.1%
368 1000 400 100 29470 26.12 0.0%
372 1000 400 100 29270 44.43 0.1%
376 1000 400 100 29250 37.89 0.1%
380 1000 400 100 29360 42.37 0.1%
384 1000 400 100 29220 44.57 0.1%
388 1000 400 100 29150 27.88 0.0%
392 1000 400 100 29440 60.03 0.2%
396 1000 400 100 29380 59.12 0.2%
400 500 400 100 29020 49.04 0.1%
400 510 400 100 28990 34.02 0.1%
400 520 400 100 29150 56.04 0.1%
400 530 400 100 29030 52.34 0.1%
400 540 400 100 29090 40.9 0.1%
400 550 400 100 29140 55.94 0.1%
400 560 400 100 28940 61.08 0.2%
400 570 400 100 29080 27.31 0.0%
400 580 400 100 29110 44.1 0.1%
400 590 400 100 29290 46.1 0.1%
400 600 400 100 29170 54.57 0.1%
400 610 400 100 29120 30.7 0.1%
400 620 400 100 29170 36.65 0.1%
400 630 400 100 29120 50.81 0.1%
400 640 400 100 28950 38.81 0.1%
400 650 400 100 29190 21.73 0.0%
400 660 400 100 29210 53.23 0.1%
400 670 400 100 29200 29.94 0.1%
400 680 400 100 29230 41.88 0.1%
400 690 400 100 29200 52.77 0.1%
400 700 400 100 29030 50.63 0.1%
400 710 400 100 29220 47.05 0.1%
400 720 400 100 29230 90.36 0.3%
400 730 400 100 29370 51.42 0.1%
400 740 400 100 29280 31.22 0.1%
400 750 400 100 29220 50.33 0.1%
400 760 400 100 29380 31.75 0.1%
400 770 400 100 29220 67.81 0.2%
400 780 400 100 29260 57.67 0.1%
400 790 400 100 29330 55.37 0.1%
400 800 400 100 29150 55.47 0.1%
400 810 400 100 29200 57.71 0.1%
400 820 400 100 29270 36.17 0.1%
400 830 400 100 29290 66.19 0.2%
400 840 400 100 29250 60.96 0.2%
400 850 400 100 29210 36.69 0.1%
400 860 400 100 29310 73.47 0.2%
400 870 400 100 29380 50.01 0.1%
400 880 400 100 29400 32.8 0.1%
400 890 400 100 29380 47.8 0.1%
400 900 400 100 29460 31.44 0.1%
400 910 400 100 29540 59.56 0.2%
400 920 400 100 29400 66.49 0.2%
400 930 400 100 29510 70.11 0.2%
400 940 400 100 29420 48.81 0.1%
400 950 400 100 29530 41.91 0.1%
400 960 400 100 29230 41.92 0.1%
400 970 400 100 29300 41.97 0.1%
400 980 400 100 29460 49.64 0.1%
400 990 400 100 29390 50.32 0.1%
400 1000 200 100 15190 28.43 0.1%
400 1000 204 100 15380 27.91 0.1%
400 1000 208 100 15710 36.85 0.2%
400 1000 212 100 16100 54.42 0.3%
400 1000 216 100 16430 13.73 0.0%
400 1000 220 100 16690 25.08 0.1%
400 1000 224 100 16990 24.2 0.1%
400 1000 228 100 17300 38.35 0.2%
400 1000 232 100 17560 24.5 0.1%
400 1000 236 100 17840 41.54 0.2%
400 1000 240 100 18120 29.62 0.1%
400 1000 244 100 18440 25.86 0.1%
400 1000 248 100 18660 32.18 0.1%
400 1000 252 100 18970 36.84 0.1%
400 1000 256 100 19260 28.97 0.1%
400 1000 260 100 19570 34.57 0.1%
400 1000 264 100 19820 31.07 0.1%
400 1000 268 100 20140 38.99 0.1%
400 1000 272 100 20390 33.33 0.1%
400 1000 276 100 20660 28.38 0.1%
400 1000 280 100 20940 27.06 0.1%
400 1000 284 100 21190 45.26 0.2%
400 1000 288 100 21510 39.23 0.1%
400 1000 292 100 21760 37.18 0.1%
400 1000 296 100 22020 33.87 0.1%
400 1000 300 100 22330 25.02 0.1%
400 1000 304 100 22600 27.16 0.1%
400 1000 308 100 22850 22.72 0.0%
400 1000 312 100 23200 42.68 0.1%
400 1000 316 100 23420 45.65 0.1%
400 1000 320 100 23760 46.27 0.1%
400 1000 324 100 23990 25.46 0.1%
400 1000 328 100 24270 20.74 0.0%
400 1000 332 100 24590 36.85 0.1%
400 1000 336 100 24830 47.07 0.1%
400 1000 340 100 25120 50.84 0.2%
400 1000 344 100 25450 83.09 0.3%
400 1000 348 100 25700 35.75 0.1%
400 1000 352 100 25920 38.92 0.1%
400 1000 356 100 26210 37.78 0.1%
400 1000 360 100 26560 56.25 0.2%
400 1000 364 100 26810 46.67 0.1%
400 1000 368 100 27100 45.74 0.1%
400 1000 372 100 27350 38.12 0.1%
400 1000 376 100 27640 47.08 0.1%
400 1000 380 100 27860 55.53 0.1%
400 1000 384 100 28150 50.9 0.1%
400 1000 388 100 28560 45.56 0.1%
400 1000 392 100 28900 46.41 0.1%
400 1000 396 100 29140 38.88 0.1%
400 1000 400 16 28740 40.67 0.1%
400 1000 400 17 28740 50.48 0.1%
400 1000 400 18 28700 45.99 0.1%
400 1000 400 19 28760 65.37 0.2%
400 1000 400 20 28970 58.84 0.2%
400 1000 400 21 28670 19.52 0.0%
400 1000 400 22 28720 26.71 0.0%
400 1000 400 23 28780 56.12 0.1%
400 1000 400 24 28940 59.5 0.2%
400 1000 400 25 28600 45.78 0.1%
400 1000 400 26 28880 51.07 0.1%
400 1000 400 27 28790 39.14 0.1%
400 1000 400 28 28750 45.8 0.1%
400 1000 400 29 28860 77.96 0.2%
400 1000 400 30 28850 51.85 0.1%
400 1000 400 31 28880 42.33 0.1%
400 1000 400 32 28760 42.34 0.1%
400 1000 400 33 28880 48.37 0.1%
400 1000 400 34 29030 62.43 0.2%
400 1000 400 35 28910 61.33 0.2%
400 1000 400 36 29040 17.45 0.0%
400 1000 400 37 29040 49.13 0.1%
400 1000 400 38 28950 58.98 0.2%
400 1000 400 39 29020 48.78 0.1%
400 1000 400 40 29020 29.66 0.1%
400 1000 400 41 29040 70.39 0.2%
400 1000 400 42 28950 61.2 0.2%
400 1000 400 43 29120 36.49 0.1%
400 1000 400 44 29030 34.84 0.1%
400 1000 400 45 29020 58.34 0.2%
400 1000 400 46 29080 69.48 0.2%
400 1000 400 47 29090 40.7 0.1%
400 1000 400 48 29190 44.9 0.1%
400 1000 400 49 28990 52.43 0.1%
400 1000 400 50 28980 38.28 0.1%
400 1000 400 51 28930 42.49 0.1%
400 1000 400 52 28870 53.78 0.1%
400 1000 400 53 28970 27.71 0.0%
400 1000 400 54 28900 82.85 0.2%
400 1000 400 55 28820 35.97 0.1%
400 1000 400 56 28910 82 0.2%
400 1000 400 57 28850 53.69 0.1%
400 1000 400 58 29040 53.36 0.1%
400 1000 400 59 29050 42.94 0.1%
400 1000 400 60 29160 36.12 0.1%
400 1000 400 61 28970 41.79 0.1%
400 1000 400 62 28980 45.15 0.1%
400 1000 400 63 28930 44.87 0.1%
400 1000 400 64 29000 45.18 0.1%
400 1000 400 65 29240 30.48 0.1%
400 1000 400 66 29180 54.57 0.1%
400 1000 400 67 29280 45.68 0.1%
400 1000 400 68 29170 58.21 0.1%
400 1000 400 69 29300 32.42 0.1%
400 1000 400 70 29230 54.34 0.1%
400 1000 400 71 29160 54.06 0.1%
400 1000 400 72 29140 30.99 0.1%
400 1000 400 73 29180 38.95 0.1%
400 1000 400 74 29210 57.56 0.1%
400 1000 400 75 29220 71.19 0.2%
400 1000 400 76 29180 30.36 0.1%
400 1000 400 77 29200 27.15 0.0%
400 1000 400 78 29360 77.11 0.2%
400 1000 400 79 29290 50.01 0.1%
400 1000 400 80 29230 46.12 0.1%
400 1000 400 81 29350 51.6 0.1%
400 1000 400 82 29250 32.87 0.1%
400 1000 400 83 29330 59.74 0.2%
400 1000 400 84 29430 73.96 0.2%
400 1000 400 85 29370 45.05 0.1%
400 1000 400 86 29100 31.64 0.1%
400 1000 400 87 29250 49.82 0.1%
400 1000 400 88 29230 25 0.0%
400 1000 400 89 29280 63.4 0.2%
400 1000 400 90 29350 52.95 0.1%
400 1000 400 91 29460 54.37 0.1%
400 1000 400 92 29150 31.62 0.1%
400 1000 400 93 29410 107 0.3%
400 1000 400 94 29400 52.06 0.1%
400 1000 400 95 29420 46.6 0.1%
400 1000 400 96 29450 39.77 0.1%
400 1000 400 97 29330 31.74 0.1%
400 1000 400 98 29420 40.84 0.1%
400 1000 400 99 29290 60.68 0.2%
400 1000 400 100 29430 46.81 0.1%

Quality and confidence:
param error
v 0.048
n 0.019
a 0.048
w 0.101

Model:
Time ~= 0
+ v 0.937
+ n 0.657
+ a 70.66
+ w 7.658
µs

Reads = 6 + (0 * v) + (0 * n) + (4 * a) + (1 * w)
Writes = 2 + (0 * v) + (0 * n) + (0 * a) + (0 * w)

…/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
Copy link
Contributor

@kianenigma kianenigma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, one potential improvement is that the migration is a one-time use and while we haven't made anything standard yet, it is better to make standalone ones that don't rely on a particular T: Config, as such. Then the migration can live forever and re-used much nicer. But it is a bit of hassle to set up and since not everyone is doing it, I am not sure how valuable it is

.take(MAX_NOMINATIONS)
.map(|t| T::Lookup::lookup(t))
.map(|t| T::Lookup::lookup(t).map_err(DispatchError::from))
.map(|n| n.and_then(|n| if old.contains(&n) || !Validators::<T>::get(&n).blocked {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this reads nicer if the if-else body is indented.

@gavofyork
Copy link
Member Author

LGTM, one potential improvement is that the migration is a one-time use and while we haven't made anything standard yet, it is better to make standalone ones that don't rely on a particular T: Config, as such. Then the migration can live forever and re-used much nicer. But it is a bit of hassle to set up and since not everyone is doing it, I am not sure how valuable it is

The huge issue with this is that it quickly becomes painful to support multiple migrations, each with their own datastructures, when they change on top of each other. Our storage transform API is set up to migrate from a generic data structure into the current (as defined in the storage item) data structure. Migrating to anything other than the current data structure is far more painful. Realistically, migrations won't "live forever" in any meaningful way, unless you want to dramatically increase the burden of the author by requiring them use custom storage transforms/iteration code than can handle going into a type which is not the current storage item's type. This, I think, will lend itself to tedious and error-prone code.

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
@gavofyork gavofyork merged commit 2a5e10a into master Jan 20, 2021
@gavofyork gavofyork deleted the gav-freeze-staking branch January 20, 2021 11:29
@jakoblell jakoblell added D1-audited 👍 PR contains changes to fund-managing logic that has been properly reviewed and externally audited and removed D5-nicetohaveaudit ⚠️ PR contains trivial changes to logic that should be properly reviewed. labels May 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A0-please_review Pull request needs code review. C1-low PR touches the given topic and has a low impact on builders. D1-audited 👍 PR contains changes to fund-managing logic that has been properly reviewed and externally audited
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants